Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastián Barschkis <sebbas@sebbas.org>2019-11-08 14:24:25 +0300
committerSebastián Barschkis <sebbas@sebbas.org>2019-11-08 14:24:25 +0300
commit1cd70c4f090e6814594818a39fe0aefccfd78e8a (patch)
treef74ad661258d25d0fa5ddd158a113c4e1d90911a
parentccbf9ea4901e09d681675630515a7b355011af1f (diff)
parent45a03057fa33e043b08027a8353d133948b85ca8 (diff)
Merge branch 'master' into fluid-mantaflow
-rw-r--r--.clang-format10
-rw-r--r--.github/stale.yml22
-rw-r--r--CMakeLists.txt35
-rw-r--r--GNUmakefile22
-rw-r--r--build_files/build_environment/CMakeLists.txt8
-rw-r--r--build_files/build_environment/cmake/blosc.cmake4
-rw-r--r--build_files/build_environment/cmake/check_software.cmake8
-rw-r--r--build_files/build_environment/cmake/ffmpeg.cmake8
-rw-r--r--build_files/build_environment/cmake/harvest.cmake6
-rw-r--r--build_files/build_environment/cmake/lcms.cmake2
-rw-r--r--build_files/build_environment/cmake/libglu.cmake40
-rw-r--r--build_files/build_environment/cmake/mesa.cmake54
-rw-r--r--build_files/build_environment/cmake/opencolorio.cmake2
-rw-r--r--build_files/build_environment/cmake/openexr.cmake2
-rw-r--r--build_files/build_environment/cmake/openjpeg.cmake2
-rw-r--r--build_files/build_environment/cmake/options.cmake2
-rw-r--r--build_files/build_environment/cmake/opus.cmake35
-rw-r--r--build_files/build_environment/cmake/sndfile.cmake2
-rw-r--r--build_files/build_environment/cmake/theora.cmake2
-rw-r--r--build_files/build_environment/cmake/tinyxml.cmake2
-rw-r--r--build_files/build_environment/cmake/versions.cmake28
-rw-r--r--build_files/build_environment/cmake/vpx.cmake2
-rwxr-xr-xbuild_files/build_environment/install_deps.sh36
-rw-r--r--build_files/build_environment/patches/cmake/modules/FindIlmBase.cmake8
-rw-r--r--build_files/build_environment/patches/cmake/modules/FindOpenEXR.cmake8
-rw-r--r--build_files/buildbot/buildbot_utils.py2
-rw-r--r--build_files/buildbot/config/blender_linux.cmake25
-rw-r--r--build_files/buildbot/slave_pack.py20
-rw-r--r--build_files/buildbot/slave_update.py2
-rw-r--r--build_files/cmake/Modules/FindIcuLinux.cmake16
-rw-r--r--build_files/cmake/Modules/FindPythonLibsUnix.cmake6
-rw-r--r--build_files/cmake/Modules/GTestTesting.cmake8
-rwxr-xr-xbuild_files/cmake/cmake_consistency_check.py27
-rw-r--r--build_files/cmake/cmake_consistency_check_config.py10
-rw-r--r--build_files/cmake/config/blender_full.cmake1
-rw-r--r--build_files/cmake/config/blender_lite.cmake1
-rw-r--r--build_files/cmake/config/blender_release.cmake1
-rw-r--r--build_files/cmake/config/bpy_module.cmake15
-rw-r--r--build_files/cmake/macros.cmake35
-rw-r--r--build_files/cmake/platform/platform_apple.cmake35
-rw-r--r--build_files/cmake/platform/platform_unix.cmake44
-rw-r--r--build_files/cmake/platform/platform_win32.cmake59
-rwxr-xr-xbuild_files/utils/make_source_archive.sh (renamed from build_files/utils/build_tgz.sh)17
-rwxr-xr-xbuild_files/utils/make_test.py11
-rwxr-xr-xbuild_files/utils/make_update.py122
-rwxr-xr-xbuild_files/utils/make_utils.py14
-rw-r--r--build_files/windows/check_libraries.cmd4
-rw-r--r--build_files/windows/configure_ninja.cmd12
-rw-r--r--doc/doxygen/Doxyfile54
-rwxr-xr-xdoc/manpage/blender.1.py2
-rw-r--r--doc/python_api/examples/bpy.app.timers.1.py2
-rw-r--r--doc/python_api/examples/bpy.app.timers.2.py2
-rw-r--r--doc/python_api/examples/bpy.app.timers.3.py2
-rw-r--r--doc/python_api/examples/bpy.app.timers.4.py2
-rw-r--r--doc/python_api/examples/bpy.types.Depsgraph.6.py2
-rw-r--r--doc/python_api/examples/bpy.types.RenderEngine.py16
-rwxr-xr-xdoc/python_api/sphinx_doc_update.py38
-rw-r--r--extern/CMakeLists.txt6
-rw-r--r--extern/audaspace/src/devices/SoftwareDevice.cpp2
-rw-r--r--extern/cuew/src/cuew.c19
-rw-r--r--extern/draco/src/draco-compressor.cpp7
-rw-r--r--extern/quadriflow/CMakeLists.txt71
-rw-r--r--extern/quadriflow/patches/blender.patch16
-rw-r--r--extern/quadriflow/src/config.hpp5
-rw-r--r--intern/CMakeLists.txt1
-rw-r--r--intern/clog/clog.c1
-rw-r--r--intern/cycles/CMakeLists.txt4
-rw-r--r--intern/cycles/blender/CMakeLists.txt1
-rw-r--r--intern/cycles/blender/addon/engine.py6
-rw-r--r--intern/cycles/blender/addon/properties.py4
-rw-r--r--intern/cycles/blender/addon/ui.py4
-rw-r--r--intern/cycles/blender/blender_object.cpp8
-rw-r--r--intern/cycles/blender/blender_shader.cpp12
-rw-r--r--intern/cycles/device/device.cpp1
-rw-r--r--intern/cycles/device/device_cuda.cpp117
-rw-r--r--intern/cycles/device/device_memory.cpp9
-rw-r--r--intern/cycles/device/device_memory.h3
-rw-r--r--intern/cycles/device/device_optix.cpp745
-rw-r--r--intern/cycles/kernel/CMakeLists.txt38
-rw-r--r--intern/cycles/kernel/bvh/bvh.h2
-rw-r--r--intern/cycles/kernel/filter/filter_transform_gpu.h6
-rw-r--r--intern/cycles/kernel/filter/filter_transform_sse.h6
-rw-r--r--intern/cycles/kernel/kernel_path.h2
-rw-r--r--intern/cycles/kernel/shaders/node_mix.osl4
-rw-r--r--intern/cycles/kernel/svm/svm_color_util.h4
-rw-r--r--intern/cycles/render/denoising.cpp4
-rw-r--r--intern/cycles/render/light.cpp12
-rw-r--r--intern/cycles/render/nodes.cpp14
-rw-r--r--intern/cycles/render/osl.cpp3
-rw-r--r--intern/cycles/util/CMakeLists.txt11
-rw-r--r--intern/cycles/util/util_defines.h192
-rw-r--r--intern/cycles/util/util_logging.h1
-rw-r--r--intern/cycles/util/util_static_assert.h16
-rw-r--r--intern/cycles/util/util_thread.h10
-rw-r--r--intern/ghost/CMakeLists.txt8
-rw-r--r--intern/ghost/GHOST_C-api.h43
-rw-r--r--intern/ghost/GHOST_ISystem.h27
-rw-r--r--intern/ghost/GHOST_IWindow.h8
-rw-r--r--intern/ghost/GHOST_Types.h26
-rw-r--r--intern/ghost/intern/GHOST_C-api.cpp64
-rw-r--r--intern/ghost/intern/GHOST_ContextCGL.mm9
-rw-r--r--intern/ghost/intern/GHOST_DisplayManagerWin32.cpp2
-rw-r--r--intern/ghost/intern/GHOST_System.h27
-rw-r--r--intern/ghost/intern/GHOST_SystemCocoa.h8
-rw-r--r--intern/ghost/intern/GHOST_SystemCocoa.mm28
-rw-r--r--intern/ghost/intern/GHOST_SystemNULL.h5
-rw-r--r--intern/ghost/intern/GHOST_SystemPathsWin32.cpp17
-rw-r--r--intern/ghost/intern/GHOST_SystemPathsWin32.h2
-rw-r--r--intern/ghost/intern/GHOST_SystemSDL.cpp7
-rw-r--r--intern/ghost/intern/GHOST_SystemSDL.h3
-rw-r--r--intern/ghost/intern/GHOST_SystemWin32.cpp77
-rw-r--r--intern/ghost/intern/GHOST_SystemWin32.h25
-rw-r--r--intern/ghost/intern/GHOST_SystemX11.cpp262
-rw-r--r--intern/ghost/intern/GHOST_SystemX11.h18
-rw-r--r--intern/ghost/intern/GHOST_TaskbarWin32.h4
-rw-r--r--intern/ghost/intern/GHOST_Window.h5
-rw-r--r--intern/ghost/intern/GHOST_WindowCocoa.h9
-rw-r--r--intern/ghost/intern/GHOST_WindowCocoa.mm212
-rw-r--r--intern/ghost/intern/GHOST_WindowNULL.h7
-rw-r--r--intern/ghost/intern/GHOST_WindowSDL.cpp96
-rw-r--r--intern/ghost/intern/GHOST_WindowSDL.h5
-rw-r--r--intern/ghost/intern/GHOST_WindowViewCocoa.h5
-rw-r--r--intern/ghost/intern/GHOST_WindowWin32.cpp295
-rw-r--r--intern/ghost/intern/GHOST_WindowWin32.h12
-rw-r--r--intern/ghost/intern/GHOST_WindowX11.cpp236
-rw-r--r--intern/ghost/intern/GHOST_WindowX11.h10
-rw-r--r--intern/ghost/test/CMakeLists.txt40
-rw-r--r--intern/guardedalloc/CMakeLists.txt4
-rw-r--r--intern/guardedalloc/intern/mmap_win.c7
-rw-r--r--intern/libmv/libmv/autotrack/callbacks.h2
-rw-r--r--intern/mikktspace/mikktspace.c5
-rw-r--r--intern/numaapi/README.blender2
-rw-r--r--intern/numaapi/source/build_config.h27
-rw-r--r--intern/opensubdiv/CMakeLists.txt6
-rw-r--r--intern/opensubdiv/internal/opensubdiv_evaluator.cc13
-rw-r--r--intern/opensubdiv/internal/opensubdiv_evaluator_internal.cc287
-rw-r--r--intern/opensubdiv/internal/opensubdiv_evaluator_internal.h13
-rw-r--r--intern/opensubdiv/internal/opensubdiv_topology_refiner.cc19
-rw-r--r--intern/opensubdiv/opensubdiv_capi_type.h7
-rw-r--r--intern/opensubdiv/opensubdiv_evaluator_capi.h14
-rw-r--r--intern/opensubdiv/opensubdiv_topology_refiner_capi.h8
-rw-r--r--intern/quadriflow/CMakeLists.txt2
-rw-r--r--release/darwin/Blender.app/Contents/Resources/arrowdown.pdfbin0 -> 4114 bytes
-rw-r--r--release/darwin/Blender.app/Contents/Resources/arrowleft.pdfbin0 -> 4108 bytes
-rw-r--r--release/darwin/Blender.app/Contents/Resources/arrowright.pdfbin0 -> 4113 bytes
-rw-r--r--release/darwin/Blender.app/Contents/Resources/arrowup.pdfbin0 -> 4105 bytes
-rw-r--r--release/darwin/Blender.app/Contents/Resources/crossc.pdfbin0 -> 4079 bytes
-rw-r--r--release/darwin/Blender.app/Contents/Resources/eraser.pdfbin0 -> 4187 bytes
-rw-r--r--release/darwin/Blender.app/Contents/Resources/eyedropper.pdfbin0 -> 4500 bytes
-rw-r--r--release/darwin/Blender.app/Contents/Resources/knife.pdfbin0 -> 4134 bytes
-rw-r--r--release/darwin/Blender.app/Contents/Resources/paint_cursor_cross.pdfbin0 -> 4300 bytes
-rw-r--r--release/darwin/Blender.app/Contents/Resources/paint_cursor_dot.pdfbin0 -> 4147 bytes
-rw-r--r--release/darwin/Blender.app/Contents/Resources/pen.pdfbin0 -> 4173 bytes
-rw-r--r--release/darwin/Blender.app/Contents/Resources/scrollew.pdfbin0 -> 4157 bytes
-rw-r--r--release/darwin/Blender.app/Contents/Resources/scrollns.pdfbin0 -> 4175 bytes
-rw-r--r--release/darwin/Blender.app/Contents/Resources/scrollnsew.pdfbin0 -> 4317 bytes
-rw-r--r--release/darwin/Blender.app/Contents/Resources/splith.pdfbin0 -> 4351 bytes
-rw-r--r--release/darwin/Blender.app/Contents/Resources/splitv.pdfbin0 -> 4343 bytes
-rw-r--r--release/darwin/Blender.app/Contents/Resources/zoomin.pdf674
-rw-r--r--release/darwin/Blender.app/Contents/Resources/zoomout.pdf676
-rw-r--r--release/datafiles/blender_icons.svg28847
-rw-r--r--release/datafiles/blender_icons16/icon16_con_action.datbin1048 -> 1048 bytes
-rw-r--r--release/datafiles/blender_icons16/icon16_desktop.datbin1048 -> 1048 bytes
-rw-r--r--release/datafiles/blender_icons16/icon16_disk.datbin0 -> 1048 bytes
-rw-r--r--release/datafiles/blender_icons16/icon16_documents.datbin0 -> 1048 bytes
-rw-r--r--release/datafiles/blender_icons16/icon16_file_archive.datbin1048 -> 1048 bytes
-rw-r--r--release/datafiles/blender_icons16/icon16_file_folder.datbin1048 -> 1048 bytes
-rw-r--r--release/datafiles/blender_icons16/icon16_file_font.datbin1048 -> 1048 bytes
-rw-r--r--release/datafiles/blender_icons16/icon16_file_script.datbin1048 -> 1048 bytes
-rw-r--r--release/datafiles/blender_icons16/icon16_file_sound.datbin1048 -> 1048 bytes
-rw-r--r--release/datafiles/blender_icons16/icon16_filebrowser.datbin1048 -> 1048 bytes
-rw-r--r--release/datafiles/blender_icons16/icon16_home.datbin0 -> 1048 bytes
-rw-r--r--release/datafiles/blender_icons16/icon16_memory.datbin0 -> 1048 bytes
-rw-r--r--release/datafiles/blender_icons16/icon16_mod_mirror.datbin1048 -> 1048 bytes
-rw-r--r--release/datafiles/blender_icons16/icon16_newfolder.datbin1048 -> 1048 bytes
-rw-r--r--release/datafiles/blender_icons16/icon16_options.datbin0 -> 1048 bytes
-rw-r--r--release/datafiles/blender_icons16/icon16_plugin.datbin1048 -> 1048 bytes
-rw-r--r--release/datafiles/blender_icons16/icon16_preset.datbin1048 -> 1048 bytes
-rw-r--r--release/datafiles/blender_icons16/icon16_select_intersect.datbin1048 -> 1048 bytes
-rw-r--r--release/datafiles/blender_icons16/icon16_statusbar.datbin0 -> 1048 bytes
-rw-r--r--release/datafiles/blender_icons16/icon16_temp.datbin0 -> 1048 bytes
-rw-r--r--release/datafiles/blender_icons16/icon16_topbar.datbin0 -> 1048 bytes
-rw-r--r--release/datafiles/blender_icons32/icon32_con_action.datbin4120 -> 4120 bytes
-rw-r--r--release/datafiles/blender_icons32/icon32_desktop.datbin4120 -> 4120 bytes
-rw-r--r--release/datafiles/blender_icons32/icon32_disk.datbin0 -> 4120 bytes
-rw-r--r--release/datafiles/blender_icons32/icon32_documents.datbin0 -> 4120 bytes
-rw-r--r--release/datafiles/blender_icons32/icon32_file_archive.datbin4120 -> 4120 bytes
-rw-r--r--release/datafiles/blender_icons32/icon32_file_folder.datbin4120 -> 4120 bytes
-rw-r--r--release/datafiles/blender_icons32/icon32_file_font.datbin4120 -> 4120 bytes
-rw-r--r--release/datafiles/blender_icons32/icon32_file_script.datbin4120 -> 4120 bytes
-rw-r--r--release/datafiles/blender_icons32/icon32_file_sound.datbin4120 -> 4120 bytes
-rw-r--r--release/datafiles/blender_icons32/icon32_filebrowser.datbin4120 -> 4120 bytes
-rw-r--r--release/datafiles/blender_icons32/icon32_home.datbin0 -> 4120 bytes
-rw-r--r--release/datafiles/blender_icons32/icon32_memory.datbin0 -> 4120 bytes
-rw-r--r--release/datafiles/blender_icons32/icon32_mod_mirror.datbin4120 -> 4120 bytes
-rw-r--r--release/datafiles/blender_icons32/icon32_newfolder.datbin4120 -> 4120 bytes
-rw-r--r--release/datafiles/blender_icons32/icon32_options.datbin0 -> 4120 bytes
-rw-r--r--release/datafiles/blender_icons32/icon32_plugin.datbin4120 -> 4120 bytes
-rw-r--r--release/datafiles/blender_icons32/icon32_preset.datbin4120 -> 4120 bytes
-rw-r--r--release/datafiles/blender_icons32/icon32_select_intersect.datbin4120 -> 4120 bytes
-rw-r--r--release/datafiles/blender_icons32/icon32_statusbar.datbin0 -> 4120 bytes
-rw-r--r--release/datafiles/blender_icons32/icon32_temp.datbin0 -> 4120 bytes
-rw-r--r--release/datafiles/blender_icons32/icon32_topbar.datbin0 -> 4120 bytes
-rw-r--r--release/datafiles/icons/brush.sculpt.pinch.datbin2456 -> 2456 bytes
-rw-r--r--release/datafiles/icons/brush.sculpt.pose.datbin1394 -> 1322 bytes
-rw-r--r--release/datafiles/icons/brush.sculpt.snake_hook.datbin2024 -> 5624 bytes
-rw-r--r--release/datafiles/icons/ops.gpencil.primitive_polyline.datbin0 -> 674 bytes
-rw-r--r--release/datafiles/icons/ops.paint.eyedropper_add.datbin0 -> 962 bytes
m---------release/datafiles/locale0
-rw-r--r--release/datafiles/prvicons.pngbin12172 -> 16045 bytes
-rw-r--r--release/datafiles/prvicons.svg70
-rw-r--r--release/datafiles/userdef/userdef_default.c16
-rw-r--r--release/datafiles/userdef/userdef_default_theme.c4
-rw-r--r--release/freedesktop/org.blender.Blender.appdata.xml21
m---------release/scripts/addons_contrib0
-rw-r--r--release/scripts/modules/bl_i18n_utils/settings.py1
-rw-r--r--release/scripts/modules/bl_keymap_utils/keymap_from_toolbar.py8
-rw-r--r--release/scripts/modules/bpy/path.py3
-rw-r--r--release/scripts/modules/bpy/utils/__init__.py35
-rw-r--r--release/scripts/modules/bpy_extras/mesh_utils.py31
-rw-r--r--release/scripts/modules/bpy_extras/node_shader_utils.py47
-rw-r--r--release/scripts/modules/bpy_extras/object_utils.py41
-rw-r--r--release/scripts/modules/bpy_types.py47
-rw-r--r--release/scripts/modules/console/intellisense.py12
-rw-r--r--release/scripts/modules/rna_manual_reference.py46
-rw-r--r--release/scripts/presets/keyconfig/blender.py5
-rw-r--r--release/scripts/presets/keyconfig/blender_27x.py5
-rw-r--r--release/scripts/presets/keyconfig/keymap_data/blender_default.py127
-rw-r--r--release/scripts/presets/keyconfig/keymap_data/industry_compatible_data.py9
-rw-r--r--release/scripts/startup/bl_operators/add_mesh_torus.py3
-rw-r--r--release/scripts/startup/bl_operators/clip.py9
-rw-r--r--release/scripts/startup/bl_operators/presets.py6
-rw-r--r--release/scripts/startup/bl_operators/rigidbody.py4
-rw-r--r--release/scripts/startup/bl_operators/sequencer.py10
-rw-r--r--release/scripts/startup/bl_operators/userpref.py7
-rw-r--r--release/scripts/startup/bl_operators/uvcalc_follow_active.py5
-rw-r--r--release/scripts/startup/bl_operators/uvcalc_lightmap.py7
-rw-r--r--release/scripts/startup/bl_operators/wm.py150
-rw-r--r--release/scripts/startup/bl_ui/properties_constraint.py9
-rw-r--r--release/scripts/startup/bl_ui/properties_data_curve.py16
-rw-r--r--release/scripts/startup/bl_ui/properties_data_lattice.py7
-rw-r--r--release/scripts/startup/bl_ui/properties_data_mesh.py16
-rw-r--r--release/scripts/startup/bl_ui/properties_data_modifier.py28
-rw-r--r--release/scripts/startup/bl_ui/properties_freestyle.py2
-rw-r--r--release/scripts/startup/bl_ui/properties_grease_pencil_common.py4
-rw-r--r--release/scripts/startup/bl_ui/properties_object.py1
-rw-r--r--release/scripts/startup/bl_ui/properties_paint_common.py60
-rw-r--r--release/scripts/startup/bl_ui/properties_particle.py97
-rw-r--r--release/scripts/startup/bl_ui/space_clip.py1
-rw-r--r--release/scripts/startup/bl_ui/space_dopesheet.py2
-rw-r--r--release/scripts/startup/bl_ui/space_filebrowser.py50
-rw-r--r--release/scripts/startup/bl_ui/space_image.py37
-rw-r--r--release/scripts/startup/bl_ui/space_node.py9
-rw-r--r--release/scripts/startup/bl_ui/space_sequencer.py27
-rw-r--r--release/scripts/startup/bl_ui/space_text.py12
-rw-r--r--release/scripts/startup/bl_ui/space_toolsystem_common.py2
-rw-r--r--release/scripts/startup/bl_ui/space_toolsystem_toolbar.py41
-rw-r--r--release/scripts/startup/bl_ui/space_userpref.py74
-rw-r--r--release/scripts/startup/bl_ui/space_view3d.py141
-rw-r--r--release/scripts/startup/bl_ui/space_view3d_toolbar.py47
-rw-r--r--release/scripts/templates_py/operator_mesh_add.py17
-rw-r--r--release/scripts/templates_py/operator_modal_draw.py1
-rw-r--r--release/scripts/templates_py/ui_tool_simple.py11
-rw-r--r--release/windows/icons/cursors/arrowdown.curbin0 -> 30894 bytes
-rw-r--r--release/windows/icons/cursors/arrowleft.curbin0 -> 30894 bytes
-rw-r--r--release/windows/icons/cursors/arrowright.curbin0 -> 30894 bytes
-rw-r--r--release/windows/icons/cursors/arrowup.curbin0 -> 30894 bytes
-rw-r--r--release/windows/icons/cursors/cross.curbin0 -> 30894 bytes
-rw-r--r--release/windows/icons/cursors/crossa.curbin0 -> 30894 bytes
-rw-r--r--release/windows/icons/cursors/crossb.curbin0 -> 30894 bytes
-rw-r--r--release/windows/icons/cursors/crossc.curbin0 -> 30894 bytes
-rw-r--r--release/windows/icons/cursors/eraser.curbin0 -> 30894 bytes
-rw-r--r--release/windows/icons/cursors/eyedropper.curbin0 -> 30894 bytes
-rw-r--r--release/windows/icons/cursors/forbidden.curbin0 -> 30894 bytes
-rw-r--r--release/windows/icons/cursors/handopen.curbin0 -> 30894 bytes
-rw-r--r--release/windows/icons/cursors/knife.curbin0 -> 30894 bytes
-rw-r--r--release/windows/icons/cursors/moveew.curbin0 -> 30894 bytes
-rw-r--r--release/windows/icons/cursors/movens.curbin0 -> 30894 bytes
-rw-r--r--release/windows/icons/cursors/pencil.curbin0 -> 30894 bytes
-rw-r--r--release/windows/icons/cursors/pointer.curbin0 -> 30894 bytes
-rw-r--r--release/windows/icons/cursors/scrollew.curbin0 -> 30894 bytes
-rw-r--r--release/windows/icons/cursors/scrollns.curbin0 -> 30894 bytes
-rw-r--r--release/windows/icons/cursors/scrollnsew.curbin0 -> 30894 bytes
-rw-r--r--release/windows/icons/cursors/splith.curbin0 -> 30894 bytes
-rw-r--r--release/windows/icons/cursors/splitv.curbin0 -> 30894 bytes
-rw-r--r--release/windows/icons/cursors/zoomin.curbin0 -> 30894 bytes
-rw-r--r--release/windows/icons/cursors/zoomout.curbin0 -> 30894 bytes
-rw-r--r--release/windows/icons/winblender.rc25
-rw-r--r--source/blender/alembic/intern/abc_exporter.cc1
-rw-r--r--source/blender/alembic/intern/abc_mesh.cc228
-rw-r--r--source/blender/alembic/intern/abc_mesh.h4
-rw-r--r--source/blender/blenfont/intern/blf_internal_types.h5
-rw-r--r--source/blender/blenkernel/BKE_action.h4
-rw-r--r--source/blender/blenkernel/BKE_animsys.h1
-rw-r--r--source/blender/blenkernel/BKE_appdir.h1
-rw-r--r--source/blender/blenkernel/BKE_blender_version.h4
-rw-r--r--source/blender/blenkernel/BKE_brush.h7
-rw-r--r--source/blender/blenkernel/BKE_constraint.h8
-rw-r--r--source/blender/blenkernel/BKE_editmesh.h9
-rw-r--r--source/blender/blenkernel/BKE_editmesh_bvh.h4
-rw-r--r--source/blender/blenkernel/BKE_font.h6
-rw-r--r--source/blender/blenkernel/BKE_gpencil.h1
-rw-r--r--source/blender/blenkernel/BKE_gpencil_modifier.h8
-rw-r--r--source/blender/blenkernel/BKE_idprop.h1
-rw-r--r--source/blender/blenkernel/BKE_image.h6
-rw-r--r--source/blender/blenkernel/BKE_keyconfig.h22
-rw-r--r--source/blender/blenkernel/BKE_layer.h12
-rw-r--r--source/blender/blenkernel/BKE_main.h5
-rw-r--r--source/blender/blenkernel/BKE_mesh_remesh_voxel.h7
-rw-r--r--source/blender/blenkernel/BKE_mirror.h45
-rw-r--r--source/blender/blenkernel/BKE_modifier.h3
-rw-r--r--source/blender/blenkernel/BKE_node.h5
-rw-r--r--source/blender/blenkernel/BKE_object.h2
-rw-r--r--source/blender/blenkernel/BKE_paint.h17
-rw-r--r--source/blender/blenkernel/BKE_pbvh.h104
-rw-r--r--source/blender/blenkernel/BKE_rigidbody.h10
-rw-r--r--source/blender/blenkernel/BKE_scene.h7
-rw-r--r--source/blender/blenkernel/BKE_sequencer.h3
-rw-r--r--source/blender/blenkernel/BKE_shrinkwrap.h5
-rw-r--r--source/blender/blenkernel/BKE_subdiv.h2
-rw-r--r--source/blender/blenkernel/BKE_subdiv_ccg.h61
-rw-r--r--source/blender/blenkernel/BKE_text.h1
-rw-r--r--source/blender/blenkernel/CMakeLists.txt29
-rw-r--r--source/blender/blenkernel/intern/DerivedMesh.c4
-rw-r--r--source/blender/blenkernel/intern/action.c4
-rw-r--r--source/blender/blenkernel/intern/appdir.c2
-rw-r--r--source/blender/blenkernel/intern/armature_update.c36
-rw-r--r--source/blender/blenkernel/intern/brush.c605
-rw-r--r--source/blender/blenkernel/intern/cloth.c2
-rw-r--r--source/blender/blenkernel/intern/collection.c5
-rw-r--r--source/blender/blenkernel/intern/constraint.c127
-rw-r--r--source/blender/blenkernel/intern/context.c2
-rw-r--r--source/blender/blenkernel/intern/crazyspace.c13
-rw-r--r--source/blender/blenkernel/intern/displist.c8
-rw-r--r--source/blender/blenkernel/intern/editlattice.c31
-rw-r--r--source/blender/blenkernel/intern/fcurve.c8
-rw-r--r--source/blender/blenkernel/intern/fmodifier.c2
-rw-r--r--source/blender/blenkernel/intern/font.c3
-rw-r--r--source/blender/blenkernel/intern/gpencil.c16
-rw-r--r--source/blender/blenkernel/intern/idprop.c6
-rw-r--r--source/blender/blenkernel/intern/image.c4
-rw-r--r--source/blender/blenkernel/intern/keyconfig.c84
-rw-r--r--source/blender/blenkernel/intern/layer.c124
-rw-r--r--source/blender/blenkernel/intern/library.c13
-rw-r--r--source/blender/blenkernel/intern/library_remap.c5
-rw-r--r--source/blender/blenkernel/intern/mask_rasterize.c2
-rw-r--r--source/blender/blenkernel/intern/mesh.c1
-rw-r--r--source/blender/blenkernel/intern/mesh_remesh_voxel.c122
-rw-r--r--source/blender/blenkernel/intern/mesh_validate.c6
-rw-r--r--source/blender/blenkernel/intern/mirror.c419
-rw-r--r--source/blender/blenkernel/intern/modifier.c17
-rw-r--r--source/blender/blenkernel/intern/movieclip.c4
-rw-r--r--source/blender/blenkernel/intern/nla.c4
-rw-r--r--source/blender/blenkernel/intern/node.c68
-rw-r--r--source/blender/blenkernel/intern/object.c51
-rw-r--r--source/blender/blenkernel/intern/object_update.c4
-rw-r--r--source/blender/blenkernel/intern/packedFile.c13
-rw-r--r--source/blender/blenkernel/intern/paint.c29
-rw-r--r--source/blender/blenkernel/intern/pbvh.c592
-rw-r--r--source/blender/blenkernel/intern/pbvh_bmesh.c49
-rw-r--r--source/blender/blenkernel/intern/pbvh_intern.h1
-rw-r--r--source/blender/blenkernel/intern/pbvh_parallel.cc148
-rw-r--r--source/blender/blenkernel/intern/rigidbody.c56
-rw-r--r--source/blender/blenkernel/intern/scene.c17
-rw-r--r--source/blender/blenkernel/intern/seqcache.c5
-rw-r--r--source/blender/blenkernel/intern/seqeffects.c2
-rw-r--r--source/blender/blenkernel/intern/seqmodifier.c3
-rw-r--r--source/blender/blenkernel/intern/seqprefetch.c49
-rw-r--r--source/blender/blenkernel/intern/sequencer.c26
-rw-r--r--source/blender/blenkernel/intern/shrinkwrap.c85
-rw-r--r--source/blender/blenkernel/intern/sound.c3
-rw-r--r--source/blender/blenkernel/intern/subdiv_ccg.c641
-rw-r--r--source/blender/blenkernel/intern/text.c60
-rw-r--r--source/blender/blenlib/BLI_compiler_compat.h34
-rw-r--r--source/blender/blenlib/BLI_fileops.h2
-rw-r--r--source/blender/blenlib/BLI_gsqueue.h8
-rw-r--r--source/blender/blenlib/BLI_map.h19
-rw-r--r--source/blender/blenlib/BLI_math_geom.h6
-rw-r--r--source/blender/blenlib/BLI_sort.h2
-rw-r--r--source/blender/blenlib/BLI_task.h40
-rw-r--r--source/blender/blenlib/BLI_threads.h4
-rw-r--r--source/blender/blenlib/intern/BLI_linklist.c2
-rw-r--r--source/blender/blenlib/intern/BLI_temporary_allocator.cc2
-rw-r--r--source/blender/blenlib/intern/BLI_timer.c1
-rw-r--r--source/blender/blenlib/intern/delaunay_2d.c386
-rw-r--r--source/blender/blenlib/intern/expr_pylike_eval.c8
-rw-r--r--source/blender/blenlib/intern/fileops.c193
-rw-r--r--source/blender/blenlib/intern/gsqueue.c216
-rw-r--r--source/blender/blenlib/intern/listbase.c2
-rw-r--r--source/blender/blenlib/intern/math_matrix.c14
-rw-r--r--source/blender/blenlib/intern/math_solvers.c6
-rw-r--r--source/blender/blenlib/intern/scanfill.c2
-rw-r--r--source/blender/blenlib/intern/sort.c2
-rw-r--r--source/blender/blenlib/intern/stack.c15
-rw-r--r--source/blender/blenlib/intern/storage.c29
-rw-r--r--source/blender/blenlib/intern/task.c362
-rw-r--r--source/blender/blenlib/intern/threads.c6
-rw-r--r--source/blender/blenloader/intern/readfile.c29
-rw-r--r--source/blender/blenloader/intern/versioning_250.c14
-rw-r--r--source/blender/blenloader/intern/versioning_280.c55
-rw-r--r--source/blender/blenloader/intern/versioning_cycles.c22
-rw-r--r--source/blender/blenloader/intern/versioning_defaults.c110
-rw-r--r--source/blender/blenloader/intern/versioning_legacy.c40
-rw-r--r--source/blender/blenloader/intern/versioning_userdef.c51
-rw-r--r--source/blender/blenloader/intern/writefile.c37
-rw-r--r--source/blender/blentranslation/msgfmt/CMakeLists.txt4
-rw-r--r--source/blender/bmesh/CMakeLists.txt2
-rw-r--r--source/blender/bmesh/bmesh.h1
-rw-r--r--source/blender/bmesh/intern/bmesh_mesh_duplicate.c139
-rw-r--r--source/blender/bmesh/intern/bmesh_mesh_duplicate.h33
-rw-r--r--source/blender/bmesh/intern/bmesh_query.c92
-rw-r--r--source/blender/bmesh/intern/bmesh_query.h7
-rw-r--r--source/blender/bmesh/operators/bmo_primitive.c2
-rw-r--r--source/blender/bmesh/tools/bmesh_intersect_edges.c2
-rw-r--r--source/blender/collada/AnimationImporter.cpp2
-rw-r--r--source/blender/collada/BCAnimationCurve.cpp2
-rw-r--r--source/blender/collada/BlenderContext.cpp2
-rw-r--r--source/blender/collada/ImageExporter.cpp2
-rw-r--r--source/blender/collada/collada_internal.cpp2
-rw-r--r--source/blender/collada/collada_utils.cpp10
-rw-r--r--source/blender/compositor/CMakeLists.txt5
-rw-r--r--source/blender/compositor/operations/COM_OpenCLKernels.cl16
-rw-r--r--source/blender/depsgraph/DEG_depsgraph.h4
-rw-r--r--source/blender/depsgraph/DEG_depsgraph_query.h12
-rw-r--r--source/blender/depsgraph/intern/builder/deg_builder_nodes.cc3
-rw-r--r--source/blender/depsgraph/intern/builder/deg_builder_relations.cc84
-rw-r--r--source/blender/depsgraph/intern/depsgraph.cc8
-rw-r--r--source/blender/depsgraph/intern/depsgraph.h2
-rw-r--r--source/blender/depsgraph/intern/depsgraph_debug.cc6
-rw-r--r--source/blender/depsgraph/intern/depsgraph_eval.cc2
-rw-r--r--source/blender/depsgraph/intern/depsgraph_query_foreach.cc26
-rw-r--r--source/blender/depsgraph/intern/depsgraph_query_iter.cc2
-rw-r--r--source/blender/depsgraph/intern/depsgraph_tag.cc53
-rw-r--r--source/blender/depsgraph/intern/eval/deg_eval.cc29
-rw-r--r--source/blender/depsgraph/intern/eval/deg_eval_copy_on_write.cc20
-rw-r--r--source/blender/depsgraph/intern/eval/deg_eval_flush.cc44
-rw-r--r--source/blender/draw/CMakeLists.txt1
-rw-r--r--source/blender/draw/engines/basic/basic_engine.c1
-rw-r--r--source/blender/draw/engines/eevee/eevee_effects.c1
-rw-r--r--source/blender/draw/engines/eevee/eevee_lightprobes.c1
-rw-r--r--source/blender/draw/engines/eevee/eevee_materials.c60
-rw-r--r--source/blender/draw/engines/eevee/eevee_occlusion.c2
-rw-r--r--source/blender/draw/engines/eevee/eevee_private.h13
-rw-r--r--source/blender/draw/engines/eevee/eevee_screen_raytrace.c1
-rw-r--r--source/blender/draw/engines/eevee/eevee_shadows.c6
-rw-r--r--source/blender/draw/engines/eevee/eevee_volumes.c6
-rw-r--r--source/blender/draw/engines/eevee/shaders/bsdf_common_lib.glsl22
-rw-r--r--source/blender/draw/engines/eevee/shaders/common_uniforms_lib.glsl4
-rw-r--r--source/blender/draw/engines/eevee/shaders/default_frag.glsl5
-rw-r--r--source/blender/draw/engines/eevee/shaders/effect_translucency_frag.glsl76
-rw-r--r--source/blender/draw/engines/eevee/shaders/lights_lib.glsl1
-rw-r--r--source/blender/draw/engines/eevee/shaders/prepass_frag.glsl7
-rw-r--r--source/blender/draw/engines/gpencil/gpencil_cache_utils.c4
-rw-r--r--source/blender/draw/engines/gpencil/gpencil_draw_utils.c130
-rw-r--r--source/blender/draw/engines/gpencil/gpencil_engine.c111
-rw-r--r--source/blender/draw/engines/gpencil/gpencil_engine.h3
-rw-r--r--source/blender/draw/engines/workbench/shaders/workbench_background_lib.glsl2
-rw-r--r--source/blender/draw/engines/workbench/shaders/workbench_data_lib.glsl3
-rw-r--r--source/blender/draw/engines/workbench/shaders/workbench_volume_frag.glsl6
-rw-r--r--source/blender/draw/engines/workbench/workbench_data.c1
-rw-r--r--source/blender/draw/engines/workbench/workbench_deferred.c1
-rw-r--r--source/blender/draw/engines/workbench/workbench_effect_taa.c2
-rw-r--r--source/blender/draw/engines/workbench/workbench_private.h13
-rw-r--r--source/blender/draw/engines/workbench/workbench_studiolight.c2
-rw-r--r--source/blender/draw/engines/workbench/workbench_volume.c2
-rw-r--r--source/blender/draw/intern/DRW_render.h2
-rw-r--r--source/blender/draw/intern/draw_armature.c45
-rw-r--r--source/blender/draw/intern/draw_cache.c5
-rw-r--r--source/blender/draw/intern/draw_cache_extract.h8
-rw-r--r--source/blender/draw/intern/draw_cache_extract_mesh.c81
-rw-r--r--source/blender/draw/intern/draw_cache_impl.h5
-rw-r--r--source/blender/draw/intern/draw_cache_impl_mesh.c141
-rw-r--r--source/blender/draw/intern/draw_common.c2
-rw-r--r--source/blender/draw/intern/draw_common.h1
-rw-r--r--source/blender/draw/intern/draw_manager.c48
-rw-r--r--source/blender/draw/intern/draw_manager_data.c104
-rw-r--r--source/blender/draw/intern/draw_manager_exec.c1
-rw-r--r--source/blender/draw/intern/draw_view.c38
-rw-r--r--source/blender/draw/intern/draw_view.h1
-rw-r--r--source/blender/draw/modes/edit_mesh_mode.c39
-rw-r--r--source/blender/draw/modes/object_mode.c222
-rw-r--r--source/blender/draw/modes/overlay_mode.c9
-rw-r--r--source/blender/draw/modes/sculpt_mode.c3
-rw-r--r--source/blender/draw/modes/shaders/common_globals_lib.glsl1
-rw-r--r--source/blender/draw/modes/shaders/common_view_lib.glsl4
-rw-r--r--source/blender/draw/modes/shaders/edit_mesh_skin_root_vert.glsl30
-rw-r--r--source/blender/draw/modes/shaders/object_camera_image_frag.glsl2
-rw-r--r--source/blender/draw/modes/shaders/volume_velocity_vert.glsl15
-rw-r--r--source/blender/editors/animation/anim_channels_defines.c2
-rw-r--r--source/blender/editors/animation/anim_filter.c4
-rw-r--r--source/blender/editors/animation/anim_markers.c67
-rw-r--r--source/blender/editors/animation/anim_motion_paths.c28
-rw-r--r--source/blender/editors/animation/drivers.c55
-rw-r--r--source/blender/editors/animation/keyframes_draw.c3
-rw-r--r--source/blender/editors/animation/keyframing.c2
-rw-r--r--source/blender/editors/armature/editarmature_undo.c19
-rw-r--r--source/blender/editors/armature/pose_select.c24
-rw-r--r--source/blender/editors/armature/pose_slide.c26
-rw-r--r--source/blender/editors/armature/pose_transform.c10
-rw-r--r--source/blender/editors/armature/pose_utils.c6
-rw-r--r--source/blender/editors/curve/editcurve_paint.c2
-rw-r--r--source/blender/editors/curve/editcurve_undo.c12
-rw-r--r--source/blender/editors/curve/editfont.c2
-rw-r--r--source/blender/editors/curve/editfont_undo.c17
-rw-r--r--source/blender/editors/datafiles/CMakeLists.txt24
-rw-r--r--source/blender/editors/gizmo_library/gizmo_types/button2d_gizmo.c4
-rw-r--r--source/blender/editors/gizmo_library/gizmo_types/cage2d_gizmo.c16
-rw-r--r--source/blender/editors/gizmo_library/gizmo_types/cage3d_gizmo.c4
-rw-r--r--source/blender/editors/gizmo_library/gizmo_types/move3d_gizmo.c2
-rw-r--r--source/blender/editors/gpencil/annotate_paint.c4
-rw-r--r--source/blender/editors/gpencil/gpencil_brush.c9
-rw-r--r--source/blender/editors/gpencil/gpencil_data.c4
-rw-r--r--source/blender/editors/gpencil/gpencil_edit.c3
-rw-r--r--source/blender/editors/gpencil/gpencil_fill.c2
-rw-r--r--source/blender/editors/gpencil/gpencil_intern.h3
-rw-r--r--source/blender/editors/gpencil/gpencil_interpolate.c3
-rw-r--r--source/blender/editors/gpencil/gpencil_merge.c4
-rw-r--r--source/blender/editors/gpencil/gpencil_ops_versioning.c4
-rw-r--r--source/blender/editors/gpencil/gpencil_paint.c193
-rw-r--r--source/blender/editors/gpencil/gpencil_primitive.c303
-rw-r--r--source/blender/editors/gpencil/gpencil_utils.c11
-rw-r--r--source/blender/editors/include/ED_fileselect.h2
-rw-r--r--source/blender/editors/include/ED_gpencil.h11
-rw-r--r--source/blender/editors/include/ED_image.h2
-rw-r--r--source/blender/editors/include/ED_keyframing.h13
-rw-r--r--source/blender/editors/include/ED_mask.h30
-rw-r--r--source/blender/editors/include/ED_mball.h1
-rw-r--r--source/blender/editors/include/ED_mesh.h14
-rw-r--r--source/blender/editors/include/ED_paint.h33
-rw-r--r--source/blender/editors/include/ED_particle.h10
-rw-r--r--source/blender/editors/include/ED_screen.h12
-rw-r--r--source/blender/editors/include/ED_transform.h32
-rw-r--r--source/blender/editors/include/ED_transform_snap_object_context.h2
-rw-r--r--source/blender/editors/include/ED_util.h2
-rw-r--r--source/blender/editors/include/ED_view3d.h2
-rw-r--r--source/blender/editors/include/UI_icons.h17
-rw-r--r--source/blender/editors/include/UI_interface.h8
-rw-r--r--source/blender/editors/include/UI_resources.h1
-rw-r--r--source/blender/editors/interface/CMakeLists.txt1
-rw-r--r--source/blender/editors/interface/interface.c13
-rw-r--r--source/blender/editors/interface/interface_anim.c2
-rw-r--r--source/blender/editors/interface/interface_context_menu.c29
-rw-r--r--source/blender/editors/interface/interface_draw.c12
-rw-r--r--source/blender/editors/interface/interface_eyedropper.c1
-rw-r--r--source/blender/editors/interface/interface_eyedropper_color.c2
-rw-r--r--source/blender/editors/interface/interface_eyedropper_colorband.c2
-rw-r--r--source/blender/editors/interface/interface_eyedropper_datablock.c2
-rw-r--r--source/blender/editors/interface/interface_eyedropper_depth.c2
-rw-r--r--source/blender/editors/interface/interface_eyedropper_driver.c2
-rw-r--r--source/blender/editors/interface/interface_eyedropper_gpencil_color.c324
-rw-r--r--source/blender/editors/interface/interface_handlers.c128
-rw-r--r--source/blender/editors/interface/interface_icons.c2
-rw-r--r--source/blender/editors/interface/interface_icons_event.c7
-rw-r--r--source/blender/editors/interface/interface_intern.h6
-rw-r--r--source/blender/editors/interface/interface_layout.c30
-rw-r--r--source/blender/editors/interface/interface_ops.c1
-rw-r--r--source/blender/editors/interface/interface_query.c19
-rw-r--r--source/blender/editors/interface/interface_region_popover.c3
-rw-r--r--source/blender/editors/interface/interface_region_popup.c2
-rw-r--r--source/blender/editors/interface/interface_templates.c36
-rw-r--r--source/blender/editors/interface/interface_widgets.c43
-rw-r--r--source/blender/editors/interface/resources.c4
-rw-r--r--source/blender/editors/interface/view2d_ops.c12
-rw-r--r--source/blender/editors/lattice/editlattice_undo.c19
-rw-r--r--source/blender/editors/mask/mask_add.c227
-rw-r--r--source/blender/editors/mask/mask_draw.c118
-rw-r--r--source/blender/editors/mask/mask_edit.c10
-rw-r--r--source/blender/editors/mask/mask_editaction.c183
-rw-r--r--source/blender/editors/mask/mask_intern.h10
-rw-r--r--source/blender/editors/mask/mask_ops.c229
-rw-r--r--source/blender/editors/mask/mask_relationships.c24
-rw-r--r--source/blender/editors/mask/mask_select.c144
-rw-r--r--source/blender/editors/mask/mask_shapekey.c179
-rw-r--r--source/blender/editors/mesh/editmesh_bisect.c2
-rw-r--r--source/blender/editors/mesh/editmesh_extrude_spin.c5
-rw-r--r--source/blender/editors/mesh/editmesh_extrude_spin_gizmo.c1
-rw-r--r--source/blender/editors/mesh/editmesh_knife.c2
-rw-r--r--source/blender/editors/mesh/editmesh_loopcut.c1
-rw-r--r--source/blender/editors/mesh/editmesh_mask_extract.c26
-rw-r--r--source/blender/editors/mesh/editmesh_polybuild.c2
-rw-r--r--source/blender/editors/mesh/editmesh_tools.c203
-rw-r--r--source/blender/editors/mesh/editmesh_undo.c20
-rw-r--r--source/blender/editors/mesh/mesh_data.c141
-rw-r--r--source/blender/editors/metaball/editmball_undo.c19
-rw-r--r--source/blender/editors/object/object_add.c30
-rw-r--r--source/blender/editors/object/object_bake_api.c8
-rw-r--r--source/blender/editors/object/object_edit.c24
-rw-r--r--source/blender/editors/object/object_relations.c7
-rw-r--r--source/blender/editors/object/object_remesh.c259
-rw-r--r--source/blender/editors/object/object_select.c4
-rw-r--r--source/blender/editors/object/object_vgroup.c98
-rw-r--r--source/blender/editors/physics/particle_edit.c350
-rw-r--r--source/blender/editors/physics/particle_edit_undo.c27
-rw-r--r--source/blender/editors/physics/particle_object.c6
-rw-r--r--source/blender/editors/physics/rigidbody_constraint.c8
-rw-r--r--source/blender/editors/physics/rigidbody_object.c2
-rw-r--r--source/blender/editors/render/render_internal.c2
-rw-r--r--source/blender/editors/render/render_preview.c4
-rw-r--r--source/blender/editors/render/render_shading.c14
-rw-r--r--source/blender/editors/render/render_view.c9
-rw-r--r--source/blender/editors/screen/area.c96
-rw-r--r--source/blender/editors/screen/screen_draw.c2
-rw-r--r--source/blender/editors/screen/screen_edit.c44
-rw-r--r--source/blender/editors/screen/screen_ops.c61
-rw-r--r--source/blender/editors/sculpt_paint/CMakeLists.txt2
-rw-r--r--source/blender/editors/sculpt_paint/paint_cursor.c75
-rw-r--r--source/blender/editors/sculpt_paint/paint_hide.c13
-rw-r--r--source/blender/editors/sculpt_paint/paint_image.c30
-rw-r--r--source/blender/editors/sculpt_paint/paint_image_2d.c93
-rw-r--r--source/blender/editors/sculpt_paint/paint_image_proj.c73
-rw-r--r--source/blender/editors/sculpt_paint/paint_image_undo.c619
-rw-r--r--source/blender/editors/sculpt_paint/paint_intern.h35
-rw-r--r--source/blender/editors/sculpt_paint/paint_mask.c67
-rw-r--r--source/blender/editors/sculpt_paint/paint_stroke.c62
-rw-r--r--source/blender/editors/sculpt_paint/paint_utils.c1
-rw-r--r--source/blender/editors/sculpt_paint/paint_vertex.c52
-rw-r--r--source/blender/editors/sculpt_paint/paint_vertex_weight_ops.c2
-rw-r--r--source/blender/editors/sculpt_paint/sculpt.c2151
-rw-r--r--source/blender/editors/sculpt_paint/sculpt_intern.h28
-rw-r--r--source/blender/editors/sculpt_paint/sculpt_undo.c138
-rw-r--r--source/blender/editors/sound/sound_ops.c3
-rw-r--r--source/blender/editors/space_action/action_select.c150
-rw-r--r--source/blender/editors/space_clip/clip_intern.h1
-rw-r--r--source/blender/editors/space_clip/clip_ops.c139
-rw-r--r--source/blender/editors/space_clip/space_clip.c1
-rw-r--r--source/blender/editors/space_clip/tracking_ops_solve.c6
-rw-r--r--source/blender/editors/space_clip/tracking_ops_utils.c4
-rw-r--r--source/blender/editors/space_console/space_console.c4
-rw-r--r--source/blender/editors/space_file/file_ops.c82
-rw-r--r--source/blender/editors/space_file/filelist.c4
-rw-r--r--source/blender/editors/space_file/filesel.c111
-rw-r--r--source/blender/editors/space_file/space_file.c16
-rw-r--r--source/blender/editors/space_graph/graph_buttons.c14
-rw-r--r--source/blender/editors/space_graph/space_graph.c6
-rw-r--r--source/blender/editors/space_image/CMakeLists.txt2
-rw-r--r--source/blender/editors/space_image/image_draw.c8
-rw-r--r--source/blender/editors/space_image/image_edit.c18
-rw-r--r--source/blender/editors/space_image/image_intern.h3
-rw-r--r--source/blender/editors/space_image/image_ops.c363
-rw-r--r--source/blender/editors/space_image/image_undo.c1064
-rw-r--r--source/blender/editors/space_image/space_image.c2
-rw-r--r--source/blender/editors/space_info/info_ops.c1
-rw-r--r--source/blender/editors/space_nla/nla_select.c47
-rw-r--r--source/blender/editors/space_node/drawnode.c46
-rw-r--r--source/blender/editors/space_node/node_add.c2
-rw-r--r--source/blender/editors/space_node/node_draw.c10
-rw-r--r--source/blender/editors/space_node/node_group.c116
-rw-r--r--source/blender/editors/space_node/node_relationships.c2
-rw-r--r--source/blender/editors/space_node/node_select.c108
-rw-r--r--source/blender/editors/space_outliner/outliner_collections.c2
-rw-r--r--source/blender/editors/space_outliner/outliner_draw.c78
-rw-r--r--source/blender/editors/space_outliner/outliner_edit.c12
-rw-r--r--source/blender/editors/space_outliner/outliner_intern.h30
-rw-r--r--source/blender/editors/space_outliner/outliner_select.c142
-rw-r--r--source/blender/editors/space_outliner/outliner_sync.c17
-rw-r--r--source/blender/editors/space_outliner/outliner_tree.c8
-rw-r--r--source/blender/editors/space_outliner/outliner_utils.c43
-rw-r--r--source/blender/editors/space_script/script_edit.c3
-rw-r--r--source/blender/editors/space_sequencer/sequencer_add.c16
-rw-r--r--source/blender/editors/space_sequencer/sequencer_buttons.c1
-rw-r--r--source/blender/editors/space_sequencer/sequencer_draw.c4
-rw-r--r--source/blender/editors/space_sequencer/sequencer_edit.c79
-rw-r--r--source/blender/editors/space_sequencer/sequencer_intern.h4
-rw-r--r--source/blender/editors/space_sequencer/sequencer_ops.c4
-rw-r--r--source/blender/editors/space_sequencer/sequencer_select.c136
-rw-r--r--source/blender/editors/space_text/space_text.c4
-rw-r--r--source/blender/editors/space_text/text_format_lua.c34
-rw-r--r--source/blender/editors/space_text/text_format_osl.c10
-rw-r--r--source/blender/editors/space_text/text_format_pov.c10
-rw-r--r--source/blender/editors/space_text/text_format_pov_ini.c6
-rw-r--r--source/blender/editors/space_text/text_format_py.c10
-rw-r--r--source/blender/editors/space_text/text_ops.c2
-rw-r--r--source/blender/editors/space_view3d/space_view3d.c28
-rw-r--r--source/blender/editors/space_view3d/view3d_draw.c8
-rw-r--r--source/blender/editors/space_view3d/view3d_draw_legacy.c4
-rw-r--r--source/blender/editors/space_view3d/view3d_edit.c2
-rw-r--r--source/blender/editors/space_view3d/view3d_gizmo_armature.c1
-rw-r--r--source/blender/editors/space_view3d/view3d_gizmo_camera.c1
-rw-r--r--source/blender/editors/space_view3d/view3d_gizmo_empty.c1
-rw-r--r--source/blender/editors/space_view3d/view3d_gizmo_forcefield.c1
-rw-r--r--source/blender/editors/space_view3d/view3d_gizmo_light.c1
-rw-r--r--source/blender/editors/space_view3d/view3d_gizmo_navigate_type.c4
-rw-r--r--source/blender/editors/space_view3d/view3d_gizmo_ruler.c26
-rw-r--r--source/blender/editors/space_view3d/view3d_ops.c4
-rw-r--r--source/blender/editors/space_view3d/view3d_select.c10
-rw-r--r--source/blender/editors/space_view3d/view3d_view.c14
-rw-r--r--source/blender/editors/space_view3d/view3d_walk.c23
-rw-r--r--source/blender/editors/transform/CMakeLists.txt1
-rw-r--r--source/blender/editors/transform/transform.c72
-rw-r--r--source/blender/editors/transform/transform.h35
-rw-r--r--source/blender/editors/transform/transform_constraints.c1
-rw-r--r--source/blender/editors/transform/transform_convert.c15
-rw-r--r--source/blender/editors/transform/transform_convert_mesh.c4
-rw-r--r--source/blender/editors/transform/transform_convert_node.c1
-rw-r--r--source/blender/editors/transform/transform_convert_object.c8
-rw-r--r--source/blender/editors/transform/transform_convert_particle.c4
-rw-r--r--source/blender/editors/transform/transform_generics.c15
-rw-r--r--source/blender/editors/transform/transform_gizmo_3d.c43
-rw-r--r--source/blender/editors/transform/transform_gizmo_extrude_3d.c2
-rw-r--r--source/blender/editors/transform/transform_input.c14
-rw-r--r--source/blender/editors/transform/transform_orientations.c1
-rw-r--r--source/blender/editors/transform/transform_snap.c104
-rw-r--r--source/blender/editors/transform/transform_snap.h96
-rw-r--r--source/blender/editors/transform/transform_snap_object.c189
-rw-r--r--source/blender/editors/undo/ed_undo.c2
-rw-r--r--source/blender/editors/undo/memfile_undo.c5
-rw-r--r--source/blender/editors/util/CMakeLists.txt1
-rw-r--r--source/blender/editors/util/ed_util.c27
-rw-r--r--source/blender/editors/uvedit/uvedit_draw.c14
-rw-r--r--source/blender/editors/uvedit/uvedit_ops.c8
-rw-r--r--source/blender/freestyle/intern/stroke/Stroke.h9
-rw-r--r--source/blender/freestyle/intern/view_map/Interface1D.h10
-rw-r--r--source/blender/gpencil_modifiers/intern/MOD_gpencilarmature.c1
-rw-r--r--source/blender/gpencil_modifiers/intern/MOD_gpencilarray.c9
-rw-r--r--source/blender/gpencil_modifiers/intern/MOD_gpencilbuild.c1
-rw-r--r--source/blender/gpencil_modifiers/intern/MOD_gpencilcolor.c1
-rw-r--r--source/blender/gpencil_modifiers/intern/MOD_gpencilhook.c1
-rw-r--r--source/blender/gpencil_modifiers/intern/MOD_gpencillattice.c1
-rw-r--r--source/blender/gpencil_modifiers/intern/MOD_gpencilmirror.c16
-rw-r--r--source/blender/gpencil_modifiers/intern/MOD_gpencilnoise.c1
-rw-r--r--source/blender/gpencil_modifiers/intern/MOD_gpenciloffset.c1
-rw-r--r--source/blender/gpencil_modifiers/intern/MOD_gpencilopacity.c1
-rw-r--r--source/blender/gpencil_modifiers/intern/MOD_gpencilsimplify.c1
-rw-r--r--source/blender/gpencil_modifiers/intern/MOD_gpencilsmooth.c1
-rw-r--r--source/blender/gpencil_modifiers/intern/MOD_gpencilsubdiv.c11
-rw-r--r--source/blender/gpencil_modifiers/intern/MOD_gpencilthick.c1
-rw-r--r--source/blender/gpencil_modifiers/intern/MOD_gpenciltime.c1
-rw-r--r--source/blender/gpencil_modifiers/intern/MOD_gpenciltint.c1
-rw-r--r--source/blender/gpu/CMakeLists.txt2
-rw-r--r--source/blender/gpu/GPU_batch.h6
-rw-r--r--source/blender/gpu/GPU_buffers.h24
-rw-r--r--source/blender/gpu/GPU_extensions.h28
-rw-r--r--source/blender/gpu/GPU_platform.h75
-rw-r--r--source/blender/gpu/intern/gpu_batch.c23
-rw-r--r--source/blender/gpu/intern/gpu_batch_utils.c1
-rw-r--r--source/blender/gpu/intern/gpu_buffers.c520
-rw-r--r--source/blender/gpu/intern/gpu_draw.c1
-rw-r--r--source/blender/gpu/intern/gpu_element.c2
-rw-r--r--source/blender/gpu/intern/gpu_extensions.c92
-rw-r--r--source/blender/gpu/intern/gpu_init_exit.c9
-rw-r--r--source/blender/gpu/intern/gpu_platform.c229
-rw-r--r--source/blender/gpu/intern/gpu_private.h8
-rw-r--r--source/blender/gpu/intern/gpu_shader.c1
-rw-r--r--source/blender/gpu/intern/gpu_texture.c1
-rw-r--r--source/blender/gpu/shaders/material/gpu_shader_material_mix_rgb.glsl4
-rw-r--r--source/blender/gpu/shaders/material/gpu_shader_material_principled.glsl25
-rw-r--r--source/blender/imbuf/IMB_imbuf.h4
-rw-r--r--source/blender/imbuf/intern/allocimbuf.c18
-rw-r--r--source/blender/imbuf/intern/imageprocess.c5
-rw-r--r--source/blender/imbuf/intern/indexer.c16
-rw-r--r--source/blender/imbuf/intern/jp2.c2
-rw-r--r--source/blender/imbuf/intern/rectop.c41
-rw-r--r--source/blender/imbuf/intern/util.c2
-rw-r--r--source/blender/makesdna/DNA_ID.h8
-rw-r--r--source/blender/makesdna/DNA_armature_types.h14
-rw-r--r--source/blender/makesdna/DNA_brush_defaults.h3
-rw-r--r--source/blender/makesdna/DNA_brush_types.h19
-rw-r--r--source/blender/makesdna/DNA_constraint_types.h2
-rw-r--r--source/blender/makesdna/DNA_curve_types.h11
-rw-r--r--source/blender/makesdna/DNA_gpencil_types.h11
-rw-r--r--source/blender/makesdna/DNA_gpu_types.h26
-rw-r--r--source/blender/makesdna/DNA_lattice_types.h6
-rw-r--r--source/blender/makesdna/DNA_layer_types.h21
-rw-r--r--source/blender/makesdna/DNA_mesh_defaults.h2
-rw-r--r--source/blender/makesdna/DNA_mesh_types.h5
-rw-r--r--source/blender/makesdna/DNA_meta_types.h8
-rw-r--r--source/blender/makesdna/DNA_modifier_types.h30
-rw-r--r--source/blender/makesdna/DNA_movieclip_types.h2
-rw-r--r--source/blender/makesdna/DNA_node_types.h6
-rw-r--r--source/blender/makesdna/DNA_scene_types.h11
-rw-r--r--source/blender/makesdna/DNA_screen_types.h5
-rw-r--r--source/blender/makesdna/DNA_space_types.h19
-rw-r--r--source/blender/makesdna/DNA_userdef_types.h61
-rw-r--r--source/blender/makesdna/DNA_view3d_types.h6
-rw-r--r--source/blender/makesdna/intern/CMakeLists.txt4
-rw-r--r--source/blender/makesdna/intern/dna_defaults.c1
-rw-r--r--source/blender/makesrna/RNA_access.h2
-rw-r--r--source/blender/makesrna/RNA_enum_types.h1
-rw-r--r--source/blender/makesrna/intern/CMakeLists.txt2
-rw-r--r--source/blender/makesrna/intern/rna_access.c8
-rw-r--r--source/blender/makesrna/intern/rna_access_compare_override.c73
-rw-r--r--source/blender/makesrna/intern/rna_access_internal.h1
-rw-r--r--source/blender/makesrna/intern/rna_action.c6
-rw-r--r--source/blender/makesrna/intern/rna_animation.c3
-rw-r--r--source/blender/makesrna/intern/rna_brush.c108
-rw-r--r--source/blender/makesrna/intern/rna_constraint.c12
-rw-r--r--source/blender/makesrna/intern/rna_define.c17
-rw-r--r--source/blender/makesrna/intern/rna_depsgraph.c9
-rw-r--r--source/blender/makesrna/intern/rna_fcurve.c31
-rw-r--r--source/blender/makesrna/intern/rna_gpencil.c6
-rw-r--r--source/blender/makesrna/intern/rna_layer.c38
-rw-r--r--source/blender/makesrna/intern/rna_main_api.c2
-rw-r--r--source/blender/makesrna/intern/rna_material.c2
-rw-r--r--source/blender/makesrna/intern/rna_mesh.c34
-rw-r--r--source/blender/makesrna/intern/rna_modifier.c78
-rw-r--r--source/blender/makesrna/intern/rna_nodetree.c4
-rw-r--r--source/blender/makesrna/intern/rna_object.c2
-rw-r--r--source/blender/makesrna/intern/rna_object_api.c17
-rw-r--r--source/blender/makesrna/intern/rna_object_force.c2
-rw-r--r--source/blender/makesrna/intern/rna_packedfile.c1
-rw-r--r--source/blender/makesrna/intern/rna_pose.c8
-rw-r--r--source/blender/makesrna/intern/rna_rna.c9
-rw-r--r--source/blender/makesrna/intern/rna_scene.c71
-rw-r--r--source/blender/makesrna/intern/rna_scene_api.c6
-rw-r--r--source/blender/makesrna/intern/rna_screen.c6
-rw-r--r--source/blender/makesrna/intern/rna_sculpt_paint.c14
-rw-r--r--source/blender/makesrna/intern/rna_sequencer.c60
-rw-r--r--source/blender/makesrna/intern/rna_shader_fx.c4
-rw-r--r--source/blender/makesrna/intern/rna_space.c35
-rw-r--r--source/blender/makesrna/intern/rna_text.c74
-rw-r--r--source/blender/makesrna/intern/rna_text_api.c31
-rw-r--r--source/blender/makesrna/intern/rna_ui_api.c17
-rw-r--r--source/blender/makesrna/intern/rna_userdef.c179
-rw-r--r--source/blender/makesrna/intern/rna_wm_api.c49
-rw-r--r--source/blender/makesrna/intern/rna_workspace_api.c11
-rw-r--r--source/blender/modifiers/CMakeLists.txt3
-rw-r--r--source/blender/modifiers/intern/MOD_array.c11
-rw-r--r--source/blender/modifiers/intern/MOD_mirror.c378
-rw-r--r--source/blender/modifiers/intern/MOD_multires.c20
-rw-r--r--source/blender/modifiers/intern/MOD_solidify.c933
-rw-r--r--source/blender/modifiers/intern/MOD_solidify_extrude.c1105
-rw-r--r--source/blender/modifiers/intern/MOD_solidify_nonmanifold.c2268
-rw-r--r--source/blender/modifiers/intern/MOD_solidify_util.h34
-rw-r--r--source/blender/modifiers/intern/MOD_subsurf.c19
-rw-r--r--source/blender/nodes/CMakeLists.txt2
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_denoise.c14
-rw-r--r--source/blender/nodes/intern/node_util.c20
-rw-r--r--source/blender/nodes/shader/node_shader_tree.c43
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_bsdf_principled.c2
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_geometry.c41
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_mapping.c7
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_math.c18
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_mixRgb.c18
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_tex_coord.c17
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_tex_musgrave.c4
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_tex_white_noise.c7
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_vector_math.c8
-rw-r--r--source/blender/python/bmesh/bmesh_py_ops.c16
-rw-r--r--source/blender/python/generic/blf_py_api.c5
-rw-r--r--source/blender/python/generic/idprop_py_api.c8
-rw-r--r--source/blender/python/generic/imbuf_py_api.c30
-rw-r--r--source/blender/python/generic/py_capi_utils.c87
-rw-r--r--source/blender/python/generic/py_capi_utils.h13
-rw-r--r--source/blender/python/gpu/gpu_py_offscreen.c2
-rw-r--r--source/blender/python/intern/bpy.c98
-rw-r--r--source/blender/python/intern/bpy_app_translations.c8
-rw-r--r--source/blender/python/intern/bpy_library_load.c2
-rw-r--r--source/blender/python/intern/bpy_msgbus.c4
-rw-r--r--source/blender/python/intern/bpy_props.c23
-rw-r--r--source/blender/python/intern/bpy_rna.c62
-rw-r--r--source/blender/python/mathutils/mathutils_Color.c2
-rw-r--r--source/blender/python/mathutils/mathutils_Euler.c2
-rw-r--r--source/blender/python/mathutils/mathutils_Matrix.c4
-rw-r--r--source/blender/python/mathutils/mathutils_Quaternion.c2
-rw-r--r--source/blender/python/mathutils/mathutils_Vector.c20
-rw-r--r--source/blender/python/mathutils/mathutils_bvhtree.c2
-rw-r--r--source/blender/python/mathutils/mathutils_geometry.c116
-rw-r--r--source/blender/python/mathutils/mathutils_kdtree.c4
-rw-r--r--source/blender/windowmanager/CMakeLists.txt3
-rw-r--r--source/blender/windowmanager/WM_api.h23
-rw-r--r--source/blender/windowmanager/intern/wm_cursors.c1667
-rw-r--r--source/blender/windowmanager/intern/wm_dragdrop.c2
-rw-r--r--source/blender/windowmanager/intern/wm_event_system.c90
-rw-r--r--source/blender/windowmanager/intern/wm_init_exit.c14
-rw-r--r--source/blender/windowmanager/intern/wm_operator_props.c10
-rw-r--r--source/blender/windowmanager/intern/wm_operators.c247
-rw-r--r--source/blender/windowmanager/intern/wm_platform_support.c219
-rw-r--r--source/blender/windowmanager/intern/wm_platform_support.h30
-rw-r--r--source/blender/windowmanager/intern/wm_splash_screen.c108
-rw-r--r--source/blender/windowmanager/intern/wm_window.c225
-rw-r--r--source/blender/windowmanager/intern/wm_window_private.h42
-rw-r--r--source/blender/windowmanager/wm_cursors.h117
-rw-r--r--source/creator/CMakeLists.txt29
-rw-r--r--source/creator/creator_signals.c6
m---------source/tools0
-rw-r--r--tests/CMakeLists.txt1
-rw-r--r--tests/gtests/blenlib/BLI_delaunay_2d_test.cc31
-rw-r--r--tests/gtests/blenlib/BLI_kdopbvh_test.cc5
-rw-r--r--tests/gtests/blenlib/BLI_map_test.cc2
-rw-r--r--tests/gtests/blenlib/BLI_memiter_test.cc8
-rw-r--r--tests/gtests/blenlib/BLI_string_test.cc2
-rw-r--r--tests/gtests/blenlib/BLI_task_performance_test.cc32
-rw-r--r--tests/gtests/blenlib/BLI_task_test.cc10
-rw-r--r--tests/gtests/blenlib/BLI_vector_test.cc2
-rw-r--r--tests/gtests/blenlib/stubs/bf_intern_eigen_stubs.h7
-rw-r--r--tests/python/CMakeLists.txt6
-rw-r--r--tests/python/collada/CMakeLists.txt11
-rw-r--r--tests/python/view_layer/CMakeLists.txt24
888 files changed, 31351 insertions, 35068 deletions
diff --git a/.clang-format b/.clang-format
index c4561ce960f..be3546fc49d 100644
--- a/.clang-format
+++ b/.clang-format
@@ -222,6 +222,16 @@ ForEachMacros:
- ITER_PIXELS
- ITER_SLOTS
- ITER_SLOTS_BEGIN
+ - LOOP_EDITED_POINTS
+ - LOOP_KEYS
+ - LOOP_POINTS
+ - LOOP_SELECTED_KEYS
+ - LOOP_SELECTED_POINTS
+ - LOOP_TAGGED_KEYS
+ - LOOP_TAGGED_POINTS
+ - LOOP_UNSELECTED_POINTS
+ - LOOP_VISIBLE_KEYS
+ - LOOP_VISIBLE_POINTS
- LISTBASE_CIRCULAR_BACKWARD_BEGIN
- LISTBASE_CIRCULAR_FORWARD_BEGIN
- LISTBASE_FOREACH
diff --git a/.github/stale.yml b/.github/stale.yml
new file mode 100644
index 00000000000..9c563f2dee0
--- /dev/null
+++ b/.github/stale.yml
@@ -0,0 +1,22 @@
+# Configuration for probot-stale - https://github.com/probot/stale
+# This file is used on Blender's GitHub mirror to automatically close any pull request
+# and invite contributors to join the official development platform on blender.org
+
+# Number of days of inactivity before an Issue or Pull Request becomes stale
+daysUntilStale: 1
+
+# Number of days of inactivity before an Issue or Pull Request with the stale label is closed.
+# Set to false to disable. If disabled, issues still need to be closed manually, but will remain marked as stale.
+daysUntilClose: 1
+
+# Label to use when marking as stale
+staleLabel: stale
+
+# Comment to post when closing a stale Issue or Pull Request.
+closeComment: >
+ This issue has been automatically closed, because this repository is only
+ used as a mirror of git.blender.org. Blender development happens on
+ developer.blender.org.
+
+ To get started contributing code, please read:
+ https://wiki.blender.org/wiki/Process/Contributing_Code
diff --git a/CMakeLists.txt b/CMakeLists.txt
index cee54d3801b..96ebbc0b958 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -16,6 +16,7 @@
#
# The Original Code is Copyright (C) 2006, Blender Foundation
# All rights reserved.
+#
# ***** END GPL LICENSE BLOCK *****
#-----------------------------------------------------------------------------
@@ -460,14 +461,14 @@ mark_as_advanced(WITH_CXX_GUARDEDALLOC)
option(WITH_ASSERT_ABORT "Call abort() when raising an assertion through BLI_assert()" ON)
mark_as_advanced(WITH_ASSERT_ABORT)
-option(WITH_BOOST "Enable features depending on boost" ON)
+option(WITH_BOOST "Enable features depending on boost" ON)
+option(WITH_TBB "Enable features depending on TBB (OpenVDB, OpenImageDenoise, sculpt multithreading)" ON)
# Unit testsing
option(WITH_GTESTS "Enable GTest unit testing" OFF)
option(WITH_OPENGL_RENDER_TESTS "Enable OpenGL render related unit testing (Experimental)" OFF)
option(WITH_OPENGL_DRAW_TESTS "Enable OpenGL UI drawing related unit testing (Experimental)" OFF)
-
# Documentation
if(UNIX AND NOT APPLE)
option(WITH_DOC_MANPAGE "Create a manual page (Unix manpage)" OFF)
@@ -584,6 +585,11 @@ if("${CMAKE_GENERATOR}" MATCHES "Ninja")
mark_as_advanced(WITH_NINJA_POOL_JOBS)
endif()
+if(UNIX AND NOT APPLE)
+ option(WITH_CXX11_ABI "Use native C++11 ABI of compiler" ON)
+ mark_as_advanced(WITH_CXX11_ABI)
+endif()
+
# avoid using again
option_defaults_clear()
@@ -841,7 +847,7 @@ if(NOT CMAKE_BUILD_TYPE MATCHES "Release")
endif()
#-----------------------------------------------------------------------------
-#Platform specifics
+# Platform specifics
if(WITH_X11)
find_package(X11 REQUIRED)
@@ -1402,13 +1408,16 @@ if(CMAKE_COMPILER_IS_GNUCC)
ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_LOGICAL_OP -Wlogical-op)
ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_UNDEF -Wundef)
ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_INIT_SELF -Winit-self) # needs -Wuninitialized
- ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_NO_NULL -Wnonnull) # C only
ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_MISSING_INCLUDE_DIRS -Wmissing-include-dirs)
ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_NO_DIV_BY_ZERO -Wno-div-by-zero)
ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_TYPE_LIMITS -Wtype-limits)
ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_FORMAT_SIGN -Wformat-signedness)
ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_RESTRICT -Wrestrict)
+ # C-only.
+ ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_NO_NULL -Wnonnull)
+ ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_ABSOLUTE_VALUE -Wabsolute-value)
+
# gcc 4.2 gives annoying warnings on every file with this
if(NOT "${CMAKE_C_COMPILER_VERSION}" VERSION_LESS "4.3")
ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_UNINITIALIZED -Wuninitialized)
@@ -1577,7 +1586,7 @@ elseif(CMAKE_C_COMPILER_ID MATCHES "MSVC")
if(MSVC_VERSION GREATER_EQUAL 1911)
# see https://docs.microsoft.com/en-us/cpp/error-messages/compiler-warnings/c5038?view=vs-2017
- set(_WARNINGS "${_WARNINGS} /w35038") #order of initialisation in c++ constructors
+ set(_WARNINGS "${_WARNINGS} /w35038") # order of initialization in c++ constructors
endif()
string(REPLACE ";" " " _WARNINGS "${_WARNINGS}")
@@ -1617,15 +1626,19 @@ if(WITH_PYTHON)
endif()
endif()
-if(
+if(MSVC)
+ # MSVC needs to be tested first, since clang on windows will
+ # match the compiler test below but clang-cl does not accept -std=c++11
+ # since it is on by default and cannot be turned off.
+ #
+ # Nothing special is needed, C++11 features are available by default.
+elseif(
CMAKE_COMPILER_IS_GNUCC OR
CMAKE_C_COMPILER_ID MATCHES "Clang" OR
CMAKE_C_COMPILER_ID MATCHES "Intel"
)
# TODO(sergey): Do we want c++11 or gnu-c++11 here?
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
-elseif(MSVC)
- # Nothing special is needed, C++11 features are available by default.
else()
message(FATAL_ERROR "Unknown compiler ${CMAKE_C_COMPILER_ID}, can't enable C++11 build")
endif()
@@ -1641,6 +1654,12 @@ if(
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=gnu11")
endif()
+if(UNIX AND NOT APPLE)
+ if(NOT WITH_CXX11_ABI)
+ set(PLATFORM_CFLAGS "${PLATFORM_CFLAGS} -D_GLIBCXX_USE_CXX11_ABI=0")
+ endif()
+endif()
+
# Include warnings first, so its possible to disable them with user defined flags
# eg: -Wno-uninitialized
set(CMAKE_C_FLAGS "${C_WARNINGS} ${CMAKE_C_FLAGS} ${PLATFORM_CFLAGS}")
diff --git a/GNUmakefile b/GNUmakefile
index d960a67e407..2c7856db7b4 100644
--- a/GNUmakefile
+++ b/GNUmakefile
@@ -118,7 +118,7 @@ Utilities
Example
make icons_geom BLENDER_BIN=/path/to/blender
- * tgz:
+ * source_archive:
Create a compressed archive of the source code.
* update:
@@ -192,6 +192,16 @@ ifndef PYTHON
PYTHON:=python3
endif
+# For macOS python3 is not installed by default, so fallback to python binary
+# in libraries, or python 2 for running make update to get it.
+ifeq ($(OS_NCASE),darwin)
+ ifeq (, $(shell command -v $(PYTHON)))
+ PYTHON:=../lib/darwin/python/bin/python3.7m
+ ifeq (, $(shell command -v $(PYTHON)))
+ PYTHON:=python
+ endif
+ endif
+endif
# -----------------------------------------------------------------------------
# additional targets for the build configuration
@@ -374,7 +384,7 @@ package_archive: .FORCE
# Tests
#
test: .FORCE
- python3 ./build_files/utils/make_test.py "$(BUILD_DIR)"
+ $(PYTHON) ./build_files/utils/make_test.py "$(BUILD_DIR)"
# run pep8 check check on scripts we distribute.
test_pep8: .FORCE
@@ -515,8 +525,8 @@ check_descriptions: .FORCE
# Utilities
#
-tgz: .FORCE
- ./build_files/utils/build_tgz.sh
+source_archive: .FORCE
+ ./build_files/utils/make_source_archive.sh
INKSCAPE_BIN?="inkscape"
icons: .FORCE
@@ -530,11 +540,11 @@ icons_geom: .FORCE
"$(BLENDER_DIR)/release/datafiles/blender_icons_geom_update.py"
update: .FORCE
- python3 ./build_files/utils/make_update.py
+ $(PYTHON) ./build_files/utils/make_update.py
format: .FORCE
PATH="../lib/${OS_NCASE}/llvm/bin/:$(PATH)" \
- python3 source/tools/utils_maintenance/clang_format_paths.py $(PATHS)
+ $(PYTHON) source/tools/utils_maintenance/clang_format_paths.py $(PATHS)
# -----------------------------------------------------------------------------
diff --git a/build_files/build_environment/CMakeLists.txt b/build_files/build_environment/CMakeLists.txt
index 9756ad28454..cdfa18ff4ff 100644
--- a/build_files/build_environment/CMakeLists.txt
+++ b/build_files/build_environment/CMakeLists.txt
@@ -114,7 +114,7 @@ if(WIN32)
include(cmake/tinyxml.cmake)
include(cmake/yamlcpp.cmake)
# LCMS is an OCIO dep, but only if you build the apps, leaving it here for convenience
- #include(cmake/lcms.cmake)
+ # include(cmake/lcms.cmake)
endif()
@@ -128,6 +128,7 @@ if(NOT WIN32 OR ENABLE_MINGW64)
include(cmake/ogg.cmake)
include(cmake/vorbis.cmake)
include(cmake/theora.cmake)
+ include(cmake/opus.cmake)
include(cmake/vpx.cmake)
include(cmake/x264.cmake)
include(cmake/xvidcore.cmake)
@@ -157,4 +158,9 @@ if(UNIX)
include(cmake/sqlite.cmake)
endif()
+if(UNIX AND NOT APPLE)
+ include(cmake/libglu.cmake)
+ include(cmake/mesa.cmake)
+endif()
+
include(cmake/harvest.cmake)
diff --git a/build_files/build_environment/cmake/blosc.cmake b/build_files/build_environment/cmake/blosc.cmake
index 4e2ae3edde2..221fa9d58bf 100644
--- a/build_files/build_environment/cmake/blosc.cmake
+++ b/build_files/build_environment/cmake/blosc.cmake
@@ -30,8 +30,8 @@ set(BLOSC_EXTRA_ARGS
)
if(WIN32)
- #prevent blosc from including it's own local copy of zlib in the object file
- #and cause linker errors with everybody else
+ # Prevent blosc from including it's own local copy of zlib in the object file
+ # and cause linker errors with everybody else.
set(BLOSC_EXTRA_ARGS ${BLOSC_EXTRA_ARGS}
-DPREFER_EXTERNAL_ZLIB=ON
)
diff --git a/build_files/build_environment/cmake/check_software.cmake b/build_files/build_environment/cmake/check_software.cmake
index 30dea754e20..f5774551879 100644
--- a/build_files/build_environment/cmake/check_software.cmake
+++ b/build_files/build_environment/cmake/check_software.cmake
@@ -17,10 +17,16 @@
# ***** END GPL LICENSE BLOCK *****
if(UNIX)
+ if(APPLE)
+ set(_libtoolize_name glibtoolize)
+ else()
+ set(_libtoolize_name libtoolize)
+ endif()
+
set(_required_software
autoconf
automake
- libtoolize
+ ${_libtoolize_name}
nasm
yasm
tclsh
diff --git a/build_files/build_environment/cmake/ffmpeg.cmake b/build_files/build_environment/cmake/ffmpeg.cmake
index 27d817e8948..9ff52914f53 100644
--- a/build_files/build_environment/cmake/ffmpeg.cmake
+++ b/build_files/build_environment/cmake/ffmpeg.cmake
@@ -16,10 +16,10 @@
#
# ***** END GPL LICENSE BLOCK *****
-set(FFMPEG_CFLAGS "-I${mingw_LIBDIR}/lame/include -I${mingw_LIBDIR}/openjpeg/include/ -I${mingw_LIBDIR}/ogg/include -I${mingw_LIBDIR}/vorbis/include -I${mingw_LIBDIR}/theora/include -I${mingw_LIBDIR}/vpx/include -I${mingw_LIBDIR}/x264/include -I${mingw_LIBDIR}/xvidcore/include -I${mingw_LIBDIR}/zlib/include")
-set(FFMPEG_LDFLAGS "-L${mingw_LIBDIR}/lame/lib -L${mingw_LIBDIR}/openjpeg/lib -L${mingw_LIBDIR}/ogg/lib -L${mingw_LIBDIR}/vorbis/lib -L${mingw_LIBDIR}/theora/lib -L${mingw_LIBDIR}/vpx/lib -L${mingw_LIBDIR}/x264/lib -L${mingw_LIBDIR}/xvidcore/lib -L${mingw_LIBDIR}/zlib/lib")
+set(FFMPEG_CFLAGS "-I${mingw_LIBDIR}/lame/include -I${mingw_LIBDIR}/openjpeg/include/ -I${mingw_LIBDIR}/ogg/include -I${mingw_LIBDIR}/vorbis/include -I${mingw_LIBDIR}/theora/include -I${mingw_LIBDIR}/opus/include -I${mingw_LIBDIR}/vpx/include -I${mingw_LIBDIR}/x264/include -I${mingw_LIBDIR}/xvidcore/include -I${mingw_LIBDIR}/zlib/include")
+set(FFMPEG_LDFLAGS "-L${mingw_LIBDIR}/lame/lib -L${mingw_LIBDIR}/openjpeg/lib -L${mingw_LIBDIR}/ogg/lib -L${mingw_LIBDIR}/vorbis/lib -L${mingw_LIBDIR}/theora/lib -L${mingw_LIBDIR}/opus/lib -L${mingw_LIBDIR}/vpx/lib -L${mingw_LIBDIR}/x264/lib -L${mingw_LIBDIR}/xvidcore/lib -L${mingw_LIBDIR}/zlib/lib")
set(FFMPEG_EXTRA_FLAGS --pkg-config-flags=--static --extra-cflags=${FFMPEG_CFLAGS} --extra-ldflags=${FFMPEG_LDFLAGS})
-set(FFMPEG_ENV PKG_CONFIG_PATH=${mingw_LIBDIR}/openjpeg/lib/pkgconfig:${mingw_LIBDIR}/x264/lib/pkgconfig:${mingw_LIBDIR}/vorbis/lib/pkgconfig:${mingw_LIBDIR}/ogg/lib/pkgconfig:${mingw_LIBDIR})
+set(FFMPEG_ENV PKG_CONFIG_PATH=${mingw_LIBDIR}/openjpeg/lib/pkgconfig:${mingw_LIBDIR}/x264/lib/pkgconfig:${mingw_LIBDIR}/vorbis/lib/pkgconfig:${mingw_LIBDIR}/ogg/lib/pkgconfig:${mingw_LIBDIR}:${mingw_LIBDIR}/vpx/lib/pkgconfig:${mingw_LIBDIR}/theora/lib/pkgconfig:${mingw_LIBDIR}/openjpeg/lib/pkgconfig:${mingw_LIBDIR}/opus/lib/pkgconfig:)
if(WIN32)
set(FFMPEG_ENV set ${FFMPEG_ENV} &&)
@@ -73,6 +73,7 @@ ExternalProject_Add(external_ffmpeg
--disable-libgsm
--disable-libspeex
--enable-libvpx
+ --enable-libopus
--prefix=${LIBDIR}/ffmpeg
--enable-libtheora
--enable-libvorbis
@@ -130,6 +131,7 @@ add_dependencies(
external_openjpeg
external_xvidcore
external_x264
+ external_opus
external_vpx
external_theora
external_vorbis
diff --git a/build_files/build_environment/cmake/harvest.cmake b/build_files/build_environment/cmake/harvest.cmake
index 526e72e2e33..cc596b2c786 100644
--- a/build_files/build_environment/cmake/harvest.cmake
+++ b/build_files/build_environment/cmake/harvest.cmake
@@ -192,6 +192,7 @@ harvest(theora/lib ffmpeg/lib "*.a")
harvest(tiff/include tiff/include "*.h")
harvest(tiff/lib tiff/lib "*.a")
harvest(vorbis/lib ffmpeg/lib "*.a")
+harvest(opus/lib ffmpeg/lib "*.a")
harvest(vpx/lib ffmpeg/lib "*.a")
harvest(webp/lib ffmpeg/lib "*.a")
harvest(x264/lib ffmpeg/lib "*.a")
@@ -199,4 +200,9 @@ harvest(xvidcore/lib ffmpeg/lib "*.a")
harvest(embree/include embree/include "*.h")
harvest(embree/lib embree/lib "*.a")
+if(UNIX AND NOT APPLE)
+ harvest(libglu/lib mesa/lib "*.so*")
+ harvest(mesa/lib mesa/lib "*.so*")
+endif()
+
endif()
diff --git a/build_files/build_environment/cmake/lcms.cmake b/build_files/build_environment/cmake/lcms.cmake
index 7e8f955aa58..c7019bc645e 100644
--- a/build_files/build_environment/cmake/lcms.cmake
+++ b/build_files/build_environment/cmake/lcms.cmake
@@ -24,7 +24,7 @@ ExternalProject_Add(external_lcms
DOWNLOAD_DIR ${DOWNLOAD_DIR}
URL_HASH MD5=${LCMS_HASH}
PREFIX ${BUILD_DIR}/lcms
- #patch taken from ocio
+ # Patch taken from ocio.
PATCH_COMMAND ${CMAKE_COMMAND} -E copy ${PATCH_DIR}/cmakelists_lcms.txt ${BUILD_DIR}/lcms/src/external_lcms/CMakeLists.txt
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/lcms ${DEFAULT_CMAKE_FLAGS} ${LCMS_EXTRA_ARGS}
INSTALL_DIR ${LIBDIR}/lcms
diff --git a/build_files/build_environment/cmake/libglu.cmake b/build_files/build_environment/cmake/libglu.cmake
new file mode 100644
index 00000000000..d1b7647eca3
--- /dev/null
+++ b/build_files/build_environment/cmake/libglu.cmake
@@ -0,0 +1,40 @@
+# ***** BEGIN GPL LICENSE BLOCK *****
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+#
+# ***** END GPL LICENSE BLOCK *****
+
+set(LIBGLU_CFLAGS "-static-libgcc")
+set(LIBGLU_CXXFLAGS "-static-libgcc -static-libstdc++ -Bstatic -lstdc++ -Bdynamic -l:libstdc++.a")
+set(LIBGLU_LDFLAGS "-pthread -static-libgcc -static-libstdc++ -Bstatic -lstdc++ -Bdynamic -l:libstdc++.a")
+
+set(LIBGLU_EXTRA_FLAGS
+ CFLAGS=${LIBGLU_CFLAGS}
+ CXXFLAGS=${LIBGLU_CXXFLAGS}
+ LDFLAGS=${LIBGLU_LDFLAGS}
+)
+
+ExternalProject_Add(external_libglu
+ URL ${LIBGLU_URI}
+ DOWNLOAD_DIR ${DOWNLOAD_DIR}
+ URL_HASH MD5=${LIBGLU_HASH}
+ PREFIX ${BUILD_DIR}/libglu
+ CONFIGURE_COMMAND ${CONFIGURE_ENV} &&
+ cd ${BUILD_DIR}/libglu/src/external_libglu/ &&
+ ${CONFIGURE_COMMAND_NO_TARGET} --prefix=${LIBDIR}/libglu ${LIBGLU_EXTRA_FLAGS}
+ BUILD_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/libglu/src/external_libglu/ && make -j${MAKE_THREADS}
+ INSTALL_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/libglu/src/external_libglu/ && make install
+ INSTALL_DIR ${LIBDIR}/libglu
+)
diff --git a/build_files/build_environment/cmake/mesa.cmake b/build_files/build_environment/cmake/mesa.cmake
new file mode 100644
index 00000000000..6994d1c5813
--- /dev/null
+++ b/build_files/build_environment/cmake/mesa.cmake
@@ -0,0 +1,54 @@
+# ***** BEGIN GPL LICENSE BLOCK *****
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+#
+# ***** END GPL LICENSE BLOCK *****
+
+set(MESA_CFLAGS "-static-libgcc")
+set(MESA_CXXFLAGS "-static-libgcc -static-libstdc++ -Bstatic -lstdc++ -Bdynamic -l:libstdc++.a")
+set(MESA_LDFLAGS "-L${LIBDIR}/zlib/lib -pthread -static-libgcc -static-libstdc++ -Bstatic -lstdc++ -Bdynamic -l:libstdc++.a -l:libz_pic.a")
+
+set(MESA_EXTRA_FLAGS
+ CFLAGS=${MESA_CFLAGS}
+ CXXFLAGS=${MESA_CXXFLAGS}
+ LDFLAGS=${MESA_LDFLAGS}
+ --enable-glx=gallium-xlib
+ --with-gallium-drivers=swrast
+ --disable-dri
+ --disable-gbm
+ --disable-egl
+ --disable-gles1
+ --disable-gles2
+ --disable-llvm-shared-libs
+ --with-llvm-prefix=${LIBDIR}/llvm
+)
+
+ExternalProject_Add(external_mesa
+ URL ${MESA_URI}
+ DOWNLOAD_DIR ${DOWNLOAD_DIR}
+ URL_HASH MD5=${MESA_HASH}
+ PREFIX ${BUILD_DIR}/mesa
+ CONFIGURE_COMMAND ${CONFIGURE_ENV} &&
+ cd ${BUILD_DIR}/mesa/src/external_mesa/ &&
+ ${CONFIGURE_COMMAND_NO_TARGET} --prefix=${LIBDIR}/mesa ${MESA_EXTRA_FLAGS}
+ BUILD_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/mesa/src/external_mesa/ && make -j${MAKE_THREADS}
+ INSTALL_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/mesa/src/external_mesa/ && make install
+ INSTALL_DIR ${LIBDIR}/mesa
+)
+
+add_dependencies(
+ external_mesa
+ ll
+)
diff --git a/build_files/build_environment/cmake/opencolorio.cmake b/build_files/build_environment/cmake/opencolorio.cmake
index 0f6b8fee673..1260a1217dd 100644
--- a/build_files/build_environment/cmake/opencolorio.cmake
+++ b/build_files/build_environment/cmake/opencolorio.cmake
@@ -50,7 +50,7 @@ if(WIN32)
-DUSE_EXTERNAL_LCMS=ON
-DINC_1=${LIBDIR}/tinyxml/include
-DINC_2=${LIBDIR}/yamlcpp/include
- #lie because ocio cmake is demanding boost even though it is not needed
+ # Lie because ocio cmake is demanding boost even though it is not needed.
-DYAML_CPP_VERSION=0.5.0
)
else()
diff --git a/build_files/build_environment/cmake/openexr.cmake b/build_files/build_environment/cmake/openexr.cmake
index 7ac85ab9bdf..39533a94cd9 100644
--- a/build_files/build_environment/cmake/openexr.cmake
+++ b/build_files/build_environment/cmake/openexr.cmake
@@ -44,7 +44,7 @@ if(WIN32)
ExternalProject_Add_Step(external_openexr after_install
COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/openexr/lib ${HARVEST_TARGET}/openexr/lib
- #libs have moved between versions, just duplicate it for now.
+ # Libs have moved between versions, just duplicate it for now.
COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/openexr/lib ${LIBDIR}/ilmbase/lib
COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/openexr/include ${HARVEST_TARGET}/openexr/include
DEPENDEES install
diff --git a/build_files/build_environment/cmake/openjpeg.cmake b/build_files/build_environment/cmake/openjpeg.cmake
index 8cc52142ee0..9973a9d9cee 100644
--- a/build_files/build_environment/cmake/openjpeg.cmake
+++ b/build_files/build_environment/cmake/openjpeg.cmake
@@ -38,7 +38,7 @@ ExternalProject_Add(external_openjpeg
INSTALL_DIR ${LIBDIR}/openjpeg
)
-#on windows ffmpeg wants a mingw build, while oiio needs a msvc build
+# On windows ffmpeg wants a mingw build, while oiio needs a msvc build.
if(MSVC)
set(OPENJPEG_EXTRA_ARGS ${DEFAULT_CMAKE_FLAGS})
ExternalProject_Add(external_openjpeg_msvc
diff --git a/build_files/build_environment/cmake/options.cmake b/build_files/build_environment/cmake/options.cmake
index ded13977c05..52b850a021f 100644
--- a/build_files/build_environment/cmake/options.cmake
+++ b/build_files/build_environment/cmake/options.cmake
@@ -190,7 +190,7 @@ set(DEFAULT_CMAKE_FLAGS
)
if(WIN32)
- #we need both flavors to build the thumbnail dlls
+ # We need both flavors to build the thumbnail dlls
if(MSVC12)
set(GENERATOR_32 "Visual Studio 12 2013")
set(GENERATOR_64 "Visual Studio 12 2013 Win64")
diff --git a/build_files/build_environment/cmake/opus.cmake b/build_files/build_environment/cmake/opus.cmake
new file mode 100644
index 00000000000..abaad94fa28
--- /dev/null
+++ b/build_files/build_environment/cmake/opus.cmake
@@ -0,0 +1,35 @@
+# ***** BEGIN GPL LICENSE BLOCK *****
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+#
+# ***** END GPL LICENSE BLOCK *****
+
+ExternalProject_Add(external_opus
+ URL ${OPUS_URI}
+ DOWNLOAD_DIR ${DOWNLOAD_DIR}
+ URL_HASH SHA256=${OPUS_HASH}
+ PREFIX ${BUILD_DIR}/opus
+ CONFIGURE_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/opus/src/external_opus/ && ${CONFIGURE_COMMAND} --prefix=${LIBDIR}/opus
+ --disable-shared
+ --enable-static
+ --with-pic
+ BUILD_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/opus/src/external_opus/ && make -j${MAKE_THREADS}
+ INSTALL_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/opus/src/external_opus/ && make install
+ INSTALL_DIR ${LIBDIR}/opus
+)
+
+if(MSVC)
+ set_target_properties(external_opus PROPERTIES FOLDER Mingw)
+endif()
diff --git a/build_files/build_environment/cmake/sndfile.cmake b/build_files/build_environment/cmake/sndfile.cmake
index 87d421a3764..bafd8fe2ac6 100644
--- a/build_files/build_environment/cmake/sndfile.cmake
+++ b/build_files/build_environment/cmake/sndfile.cmake
@@ -21,7 +21,7 @@ set(SNDFILE_ENV PKG_CONFIG_PATH=${mingw_LIBDIR}/ogg/lib/pkgconfig:${mingw_LIBDIR
if(WIN32)
set(SNDFILE_ENV set ${SNDFILE_ENV} &&)
- #shared for windows because static libs will drag in a libgcc dependency.
+ # Shared for windows because static libs will drag in a libgcc dependency.
set(SNDFILE_OPTIONS --disable-static --enable-shared )
else()
set(SNDFILE_OPTIONS --enable-static --disable-shared )
diff --git a/build_files/build_environment/cmake/theora.cmake b/build_files/build_environment/cmake/theora.cmake
index 5d41fab5740..b1352c40e37 100644
--- a/build_files/build_environment/cmake/theora.cmake
+++ b/build_files/build_environment/cmake/theora.cmake
@@ -16,7 +16,7 @@
#
# ***** END GPL LICENSE BLOCK *****
-if (UNIX)
+if(UNIX)
set(THEORA_CONFIGURE_ENV ${CONFIGURE_ENV} && export HAVE_PDFLATEX=no)
else()
set(THEORA_CONFIGURE_ENV ${CONFIGURE_ENV})
diff --git a/build_files/build_environment/cmake/tinyxml.cmake b/build_files/build_environment/cmake/tinyxml.cmake
index cbbbb0a0a49..763fd959d24 100644
--- a/build_files/build_environment/cmake/tinyxml.cmake
+++ b/build_files/build_environment/cmake/tinyxml.cmake
@@ -24,7 +24,7 @@ ExternalProject_Add(external_tinyxml
DOWNLOAD_DIR ${DOWNLOAD_DIR}
URL_HASH MD5=${TINYXML_HASH}
PREFIX ${BUILD_DIR}/tinyxml
- #patch taken from ocio
+ # patch taken from ocio
PATCH_COMMAND ${PATCH_CMD} -p 1 -N -d ${BUILD_DIR}/tinyxml/src/external_tinyxml < ${PATCH_DIR}/tinyxml.diff
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/tinyxml ${DEFAULT_CMAKE_FLAGS} ${TINYXML_EXTRA_ARGS}
INSTALL_DIR ${LIBDIR}/tinyxml
diff --git a/build_files/build_environment/cmake/versions.cmake b/build_files/build_environment/cmake/versions.cmake
index c3b713096d6..a261b5fd504 100644
--- a/build_files/build_environment/cmake/versions.cmake
+++ b/build_files/build_environment/cmake/versions.cmake
@@ -61,7 +61,7 @@ set(ILMBASE_URI https://github.com/openexr/openexr/releases/download/v${ILMBASE_
set(ILMBASE_HASH 354bf86de3b930ab87ac63619d60c860)
set(OPENEXR_VERSION 2.3.0)
-if(WIN32) #release 2.3.0 tarball has broken cmake support
+if(WIN32) # release 2.3.0 tarball has broken cmake support
set(OPENEXR_URI https://github.com/openexr/openexr/archive/0ac2ea34c8f3134148a5df4052e40f155b76f6fb.tar.gz)
set(OPENEXR_HASH ed159435d508240712fbaaa21d94bafb)
else()
@@ -90,17 +90,17 @@ set(ALEMBIC_VERSION 1.7.8)
set(ALEMBIC_URI https://github.com/alembic/alembic/archive/${ALEMBIC_VERSION}.tar.gz)
set(ALEMBIC_MD5 d095c2feb5e183b824904db7b63c1d30)
-## hash is for 3.1.2
+# hash is for 3.1.2
set(GLFW_GIT_UID 30306e54705c3adae9fe082c816a3be71963485c)
set(GLFW_URI https://github.com/glfw/glfw/archive/${GLFW_GIT_UID}.zip)
set(GLFW_HASH 20cacb1613da7eeb092f3ac4f6b2b3d0)
-#latest uid in git as of 2016-04-01
+# latest uid in git as of 2016-04-01
set(CLEW_GIT_UID 277db43f6cafe8b27c6f1055f69dc67da4aeb299)
set(CLEW_URI https://github.com/OpenCLWrangler/clew/archive/${CLEW_GIT_UID}.zip)
set(CLEW_HASH 2c699d10ed78362e71f56fae2a4c5f98)
-#latest uid in git as of 2016-04-01
+# latest uid in git as of 2016-04-01
set(CUEW_GIT_UID 1744972026de9cf27c8a7dc39cf39cd83d5f922f)
set(CUEW_URI https://github.com/CudaWrangler/cuew/archive/${CUEW_GIT_UID}.zip)
set(CUEW_HASH 86760d62978ebfd96cd93f5aa1abaf4a)
@@ -192,6 +192,10 @@ set(VPX_VERSION 1.7.0)
set(VPX_URI https://github.com/webmproject/libvpx/archive/v${VPX_VERSION}/libvpx-v${VPX_VERSION}.tar.gz)
set(VPX_HASH 1fec931eb5c94279ad219a5b6e0202358e94a93a90cfb1603578c326abfc1238)
+set(OPUS_VERSION 1.3.1)
+set(OPUS_URI https://archive.mozilla.org/pub/opus/opus-${OPUS_VERSION}.tar.gz)
+set(OPUS_HASH 65b58e1e25b2a114157014736a3d9dfeaad8d41be1c8179866f144a2fb44ff9d)
+
set(X264_URI http://download.videolan.org/pub/videolan/x264/snapshots/x264-snapshot-20180811-2245-stable.tar.bz2)
set(X264_HASH ae8a868a0e236a348b35d79f3ee80294b169d1195408b689f9851383661ed7aa)
@@ -199,7 +203,7 @@ set(XVIDCORE_VERSION 1.3.5)
set(XVIDCORE_URI http://downloads.xvid.org/downloads/xvidcore-${XVIDCORE_VERSION}.tar.gz)
set(XVIDCORE_HASH 165ba6a2a447a8375f7b06db5a3c91810181f2898166e7c8137401d7fc894cf0)
-#this has to be in sync with the version in blenders /extern folder
+# This has to be in sync with the version in blenders /extern folder.
set(OPENJPEG_VERSION 2.3.0)
set(OPENJPEG_SHORT_VERSION 2.3)
# Use slightly newer commit after release which includes a cmake fix
@@ -230,9 +234,9 @@ set(SNDFILE_VERSION 1.0.28)
set(SNDFILE_URI http://www.mega-nerd.com/libsndfile/files/libsndfile-${SNDFILE_VERSION}.tar.gz)
set(SNDFILE_HASH 646b5f98ce89ac60cdb060fcd398247c)
-#set(HIDAPI_VERSION 0.8.0-rc1)
-#set(HIDAPI_URI https://github.com/signal11/hidapi/archive/hidapi-${HIDAPI_VERSION}.tar.gz)
-#set(HIDAPI_HASH 069f9dd746edc37b6b6d0e3656f47199)
+# set(HIDAPI_VERSION 0.8.0-rc1)
+# set(HIDAPI_URI https://github.com/signal11/hidapi/archive/hidapi-${HIDAPI_VERSION}.tar.gz)
+# set(HIDAPI_HASH 069f9dd746edc37b6b6d0e3656f47199)
set(HIDAPI_UID 89a6c75dc6f45ecabd4ddfbd2bf5ba6ad8ba38b5)
set(HIDAPI_URI https://github.com/TheOnlyJoey/hidapi/archive/${HIDAPI_UID}.zip)
@@ -306,3 +310,11 @@ set(EMBREE_HASH 3d4a1147002ff43939d45140aa9d6fb8)
set(OIDN_VERSION 1.0.0)
set(OIDN_URI https://github.com/OpenImageDenoise/oidn/releases/download/v${OIDN_VERSION}/oidn-${OIDN_VERSION}.src.zip)
set(OIDN_HASH 19fe67b0164e8f020ac8a4f520defe60)
+
+set(LIBGLU_VERSION 9.0.1)
+set(LIBGLU_URI ftp://ftp.freedesktop.org/pub/mesa/glu/glu-${LIBGLU_VERSION}.tar.xz)
+set(LIBGLU_HASH 151aef599b8259efe9acd599c96ea2a3)
+
+set(MESA_VERSION 18.3.1)
+set(MESA_URI ftp://ftp.freedesktop.org/pub/mesa//mesa-${MESA_VERSION}.tar.xz)
+set(MESA_HASH d60828056d77bfdbae0970f9b15fb1be)
diff --git a/build_files/build_environment/cmake/vpx.cmake b/build_files/build_environment/cmake/vpx.cmake
index 1c3a7081b59..741493859e2 100644
--- a/build_files/build_environment/cmake/vpx.cmake
+++ b/build_files/build_environment/cmake/vpx.cmake
@@ -49,6 +49,8 @@ ExternalProject_Add(external_vpx
--disable-avx2
--disable-unit-tests
--disable-examples
+ --enable-vp8
+ --enable-vp9
${VPX_EXTRA_FLAGS}
BUILD_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/vpx/src/external_vpx/ && make -j${MAKE_THREADS}
INSTALL_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/vpx/src/external_vpx/ && make install
diff --git a/build_files/build_environment/install_deps.sh b/build_files/build_environment/install_deps.sh
index f594add3a5b..fd3ebe241a2 100755
--- a/build_files/build_environment/install_deps.sh
+++ b/build_files/build_environment/install_deps.sh
@@ -431,6 +431,9 @@ X264_VERSION_MIN=0.118
VPX_USE=false
VPX_VERSION_MIN=0.9.7
VPX_DEV=""
+OPUS_USE=false
+OPUS_VERSION_MIN=1.1.1
+OPUS_DEV=""
MP3LAME_USE=false
MP3LAME_DEV=""
OPENJPEG_USE=false
@@ -2754,6 +2757,10 @@ compile_FFmpeg() {
extra="$extra --enable-libvpx"
fi
+ if [ "$OPUS_USE" = true ]; then
+ extra="$extra --enable-libopus"
+ fi
+
if [ "$MP3LAME_USE" = true ]; then
extra="$extra --enable-libmp3lame"
fi
@@ -2991,6 +2998,14 @@ install_DEB() {
install_packages_DEB $VPX_DEV
VPX_USE=true
fi
+
+ PRINT ""
+ OPUS_DEV="libopus-dev"
+ check_package_version_ge_DEB $OPUS_DEV $OPUS_VERSION_MIN
+ if [ $? -eq 0 ]; then
+ install_packages_DEB $OPUS_DEV
+ OPUS_USE=true
+ fi
fi
# Check cmake/glew versions and disable features for older distros.
@@ -3601,8 +3616,17 @@ install_RPM() {
install_packages_RPM $VPX_DEV
VPX_USE=true
fi
+
PRINT ""
install_packages_RPM libspnav-devel
+
+ PRINT ""
+ OPUS_DEV="libopus-devel"
+ check_package_version_ge_RPM $OPUS_DEV $OPUS_VERSION_MIN
+ if [ $? -eq 0 ]; then
+ install_packages_RPM $OPUS_DEV
+ OPUS_USE=true
+ fi
fi
PRINT ""
@@ -4077,6 +4101,14 @@ install_ARCH() {
install_packages_ARCH $VPX_DEV
VPX_USE=true
fi
+
+ PRINT ""
+ OPUS_DEV="opus"
+ check_package_version_ge_ARCH $OPUS_DEV $OPUS_VERSION_MIN
+ if [ $? -eq 0 ]; then
+ install_packages_ARCH $OPUS_DEV
+ OPUS_USE=true
+ fi
fi
@@ -4633,6 +4665,10 @@ print_info_ffmpeglink() {
_packages="$_packages $VPX_DEV"
fi
+ if [ "$OPUS_USE" = true ]; then
+ _packages="$_packages $OPUS_DEV"
+ fi
+
if [ "$MP3LAME_USE" = true ]; then
_packages="$_packages $MP3LAME_DEV"
fi
diff --git a/build_files/build_environment/patches/cmake/modules/FindIlmBase.cmake b/build_files/build_environment/patches/cmake/modules/FindIlmBase.cmake
index 10075d71484..62ccc17d014 100644
--- a/build_files/build_environment/patches/cmake/modules/FindIlmBase.cmake
+++ b/build_files/build_environment/patches/cmake/modules/FindIlmBase.cmake
@@ -192,11 +192,11 @@ if(ILMBASE_CUSTOM)
set(IlmBase_Libraries ${ILMBASE_CUSTOM_LIBRARIES})
separate_arguments(IlmBase_Libraries)
else()
-#elseif(${ILMBASE_VERSION} VERSION_LESS "2.1")
+# elseif(${ILMBASE_VERSION} VERSION_LESS "2.1")
set(IlmBase_Libraries Half Iex Imath IlmThread)
-#else()
-# string(REGEX REPLACE "([0-9]+)[.]([0-9]+).*" "\\1_\\2" _ilmbase_libs_ver ${ILMBASE_VERSION})
-# set(IlmBase_Libraries Half Iex-${_ilmbase_libs_ver} Imath-${_ilmbase_libs_ver} IlmThread-${_ilmbase_libs_ver})
+# else()
+# string(REGEX REPLACE "([0-9]+)[.]([0-9]+).*" "\\1_\\2" _ilmbase_libs_ver ${ILMBASE_VERSION})
+# set(IlmBase_Libraries Half Iex-${_ilmbase_libs_ver} Imath-${_ilmbase_libs_ver} IlmThread-${_ilmbase_libs_ver})
endif()
diff --git a/build_files/build_environment/patches/cmake/modules/FindOpenEXR.cmake b/build_files/build_environment/patches/cmake/modules/FindOpenEXR.cmake
index 96a2ca94bab..9c390d77743 100644
--- a/build_files/build_environment/patches/cmake/modules/FindOpenEXR.cmake
+++ b/build_files/build_environment/patches/cmake/modules/FindOpenEXR.cmake
@@ -188,11 +188,11 @@ if(OPENEXR_CUSTOM)
endif()
set(OpenEXR_Library ${OPENEXR_CUSTOM_LIBRARY})
else()
-#elseif(${OPENEXR_VERSION} VERSION_LESS "2.1")
+# elseif(${OPENEXR_VERSION} VERSION_LESS "2.1")
set(OpenEXR_Library IlmImf)
-#else()
-# string(REGEX REPLACE "([0-9]+)[.]([0-9]+).*" "\\1_\\2" _openexr_libs_ver ${OPENEXR_VERSION})
-# set(OpenEXR_Library IlmImf-${_openexr_libs_ver})
+# else()
+# string(REGEX REPLACE "([0-9]+)[.]([0-9]+).*" "\\1_\\2" _openexr_libs_ver ${OPENEXR_VERSION})
+# set(OpenEXR_Library IlmImf-${_openexr_libs_ver})
endif()
# Locate the OpenEXR library
diff --git a/build_files/buildbot/buildbot_utils.py b/build_files/buildbot/buildbot_utils.py
index 6891b91aa1e..eded6646671 100644
--- a/build_files/buildbot/buildbot_utils.py
+++ b/build_files/buildbot/buildbot_utils.py
@@ -20,6 +20,7 @@
import argparse
import os
+import re
import subprocess
import sys
@@ -27,6 +28,7 @@ class Builder:
def __init__(self, name, branch):
self.name = name
self.branch = branch
+ self.is_release_branch = re.match("^blender-v(.*)-release$", branch) is not None
# Buildbot runs from build/ directory
self.blender_dir = os.path.abspath(os.path.join('..', 'blender.git'))
diff --git a/build_files/buildbot/config/blender_linux.cmake b/build_files/buildbot/config/blender_linux.cmake
index 6806684e88b..c970ae4c9c1 100644
--- a/build_files/buildbot/config/blender_linux.cmake
+++ b/build_files/buildbot/config/blender_linux.cmake
@@ -2,33 +2,22 @@
include("${CMAKE_CURRENT_LIST_DIR}/../../cmake/config/blender_release.cmake")
-# For libc-2.24 we are using chroot which runs on a 64bit system.
-# There we can not use CPU bitness check since it is always 64bit. So instead
-# we check for a specific libraries.
-#
-# Other builders we are running in a bare virtual machine, and the libraries
-# are installed to /opt/.
-# We assume that only 64bit builders exists in such configuration.
-if(EXISTS "/lib/x86_64-linux-gnu/libc-2.24.so")
- message(STATUS "Building in GLibc-2.24 environment")
- set(LIBDIR_NAME "linux_x86_64")
-elseif(EXISTS "/lib/i386-linux-gnu//libc-2.24.so")
- message(STATUS "Building in GLibc-2.24 environment")
- set(LIBDIR_NAME "linux_i686")
-else()
- message(STATUS "Building in generic 64bit environment")
- set(LIBDIR_NAME "linux_x86_64")
-endif()
+message(STATUS "Building in CentOS 7 64bit environment")
+
+set(LIBDIR_NAME "linux_centos7_x86_64")
+set(WITH_CXX11_ABI OFF CACHE BOOL "" FORCE)
# Default to only build Blender
set(WITH_BLENDER ON CACHE BOOL "" FORCE)
# ######## Linux-specific build options ########
# Options which are specific to Linux-only platforms
+
set(WITH_DOC_MANPAGE OFF CACHE BOOL "" FORCE)
# ######## Official release-specific build options ########
# Options which are specific to Linux release builds only
+
set(WITH_JACK_DYNLOAD ON CACHE BOOL "" FORCE)
set(WITH_SDL_DYNLOAD ON CACHE BOOL "" FORCE)
set(WITH_SYSTEM_GLEW OFF CACHE BOOL "" FORCE)
@@ -40,7 +29,7 @@ set(WITH_PYTHON_INSTALL_REQUESTS ON CACHE BOOL "" FORCE)
# ######## Release environment specific settings ########
-set(LIBDIR "/opt/blender-deps/${LIBDIR_NAME}" CACHE BOOL "" FORCE)
+set(LIBDIR "${CMAKE_CURRENT_LIST_DIR}/../../../../lib/${LIBDIR_NAME}" CACHE STRING "" FORCE)
# Platform specific configuration, to ensure static linking against everything.
diff --git a/build_files/buildbot/slave_pack.py b/build_files/buildbot/slave_pack.py
index a7729843a0e..5bef2b81739 100644
--- a/build_files/buildbot/slave_pack.py
+++ b/build_files/buildbot/slave_pack.py
@@ -32,8 +32,9 @@ def get_package_name(builder, platform=None):
package_name = 'blender-' + info.full_version
if platform:
package_name += '-' + platform
- if builder.branch != 'master' and info.is_development_build:
- package_name = builder.branch + "-" + package_name
+ if not (builder.branch == 'master' or builder.is_release_branch):
+ if info.is_development_build:
+ package_name = builder.branch + "-" + package_name
return package_name
@@ -47,6 +48,7 @@ def create_buildbot_upload_zip(builder, package_files):
try:
z = zipfile.ZipFile(buildbot_upload_zip, "w", compression=zipfile.ZIP_STORED)
for filepath, filename in package_files:
+ print("Packaged", filename)
z.write(filepath, arcname=filename)
z.close()
except Exception as ex:
@@ -147,20 +149,6 @@ def pack_linux(builder):
py_target = os.path.join(builder.install_dir, info.version)
buildbot_utils.call(builder.command_prefix + ['find', py_target, '-iname', '*.so', '-exec', 'strip', '-s', '{}', ';'])
- # Copy all specific files which are too specific to be copied by
- # the CMake rules themselves
- print("Copying extra scripts and libs...")
-
- extra = '/' + os.path.join('home', 'sources', 'release-builder', 'extra')
- mesalibs = os.path.join(extra, 'mesalibs' + str(builder.bits) + '.tar.bz2')
- software_gl = os.path.join(builder.blender_dir, 'release', 'bin', 'blender-softwaregl')
- icons = os.path.join(builder.blender_dir, 'release', 'freedesktop', 'icons')
-
- os.system('tar -xpf %s -C %s' % (mesalibs, builder.install_dir))
- os.system('cp %s %s' % (software_gl, builder.install_dir))
- os.system('cp -r %s %s' % (icons, builder.install_dir))
- os.system('chmod 755 %s' % (os.path.join(builder.install_dir, 'blender-softwaregl')))
-
# Construct package name
platform_name = 'linux-' + blender_glibc + '-' + blender_arch
package_name = get_package_name(builder, platform_name)
diff --git a/build_files/buildbot/slave_update.py b/build_files/buildbot/slave_update.py
index 39f449b87bc..36a7ae31c84 100644
--- a/build_files/buildbot/slave_update.py
+++ b/build_files/buildbot/slave_update.py
@@ -28,4 +28,4 @@ if __name__ == "__main__":
# Run make update which handles all libraries and submodules.
make_update = os.path.join(builder.blender_dir, "build_files", "utils", "make_update.py")
- buildbot_utils.call([sys.executable, make_update, '--no-blender', "--use-tests"])
+ buildbot_utils.call([sys.executable, make_update, '--no-blender', "--use-tests", "--use-centos-libraries"])
diff --git a/build_files/cmake/Modules/FindIcuLinux.cmake b/build_files/cmake/Modules/FindIcuLinux.cmake
index c5164913f7f..689550a17bb 100644
--- a/build_files/cmake/Modules/FindIcuLinux.cmake
+++ b/build_files/cmake/Modules/FindIcuLinux.cmake
@@ -38,14 +38,14 @@ SET(_icu_SEARCH_DIRS
)
# We don't need includes, only libs to link against...
-#FIND_PATH(ICU_INCLUDE_DIR
-# NAMES
-# utf.h
-# HINTS
-# ${_icu_SEARCH_DIRS}
-# PATH_SUFFIXES
-# include/unicode
-#)
+# FIND_PATH(ICU_INCLUDE_DIR
+# NAMES
+# utf.h
+# HINTS
+# ${_icu_SEARCH_DIRS}
+# PATH_SUFFIXES
+# include/unicode
+# )
FIND_LIBRARY(ICU_LIBRARY_DATA
NAMES
diff --git a/build_files/cmake/Modules/FindPythonLibsUnix.cmake b/build_files/cmake/Modules/FindPythonLibsUnix.cmake
index 84e1fbdb35c..966ac9a4459 100644
--- a/build_files/cmake/Modules/FindPythonLibsUnix.cmake
+++ b/build_files/cmake/Modules/FindPythonLibsUnix.cmake
@@ -83,9 +83,9 @@ IF((NOT _IS_INC_DEF) OR (NOT _IS_INC_CONF_DEF) OR (NOT _IS_LIB_DEF) OR (NOT _IS_
)
FOREACH(_CURRENT_ABI_FLAGS ${_PYTHON_ABI_FLAGS_TEST})
- #IF(CMAKE_BUILD_TYPE STREQUAL Debug)
- # SET(_CURRENT_ABI_FLAGS "d${_CURRENT_ABI_FLAGS}")
- #ENDIF()
+ # IF(CMAKE_BUILD_TYPE STREQUAL Debug)
+ # SET(_CURRENT_ABI_FLAGS "d${_CURRENT_ABI_FLAGS}")
+ # ENDIF()
STRING(REPLACE " " "" _CURRENT_ABI_FLAGS ${_CURRENT_ABI_FLAGS})
IF(NOT DEFINED PYTHON_INCLUDE_DIR)
diff --git a/build_files/cmake/Modules/GTestTesting.cmake b/build_files/cmake/Modules/GTestTesting.cmake
index 1c98a6456b8..a93e829e6b0 100644
--- a/build_files/cmake/Modules/GTestTesting.cmake
+++ b/build_files/cmake/Modules/GTestTesting.cmake
@@ -48,6 +48,14 @@ macro(BLENDER_SRC_GTEST_EX NAME SRC EXTRA_LIBS DO_ADD_TEST)
if(WITH_OPENMP_STATIC)
target_link_libraries(${TARGET_NAME} ${OpenMP_LIBRARIES})
endif()
+
+ get_property(GENERATOR_IS_MULTI_CONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG)
+ if(GENERATOR_IS_MULTI_CONFIG)
+ string(REPLACE "\${BUILD_TYPE}" "$<CONFIG>" TEST_INSTALL_DIR ${CMAKE_INSTALL_PREFIX})
+ else()
+ string(REPLACE "\${BUILD_TYPE}" "" TEST_INSTALL_DIR ${CMAKE_INSTALL_PREFIX})
+ endif()
+
set_target_properties(${TARGET_NAME} PROPERTIES
RUNTIME_OUTPUT_DIRECTORY "${TESTS_OUTPUT_DIR}"
RUNTIME_OUTPUT_DIRECTORY_RELEASE "${TESTS_OUTPUT_DIR}"
diff --git a/build_files/cmake/cmake_consistency_check.py b/build_files/cmake/cmake_consistency_check.py
index e23d4dae48a..b4c91e6ba4f 100755
--- a/build_files/cmake/cmake_consistency_check.py
+++ b/build_files/cmake/cmake_consistency_check.py
@@ -28,6 +28,7 @@ if not sys.version.startswith("3"):
from cmake_consistency_check_config import (
IGNORE_SOURCE,
+ IGNORE_SOURCE_MISSING,
IGNORE_CMAKE,
UTF8_CHECK,
SOURCE_DIR,
@@ -42,6 +43,11 @@ global_h = set()
global_c = set()
global_refs = {}
+# Ignore cmake file, path pairs.
+global_ignore_source_missing = {}
+for k, v in IGNORE_SOURCE_MISSING:
+ global_ignore_source_missing.setdefault(k, []).append(v)
+
def replace_line(f, i, text, keep_indent=True):
file_handle = open(f, 'r')
@@ -137,6 +143,13 @@ def cmake_get_src(f):
cmake_base = dirname(f)
cmake_base_bin = os.path.join(BUILD_DIR, os.path.relpath(cmake_base, SOURCE_DIR))
+ # Find known missing sources list (if we have one).
+ f_rel = os.path.relpath(f, SOURCE_DIR)
+ f_rel_key = f_rel
+ if os.sep != "/":
+ f_rel_key = f_rel_key.replace(os.sep, "/")
+ local_ignore_source_missing = global_ignore_source_missing.get(f_rel_key, [])
+
while it is not None:
i += 1
try:
@@ -149,6 +162,9 @@ def cmake_get_src(f):
if not l.startswith("#"):
+ # Remove in-line comments.
+ l = l.split(" # ")[0].rstrip()
+
if ")" in l:
if l.strip() != ")":
raise Exception("strict formatting not kept '*)' %s:%d" % (f, i))
@@ -211,7 +227,10 @@ def cmake_get_src(f):
# replace_line(f, i - 1, new_path_rel)
else:
- raise Exception("non existent include %s:%d -> %s" % (f, i, new_file))
+ if l in local_ignore_source_missing:
+ local_ignore_source_missing.remove(l)
+ else:
+ raise Exception("non existent include %s:%d -> %s" % (f, i, new_file))
# print(new_file)
@@ -342,6 +361,12 @@ def main():
print("unused ignore: %r" % ig)
# Check ignores aren't stale
+ print("\nCheck for unused 'IGNORE_SOURCE_MISSING' paths...")
+ for k, v in sorted(global_ignore_source_missing.items()):
+ for ig in v:
+ print("unused ignore: %r -> %r" % (ig, k))
+
+ # Check ignores aren't stale
print("\nCheck for unused 'IGNORE_CMAKE' paths...")
for index, ig in enumerate(IGNORE_CMAKE):
if not ignore_used_cmake[index]:
diff --git a/build_files/cmake/cmake_consistency_check_config.py b/build_files/cmake/cmake_consistency_check_config.py
index 7ecfe6f1e5f..c3a1036af42 100644
--- a/build_files/cmake/cmake_consistency_check_config.py
+++ b/build_files/cmake/cmake_consistency_check_config.py
@@ -17,8 +17,6 @@ IGNORE_SOURCE = (
"extern/bullet2/src/BulletDynamics/Character/btKinematicCharacterController.cpp",
"extern/bullet2/src/BulletDynamics/ConstraintSolver/btHinge2Constraint.cpp",
"extern/bullet2/src/BulletDynamics/ConstraintSolver/btUniversalConstraint.cpp",
- "intern/audaspace/SRC/AUD_SRCResampleFactory.cpp",
- "intern/audaspace/SRC/AUD_SRCResampleReader.cpp",
"doc/doxygen/doxygen.extern.h",
"doc/doxygen/doxygen.intern.h",
@@ -32,8 +30,12 @@ IGNORE_SOURCE = (
"extern/bullet2/src/BulletDynamics/Character/btKinematicCharacterController.h",
"extern/bullet2/src/BulletDynamics/ConstraintSolver/btHinge2Constraint.h",
"extern/bullet2/src/BulletDynamics/ConstraintSolver/btUniversalConstraint.h",
- "intern/audaspace/SRC/AUD_SRCResampleFactory.h",
- "intern/audaspace/SRC/AUD_SRCResampleReader.h",
+)
+
+# Ignore cmake file, path pairs.
+IGNORE_SOURCE_MISSING = (
+ # Use for cycles stand-alone.
+ ("intern/cycles/util/CMakeLists.txt", "../../third_party/numaapi/include"),
)
IGNORE_CMAKE = (
diff --git a/build_files/cmake/config/blender_full.cmake b/build_files/cmake/config/blender_full.cmake
index b81c67147ff..a4dae25d179 100644
--- a/build_files/cmake/config/blender_full.cmake
+++ b/build_files/cmake/config/blender_full.cmake
@@ -48,6 +48,7 @@ set(WITH_PYTHON_INSTALL ON CACHE BOOL "" FORCE)
set(WITH_QUADRIFLOW ON CACHE BOOL "" FORCE)
set(WITH_RAYOPTIMIZATION ON CACHE BOOL "" FORCE)
set(WITH_SDL ON CACHE BOOL "" FORCE)
+set(WITH_TBB ON CACHE BOOL "" FORCE)
set(WITH_X11_XINPUT ON CACHE BOOL "" FORCE)
set(WITH_X11_XF86VMODE ON CACHE BOOL "" FORCE)
diff --git a/build_files/cmake/config/blender_lite.cmake b/build_files/cmake/config/blender_lite.cmake
index a92802401ee..3f7aa617286 100644
--- a/build_files/cmake/config/blender_lite.cmake
+++ b/build_files/cmake/config/blender_lite.cmake
@@ -53,5 +53,6 @@ set(WITH_OPENVDB OFF CACHE BOOL "" FORCE)
set(WITH_QUADRIFLOW OFF CACHE BOOL "" FORCE)
set(WITH_RAYOPTIMIZATION OFF CACHE BOOL "" FORCE)
set(WITH_SDL OFF CACHE BOOL "" FORCE)
+set(WITH_TBB OFF CACHE BOOL "" FORCE)
set(WITH_X11_XINPUT OFF CACHE BOOL "" FORCE)
set(WITH_X11_XF86VMODE OFF CACHE BOOL "" FORCE)
diff --git a/build_files/cmake/config/blender_release.cmake b/build_files/cmake/config/blender_release.cmake
index fe48c1b69fb..978c21a4b7c 100644
--- a/build_files/cmake/config/blender_release.cmake
+++ b/build_files/cmake/config/blender_release.cmake
@@ -49,6 +49,7 @@ set(WITH_PYTHON_INSTALL ON CACHE BOOL "" FORCE)
set(WITH_QUADRIFLOW ON CACHE BOOL "" FORCE)
set(WITH_RAYOPTIMIZATION ON CACHE BOOL "" FORCE)
set(WITH_SDL ON CACHE BOOL "" FORCE)
+set(WITH_TBB ON CACHE BOOL "" FORCE)
set(WITH_X11_XINPUT ON CACHE BOOL "" FORCE)
set(WITH_X11_XF86VMODE ON CACHE BOOL "" FORCE)
diff --git a/build_files/cmake/config/bpy_module.cmake b/build_files/cmake/config/bpy_module.cmake
index 46aee50135c..99bf17475c8 100644
--- a/build_files/cmake/config/bpy_module.cmake
+++ b/build_files/cmake/config/bpy_module.cmake
@@ -31,7 +31,18 @@ set(WITH_BULLET OFF CACHE BOOL "" FORCE)
set(WITH_OPENVDB OFF CACHE BOOL "" FORCE)
set(WITH_ALEMBIC OFF CACHE BOOL "" FORCE)
-if(CMAKE_SYSTEM_NAME MATCHES "Linux")
- # jemalloc causes linking error on import, disable.
+# Depends on Python install, do this to quiet warning.
+set(WITH_DRACO OFF CACHE BOOL "" FORCE)
+
+# Note, if linking errors can be resolved, lines below can be removed.
+# Until then, disable configurations known to fail.
+
+if(UNIX AND NOT APPLE)
+ if(CMAKE_SYSTEM_NAME MATCHES "Linux")
+ # jemalloc causes linking error on import, disable.
+ set(WITH_MEM_JEMALLOC OFF CACHE BOOL "" FORCE)
+ endif()
+elseif(APPLE)
+ # OpenMP causes linking error on build, disable.
set(WITH_MEM_JEMALLOC OFF CACHE BOOL "" FORCE)
endif()
diff --git a/build_files/cmake/macros.cmake b/build_files/cmake/macros.cmake
index c66ca5afbee..9d0e11d14a0 100644
--- a/build_files/cmake/macros.cmake
+++ b/build_files/cmake/macros.cmake
@@ -147,9 +147,9 @@ function(blender_include_dirs
get_filename_component(_ABS_INC ${_INC} ABSOLUTE)
list(APPEND _ALL_INCS ${_ABS_INC})
# for checking for invalid includes, disable for regular use
- ##if(NOT EXISTS "${_ABS_INC}/")
- ## message(FATAL_ERROR "Include not found: ${_ABS_INC}/")
- ##endif()
+ # if(NOT EXISTS "${_ABS_INC}/")
+ # message(FATAL_ERROR "Include not found: ${_ABS_INC}/")
+ # endif()
endforeach()
include_directories(${_ALL_INCS})
endfunction()
@@ -162,9 +162,9 @@ function(blender_include_dirs_sys
foreach(_INC ${ARGV})
get_filename_component(_ABS_INC ${_INC} ABSOLUTE)
list(APPEND _ALL_INCS ${_ABS_INC})
- ##if(NOT EXISTS "${_ABS_INC}/")
- ## message(FATAL_ERROR "Include not found: ${_ABS_INC}/")
- ##endif()
+ # if(NOT EXISTS "${_ABS_INC}/")
+ # message(FATAL_ERROR "Include not found: ${_ABS_INC}/")
+ # endif()
endforeach()
include_directories(SYSTEM ${_ALL_INCS})
endfunction()
@@ -173,7 +173,7 @@ function(blender_source_group
sources
)
- #if enabled, use the sources directories as filters.
+ # if enabled, use the sources directories as filters.
if(WINDOWS_USE_VISUAL_STUDIO_SOURCE_FOLDERS)
foreach(_SRC ${sources})
# remove ../'s
@@ -259,7 +259,7 @@ function(blender_add_lib__impl
# listed is helpful for IDE's (QtCreator/MSVC)
blender_source_group("${sources}")
- #if enabled, set the FOLDER property for visual studio projects
+ # if enabled, set the FOLDER property for visual studio projects
if(WINDOWS_USE_VISUAL_STUDIO_PROJECT_FOLDERS)
get_filename_component(FolderDir ${CMAKE_CURRENT_SOURCE_DIR} DIRECTORY)
string(REPLACE ${CMAKE_SOURCE_DIR} "" FolderDir ${FolderDir})
@@ -375,7 +375,7 @@ function(SETUP_LIBDIRS)
endif()
if(WITH_OPENCOLLADA)
link_directories(${OPENCOLLADA_LIBPATH})
- ## Never set
+ # # Never set
# link_directories(${PCRE_LIBPATH})
# link_directories(${EXPAT_LIBPATH})
endif()
@@ -460,13 +460,16 @@ function(setup_liblinks
target_link_libraries(${target} ${OSL_LIBRARIES})
endif()
if(WITH_OPENVDB)
- target_link_libraries(${target} ${OPENVDB_LIBRARIES} ${TBB_LIBRARIES} ${BLOSC_LIBRARIES})
+ target_link_libraries(${target} ${OPENVDB_LIBRARIES} ${BLOSC_LIBRARIES})
endif()
if(WITH_OPENIMAGEIO)
target_link_libraries(${target} ${OPENIMAGEIO_LIBRARIES})
endif()
if(WITH_OPENIMAGEDENOISE)
- target_link_libraries(${target} ${OPENIMAGEDENOISE_LIBRARIES} ${TBB_LIBRARIES})
+ target_link_libraries(${target} ${OPENIMAGEDENOISE_LIBRARIES})
+ endif()
+ if(WITH_TBB)
+ target_link_libraries(${target} ${TBB_LIBRARIES})
endif()
if(WITH_OPENCOLORIO)
target_link_libraries(${target} ${OPENCOLORIO_LIBRARIES})
@@ -571,11 +574,11 @@ function(setup_liblinks
${ZLIB_LIBRARIES}
)
- #system libraries with no dependencies such as platform link libs or opengl should go last
+ # System libraries with no dependencies such as platform link libs or opengl should go last.
target_link_libraries(${target}
${BLENDER_GL_LIBRARIES})
- #target_link_libraries(${target} ${PLATFORM_LINKLIBS} ${CMAKE_DL_LIBS})
+ # target_link_libraries(${target} ${PLATFORM_LINKLIBS} ${CMAKE_DL_LIBS})
target_link_libraries(${target} ${PLATFORM_LINKLIBS})
endfunction()
@@ -1069,7 +1072,7 @@ function(data_to_c_simple_icons
add_custom_command(
OUTPUT ${_file_from} ${_file_to}
COMMAND ${CMAKE_COMMAND} -E make_directory ${_file_to_path}
- #COMMAND python3 ${CMAKE_SOURCE_DIR}/source/blender/datatoc/datatoc_icon.py ${_path_from_abs} ${_file_from}
+ # COMMAND python3 ${CMAKE_SOURCE_DIR}/source/blender/datatoc/datatoc_icon.py ${_path_from_abs} ${_file_from}
COMMAND "$<TARGET_FILE:datatoc_icon>" ${_path_from_abs} ${_file_from}
COMMAND "$<TARGET_FILE:datatoc>" ${_file_from} ${_file_to}
DEPENDS
@@ -1214,7 +1217,9 @@ macro(openmp_delayload
)
if(MSVC)
if(WITH_OPENMP)
- if(MSVC_VERSION EQUAL 1800)
+ if(MSVC_CLANG)
+ set(OPENMP_DLL_NAME "libomp")
+ elseif(MSVC_VERSION EQUAL 1800)
set(OPENMP_DLL_NAME "vcomp120")
else()
set(OPENMP_DLL_NAME "vcomp140")
diff --git a/build_files/cmake/platform/platform_apple.cmake b/build_files/cmake/platform/platform_apple.cmake
index 0ea0149b49c..e3523fb9945 100644
--- a/build_files/cmake/platform/platform_apple.cmake
+++ b/build_files/cmake/platform/platform_apple.cmake
@@ -100,8 +100,8 @@ if(WITH_PYTHON)
set(PYTHON_INCLUDE_DIR "${_py_framework}/include/python${PYTHON_VERSION}m")
set(PYTHON_EXECUTABLE "${_py_framework}/bin/python${PYTHON_VERSION}m")
set(PYTHON_LIBPATH "${_py_framework}/lib/python${PYTHON_VERSION}/config-${PYTHON_VERSION}m")
- #set(PYTHON_LIBRARY python${PYTHON_VERSION})
- #set(PYTHON_LINKFLAGS "-u _PyMac_Error -framework Python") # won't build with this enabled
+ # set(PYTHON_LIBRARY python${PYTHON_VERSION})
+ # set(PYTHON_LINKFLAGS "-u _PyMac_Error -framework Python") # won't build with this enabled
unset(_py_framework)
endif()
@@ -157,7 +157,7 @@ if(WITH_CODEC_FFMPEG)
avcodec avdevice avformat avutil
mp3lame swscale x264 xvidcore
theora theoradec theoraenc
- vorbis vorbisenc vorbisfile ogg
+ vorbis vorbisenc vorbisfile ogg opus
vpx swresample)
set(FFMPEG_LIBPATH ${FFMPEG}/lib)
endif()
@@ -218,12 +218,12 @@ if(WITH_OPENCOLLADA)
${OPENCOLLADA_LIBPATH}/libxml2.a
)
# PCRE is bundled with openCollada
- #set(PCRE ${LIBDIR}/pcre)
- #set(PCRE_LIBPATH ${PCRE}/lib)
+ # set(PCRE ${LIBDIR}/pcre)
+ # set(PCRE_LIBPATH ${PCRE}/lib)
set(PCRE_LIBRARIES pcre)
# libxml2 is used
- #set(EXPAT ${LIBDIR}/expat)
- #set(EXPAT_LIBPATH ${EXPAT}/lib)
+ # set(EXPAT ${LIBDIR}/expat)
+ # set(EXPAT_LIBPATH ${EXPAT}/lib)
set(EXPAT_LIB)
endif()
@@ -313,9 +313,7 @@ endif()
if(WITH_OPENVDB)
set(OPENVDB ${LIBDIR}/openvdb)
set(OPENVDB_INCLUDE_DIRS ${OPENVDB}/include)
- set(TBB_INCLUDE_DIRS ${LIBDIR}/tbb/include)
- set(TBB_LIBRARIES ${LIBDIR}/tbb/lib/libtbb.a)
- set(OPENVDB_LIBRARIES openvdb blosc ${TBB_LIBRARIES})
+ set(OPENVDB_LIBRARIES openvdb blosc)
set(OPENVDB_LIBPATH ${LIBDIR}/openvdb/lib)
set(OPENVDB_DEFINITIONS)
endif()
@@ -386,14 +384,25 @@ endif()
if(WITH_OPENIMAGEDENOISE)
find_package(OpenImageDenoise)
- find_package(TBB)
if(NOT OPENIMAGEDENOISE_FOUND)
set(WITH_OPENIMAGEDENOISE OFF)
message(STATUS "OpenImageDenoise not found")
- elseif(NOT TBB_FOUND)
+ endif()
+endif()
+
+if(WITH_TBB)
+ find_package(TBB)
+endif()
+
+if(NOT WITH_TBB OR NOT TBB_FOUND)
+ if(WITH_OPENIMAGEDENOISE)
+ message(STATUS "TBB not found, disabling OpenImageDenoise")
set(WITH_OPENIMAGEDENOISE OFF)
- message(STATUS "TBB not found")
+ endif()
+ if(WITH_OPENVDB)
+ message(STATUS "TBB not found, disabling OpenVDB")
+ set(WITH_OPENVDB OFF)
endif()
endif()
diff --git a/build_files/cmake/platform/platform_unix.cmake b/build_files/cmake/platform/platform_unix.cmake
index 1b3f9cf3fad..c48780ebd6a 100644
--- a/build_files/cmake/platform/platform_unix.cmake
+++ b/build_files/cmake/platform/platform_unix.cmake
@@ -22,14 +22,30 @@
# Detect precompiled library directory
if(NOT DEFINED LIBDIR)
+ # Path to a locally compiled libraries.
set(LIBDIR_NAME ${CMAKE_SYSTEM_NAME}_${CMAKE_SYSTEM_PROCESSOR})
string(TOLOWER ${LIBDIR_NAME} LIBDIR_NAME)
- set(LIBDIR ${CMAKE_SOURCE_DIR}/../lib/${LIBDIR_NAME})
-else()
- message(STATUS "Using pre-compiled LIBDIR: ${LIBDIR}")
+ set(LIBDIR_NATIVE_ABI ${CMAKE_SOURCE_DIR}/../lib/${LIBDIR_NAME})
+
+ # Path to precompiled libraries with known CentOS 7 ABI.
+ set(LIBDIR_CENTOS7_ABI ${CMAKE_SOURCE_DIR}/../lib/linux_centos7_x86_64)
+
+ # Choose the best suitable libraries.
+ if(EXISTS ${LIBDIR_NATIVE_ABI})
+ set(LIBDIR ${LIBDIR_NATIVE_ABI})
+ elseif(EXISTS ${LIBDIR_CENTOS7_ABI})
+ set(LIBDIR ${LIBDIR_CENTOS7_ABI})
+ set(WITH_CXX11_ABI OFF)
+ endif()
+
+ # Avoid namespace pollustion.
+ unset(LIBDIR_NATIVE_ABI)
+ unset(LIBDIR_CENTOS7_ABI)
endif()
if(EXISTS ${LIBDIR})
+ message(STATUS "Using pre-compiled LIBDIR: ${LIBDIR}")
+
file(GLOB LIB_SUBDIRS ${LIBDIR}/*)
# NOTE: Make sure "proper" compiled zlib comes first before the one
# which is a part of OpenCollada. They have different ABI, and we
@@ -244,13 +260,8 @@ endif()
if(WITH_OPENVDB)
find_package_wrapper(OpenVDB)
- find_package_wrapper(TBB)
find_package_wrapper(Blosc)
- if(NOT TBB_FOUND)
- set(WITH_OPENVDB OFF)
- set(WITH_OPENVDB_BLOSC OFF)
- message(STATUS "TBB not found, disabling OpenVDB")
- elseif(NOT OPENVDB_FOUND)
+ if(NOT OPENVDB_FOUND)
set(WITH_OPENVDB OFF)
set(WITH_OPENVDB_BLOSC OFF)
message(STATUS "OpenVDB not found, disabling it")
@@ -416,6 +427,21 @@ if(WITH_OPENSUBDIV)
endif()
endif()
+if(WITH_TBB)
+ find_package_wrapper(TBB)
+endif()
+
+if(NOT WITH_TBB OR NOT TBB_FOUND)
+ if(WITH_OPENIMAGEDENOISE)
+ message(STATUS "TBB not found, disabling OpenImageDenoise")
+ set(WITH_OPENIMAGEDENOISE OFF)
+ endif()
+ if(WITH_OPENVDB)
+ message(STATUS "TBB not found, disabling OpenVDB")
+ set(WITH_OPENVDB OFF)
+ endif()
+endif()
+
# OpenSuse needs lutil, ArchLinux not, for now keep, can avoid by using --as-needed
if(HAIKU)
list(APPEND PLATFORM_LINKLIBS -lnetwork)
diff --git a/build_files/cmake/platform/platform_win32.cmake b/build_files/cmake/platform/platform_win32.cmake
index 3c17e5afda7..617da7314a5 100644
--- a/build_files/cmake/platform/platform_win32.cmake
+++ b/build_files/cmake/platform/platform_win32.cmake
@@ -35,6 +35,22 @@ if(CMAKE_C_COMPILER_ID MATCHES "Clang")
else()
message("Unable to detect the Visual Studio redist directory, copying of the runtime dlls will not work, try running from the visual studio developer prompt.")
endif()
+ # 1) CMake has issues detecting openmp support in clang-cl so we have to provide
+ # the right switches here.
+ # 2) While the /openmp switch *should* work, it currently doesn't as for clang 9.0.0
+ if(WITH_OPENMP)
+ set(OPENMP_CUSTOM ON)
+ set(OPENMP_FOUND ON)
+ set(OpenMP_C_FLAGS "/clang:-fopenmp")
+ set(OpenMP_CXX_FLAGS "/clang:-fopenmp")
+ GET_FILENAME_COMPONENT(LLVMROOT "[HKEY_LOCAL_MACHINE\\SOFTWARE\\WOW6432Node\\LLVM\\LLVM;]" ABSOLUTE CACHE)
+ set(CLANG_OPENMP_DLL "${LLVMROOT}/bin/libomp.dll")
+ set(CLANG_OPENMP_LIB "${LLVMROOT}/lib/libomp.lib")
+ if(NOT EXISTS "${CLANG_OPENMP_DLL}")
+ message(FATAL_ERROR "Clang OpenMP library (${CLANG_OPENMP_DLL}) not found.")
+ endif()
+ set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} \"${CLANG_OPENMP_LIB}\"")
+ endif()
endif()
set_property(GLOBAL PROPERTY USE_FOLDERS ${WINDOWS_USE_VISUAL_STUDIO_PROJECT_FOLDERS})
@@ -96,7 +112,7 @@ set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /SAFESEH:NO")
set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} /SAFESEH:NO")
list(APPEND PLATFORM_LINKLIBS
- ws2_32 vfw32 winmm kernel32 user32 gdi32 comdlg32
+ ws2_32 vfw32 winmm kernel32 user32 gdi32 comdlg32 Comctl32
advapi32 shfolder shell32 ole32 oleaut32 uuid psapi Dbghelp
)
@@ -144,7 +160,7 @@ set(CMAKE_C_FLAGS_MINSIZEREL "${CMAKE_C_FLAGS_MINSIZEREL} /MT")
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} /MT")
set(CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO} /MT")
-#JMC is available on msvc 15.8 (1915) and up
+# JMC is available on msvc 15.8 (1915) and up
if(MSVC_VERSION GREATER 1914 AND NOT MSVC_CLANG)
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /JMC")
endif()
@@ -475,25 +491,20 @@ endif()
if(WITH_OPENVDB)
set(BLOSC_LIBRARIES optimized ${LIBDIR}/blosc/lib/libblosc.lib debug ${LIBDIR}/blosc/lib/libblosc_d.lib)
- set(TBB_LIBRARIES optimized ${LIBDIR}/tbb/lib/tbb.lib debug ${LIBDIR}/tbb/lib/tbb_debug.lib)
- set(TBB_INCLUDE_DIR ${LIBDIR}/tbb/include)
set(OPENVDB ${LIBDIR}/openVDB)
set(OPENVDB_LIBPATH ${OPENVDB}/lib)
- set(OPENVDB_INCLUDE_DIRS ${OPENVDB}/include ${TBB_INCLUDE_DIR})
- set(OPENVDB_LIBRARIES optimized ${OPENVDB_LIBPATH}/openvdb.lib debug ${OPENVDB_LIBPATH}/openvdb_d.lib ${TBB_LIBRARIES} ${BLOSC_LIBRARIES})
+ set(OPENVDB_INCLUDE_DIRS ${OPENVDB}/include)
+ set(OPENVDB_LIBRARIES optimized ${OPENVDB_LIBPATH}/openvdb.lib debug ${OPENVDB_LIBPATH}/openvdb_d.lib ${BLOSC_LIBRARIES})
set(OPENVDB_DEFINITIONS -DNOMINMAX)
endif()
if(WITH_OPENIMAGEDENOISE)
- set(TBB_LIBRARIES optimized ${LIBDIR}/tbb/lib/tbb.lib debug ${LIBDIR}/tbb/lib/tbb_debug.lib)
- set(TBB_INCLUDE_DIR ${LIBDIR}/tbb/include)
set(OPENIMAGEDENOISE ${LIBDIR}/OpenImageDenoise)
set(OPENIMAGEDENOISE_LIBPATH ${LIBDIR}/OpenImageDenoise/lib)
- set(OPENIMAGEDENOISE_INCLUDE_DIRS ${OPENIMAGEDENOISE}/include ${TBB_INCLUDE_DIR})
+ set(OPENIMAGEDENOISE_INCLUDE_DIRS ${OPENIMAGEDENOISE}/include)
set(OPENIMAGEDENOISE_LIBRARIES
optimized ${OPENIMAGEDENOISE_LIBPATH}/OpenImageDenoise.lib ${OPENIMAGEDENOISE_LIBPATH}/common.lib ${OPENIMAGEDENOISE_LIBPATH}/mkldnn.lib
- debug ${OPENIMAGEDENOISE_LIBPATH}/OpenImageDenoise_d.lib ${OPENIMAGEDENOISE_LIBPATH}/common_d.lib ${OPENIMAGEDENOISE_LIBPATH}/mkldnn_d.lib
- ${TBB_LIBRARIES})
+ debug ${OPENIMAGEDENOISE_LIBPATH}/OpenImageDenoise_d.lib ${OPENIMAGEDENOISE_LIBPATH}/common_d.lib ${OPENIMAGEDENOISE_LIBPATH}/mkldnn_d.lib)
set(OPENIMAGEDENOISE_DEFINITIONS)
endif()
@@ -558,17 +569,33 @@ if(WITH_SYSTEM_AUDASPACE)
set(AUDASPACE_PY_LIBRARIES ${LIBDIR}/audaspace/lib/audaspace-py.lib)
endif()
-if(WITH_MOD_MANTA)
- if(NOT WITH_OPENMP OR NOT WITH_MANTA_OMP)
- set(TBB_LIBRARIES optimized ${LIBDIR}/tbb/lib/tbb.lib debug ${LIBDIR}/tbb/lib/tbb_debug.lib)
- set(TBB_INCLUDE_DIR ${LIBDIR}/tbb/include)
+if(WITH_TBB)
+ set(TBB_LIBRARIES optimized ${LIBDIR}/tbb/lib/tbb.lib debug ${LIBDIR}/tbb/lib/tbb_debug.lib)
+ set(TBB_INCLUDE_DIR ${LIBDIR}/tbb/include)
+ set(TBB_INCLUDE_DIRS ${TBB_INCLUDE_DIR})
+else()
+ if(WITH_OPENIMAGEDENOISE)
+ message(STATUS "TBB disabled, also disabling OpenImageDenoise")
+ set(WITH_OPENIMAGEDENOISE OFF)
+ endif()
+ if(WITH_OPENVDB)
+ message(STATUS "TBB disabled, also disabling OpenVDB")
+ set(WITH_OPENVDB OFF)
+ endif()
+ if(WITH_MOD_MANTA)
+ message(STATUS "TBB disabled, using OpenMP for Mantaflow")
+ if(NOT WITH_OPENMP)
+ message(STATUS "OpenMP disabled, also disabling Mantaflow")
+ else()
+ set(WITH_MANTA_OMP ON)
+ endif()
endif()
endif()
# used in many places so include globally, like OpenGL
blender_include_dirs_sys("${PTHREADS_INCLUDE_DIRS}")
-#find signtool
+# Find signtool.
set(ProgramFilesX86_NAME "ProgramFiles(x86)") #env dislikes the ( )
find_program(SIGNTOOL_EXE signtool
HINTS
diff --git a/build_files/utils/build_tgz.sh b/build_files/utils/make_source_archive.sh
index 63c3264b18e..cafd1c31486 100755
--- a/build_files/utils/build_tgz.sh
+++ b/build_files/utils/make_source_archive.sh
@@ -20,7 +20,7 @@ else
fi
MANIFEST="blender-$VERSION-manifest.txt"
-TARBALL="blender-$VERSION.tar.gz"
+TARBALL="blender-$VERSION.tar.xz"
cd "$blender_srcdir"
@@ -51,19 +51,26 @@ echo "OK"
# Create the tarball
+#
+# Without owner/group args, extracting the files as root will
+# use ownership from the tar archive.
cd "$blender_srcdir"
echo -n "Creating archive: \"$BASE_DIR/$TARBALL\" ..."
-tar --transform "s,^,blender-$VERSION/,g" \
- --use-compress-program="gzip --best" \
+tar \
+ --transform "s,^,blender-$VERSION/,g" \
+ --use-compress-program="xz -9" \
--create \
--file="$BASE_DIR/$TARBALL" \
- --files-from="$BASE_DIR/$MANIFEST"
+ --files-from="$BASE_DIR/$MANIFEST" \
+ --owner=0 \
+ --group=0
+
echo "OK"
# Create checksum file
cd "$BASE_DIR"
-echo -n "Creating checksum: \"$BASE_DIR/$TARBALL.md5sum\" ..."
+echo -n "Creating checksum: \"$BASE_DIR/$TARBALL.md5sum\" ..."
md5sum "$TARBALL" > "$TARBALL.md5sum"
echo "OK"
diff --git a/build_files/utils/make_test.py b/build_files/utils/make_test.py
index b89afc738ce..309ab36ecdd 100755
--- a/build_files/utils/make_test.py
+++ b/build_files/utils/make_test.py
@@ -30,26 +30,27 @@ cmake_command = args.cmake_command
config = args.config
build_dir = args.build_directory
-if shutil.which(ctest_command) is None:
+if make_utils.command_missing(ctest_command):
sys.stderr.write("ctest not found, can't run tests\n")
sys.exit(1)
-if shutil.which(git_command) is None:
+if make_utils.command_missing(git_command):
sys.stderr.write("git not found, can't run tests\n")
sys.exit(1)
# Test if we are building a specific release version.
-release_version = make_utils.git_branch_release_version(git_command)
+branch = make_utils.git_branch(git_command)
+release_version = make_utils.git_branch_release_version(branch)
lib_tests_dirpath = os.path.join('..', 'lib', "tests")
if not os.path.exists(lib_tests_dirpath):
print("Tests files not found, downloading...")
- if shutil.which(svn_command) is None:
+ if make_utils.command_missing(svn_command):
sys.stderr.write("svn not found, can't checkout test files\n")
sys.exit(1)
- if shutil.which(cmake_command) is None:
+ if make_utils.command_missing(cmake_command):
sys.stderr.write("cmake not found, can't checkout test files\n")
sys.exit(1)
diff --git a/build_files/utils/make_update.py b/build_files/utils/make_update.py
index 2cbbd1ffd72..ec72514fdfc 100755
--- a/build_files/utils/make_update.py
+++ b/build_files/utils/make_update.py
@@ -28,14 +28,17 @@ def parse_arguments():
parser.add_argument("--use-tests", action="store_true")
parser.add_argument("--svn-command", default="svn")
parser.add_argument("--git-command", default="git")
+ parser.add_argument("--use-centos-libraries", action="store_true")
return parser.parse_args()
+def get_blender_git_root():
+ return check_output([args.git_command, "rev-parse", "--show-toplevel"])
# Setup for precompiled libraries and tests from svn.
def svn_update(args, release_version):
svn_non_interactive = [args.svn_command, '--non-interactive']
- lib_dirpath = os.path.join('..', 'lib')
+ lib_dirpath = os.path.join(get_blender_git_root(), '..', 'lib')
svn_url = make_utils.svn_libraries_base_url(release_version)
# Checkout precompiled libraries
@@ -46,6 +49,8 @@ def svn_update(args, release_version):
# this script is bundled as part of the precompiled libraries. However it
# is used by the buildbot.
lib_platform = "win64_vc14"
+ elif args.use_centos_libraries:
+ lib_platform = "linux_centos7_x86_64"
else:
# No precompiled libraries for Linux.
lib_platform = None
@@ -56,7 +61,7 @@ def svn_update(args, release_version):
if not os.path.exists(lib_platform_dirpath):
print_stage("Checking out Precompiled Libraries")
- if shutil.which(args.svn_command) is None:
+ if make_utils.command_missing(args.svn_command):
sys.stderr.write("svn not found, can't checkout libraries\n")
sys.exit(1)
@@ -70,7 +75,7 @@ def svn_update(args, release_version):
if not os.path.exists(lib_tests_dirpath):
print_stage("Checking out Tests")
- if shutil.which(args.svn_command) is None:
+ if make_utils.command_missing(args.svn_command):
sys.stderr.write("svn not found, can't checkout tests\n")
sys.exit(1)
@@ -82,34 +87,40 @@ def svn_update(args, release_version):
if os.path.isdir(lib_dirpath):
for dirname in os.listdir(lib_dirpath):
+ dirpath = os.path.join(lib_dirpath, dirname)
+
if dirname == ".svn":
+ # Cleanup must be run from svn root directory if it exists.
+ if not make_utils.command_missing(args.svn_command):
+ call(svn_non_interactive + ["cleanup", lib_dirpath])
continue
- dirpath = os.path.join(lib_dirpath, dirname)
svn_dirpath = os.path.join(dirpath, ".svn")
svn_root_dirpath = os.path.join(lib_dirpath, ".svn")
if os.path.isdir(dirpath) and \
(os.path.exists(svn_dirpath) or os.path.exists(svn_root_dirpath)):
- if shutil.which(args.svn_command) is None:
+ if make_utils.command_missing(args.svn_command):
sys.stderr.write("svn not found, can't update libraries\n")
sys.exit(1)
- call(svn_non_interactive + ["cleanup", dirpath])
+ # Cleanup to continue with interrupted downloads.
+ if os.path.exists(svn_dirpath):
+ call(svn_non_interactive + ["cleanup", dirpath])
+ # Switch to appropriate branch and update.
call(svn_non_interactive + ["switch", svn_url + dirname, dirpath])
call(svn_non_interactive + ["update", dirpath])
-
-# Update blender repository.
-def blender_update_skip(args):
- if shutil.which(args.git_command) is None:
+# Test if git repo can be updated.
+def git_update_skip(args, check_remote_exists=True):
+ if make_utils.command_missing(args.git_command):
sys.stderr.write("git not found, can't update code\n")
sys.exit(1)
# Abort if a rebase is still progress.
- rebase_merge = check_output([args.git_command, 'rev-parse', '--git-path', 'rebase-merge'])
- rebase_apply = check_output([args.git_command, 'rev-parse', '--git-path', 'rebase-apply'])
- merge_head = check_output([args.git_command, 'rev-parse', '--git-path', 'MERGE_HEAD'])
+ rebase_merge = check_output([args.git_command, 'rev-parse', '--git-path', 'rebase-merge'], exit_on_error=False)
+ rebase_apply = check_output([args.git_command, 'rev-parse', '--git-path', 'rebase-apply'], exit_on_error=False)
+ merge_head = check_output([args.git_command, 'rev-parse', '--git-path', 'MERGE_HEAD'], exit_on_error=False)
if os.path.exists(rebase_merge) or \
os.path.exists(rebase_apply) or \
os.path.exists(merge_head):
@@ -121,49 +132,92 @@ def blender_update_skip(args):
return "you have unstaged changes"
# Test if there is an upstream branch configured
- branch = check_output([args.git_command, "rev-parse", "--abbrev-ref", "HEAD"])
- remote = check_output([args.git_command, "config", "branch." + branch + ".remote"], exit_on_error=False)
- if len(remote) == 0:
- return "no remote branch to pull from"
+ if check_remote_exists:
+ branch = check_output([args.git_command, "rev-parse", "--abbrev-ref", "HEAD"])
+ remote = check_output([args.git_command, "config", "branch." + branch + ".remote"], exit_on_error=False)
+ if len(remote) == 0:
+ return "no remote branch to pull from"
- return None
+ return ""
+# Update blender repository.
def blender_update(args):
print_stage("Updating Blender Git Repository")
call([args.git_command, "pull", "--rebase"])
# Update submodules.
-def submodules_update(args, release_version):
+def submodules_update(args, release_version, branch):
print_stage("Updating Submodules")
- if shutil.which(args.git_command) is None:
+ if make_utils.command_missing(args.git_command):
sys.stderr.write("git not found, can't update code\n")
sys.exit(1)
- call([args.git_command, "submodule", "update", "--init", "--recursive"])
+ # Update submodules to latest master or appropriate release branch.
if not release_version:
- # Update submodules to latest master if not building a specific release.
- # In that case submodules are set to a specific revision, which is checked
- # out by running "git submodule update".
- call([args.git_command, "submodule", "foreach", "git", "checkout", "master"])
- call([args.git_command, "submodule", "foreach", "git", "pull", "--rebase", "origin", "master"])
+ branch = "master"
+
+ submodules = [
+ ("release/scripts/addons", branch),
+ ("release/scripts/addons_contrib", branch),
+ ("release/datafiles/locale", branch),
+ ("source/tools", branch),
+ ]
+
+ # Initialize submodules only if needed.
+ for submodule_path, submodule_branch in submodules:
+ if not os.path.exists(os.path.join(submodule_path, ".git")):
+ call([args.git_command, "submodule", "update", "--init", "--recursive"])
+ break
+
+ # Checkout appropriate branch and pull changes.
+ skip_msg = ""
+ for submodule_path, submodule_branch in submodules:
+ cwd = os.getcwd()
+ try:
+ os.chdir(submodule_path)
+ msg = git_update_skip(args, check_remote_exists=False)
+ if msg:
+ skip_msg += submodule_path + " skipped: " + msg + "\n"
+ else:
+ if make_utils.git_branch(args.git_command) != submodule_branch:
+ call([args.git_command, "fetch", "origin"])
+ call([args.git_command, "checkout", submodule_branch])
+ call([args.git_command, "pull", "--rebase", "origin", submodule_branch])
+ finally:
+ os.chdir(cwd)
+
+ return skip_msg
if __name__ == "__main__":
args = parse_arguments()
- blender_skipped = None
+ blender_skip_msg = ""
+ submodules_skip_msg = ""
# Test if we are building a specific release version.
- release_version = make_utils.git_branch_release_version(args.git_command)
+ branch = make_utils.git_branch(args.git_command)
+ release_version = make_utils.git_branch_release_version(branch)
if not args.no_libraries:
svn_update(args, release_version)
if not args.no_blender:
- blender_skipped = blender_update_skip(args)
- if not blender_skipped:
+ blender_skip_msg = git_update_skip(args)
+ if blender_skip_msg:
+ blender_skip_msg = "Blender repository skipped: " + blender_skip_msg + "\n"
+ else:
blender_update(args)
if not args.no_submodules:
- submodules_update(args, release_version)
-
- if blender_skipped:
- print_stage("Blender repository skipped: " + blender_skipped)
+ submodules_skip_msg = submodules_update(args, release_version, branch)
+
+ # Report any skipped repositories at the end, so it's not as easy to miss.
+ skip_msg = blender_skip_msg + submodules_skip_msg
+ if skip_msg:
+ print_stage(skip_msg.strip())
+
+ # For failed submodule update we throw an error, since not having correct
+ # submodules can make Blender throw errors.
+ # For Blender itself we don't and consider "make update" to be a command
+ # you can use while working on uncommitted code.
+ if submodules_skip_msg:
+ sys.exit(1)
diff --git a/build_files/utils/make_utils.py b/build_files/utils/make_utils.py
index 0c63a18b0ba..7b21bc607a4 100755
--- a/build_files/utils/make_utils.py
+++ b/build_files/utils/make_utils.py
@@ -3,6 +3,7 @@
# Utility functions for make update and make tests.
import re
+import shutil
import subprocess
import sys
@@ -34,7 +35,7 @@ def check_output(cmd, exit_on_error=True):
return output.strip()
-def git_branch_release_version(git_command):
+def git_branch(git_command):
# Test if we are building a specific release version.
try:
branch = subprocess.check_output([git_command, "rev-parse", "--abbrev-ref", "HEAD"])
@@ -42,7 +43,9 @@ def git_branch_release_version(git_command):
sys.stderr.write("Failed to get Blender git branch\n")
sys.exit(1)
- branch = branch.strip().decode('utf8')
+ return branch.strip().decode('utf8')
+
+def git_branch_release_version(branch):
release_version = re.search("^blender-v(.*)-release$", branch)
if release_version:
release_version = release_version.group(1)
@@ -54,3 +57,10 @@ def svn_libraries_base_url(release_version):
else:
svn_branch = "trunk"
return "https://svn.blender.org/svnroot/bf-blender/" + svn_branch + "/lib/"
+
+def command_missing(command):
+ # Support running with Python 2 for macOS
+ if sys.version_info >= (3, 0):
+ return shutil.which(command) is None
+ else:
+ return False
diff --git a/build_files/windows/check_libraries.cmd b/build_files/windows/check_libraries.cmd
index b838c7d7d19..24b30c6a9b0 100644
--- a/build_files/windows/check_libraries.cmd
+++ b/build_files/windows/check_libraries.cmd
@@ -10,7 +10,6 @@ if NOT "%verbose%" == "" (
)
if NOT EXIST %BUILD_VS_LIBDIR% (
rem libs not found, but svn is on the system
- echo
if not "%SVN%"=="" (
echo.
echo The required external libraries in %BUILD_VS_LIBDIR% are missing
@@ -55,5 +54,8 @@ if NOT EXIST %BUILD_VS_LIBDIR% (
echo Error: Required libraries not found at "%BUILD_VS_LIBDIR%"
echo This is needed for building, aborting!
echo.
+ if "%SVN%"=="" (
+ echo This is most likely caused by svn.exe not being available.
+ )
exit /b 1
) \ No newline at end of file
diff --git a/build_files/windows/configure_ninja.cmd b/build_files/windows/configure_ninja.cmd
index 995d8d56fa8..8f766e855a6 100644
--- a/build_files/windows/configure_ninja.cmd
+++ b/build_files/windows/configure_ninja.cmd
@@ -30,9 +30,15 @@ set LLVM_DIR=
:DetectionComplete
set CC=%LLVM_DIR%\bin\clang-cl
set CXX=%LLVM_DIR%\bin\clang-cl
- rem build and tested against 2017 15.7
- set CFLAGS=-m64 -fmsc-version=1914
- set CXXFLAGS=-m64 -fmsc-version=1914
+ if "%BUILD_VS_YEAR%" == "2019" (
+ rem build and tested against 2019 16.2
+ set CFLAGS=-m64 -fmsc-version=1922
+ set CXXFLAGS=-m64 -fmsc-version=1922
+ ) else (
+ rem build and tested against 2017 15.7
+ set CFLAGS=-m64 -fmsc-version=1914
+ set CXXFLAGS=-m64 -fmsc-version=1914
+ )
if "%WITH_ASAN%"=="1" (
set BUILD_CMAKE_ARGS=%BUILD_CMAKE_ARGS% -DWITH_COMPILER_ASAN=On
)
diff --git a/doc/doxygen/Doxyfile b/doc/doxygen/Doxyfile
index 366d0b1b507..c07a80bf0d5 100644
--- a/doc/doxygen/Doxyfile
+++ b/doc/doxygen/Doxyfile
@@ -1,4 +1,4 @@
-# Doxyfile 1.8.15
+# Doxyfile 1.8.16
# This file describes the settings to be used by the documentation system
# doxygen (www.doxygen.org) for a project.
@@ -38,7 +38,7 @@ PROJECT_NAME = Blender
# could be handy for archiving the generated documentation or if some version
# control system is used.
-PROJECT_NUMBER = "V2.81"
+PROJECT_NUMBER = "V2.82"
# Using the PROJECT_BRIEF tag one can provide an optional one line description
# for a project that appears at the top of each page and should give viewer a
@@ -197,6 +197,16 @@ SHORT_NAMES = NO
JAVADOC_AUTOBRIEF = NO
+# If the JAVADOC_BANNER tag is set to YES then doxygen will interpret a line
+# such as
+# /***************
+# as being the beginning of a Javadoc-style comment "banner". If set to NO, the
+# Javadoc-style will behave just like regular comments and it will not be
+# interpreted by doxygen.
+# The default value is: NO.
+
+JAVADOC_BANNER = NO
+
# If the QT_AUTOBRIEF tag is set to YES then doxygen will interpret the first
# line (until the first dot) of a Qt-style comment as the brief description. If
# set to NO, the Qt-style will behave just like regular Qt-style comments (thus
@@ -329,7 +339,7 @@ MARKDOWN_SUPPORT = YES
# to that level are automatically included in the table of contents, even if
# they do not have an id attribute.
# Note: This feature currently applies only to Markdown headings.
-# Minimum value: 0, maximum value: 99, default value: 0.
+# Minimum value: 0, maximum value: 99, default value: 5.
# This tag requires that the tag MARKDOWN_SUPPORT is set to YES.
TOC_INCLUDE_HEADINGS = 0
@@ -465,6 +475,12 @@ EXTRACT_ALL = YES
EXTRACT_PRIVATE = NO
+# If the EXTRACT_PRIV_VIRTUAL tag is set to YES, documented private virtual
+# methods of a class will be included in the documentation.
+# The default value is: NO.
+
+EXTRACT_PRIV_VIRTUAL = NO
+
# If the EXTRACT_PACKAGE tag is set to YES, all members with package or internal
# scope will be included in the documentation.
# The default value is: NO.
@@ -543,7 +559,7 @@ INTERNAL_DOCS = YES
# names in lower-case letters. If set to YES, upper-case letters are also
# allowed. This is useful if you have classes or files whose names only differ
# in case and if your file system supports case sensitive file names. Windows
-# and Mac users are advised to set this option to NO.
+# (including Cygwin) ands Mac users are advised to set this option to NO.
# The default value is: system dependent.
CASE_SENSE_NAMES = YES
@@ -1368,7 +1384,7 @@ QCH_FILE =
# The QHP_NAMESPACE tag specifies the namespace to use when generating Qt Help
# Project output. For more information please see Qt Help Project / Namespace
-# (see: http://doc.qt.io/archives/qt-4.8/qthelpproject.html#namespace).
+# (see: https://doc.qt.io/archives/qt-4.8/qthelpproject.html#namespace).
# The default value is: org.doxygen.Project.
# This tag requires that the tag GENERATE_QHP is set to YES.
@@ -1376,7 +1392,7 @@ QHP_NAMESPACE = org.doxygen.Project
# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating Qt
# Help Project output. For more information please see Qt Help Project / Virtual
-# Folders (see: http://doc.qt.io/archives/qt-4.8/qthelpproject.html#virtual-
+# Folders (see: https://doc.qt.io/archives/qt-4.8/qthelpproject.html#virtual-
# folders).
# The default value is: doc.
# This tag requires that the tag GENERATE_QHP is set to YES.
@@ -1385,7 +1401,7 @@ QHP_VIRTUAL_FOLDER = doc
# If the QHP_CUST_FILTER_NAME tag is set, it specifies the name of a custom
# filter to add. For more information please see Qt Help Project / Custom
-# Filters (see: http://doc.qt.io/archives/qt-4.8/qthelpproject.html#custom-
+# Filters (see: https://doc.qt.io/archives/qt-4.8/qthelpproject.html#custom-
# filters).
# This tag requires that the tag GENERATE_QHP is set to YES.
@@ -1393,7 +1409,7 @@ QHP_CUST_FILTER_NAME =
# The QHP_CUST_FILTER_ATTRS tag specifies the list of the attributes of the
# custom filter to add. For more information please see Qt Help Project / Custom
-# Filters (see: http://doc.qt.io/archives/qt-4.8/qthelpproject.html#custom-
+# Filters (see: https://doc.qt.io/archives/qt-4.8/qthelpproject.html#custom-
# filters).
# This tag requires that the tag GENERATE_QHP is set to YES.
@@ -1401,7 +1417,7 @@ QHP_CUST_FILTER_ATTRS =
# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this
# project's filter section matches. Qt Help Project / Filter Attributes (see:
-# http://doc.qt.io/archives/qt-4.8/qthelpproject.html#filter-attributes).
+# https://doc.qt.io/archives/qt-4.8/qthelpproject.html#filter-attributes).
# This tag requires that the tag GENERATE_QHP is set to YES.
QHP_SECT_FILTER_ATTRS =
@@ -1680,10 +1696,11 @@ LATEX_CMD_NAME = latex
MAKEINDEX_CMD_NAME = makeindex
# The LATEX_MAKEINDEX_CMD tag can be used to specify the command name to
-# generate index for LaTeX.
+# generate index for LaTeX. In case there is no backslash (\) as first character
+# it will be automatically added in the LaTeX code.
# Note: This tag is used in the generated output file (.tex).
# See also: MAKEINDEX_CMD_NAME for the part in the Makefile / make.bat.
-# The default value is: \makeindex.
+# The default value is: makeindex.
# This tag requires that the tag GENERATE_LATEX is set to YES.
LATEX_MAKEINDEX_CMD = \makeindex
@@ -2176,12 +2193,6 @@ EXTERNAL_GROUPS = YES
EXTERNAL_PAGES = YES
-# The PERL_PATH should be the absolute path and name of the perl script
-# interpreter (i.e. the result of 'which perl').
-# The default file (with absolute path) is: /usr/bin/perl.
-
-PERL_PATH = /usr/bin/perl
-
#---------------------------------------------------------------------------
# Configuration options related to the dot tool
#---------------------------------------------------------------------------
@@ -2195,15 +2206,6 @@ PERL_PATH = /usr/bin/perl
CLASS_DIAGRAMS = NO
-# You can define message sequence charts within doxygen comments using the \msc
-# command. Doxygen will then run the mscgen tool (see:
-# http://www.mcternan.me.uk/mscgen/)) to produce the chart and insert it in the
-# documentation. The MSCGEN_PATH tag allows you to specify the directory where
-# the mscgen tool resides. If left empty the tool is assumed to be found in the
-# default search path.
-
-MSCGEN_PATH =
-
# You can include diagrams made with dia in doxygen documentation. Doxygen will
# then run dia to produce the diagram and insert it in the documentation. The
# DIA_PATH tag allows you to specify the directory where the dia binary resides.
diff --git a/doc/manpage/blender.1.py b/doc/manpage/blender.1.py
index fc2200ab859..da83abe8442 100755
--- a/doc/manpage/blender.1.py
+++ b/doc/manpage/blender.1.py
@@ -62,7 +62,7 @@ if blender_date is None:
# Happens when built without WITH_BUILD_INFO e.g.
date_string = time.strftime("%B %d, %Y", time.gmtime(int(os.environ.get('SOURCE_DATE_EPOCH', time.time()))))
else:
- blender_date = blender_date.strip().partition(" ")[2] # remove 'date:' prefix
+ blender_date = blender_date.strip().partition(" ")[2] # remove 'date:' prefix
date_string = time.strftime("%B %d, %Y", time.strptime(blender_date, "%Y-%m-%d"))
outfile = open(outfilename, "w")
diff --git a/doc/python_api/examples/bpy.app.timers.1.py b/doc/python_api/examples/bpy.app.timers.1.py
index bae3b94b24a..a8ce7fde552 100644
--- a/doc/python_api/examples/bpy.app.timers.1.py
+++ b/doc/python_api/examples/bpy.app.timers.1.py
@@ -4,7 +4,9 @@ Run a Function in x Seconds
"""
import bpy
+
def in_5_seconds():
print("Hello World")
+
bpy.app.timers.register(in_5_seconds, first_interval=5)
diff --git a/doc/python_api/examples/bpy.app.timers.2.py b/doc/python_api/examples/bpy.app.timers.2.py
index c663959c209..e17d43cccd8 100644
--- a/doc/python_api/examples/bpy.app.timers.2.py
+++ b/doc/python_api/examples/bpy.app.timers.2.py
@@ -4,8 +4,10 @@ Run a Function every x Seconds
"""
import bpy
+
def every_2_seconds():
print("Hello World")
return 2.0
+
bpy.app.timers.register(every_2_seconds)
diff --git a/doc/python_api/examples/bpy.app.timers.3.py b/doc/python_api/examples/bpy.app.timers.3.py
index 79daf6a7740..a738f9ca01c 100644
--- a/doc/python_api/examples/bpy.app.timers.3.py
+++ b/doc/python_api/examples/bpy.app.timers.3.py
@@ -6,6 +6,7 @@ import bpy
counter = 0
+
def run_10_times():
global counter
counter += 1
@@ -14,4 +15,5 @@ def run_10_times():
return None
return 0.1
+
bpy.app.timers.register(run_10_times)
diff --git a/doc/python_api/examples/bpy.app.timers.4.py b/doc/python_api/examples/bpy.app.timers.4.py
index 6cdee564bb5..c14bc15166c 100644
--- a/doc/python_api/examples/bpy.app.timers.4.py
+++ b/doc/python_api/examples/bpy.app.timers.4.py
@@ -5,8 +5,10 @@ Assign parameters to functions
import bpy
import functools
+
def print_message(message):
print("Message:", message)
+
bpy.app.timers.register(functools.partial(print_message, "Hello"), first_interval=2.0)
bpy.app.timers.register(functools.partial(print_message, "World"), first_interval=3.0)
diff --git a/doc/python_api/examples/bpy.types.Depsgraph.6.py b/doc/python_api/examples/bpy.types.Depsgraph.6.py
index 56e028e8813..1f809356b13 100644
--- a/doc/python_api/examples/bpy.types.Depsgraph.6.py
+++ b/doc/python_api/examples/bpy.types.Depsgraph.6.py
@@ -29,7 +29,7 @@ class OBJECT_OT_simple_exporter(bpy.types.Operator):
# Happens for non-geometry objects.
continue
print(f"Exporting mesh with {len(mesh.vertices)} vertices "
- f"at {object_instance.matrix_world}")
+ f"at {object_instance.matrix_world}")
object_instace.to_mesh_clear()
return {'FINISHED'}
diff --git a/doc/python_api/examples/bpy.types.RenderEngine.py b/doc/python_api/examples/bpy.types.RenderEngine.py
index 86ab4b3097d..45910194244 100644
--- a/doc/python_api/examples/bpy.types.RenderEngine.py
+++ b/doc/python_api/examples/bpy.types.RenderEngine.py
@@ -101,7 +101,7 @@ class CustomRenderEngine(bpy.types.RenderEngine):
# Bind shader that converts from scene linear to display space,
bgl.glEnable(bgl.GL_BLEND)
- bgl.glBlendFunc(bgl.GL_ONE, bgl.GL_ONE_MINUS_SRC_ALPHA);
+ bgl.glBlendFunc(bgl.GL_ONE, bgl.GL_ONE_MINUS_SRC_ALPHA)
self.bind_display_space_shader(scene)
if not self.draw_data or self.draw_data.dimensions != dimensions:
@@ -135,18 +135,18 @@ class CustomDrawData:
# Bind shader that converts from scene linear to display space,
# use the scene's color management settings.
shader_program = bgl.Buffer(bgl.GL_INT, 1)
- bgl.glGetIntegerv(bgl.GL_CURRENT_PROGRAM, shader_program);
+ bgl.glGetIntegerv(bgl.GL_CURRENT_PROGRAM, shader_program)
# Generate vertex array
self.vertex_array = bgl.Buffer(bgl.GL_INT, 1)
bgl.glGenVertexArrays(1, self.vertex_array)
bgl.glBindVertexArray(self.vertex_array[0])
- texturecoord_location = bgl.glGetAttribLocation(shader_program[0], "texCoord");
- position_location = bgl.glGetAttribLocation(shader_program[0], "pos");
+ texturecoord_location = bgl.glGetAttribLocation(shader_program[0], "texCoord")
+ position_location = bgl.glGetAttribLocation(shader_program[0], "pos")
- bgl.glEnableVertexAttribArray(texturecoord_location);
- bgl.glEnableVertexAttribArray(position_location);
+ bgl.glEnableVertexAttribArray(texturecoord_location)
+ bgl.glEnableVertexAttribArray(position_location)
# Generate geometry buffers for drawing textured quad
position = [0.0, 0.0, width, 0.0, width, height, 0.0, height]
@@ -178,7 +178,7 @@ class CustomDrawData:
bgl.glActiveTexture(bgl.GL_TEXTURE0)
bgl.glBindTexture(bgl.GL_TEXTURE_2D, self.texture[0])
bgl.glBindVertexArray(self.vertex_array[0])
- bgl.glDrawArrays(bgl.GL_TRIANGLE_FAN, 0, 4);
+ bgl.glDrawArrays(bgl.GL_TRIANGLE_FAN, 0, 4)
bgl.glBindVertexArray(0)
bgl.glBindTexture(bgl.GL_TEXTURE_2D, 0)
@@ -201,6 +201,7 @@ def get_panels():
return panels
+
def register():
# Register the RenderEngine
bpy.utils.register_class(CustomRenderEngine)
@@ -208,6 +209,7 @@ def register():
for panel in get_panels():
panel.COMPAT_ENGINES.add('CUSTOM')
+
def unregister():
bpy.utils.unregister_class(CustomRenderEngine)
diff --git a/doc/python_api/sphinx_doc_update.py b/doc/python_api/sphinx_doc_update.py
index 995991c4afd..78bfd3c85b8 100755
--- a/doc/python_api/sphinx_doc_update.py
+++ b/doc/python_api/sphinx_doc_update.py
@@ -94,10 +94,10 @@ def main():
rsync_base = "rsync://%s@%s:%s" % (args.user, args.rsync_server, args.rsync_root)
- blenver = blenver_zip = ""
+ blenver = api_blenver = api_blenver_zip = ""
api_name = ""
branch = ""
- is_release = False
+ is_release = is_beta = False
# I) Update local mirror using rsync.
rsync_mirror_cmd = ("rsync", "--delete-after", "-avzz", rsync_base, args.mirror_dir)
@@ -118,11 +118,14 @@ def main():
"import sys, bpy\n"
"with open(sys.argv[-1], 'w') as f:\n"
" is_release = bpy.app.version_cycle in {'rc', 'release'}\n"
+ " is_beta = bpy.app.version_cycle in {'beta'}\n"
" branch = bpy.app.build_branch.split()[0].decode()\n"
" f.write('%d\\n' % is_release)\n"
+ " f.write('%d\\n' % is_beta)\n"
" f.write('%s\\n' % branch)\n"
+ " f.write('%d.%d%s\\n' % (bpy.app.version[0], bpy.app.version[1], bpy.app.version_char))\n"
" f.write('%d.%d%s\\n' % (bpy.app.version[0], bpy.app.version[1], bpy.app.version_char)\n"
- " if is_release else '%s\\n' % branch)\n"
+ " if (is_release or is_beta) else '%s\\n' % branch)\n"
" f.write('%d_%d%s_release' % (bpy.app.version[0], bpy.app.version[1], bpy.app.version_char)\n"
" if is_release else '%d_%d_%d' % bpy.app.version)\n"
)
@@ -130,8 +133,9 @@ def main():
"--python-expr", getver_script, "--", getver_file)
subprocess.run(get_ver_cmd)
with open(getver_file) as f:
- is_release, branch, blenver, blenver_zip = f.read().split("\n")
+ is_release, is_beta, branch, blenver, api_blenver, api_blenver_zip = f.read().split("\n")
is_release = bool(int(is_release))
+ is_beta = bool(int(is_beta))
os.remove(getver_file)
# IV) Build doc.
@@ -143,14 +147,17 @@ def main():
os.chdir(curr_dir)
# V) Cleanup existing matching dir in server mirror (if any), and copy new doc.
- api_name = blenver
+ api_name = api_blenver
api_dir = os.path.join(args.mirror_dir, api_name)
if os.path.exists(api_dir):
- shutil.rmtree(api_dir)
+ if os.path.islink(api_dir):
+ os.remove(api_dir)
+ else:
+ shutil.rmtree(api_dir)
os.rename(os.path.join(tmp_dir, "sphinx-out"), api_dir)
# VI) Create zip archive.
- zip_name = "blender_python_reference_%s" % blenver_zip # We can't use 'release' postfix here...
+ zip_name = "blender_python_reference_%s" % api_blenver_zip # We can't use 'release' postfix here...
zip_path = os.path.join(args.mirror_dir, zip_name)
with zipfile.ZipFile(zip_path, 'w') as zf:
for dirname, _, filenames in os.walk(api_dir):
@@ -163,12 +170,27 @@ def main():
# VII) Create symlinks and html redirects.
if is_release:
symlink = os.path.join(args.mirror_dir, "current")
- os.remove(symlink)
+ if os.path.exists(symlink):
+ if os.path.islink(symlink):
+ os.remove(symlink)
+ else:
+ shutil.rmtree(symlink)
os.symlink("./%s" % api_name, symlink)
with open(os.path.join(args.mirror_dir, "250PythonDoc/index.html"), 'w') as f:
f.write("<html><head><title>Redirecting...</title><meta http-equiv=\"REFRESH\""
"content=\"0;url=../%s/\"></head><body>Redirecting...</body></html>" % api_name)
+ elif is_beta:
+ # We do not have any particular symlink for that stage.
+ pass
elif branch == "master":
+ # Also create a symlink from version number to actual master api doc.
+ symlink = os.path.join(args.mirror_dir, blenver)
+ if os.path.exists(symlink):
+ if os.path.islink(symlink):
+ os.remove(symlink)
+ else:
+ shutil.rmtree(symlink)
+ os.symlink("./%s" % api_name, symlink)
with open(os.path.join(args.mirror_dir, "blender_python_api/index.html"), 'w') as f:
f.write("<html><head><title>Redirecting...</title><meta http-equiv=\"REFRESH\""
"content=\"0;url=../%s/\"></head><body>Redirecting...</body></html>" % api_name)
diff --git a/extern/CMakeLists.txt b/extern/CMakeLists.txt
index 0d9010b15ea..1952e418cfb 100644
--- a/extern/CMakeLists.txt
+++ b/extern/CMakeLists.txt
@@ -46,9 +46,9 @@ if(WITH_DRACO)
endif()
# now only available in a branch
-#if(WITH_MOD_CLOTH_ELTOPO)
-# add_subdirectory(eltopo)
-#endif()
+# if(WITH_MOD_CLOTH_ELTOPO)
+# add_subdirectory(eltopo)
+# endif()
if(WITH_BINRELOC)
add_subdirectory(binreloc)
diff --git a/extern/audaspace/src/devices/SoftwareDevice.cpp b/extern/audaspace/src/devices/SoftwareDevice.cpp
index c944b9ed12d..8c16c75e8e3 100644
--- a/extern/audaspace/src/devices/SoftwareDevice.cpp
+++ b/extern/audaspace/src/devices/SoftwareDevice.cpp
@@ -78,7 +78,7 @@ bool SoftwareDevice::SoftwareHandle::pause(bool keep)
}
SoftwareDevice::SoftwareHandle::SoftwareHandle(SoftwareDevice* device, std::shared_ptr<IReader> reader, std::shared_ptr<PitchReader> pitch, std::shared_ptr<ResampleReader> resampler, std::shared_ptr<ChannelMapperReader> mapper, bool keep) :
- m_reader(reader), m_pitch(pitch), m_resampler(resampler), m_mapper(mapper), m_keep(keep), m_user_pitch(1.0f), m_user_volume(1.0f), m_user_pan(0.0f), m_volume(1.0f), m_old_volume(0), m_loopcount(0),
+ m_reader(reader), m_pitch(pitch), m_resampler(resampler), m_mapper(mapper), m_keep(keep), m_user_pitch(1.0f), m_user_volume(1.0f), m_user_pan(0.0f), m_volume(0.0f), m_old_volume(0.0f), m_loopcount(0),
m_relative(true), m_volume_max(1.0f), m_volume_min(0), m_distance_max(std::numeric_limits<float>::max()),
m_distance_reference(1.0f), m_attenuation(1.0f), m_cone_angle_outer(M_PI), m_cone_angle_inner(M_PI), m_cone_volume_outer(0),
m_flags(RENDER_CONE), m_stop(nullptr), m_stop_data(nullptr), m_status(STATUS_PLAYING), m_device(device)
diff --git a/extern/cuew/src/cuew.c b/extern/cuew/src/cuew.c
index 1f386c4e5d3..a0146741494 100644
--- a/extern/cuew/src/cuew.c
+++ b/extern/cuew/src/cuew.c
@@ -859,6 +859,23 @@ int cuewNvrtcVersion(void) {
return 0;
}
+static size_t safe_strnlen(const char *s, size_t maxlen) {
+ size_t length;
+ for (length = 0; length < maxlen; s++, length++) {
+ if (*s == '\0') {
+ break;
+ }
+ }
+ return length;
+}
+
+static char *safe_strncpy(char *dest, const char *src, size_t n) {
+ const size_t src_len = safe_strnlen(src, n - 1);
+ memcpy(dest, src, src_len);
+ dest[src_len] = '\0';
+ return dest;
+}
+
int cuewCompilerVersion(void) {
const char *path = cuewCompilerPath();
const char *marker = "Cuda compilation tools, release ";
@@ -874,7 +891,7 @@ int cuewCompilerVersion(void) {
}
/* get --version output */
- strncpy(command, path, sizeof(command));
+ safe_strncpy(command, path, sizeof(command));
strncat(command, " --version", sizeof(command) - strlen(path));
pipe = popen(command, "r");
if (!pipe) {
diff --git a/extern/draco/src/draco-compressor.cpp b/extern/draco/src/draco-compressor.cpp
index 9e63b8d35cb..3262a2c4d4d 100644
--- a/extern/draco/src/draco-compressor.cpp
+++ b/extern/draco/src/draco-compressor.cpp
@@ -38,6 +38,7 @@
#include "draco/point_cloud/point_cloud.h"
#include "draco/core/vector_d.h"
#include "draco/io/mesh_io.h"
+#include "draco/compression/encode.h"
#if defined(_MSC_VER)
#define DLL_EXPORT(retType) extern "C" __declspec(dllexport) retType __cdecl
@@ -158,16 +159,14 @@ DLL_EXPORT(bool) compress(
printf("%s: Normal quantization bits: %d\n", logTag, compressor->quantizationBitsNormal);
printf("%s: Position quantization bits: %d\n", logTag, compressor->quantizationBitsTexCoord);
- draco::ExpertEncoder encoder(compressor->mesh);
+ draco::Encoder encoder;
encoder.SetSpeedOptions(10 - compressor->compressionLevel, 10 - compressor->compressionLevel);
encoder.SetAttributeQuantization(draco::GeometryAttribute::POSITION, compressor->quantizationBitsPosition);
encoder.SetAttributeQuantization(draco::GeometryAttribute::NORMAL, compressor->quantizationBitsNormal);
encoder.SetAttributeQuantization(draco::GeometryAttribute::TEX_COORD, compressor->quantizationBitsTexCoord);
- encoder.SetEncodingMethod(draco::MESH_EDGEBREAKER_ENCODING);
-
- draco::Status result = encoder.EncodeToBuffer(&compressor->encoderBuffer);
+ draco::Status result = encoder.EncodeMeshToBuffer(compressor->mesh, &compressor->encoderBuffer);
if(!result.ok()) {
printf("%s: Could not compress mesh: %s\n", logTag, result.error_msg());
diff --git a/extern/quadriflow/CMakeLists.txt b/extern/quadriflow/CMakeLists.txt
index 3891079073e..0f10b8fe707 100644
--- a/extern/quadriflow/CMakeLists.txt
+++ b/extern/quadriflow/CMakeLists.txt
@@ -23,12 +23,15 @@ if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_C_COMPILER_ID MATCHES "Clang")
add_c_flag(
"-Wno-unused-result"
)
+ remove_cc_flag(
+ "-Wmissing-declarations"
+ )
endif()
set(CMAKE_CXX_STANDARD 14)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
-if (WIN32)
+if(WIN32)
add_definitions(-D_USE_MATH_DEFINES)
endif()
@@ -43,7 +46,7 @@ set(LEMON_GEN_DIR ${CMAKE_BINARY_DIR}/extern/quadriflow/${LEMON_3RD_PATH})
configure_file(
${LEMON_SRC}/config.h.in
${LEMON_GEN_DIR}/lemon/config.h
- )
+)
set(LEMON_SOURCES
${LEMON_SRC}/arg_parser.cc
${LEMON_SRC}/base.cc
@@ -52,7 +55,7 @@ set(LEMON_SOURCES
${LEMON_SRC}/lp_skeleton.cc
${LEMON_SRC}/random.cc
${LEMON_SRC}/bits/windows.cc
- )
+)
set(INC
src
@@ -68,37 +71,37 @@ set(INC_SYS
)
set(SRC
- src/adjacent-matrix.cpp
- src/adjacent-matrix.hpp
- src/compare-key.hpp
- src/config.hpp
- src/dedge.cpp
- src/dedge.hpp
- src/disajoint-tree.hpp
- src/dset.hpp
- src/field-math.hpp
- src/flow.hpp
- src/hierarchy.cpp
- src/hierarchy.hpp
- src/loader.cpp
- src/loader.hpp
- src/localsat.cpp
- src/localsat.hpp
- src/merge-vertex.cpp
- src/merge-vertex.hpp
- src/optimizer.cpp
- src/optimizer.hpp
- src/parametrizer.cpp
- src/parametrizer-flip.cpp
- src/parametrizer-int.cpp
- src/parametrizer-mesh.cpp
- src/parametrizer-scale.cpp
- src/parametrizer-sing.cpp
- src/parametrizer.hpp
- src/serialize.hpp
- src/subdivide.cpp
- src/subdivide.hpp
- ${LEMON_SOURCES}
+ src/adjacent-matrix.cpp
+ src/adjacent-matrix.hpp
+ src/compare-key.hpp
+ src/config.hpp
+ src/dedge.cpp
+ src/dedge.hpp
+ src/disajoint-tree.hpp
+ src/dset.hpp
+ src/field-math.hpp
+ src/flow.hpp
+ src/hierarchy.cpp
+ src/hierarchy.hpp
+ src/loader.cpp
+ src/loader.hpp
+ src/localsat.cpp
+ src/localsat.hpp
+ src/merge-vertex.cpp
+ src/merge-vertex.hpp
+ src/optimizer.cpp
+ src/optimizer.hpp
+ src/parametrizer.cpp
+ src/parametrizer-flip.cpp
+ src/parametrizer-int.cpp
+ src/parametrizer-mesh.cpp
+ src/parametrizer-scale.cpp
+ src/parametrizer-sing.cpp
+ src/parametrizer.hpp
+ src/serialize.hpp
+ src/subdivide.cpp
+ src/subdivide.hpp
+ ${LEMON_SOURCES}
)
set(LIB
diff --git a/extern/quadriflow/patches/blender.patch b/extern/quadriflow/patches/blender.patch
index d131abc52e2..55fdd123e3b 100644
--- a/extern/quadriflow/patches/blender.patch
+++ b/extern/quadriflow/patches/blender.patch
@@ -1,3 +1,19 @@
+diff --git a/extern/quadriflow/src/config.hpp b/extern/quadriflow/src/config.hpp
+index 842b885..bf597ad 100644
+--- a/extern/quadriflow/src/config.hpp
++++ b/extern/quadriflow/src/config.hpp
+@@ -1,6 +1,11 @@
+ #ifndef CONFIG_H_
+ #define CONFIG_H_
+
++/* Workaround a bug in boost 1.68, until we upgrade to a newer version. */
++#if defined(__clang__) && defined(WIN32)
++ #include <boost/type_traits/is_assignable.hpp>
++ using namespace boost;
++#endif
+ // Move settings to cmake to make CMake happy :)
+
+ // #define WITH_SCALE
diff --git a/extern/quadriflow/3rd/lemon-1.3.1/lemon/arg_parser.cc b/extern/quadriflow/3rd/lemon-1.3.1/lemon/arg_parser.cc
index 35a73d9..0eeba8a 100644
--- a/extern/quadriflow/3rd/lemon-1.3.1/lemon/arg_parser.cc
diff --git a/extern/quadriflow/src/config.hpp b/extern/quadriflow/src/config.hpp
index 842b885a209..bf597ad0f39 100644
--- a/extern/quadriflow/src/config.hpp
+++ b/extern/quadriflow/src/config.hpp
@@ -1,6 +1,11 @@
#ifndef CONFIG_H_
#define CONFIG_H_
+/* Workaround a bug in boost 1.68, until we upgrade to a newer version. */
+#if defined(__clang__) && defined(WIN32)
+ #include <boost/type_traits/is_assignable.hpp>
+ using namespace boost;
+#endif
// Move settings to cmake to make CMake happy :)
// #define WITH_SCALE
diff --git a/intern/CMakeLists.txt b/intern/CMakeLists.txt
index 094165e4908..85dea5b6d52 100644
--- a/intern/CMakeLists.txt
+++ b/intern/CMakeLists.txt
@@ -76,4 +76,3 @@ endif()
if(WITH_QUADRIFLOW)
add_subdirectory(quadriflow)
endif()
-
diff --git a/intern/clog/clog.c b/intern/clog/clog.c
index da94acd97b1..9074e0f85e1 100644
--- a/intern/clog/clog.c
+++ b/intern/clog/clog.c
@@ -174,6 +174,7 @@ static void clg_str_append(CLogStringBuf *cstr, const char *str)
clg_str_append_with_len(cstr, str, strlen(str));
}
+ATTR_PRINTF_FORMAT(2, 0)
static void clg_str_vappendf(CLogStringBuf *cstr, const char *fmt, va_list args)
{
/* Use limit because windows may use '-1' for a formatting error. */
diff --git a/intern/cycles/CMakeLists.txt b/intern/cycles/CMakeLists.txt
index 25e8e124885..a32911568c5 100644
--- a/intern/cycles/CMakeLists.txt
+++ b/intern/cycles/CMakeLists.txt
@@ -209,9 +209,9 @@ endif()
if(WITH_CYCLES_OSL)
add_definitions(-DWITH_OSL)
- #osl 1.9.x
+ # osl 1.9.x
add_definitions(-DOSL_STATIC_BUILD)
- #pre 1.9
+ # pre 1.9
add_definitions(-DOSL_STATIC_LIBRARY)
include_directories(
SYSTEM
diff --git a/intern/cycles/blender/CMakeLists.txt b/intern/cycles/blender/CMakeLists.txt
index 66d955768a3..09379bf2017 100644
--- a/intern/cycles/blender/CMakeLists.txt
+++ b/intern/cycles/blender/CMakeLists.txt
@@ -32,6 +32,7 @@ set(SRC
blender_viewport.cpp
CCL_api.h
+ blender_device.h
blender_object_cull.h
blender_sync.h
blender_session.h
diff --git a/intern/cycles/blender/addon/engine.py b/intern/cycles/blender/addon/engine.py
index 61ac24f7f07..013d86a560b 100644
--- a/intern/cycles/blender/addon/engine.py
+++ b/intern/cycles/blender/addon/engine.py
@@ -262,13 +262,13 @@ def register_passes(engine, scene, srl):
if crl.use_pass_crypto_object:
for i in range(0, crl.pass_crypto_depth, 2):
- engine.register_pass(scene, srl, "CryptoObject" + '{:02d}'.format(i), 4, "RGBA", 'COLOR')
+ engine.register_pass(scene, srl, "CryptoObject" + '{:02d}'.format(i//2), 4, "RGBA", 'COLOR')
if crl.use_pass_crypto_material:
for i in range(0, crl.pass_crypto_depth, 2):
- engine.register_pass(scene, srl, "CryptoMaterial" + '{:02d}'.format(i), 4, "RGBA", 'COLOR')
+ engine.register_pass(scene, srl, "CryptoMaterial" + '{:02d}'.format(i//2), 4, "RGBA", 'COLOR')
if srl.cycles.use_pass_crypto_asset:
for i in range(0, srl.cycles.pass_crypto_depth, 2):
- engine.register_pass(scene, srl, "CryptoAsset" + '{:02d}'.format(i), 4, "RGBA", 'COLOR')
+ engine.register_pass(scene, srl, "CryptoAsset" + '{:02d}'.format(i//2), 4, "RGBA", 'COLOR')
if crl.use_denoising or crl.denoising_store_passes:
engine.register_pass(scene, srl, "Noisy Image", 4, "RGBA", 'COLOR')
diff --git a/intern/cycles/blender/addon/properties.py b/intern/cycles/blender/addon/properties.py
index 840ab557132..26e1a6a223a 100644
--- a/intern/cycles/blender/addon/properties.py
+++ b/intern/cycles/blender/addon/properties.py
@@ -1467,9 +1467,11 @@ class CyclesPreferences(bpy.types.AddonPreferences):
devices.extend(cpu_devices)
return devices
- # For backwards compatibility, only has CUDA and OpenCL.
+ # For backwards compatibility, only returns CUDA and OpenCL but still
+ # refreshes all devices.
def get_devices(self, compute_device_type=''):
cuda_devices = self.get_devices_for_type('CUDA')
+ self.get_devices_for_type('OPTIX')
opencl_devices = self.get_devices_for_type('OPENCL')
return cuda_devices, opencl_devices
diff --git a/intern/cycles/blender/addon/ui.py b/intern/cycles/blender/addon/ui.py
index 44ed28e9e02..4ff154d4bcd 100644
--- a/intern/cycles/blender/addon/ui.py
+++ b/intern/cycles/blender/addon/ui.py
@@ -1772,7 +1772,7 @@ class CYCLES_RENDER_PT_bake(CyclesButtonsPanel, Panel):
@classmethod
def poll(cls, context):
- return not use_optix(context)
+ return CyclesButtonsPanel.poll(context) and not use_optix(context)
def draw(self, context):
layout = self.layout
@@ -2166,7 +2166,7 @@ def draw_pause(self, context):
if view.shading.type == 'RENDERED':
cscene = scene.cycles
- layout.prop(cscene, "preview_pause", icon='PAUSE', text="")
+ layout.prop(cscene, "preview_pause", icon='PLAY' if cscene.preview_pause else 'PAUSE', text="")
def get_panels():
diff --git a/intern/cycles/blender/blender_object.cpp b/intern/cycles/blender/blender_object.cpp
index 59509d20fb2..6981412bb88 100644
--- a/intern/cycles/blender/blender_object.cpp
+++ b/intern/cycles/blender/blender_object.cpp
@@ -269,6 +269,9 @@ void BlenderSync::sync_background_light(BL::SpaceView3D &b_v3d, bool use_portal)
light->use_mis = sample_as_light;
light->max_bounces = get_int(cworld, "max_bounces");
+ /* force enable light again when world is resynced */
+ light->is_enabled = true;
+
int samples = get_int(cworld, "samples");
if (get_boolean(cscene, "use_square_samples"))
light->samples = samples * samples;
@@ -541,7 +544,6 @@ void BlenderSync::sync_objects(BL::Depsgraph &b_depsgraph,
const bool show_lights = BlenderViewportParameters(b_v3d).use_scene_lights;
BL::ViewLayer b_view_layer = b_depsgraph.view_layer_eval();
- const bool has_local_view = b_v3d && b_v3d.local_view();
BL::Depsgraph::object_instances_iterator b_instance_iter;
for (b_depsgraph.object_instances.begin(b_instance_iter);
@@ -555,10 +557,10 @@ void BlenderSync::sync_objects(BL::Depsgraph &b_depsgraph,
/* test if object needs to be hidden */
const bool show_self = b_instance.show_self();
- const bool show_local_view = !has_local_view || b_ob.local_view_get(b_v3d);
const bool show_particles = b_instance.show_particles();
+ const bool show_in_viewport = !b_v3d || b_ob.visible_in_viewport_get(b_v3d);
- if (show_local_view && (show_self || show_particles)) {
+ if (show_in_viewport && (show_self || show_particles)) {
/* object itself */
sync_object(b_depsgraph,
b_view_layer,
diff --git a/intern/cycles/blender/blender_shader.cpp b/intern/cycles/blender/blender_shader.cpp
index 362155f22ac..22dbc3fba79 100644
--- a/intern/cycles/blender/blender_shader.cpp
+++ b/intern/cycles/blender/blender_shader.cpp
@@ -1340,6 +1340,14 @@ void BlenderSync::sync_world(BL::Depsgraph &b_depsgraph, BL::SpaceView3D &b_v3d,
graph->connect(background->output("Background"), out->input("Surface"));
}
else if (!new_viewport_parameters.use_scene_world) {
+ float3 world_color;
+ if (b_world) {
+ world_color = get_float3(b_world.color());
+ }
+ else {
+ world_color = make_float3(0.0f, 0.0f, 0.0f);
+ }
+
BackgroundNode *background = new BackgroundNode();
graph->add(background);
@@ -1347,7 +1355,7 @@ void BlenderSync::sync_world(BL::Depsgraph &b_depsgraph, BL::SpaceView3D &b_v3d,
graph->add(light_path);
MixNode *mix_scene_with_background = new MixNode();
- mix_scene_with_background->color2 = get_float3(b_world.color());
+ mix_scene_with_background->color2 = world_color;
graph->add(mix_scene_with_background);
EnvironmentTextureNode *texture_environment = new EnvironmentTextureNode();
@@ -1369,7 +1377,7 @@ void BlenderSync::sync_world(BL::Depsgraph &b_depsgraph, BL::SpaceView3D &b_v3d,
MixNode *mix_background_with_environment = new MixNode();
mix_background_with_environment->fac = new_viewport_parameters.studiolight_background_alpha;
- mix_background_with_environment->color1 = get_float3(b_world.color());
+ mix_background_with_environment->color1 = world_color;
graph->add(mix_background_with_environment);
ShaderNode *out = graph->output();
diff --git a/intern/cycles/device/device.cpp b/intern/cycles/device/device.cpp
index fe8a814cd14..76670351734 100644
--- a/intern/cycles/device/device.cpp
+++ b/intern/cycles/device/device.cpp
@@ -643,6 +643,7 @@ void Device::free_memory()
{
devices_initialized_mask = 0;
cuda_devices.free_memory();
+ optix_devices.free_memory();
opencl_devices.free_memory();
cpu_devices.free_memory();
network_devices.free_memory();
diff --git a/intern/cycles/device/device_cuda.cpp b/intern/cycles/device/device_cuda.cpp
index 00dd37f089c..dfd80d678fd 100644
--- a/intern/cycles/device/device_cuda.cpp
+++ b/intern/cycles/device/device_cuda.cpp
@@ -142,14 +142,15 @@ class CUDADevice : public Device {
CUDASplitKernel *split_kernel;
struct CUDAMem {
- CUDAMem() : texobject(0), array(0), map_host_pointer(0), free_map_host(false)
+ CUDAMem() : texobject(0), array(0), use_mapped_host(false)
{
}
CUtexObject texobject;
CUarray array;
- void *map_host_pointer;
- bool free_map_host;
+
+ /* If true, a mapped host memory in shared_pointer is being used. */
+ bool use_mapped_host;
};
typedef map<device_memory *, CUDAMem> CUDAMemMap;
CUDAMemMap cuda_mem_map;
@@ -454,6 +455,12 @@ class CUDADevice : public Device {
VLOG(1) << "Using precompiled kernel.";
return cubin;
}
+ const string ptx = path_get(string_printf("lib/%s_compute_%d%d.ptx", name, major, minor));
+ VLOG(1) << "Testing for pre-compiled kernel " << ptx << ".";
+ if (path_exists(ptx)) {
+ VLOG(1) << "Using precompiled kernel.";
+ return ptx;
+ }
}
const string common_cflags = compile_kernel_get_common_cflags(
@@ -726,7 +733,7 @@ class CUDADevice : public Device {
}
/* Already in host memory. */
- if (cmem->map_host_pointer) {
+ if (cmem->use_mapped_host) {
continue;
}
@@ -801,7 +808,7 @@ class CUDADevice : public Device {
cuMemGetInfo(&free, &total);
/* Move textures to host memory if needed. */
- if (!move_texture_to_host && !is_image && (size + headroom) >= free) {
+ if (!move_texture_to_host && !is_image && (size + headroom) >= free && can_map_host) {
move_textures_to_host(size + headroom - free, is_texture);
cuMemGetInfo(&free, &total);
}
@@ -815,49 +822,36 @@ class CUDADevice : public Device {
}
/* Fall back to mapped host memory if needed and possible. */
- void *map_host_pointer = 0;
- bool free_map_host = false;
- if (mem_alloc_result != CUDA_SUCCESS && can_map_host &&
- map_host_used + size < map_host_limit) {
+ void *shared_pointer = 0;
+
+ if (mem_alloc_result != CUDA_SUCCESS && can_map_host) {
if (mem.shared_pointer) {
/* Another device already allocated host memory. */
mem_alloc_result = CUDA_SUCCESS;
- map_host_pointer = mem.shared_pointer;
+ shared_pointer = mem.shared_pointer;
}
- else {
+ else if (map_host_used + size < map_host_limit) {
/* Allocate host memory ourselves. */
mem_alloc_result = cuMemHostAlloc(
- &map_host_pointer, size, CU_MEMHOSTALLOC_DEVICEMAP | CU_MEMHOSTALLOC_WRITECOMBINED);
- mem.shared_pointer = map_host_pointer;
- free_map_host = true;
+ &shared_pointer, size, CU_MEMHOSTALLOC_DEVICEMAP | CU_MEMHOSTALLOC_WRITECOMBINED);
+
+ assert((mem_alloc_result == CUDA_SUCCESS && shared_pointer != 0) ||
+ (mem_alloc_result != CUDA_SUCCESS && shared_pointer == 0));
}
if (mem_alloc_result == CUDA_SUCCESS) {
- cuda_assert(cuMemHostGetDevicePointer_v2(&device_pointer, mem.shared_pointer, 0));
+ cuda_assert(cuMemHostGetDevicePointer_v2(&device_pointer, shared_pointer, 0));
map_host_used += size;
status = " in host memory";
-
- /* Replace host pointer with our host allocation. Only works if
- * CUDA memory layout is the same and has no pitch padding. Also
- * does not work if we move textures to host during a render,
- * since other devices might be using the memory. */
- if (!move_texture_to_host && pitch_padding == 0 && mem.host_pointer &&
- mem.host_pointer != mem.shared_pointer) {
- memcpy(mem.shared_pointer, mem.host_pointer, size);
- mem.host_free();
- mem.host_pointer = mem.shared_pointer;
- }
}
else {
status = " failed, out of host memory";
}
}
- else if (mem_alloc_result != CUDA_SUCCESS) {
- status = " failed, out of device and host memory";
- }
if (mem_alloc_result != CUDA_SUCCESS) {
+ status = " failed, out of device and host memory";
cuda_assert(mem_alloc_result);
}
@@ -877,8 +871,34 @@ class CUDADevice : public Device {
/* Insert into map of allocations. */
CUDAMem *cmem = &cuda_mem_map[&mem];
- cmem->map_host_pointer = map_host_pointer;
- cmem->free_map_host = free_map_host;
+ if (shared_pointer != 0) {
+ /* Replace host pointer with our host allocation. Only works if
+ * CUDA memory layout is the same and has no pitch padding. Also
+ * does not work if we move textures to host during a render,
+ * since other devices might be using the memory. */
+
+ if (!move_texture_to_host && pitch_padding == 0 && mem.host_pointer &&
+ mem.host_pointer != shared_pointer) {
+ memcpy(shared_pointer, mem.host_pointer, size);
+
+ /* A Call to device_memory::host_free() should be preceded by
+ * a call to device_memory::device_free() for host memory
+ * allocated by a device to be handled properly. Two exceptions
+ * are here and a call in OptiXDevice::generic_alloc(), where
+ * the current host memory can be assumed to be allocated by
+ * device_memory::host_alloc(), not by a device */
+
+ mem.host_free();
+ mem.host_pointer = shared_pointer;
+ }
+ mem.shared_pointer = shared_pointer;
+ mem.shared_counter++;
+ cmem->use_mapped_host = true;
+ }
+ else {
+ cmem->use_mapped_host = false;
+ }
+
return cmem;
}
@@ -887,7 +907,12 @@ class CUDADevice : public Device {
if (mem.host_pointer && mem.device_pointer) {
CUDAContextScope scope(this);
- if (mem.host_pointer != mem.shared_pointer) {
+ /* If use_mapped_host of mem is false, the current device only
+ * uses device memory allocated by cuMemAlloc regardless of
+ * mem.host_pointer and mem.shared_pointer, and should copy
+ * data from mem.host_pointer. */
+
+ if (cuda_mem_map[&mem].use_mapped_host == false || mem.host_pointer != mem.shared_pointer) {
cuda_assert(cuMemcpyHtoD(
cuda_device_ptr(mem.device_pointer), mem.host_pointer, mem.memory_size()));
}
@@ -900,16 +925,21 @@ class CUDADevice : public Device {
CUDAContextScope scope(this);
const CUDAMem &cmem = cuda_mem_map[&mem];
- if (cmem.map_host_pointer) {
- /* Free host memory. */
- if (cmem.free_map_host) {
- cuMemFreeHost(cmem.map_host_pointer);
- if (mem.host_pointer == mem.shared_pointer) {
- mem.host_pointer = 0;
+ /* If cmem.use_mapped_host is true, reference counting is used
+ * to safely free a mapped host memory. */
+
+ if (cmem.use_mapped_host) {
+ assert(mem.shared_pointer);
+ if (mem.shared_pointer) {
+ assert(mem.shared_counter > 0);
+ if (--mem.shared_counter == 0) {
+ if (mem.host_pointer == mem.shared_pointer) {
+ mem.host_pointer = 0;
+ }
+ cuMemFreeHost(mem.shared_pointer);
+ mem.shared_pointer = 0;
}
- mem.shared_pointer = 0;
}
-
map_host_used -= mem.device_size;
}
else {
@@ -989,7 +1019,12 @@ class CUDADevice : public Device {
memset(mem.host_pointer, 0, mem.memory_size());
}
- if (mem.device_pointer && (!mem.host_pointer || mem.host_pointer != mem.shared_pointer)) {
+ /* If use_mapped_host of mem is false, mem.device_pointer currently
+ * refers to device memory regardless of mem.host_pointer and
+ * mem.shared_pointer. */
+
+ if (mem.device_pointer &&
+ (cuda_mem_map[&mem].use_mapped_host == false || mem.host_pointer != mem.shared_pointer)) {
CUDAContextScope scope(this);
cuda_assert(cuMemsetD8(cuda_device_ptr(mem.device_pointer), 0, mem.memory_size()));
}
diff --git a/intern/cycles/device/device_memory.cpp b/intern/cycles/device/device_memory.cpp
index c8a71bf4b3b..c106b4505db 100644
--- a/intern/cycles/device/device_memory.cpp
+++ b/intern/cycles/device/device_memory.cpp
@@ -36,12 +36,15 @@ device_memory::device_memory(Device *device, const char *name, MemoryType type)
device(device),
device_pointer(0),
host_pointer(0),
- shared_pointer(0)
+ shared_pointer(0),
+ shared_counter(0)
{
}
device_memory::~device_memory()
{
+ assert(shared_pointer == 0);
+ assert(shared_counter == 0);
}
device_memory::device_memory(device_memory &&other)
@@ -59,12 +62,14 @@ device_memory::device_memory(device_memory &&other)
device(other.device),
device_pointer(other.device_pointer),
host_pointer(other.host_pointer),
- shared_pointer(other.shared_pointer)
+ shared_pointer(other.shared_pointer),
+ shared_counter(other.shared_counter)
{
other.device_size = 0;
other.device_pointer = 0;
other.host_pointer = 0;
other.shared_pointer = 0;
+ other.shared_counter = 0;
}
void *device_memory::host_alloc(size_t size)
diff --git a/intern/cycles/device/device_memory.h b/intern/cycles/device/device_memory.h
index 5b43ce8b0bc..f8324e2a214 100644
--- a/intern/cycles/device/device_memory.h
+++ b/intern/cycles/device/device_memory.h
@@ -216,6 +216,8 @@ class device_memory {
device_ptr device_pointer;
void *host_pointer;
void *shared_pointer;
+ /* reference counter for shared_pointer */
+ int shared_counter;
virtual ~device_memory();
@@ -224,6 +226,7 @@ class device_memory {
protected:
friend class CUDADevice;
+ friend class OptiXDevice;
/* Only create through subclasses. */
device_memory(Device *device, const char *name, MemoryType type);
diff --git a/intern/cycles/device/device_optix.cpp b/intern/cycles/device/device_optix.cpp
index 84d7ecf6934..831cd8c3148 100644
--- a/intern/cycles/device/device_optix.cpp
+++ b/intern/cycles/device/device_optix.cpp
@@ -138,7 +138,7 @@ class OptiXDevice : public Device {
bool free_map_host = false;
CUarray array = NULL;
CUtexObject texobject = 0;
- void *map_host_pointer = nullptr;
+ bool use_mapped_host = false;
};
// Helper class to manage current CUDA context
@@ -169,6 +169,7 @@ class OptiXDevice : public Device {
OptixModule optix_module = NULL;
OptixPipeline pipelines[NUM_PIPELINES] = {};
+ bool motion_blur = false;
bool need_texture_info = false;
device_vector<SbtRecord> sbt_data;
device_vector<TextureInfo> texture_info;
@@ -176,7 +177,14 @@ class OptiXDevice : public Device {
vector<device_only_memory<uint8_t>> blas;
OptixTraversableHandle tlas_handle = 0;
+ // TODO(pmours): This is copied from device_cuda.cpp, so move to common code eventually
+ int can_map_host = 0;
+ size_t map_host_used = 0;
+ size_t map_host_limit = 0;
+ size_t device_working_headroom = 32 * 1024 * 1024LL; // 32MB
+ size_t device_texture_headroom = 128 * 1024 * 1024LL; // 128MB
map<device_memory *, CUDAMem> cuda_mem_map;
+ bool move_texture_to_host = false;
public:
OptiXDevice(DeviceInfo &info_, Stats &stats_, Profiler &profiler_, bool background_)
@@ -198,6 +206,25 @@ class OptiXDevice : public Device {
// Make that CUDA context current
const CUDAContextScope scope(cuda_context);
+ // Limit amount of host mapped memory (see init_host_memory in device_cuda.cpp)
+ size_t default_limit = 4 * 1024 * 1024 * 1024LL;
+ size_t system_ram = system_physical_ram();
+ if (system_ram > 0) {
+ if (system_ram / 2 > default_limit) {
+ map_host_limit = system_ram - default_limit;
+ }
+ else {
+ map_host_limit = system_ram / 2;
+ }
+ }
+ else {
+ VLOG(1) << "Mapped host memory disabled, failed to get system RAM";
+ }
+
+ // Check device support for pinned host memory
+ check_result_cuda(
+ cuDeviceGetAttribute(&can_map_host, CU_DEVICE_ATTRIBUTE_CAN_MAP_HOST_MEMORY, cuda_device));
+
// Create OptiX context for this device
OptixDeviceContextOptions options = {};
# ifdef WITH_CYCLES_LOGGING
@@ -337,7 +364,12 @@ class OptiXDevice : public Device {
# endif
pipeline_options.pipelineLaunchParamsVariableName = "__params"; // See kernel_globals.h
- if (requested_features.use_object_motion) {
+ // Keep track of whether motion blur is enabled, so to enable/disable motion in BVH builds
+ // This is necessary since objects may be reported to have motion if the Vector pass is
+ // active, but may still need to be rendered without motion blur if that isn't active as well
+ motion_blur = requested_features.use_object_motion;
+
+ if (motion_blur) {
pipeline_options.usesMotionBlur = true;
// Motion blur can insert motion transforms into the traversal graph
// It is no longer a two-level graph then, so need to set flags to allow any configuration
@@ -820,6 +852,7 @@ class OptiXDevice : public Device {
device_only_memory<char> temp_mem(this, "temp_build_mem");
temp_mem.alloc_to_device(sizes.tempSizeInBytes);
+ out_data.type = MEM_DEVICE_ONLY;
out_data.data_type = TYPE_UNKNOWN;
out_data.data_elements = 1;
out_data.data_size = sizes.outputSizeInBytes;
@@ -872,7 +905,7 @@ class OptiXDevice : public Device {
size_t num_motion_steps = 1;
Attribute *motion_keys = mesh->curve_attributes.find(ATTR_STD_MOTION_VERTEX_POSITION);
- if (mesh->use_motion_blur && motion_keys) {
+ if (motion_blur && mesh->use_motion_blur && motion_keys) {
num_motion_steps = mesh->motion_steps;
}
@@ -881,20 +914,23 @@ class OptiXDevice : public Device {
// Get AABBs for each motion step
for (size_t step = 0; step < num_motion_steps; ++step) {
+ // The center step for motion vertices is not stored in the attribute
const float3 *keys = mesh->curve_keys.data();
-
size_t center_step = (num_motion_steps - 1) / 2;
- // The center step for motion vertices is not stored in the attribute
if (step != center_step) {
- keys = motion_keys->data_float3() +
- (step > center_step ? step - 1 : step) * num_segments;
+ size_t attr_offset = (step > center_step) ? step - 1 : step;
+ // Technically this is a float4 array, but sizeof(float3) is the same as sizeof(float4)
+ keys = motion_keys->data_float3() + attr_offset * mesh->curve_keys.size();
}
- for (size_t i = step * num_segments, j = 0; j < num_curves; ++j) {
+ size_t i = step * num_segments;
+ for (size_t j = 0; j < num_curves; ++j) {
const Mesh::Curve c = mesh->get_curve(j);
+
for (size_t k = 0; k < c.num_segments(); ++i, ++k) {
BoundBox bounds = BoundBox::empty;
c.bounds_grow(k, keys, mesh->curve_radius.data(), bounds);
+
aabb_data[i].minX = bounds.min.x;
aabb_data[i].minY = bounds.min.y;
aabb_data[i].minZ = bounds.min.z;
@@ -917,7 +953,6 @@ class OptiXDevice : public Device {
// Disable visibility test anyhit program, since it is already checked during intersection
// Those trace calls that require anyhit can force it with OPTIX_RAY_FLAG_ENFORCE_ANYHIT
unsigned int build_flags = OPTIX_GEOMETRY_FLAG_DISABLE_ANYHIT;
-
OptixBuildInput build_input = {};
build_input.type = OPTIX_BUILD_INPUT_TYPE_CUSTOM_PRIMITIVES;
build_input.aabbArray.aabbBuffers = (CUdeviceptr *)aabb_ptrs.data();
@@ -940,7 +975,7 @@ class OptiXDevice : public Device {
size_t num_motion_steps = 1;
Attribute *motion_keys = mesh->attributes.find(ATTR_STD_MOTION_VERTEX_POSITION);
- if (mesh->use_motion_blur && motion_keys) {
+ if (motion_blur && mesh->use_motion_blur && motion_keys) {
num_motion_steps = mesh->motion_steps;
}
@@ -975,7 +1010,6 @@ class OptiXDevice : public Device {
// No special build flags for triangle primitives
unsigned int build_flags = OPTIX_GEOMETRY_FLAG_NONE;
-
OptixBuildInput build_input = {};
build_input.type = OPTIX_BUILD_INPUT_TYPE_TRIANGLES;
build_input.triangleArray.vertexBuffers = (CUdeviceptr *)vertex_ptrs.data();
@@ -1040,7 +1074,7 @@ class OptiXDevice : public Device {
instance.visibilityMask = (ob->mesh->has_volume ? 3 : 1);
// Insert motion traversable if object has motion
- if (ob->use_motion()) {
+ if (motion_blur && ob->use_motion()) {
blas.emplace_back(this, "motion_transform");
device_only_memory<uint8_t> &motion_transform_gpu = blas.back();
motion_transform_gpu.alloc_to_device(sizeof(OptixSRTMotionTransform) +
@@ -1155,137 +1189,184 @@ class OptiXDevice : public Device {
size_t bytes = 0;
CUdeviceptr mem = 0;
check_result_cuda(cuModuleGetGlobal(&mem, &bytes, cuda_module, name));
- assert(mem != NULL && bytes == data_size);
+ assert(mem != 0 && bytes == data_size);
check_result_cuda(cuMemcpyHtoD(mem, data, data_size));
}
void mem_alloc(device_memory &mem) override
{
- const CUDAContextScope scope(cuda_context);
+ if (mem.type == MEM_PIXELS && !background) {
+ // Always fall back to no interop for now
+ // TODO(pmours): Support OpenGL interop when moving CUDA memory management to common code
+ background = true;
+ }
+ else if (mem.type == MEM_TEXTURE) {
+ assert(!"mem_alloc not supported for textures.");
+ return;
+ }
- mem.device_size = mem.memory_size();
-
- if (mem.type == MEM_TEXTURE && mem.interpolation != INTERPOLATION_NONE) {
- CUDAMem &cmem = cuda_mem_map[&mem]; // Lock and get associated memory information
-
- CUDA_TEXTURE_DESC tex_desc = {};
- tex_desc.flags = CU_TRSF_NORMALIZED_COORDINATES;
- CUDA_RESOURCE_DESC res_desc = {};
-
- switch (mem.extension) {
- default:
- assert(0);
- case EXTENSION_REPEAT:
- tex_desc.addressMode[0] = tex_desc.addressMode[1] = tex_desc.addressMode[2] =
- CU_TR_ADDRESS_MODE_WRAP;
- break;
- case EXTENSION_EXTEND:
- tex_desc.addressMode[0] = tex_desc.addressMode[1] = tex_desc.addressMode[2] =
- CU_TR_ADDRESS_MODE_CLAMP;
- break;
- case EXTENSION_CLIP:
- tex_desc.addressMode[0] = tex_desc.addressMode[1] = tex_desc.addressMode[2] =
- CU_TR_ADDRESS_MODE_BORDER;
- break;
- }
+ generic_alloc(mem);
+ }
- switch (mem.interpolation) {
- default: // Default to linear for unsupported interpolation types
- case INTERPOLATION_LINEAR:
- tex_desc.filterMode = CU_TR_FILTER_MODE_LINEAR;
- break;
- case INTERPOLATION_CLOSEST:
- tex_desc.filterMode = CU_TR_FILTER_MODE_POINT;
- break;
- }
+ CUDAMem *generic_alloc(device_memory &mem, size_t pitch_padding = 0)
+ {
+ CUDAContextScope scope(cuda_context);
+
+ CUdeviceptr device_pointer = 0;
+ size_t size = mem.memory_size() + pitch_padding;
+
+ CUresult mem_alloc_result = CUDA_ERROR_OUT_OF_MEMORY;
+ const char *status = "";
+
+ /* First try allocating in device memory, respecting headroom. We make
+ * an exception for texture info. It is small and frequently accessed,
+ * so treat it as working memory.
+ *
+ * If there is not enough room for working memory, we will try to move
+ * textures to host memory, assuming the performance impact would have
+ * been worse for working memory. */
+ bool is_texture = (mem.type == MEM_TEXTURE) && (&mem != &texture_info);
+ bool is_image = is_texture && (mem.data_height > 1);
+
+ size_t headroom = (is_texture) ? device_texture_headroom : device_working_headroom;
+
+ size_t total = 0, free = 0;
+ cuMemGetInfo(&free, &total);
+
+ /* Move textures to host memory if needed. */
+ if (!move_texture_to_host && !is_image && (size + headroom) >= free && can_map_host) {
+ move_textures_to_host(size + headroom - free, is_texture);
+ cuMemGetInfo(&free, &total);
+ }
- CUarray_format format;
- switch (mem.data_type) {
- default:
- assert(0);
- case TYPE_UCHAR:
- format = CU_AD_FORMAT_UNSIGNED_INT8;
- break;
- case TYPE_UINT16:
- format = CU_AD_FORMAT_UNSIGNED_INT16;
- break;
- case TYPE_UINT:
- format = CU_AD_FORMAT_UNSIGNED_INT32;
- break;
- case TYPE_INT:
- format = CU_AD_FORMAT_SIGNED_INT32;
- break;
- case TYPE_FLOAT:
- format = CU_AD_FORMAT_FLOAT;
- break;
- case TYPE_HALF:
- format = CU_AD_FORMAT_HALF;
- break;
+ /* Allocate in device memory. */
+ if (!move_texture_to_host && (size + headroom) < free) {
+ mem_alloc_result = cuMemAlloc(&device_pointer, size);
+ if (mem_alloc_result == CUDA_SUCCESS) {
+ status = " in device memory";
}
+ }
- if (mem.data_depth > 1) { /* 3D texture using array. */
- CUDA_ARRAY3D_DESCRIPTOR desc;
- desc.Width = mem.data_width;
- desc.Height = mem.data_height;
- desc.Depth = mem.data_depth;
- desc.Format = format;
- desc.NumChannels = mem.data_elements;
- desc.Flags = 0;
+ /* Fall back to mapped host memory if needed and possible. */
+ void *shared_pointer = 0;
- check_result_cuda(cuArray3DCreate(&cmem.array, &desc));
- mem.device_pointer = (device_ptr)cmem.array;
+ if (mem_alloc_result != CUDA_SUCCESS && can_map_host) {
+ if (mem.shared_pointer) {
+ /* Another device already allocated host memory. */
+ mem_alloc_result = CUDA_SUCCESS;
+ shared_pointer = mem.shared_pointer;
+ }
+ else if (map_host_used + size < map_host_limit) {
+ /* Allocate host memory ourselves. */
+ mem_alloc_result = cuMemHostAlloc(
+ &shared_pointer, size, CU_MEMHOSTALLOC_DEVICEMAP | CU_MEMHOSTALLOC_WRITECOMBINED);
- res_desc.resType = CU_RESOURCE_TYPE_ARRAY;
- res_desc.res.array.hArray = cmem.array;
+ assert((mem_alloc_result == CUDA_SUCCESS && shared_pointer != 0) ||
+ (mem_alloc_result != CUDA_SUCCESS && shared_pointer == 0));
}
- else if (mem.data_height > 0) { /* 2D texture using array. */
- CUDA_ARRAY_DESCRIPTOR desc;
- desc.Width = mem.data_width;
- desc.Height = mem.data_height;
- desc.Format = format;
- desc.NumChannels = mem.data_elements;
-
- check_result_cuda(cuArrayCreate(&cmem.array, &desc));
- mem.device_pointer = (device_ptr)cmem.array;
-
- res_desc.resType = CU_RESOURCE_TYPE_ARRAY;
- res_desc.res.array.hArray = cmem.array;
+
+ if (mem_alloc_result == CUDA_SUCCESS) {
+ cuMemHostGetDevicePointer_v2(&device_pointer, shared_pointer, 0);
+ map_host_used += size;
+ status = " in host memory";
}
else {
- check_result_cuda(cuMemAlloc((CUdeviceptr *)&mem.device_pointer, mem.device_size));
-
- res_desc.resType = CU_RESOURCE_TYPE_LINEAR;
- res_desc.res.linear.devPtr = (CUdeviceptr)mem.device_pointer;
- res_desc.res.linear.format = format;
- res_desc.res.linear.numChannels = mem.data_elements;
- res_desc.res.linear.sizeInBytes = mem.device_size;
+ status = " failed, out of host memory";
}
+ }
+ else if (mem_alloc_result != CUDA_SUCCESS) {
+ status = " failed, out of device and host memory";
+ }
- check_result_cuda(cuTexObjectCreate(&cmem.texobject, &res_desc, &tex_desc, NULL));
+ if (mem.name) {
+ VLOG(1) << "Buffer allocate: " << mem.name << ", "
+ << string_human_readable_number(mem.memory_size()) << " bytes. ("
+ << string_human_readable_size(mem.memory_size()) << ")" << status;
+ }
+
+ if (mem_alloc_result != CUDA_SUCCESS) {
+ set_error(string_printf("Buffer allocate %s", status));
+ return NULL;
+ }
- int flat_slot = 0;
- if (string_startswith(mem.name, "__tex_image")) {
- flat_slot = atoi(mem.name + string(mem.name).rfind("_") + 1);
+ mem.device_pointer = (device_ptr)device_pointer;
+ mem.device_size = size;
+ stats.mem_alloc(size);
+
+ if (!mem.device_pointer) {
+ return NULL;
+ }
+
+ /* Insert into map of allocations. */
+ CUDAMem *cmem = &cuda_mem_map[&mem];
+ if (shared_pointer != 0) {
+ /* Replace host pointer with our host allocation. Only works if
+ * CUDA memory layout is the same and has no pitch padding. Also
+ * does not work if we move textures to host during a render,
+ * since other devices might be using the memory. */
+
+ if (!move_texture_to_host && pitch_padding == 0 && mem.host_pointer &&
+ mem.host_pointer != shared_pointer) {
+ memcpy(shared_pointer, mem.host_pointer, size);
+
+ /* A call to device_memory::host_free() should be preceded by
+ * a call to device_memory::device_free() for host memory
+ * allocated by a device to be handled properly. Two exceptions
+ * are here and a call in CUDADevice::generic_alloc(), where
+ * the current host memory can be assumed to be allocated by
+ * device_memory::host_alloc(), not by a device */
+
+ mem.host_free();
+ mem.host_pointer = shared_pointer;
}
+ mem.shared_pointer = shared_pointer;
+ mem.shared_counter++;
+ cmem->use_mapped_host = true;
+ }
+ else {
+ cmem->use_mapped_host = false;
+ }
- if (flat_slot >= texture_info.size())
- texture_info.resize(flat_slot + 128);
+ return cmem;
+ }
- TextureInfo &info = texture_info[flat_slot];
- info.data = (uint64_t)cmem.texobject;
- info.cl_buffer = 0;
- info.interpolation = mem.interpolation;
- info.extension = mem.extension;
- info.width = mem.data_width;
- info.height = mem.data_height;
- info.depth = mem.data_depth;
+ void tex_alloc(device_memory &mem)
+ {
+ CUDAContextScope scope(cuda_context);
+
+ /* General variables for both architectures */
+ string bind_name = mem.name;
+ size_t dsize = datatype_size(mem.data_type);
+ size_t size = mem.memory_size();
+
+ CUaddress_mode address_mode = CU_TR_ADDRESS_MODE_WRAP;
+ switch (mem.extension) {
+ case EXTENSION_REPEAT:
+ address_mode = CU_TR_ADDRESS_MODE_WRAP;
+ break;
+ case EXTENSION_EXTEND:
+ address_mode = CU_TR_ADDRESS_MODE_CLAMP;
+ break;
+ case EXTENSION_CLIP:
+ address_mode = CU_TR_ADDRESS_MODE_BORDER;
+ break;
+ default:
+ assert(0);
+ break;
+ }
- // Texture information has changed and needs an update, delay this to next launch
- need_texture_info = true;
+ CUfilter_mode filter_mode;
+ if (mem.interpolation == INTERPOLATION_CLOSEST) {
+ filter_mode = CU_TR_FILTER_MODE_POINT;
}
else {
- // This is not a texture but simple linear memory
- check_result_cuda(cuMemAlloc((CUdeviceptr *)&mem.device_pointer, mem.device_size));
+ filter_mode = CU_TR_FILTER_MODE_LINEAR;
+ }
+
+ /* Data Storage */
+ if (mem.interpolation == INTERPOLATION_NONE) {
+ generic_alloc(mem);
+ generic_copy_to(mem);
// Update data storage pointers in launch parameters
# define KERNEL_TEX(data_type, tex_name) \
@@ -1294,77 +1375,238 @@ class OptiXDevice : public Device {
mem.name, offsetof(KernelParams, tex_name), &mem.device_pointer, sizeof(device_ptr));
# include "kernel/kernel_textures.h"
# undef KERNEL_TEX
+ return;
}
- stats.mem_alloc(mem.device_size);
- }
+ /* Image Texture Storage */
+ CUarray_format_enum format;
+ switch (mem.data_type) {
+ case TYPE_UCHAR:
+ format = CU_AD_FORMAT_UNSIGNED_INT8;
+ break;
+ case TYPE_UINT16:
+ format = CU_AD_FORMAT_UNSIGNED_INT16;
+ break;
+ case TYPE_UINT:
+ format = CU_AD_FORMAT_UNSIGNED_INT32;
+ break;
+ case TYPE_INT:
+ format = CU_AD_FORMAT_SIGNED_INT32;
+ break;
+ case TYPE_FLOAT:
+ format = CU_AD_FORMAT_FLOAT;
+ break;
+ case TYPE_HALF:
+ format = CU_AD_FORMAT_HALF;
+ break;
+ default:
+ assert(0);
+ return;
+ }
- void mem_copy_to(device_memory &mem) override
- {
- if (!mem.host_pointer || mem.host_pointer == mem.shared_pointer)
- return;
- if (!mem.device_pointer)
- mem_alloc(mem); // Need to allocate memory first if it does not exist yet
+ CUDAMem *cmem = NULL;
+ CUarray array_3d = NULL;
+ size_t src_pitch = mem.data_width * dsize * mem.data_elements;
+ size_t dst_pitch = src_pitch;
- const CUDAContextScope scope(cuda_context);
+ if (mem.data_depth > 1) {
+ /* 3D texture using array, there is no API for linear memory. */
+ CUDA_ARRAY3D_DESCRIPTOR desc;
- if (mem.type == MEM_TEXTURE && mem.interpolation != INTERPOLATION_NONE) {
- const CUDAMem &cmem = cuda_mem_map[&mem]; // Lock and get associated memory information
+ desc.Width = mem.data_width;
+ desc.Height = mem.data_height;
+ desc.Depth = mem.data_depth;
+ desc.Format = format;
+ desc.NumChannels = mem.data_elements;
+ desc.Flags = 0;
- size_t src_pitch = mem.data_width * datatype_size(mem.data_type) * mem.data_elements;
+ VLOG(1) << "Array 3D allocate: " << mem.name << ", "
+ << string_human_readable_number(mem.memory_size()) << " bytes. ("
+ << string_human_readable_size(mem.memory_size()) << ")";
- if (mem.data_depth > 1) {
- CUDA_MEMCPY3D param;
- memset(&param, 0, sizeof(param));
- param.dstMemoryType = CU_MEMORYTYPE_ARRAY;
- param.dstArray = cmem.array;
- param.srcMemoryType = CU_MEMORYTYPE_HOST;
- param.srcHost = mem.host_pointer;
- param.srcPitch = src_pitch;
- param.WidthInBytes = param.srcPitch;
- param.Height = mem.data_height;
- param.Depth = mem.data_depth;
+ check_result_cuda(cuArray3DCreate(&array_3d, &desc));
- check_result_cuda(cuMemcpy3D(&param));
+ if (!array_3d) {
+ return;
}
- else if (mem.data_height > 0) {
- CUDA_MEMCPY2D param;
- memset(&param, 0, sizeof(param));
- param.dstMemoryType = CU_MEMORYTYPE_ARRAY;
- param.dstArray = cmem.array;
- param.srcMemoryType = CU_MEMORYTYPE_HOST;
- param.srcHost = mem.host_pointer;
- param.srcPitch = src_pitch;
- param.WidthInBytes = param.srcPitch;
- param.Height = mem.data_height;
-
- check_result_cuda(cuMemcpy2D(&param));
+
+ CUDA_MEMCPY3D param;
+ memset(&param, 0, sizeof(param));
+ param.dstMemoryType = CU_MEMORYTYPE_ARRAY;
+ param.dstArray = array_3d;
+ param.srcMemoryType = CU_MEMORYTYPE_HOST;
+ param.srcHost = mem.host_pointer;
+ param.srcPitch = src_pitch;
+ param.WidthInBytes = param.srcPitch;
+ param.Height = mem.data_height;
+ param.Depth = mem.data_depth;
+
+ check_result_cuda(cuMemcpy3D(&param));
+
+ mem.device_pointer = (device_ptr)array_3d;
+ mem.device_size = size;
+ stats.mem_alloc(size);
+
+ cmem = &cuda_mem_map[&mem];
+ cmem->texobject = 0;
+ cmem->array = array_3d;
+ }
+ else if (mem.data_height > 0) {
+ /* 2D texture, using pitch aligned linear memory. */
+ int alignment = 0;
+ check_result_cuda(cuDeviceGetAttribute(
+ &alignment, CU_DEVICE_ATTRIBUTE_TEXTURE_PITCH_ALIGNMENT, cuda_device));
+ dst_pitch = align_up(src_pitch, alignment);
+ size_t dst_size = dst_pitch * mem.data_height;
+
+ cmem = generic_alloc(mem, dst_size - mem.memory_size());
+ if (!cmem) {
+ return;
}
- else {
- check_result_cuda(
- cuMemcpyHtoD((CUdeviceptr)mem.device_pointer, mem.host_pointer, mem.device_size));
+
+ CUDA_MEMCPY2D param;
+ memset(&param, 0, sizeof(param));
+ param.dstMemoryType = CU_MEMORYTYPE_DEVICE;
+ param.dstDevice = mem.device_pointer;
+ param.dstPitch = dst_pitch;
+ param.srcMemoryType = CU_MEMORYTYPE_HOST;
+ param.srcHost = mem.host_pointer;
+ param.srcPitch = src_pitch;
+ param.WidthInBytes = param.srcPitch;
+ param.Height = mem.data_height;
+
+ check_result_cuda(cuMemcpy2DUnaligned(&param));
+ }
+ else {
+ /* 1D texture, using linear memory. */
+ cmem = generic_alloc(mem);
+ if (!cmem) {
+ return;
}
+
+ check_result_cuda(cuMemcpyHtoD(mem.device_pointer, mem.host_pointer, size));
+ }
+
+ /* Kepler+, bindless textures. */
+ int flat_slot = 0;
+ if (string_startswith(mem.name, "__tex_image")) {
+ int pos = string(mem.name).rfind("_");
+ flat_slot = atoi(mem.name + pos + 1);
}
else {
- // This is not a texture but simple linear memory
- check_result_cuda(
- cuMemcpyHtoD((CUdeviceptr)mem.device_pointer, mem.host_pointer, mem.device_size));
+ assert(0);
+ }
+
+ CUDA_RESOURCE_DESC resDesc;
+ memset(&resDesc, 0, sizeof(resDesc));
+
+ if (array_3d) {
+ resDesc.resType = CU_RESOURCE_TYPE_ARRAY;
+ resDesc.res.array.hArray = array_3d;
+ resDesc.flags = 0;
+ }
+ else if (mem.data_height > 0) {
+ resDesc.resType = CU_RESOURCE_TYPE_PITCH2D;
+ resDesc.res.pitch2D.devPtr = mem.device_pointer;
+ resDesc.res.pitch2D.format = format;
+ resDesc.res.pitch2D.numChannels = mem.data_elements;
+ resDesc.res.pitch2D.height = mem.data_height;
+ resDesc.res.pitch2D.width = mem.data_width;
+ resDesc.res.pitch2D.pitchInBytes = dst_pitch;
+ }
+ else {
+ resDesc.resType = CU_RESOURCE_TYPE_LINEAR;
+ resDesc.res.linear.devPtr = mem.device_pointer;
+ resDesc.res.linear.format = format;
+ resDesc.res.linear.numChannels = mem.data_elements;
+ resDesc.res.linear.sizeInBytes = mem.device_size;
+ }
+
+ CUDA_TEXTURE_DESC texDesc;
+ memset(&texDesc, 0, sizeof(texDesc));
+ texDesc.addressMode[0] = address_mode;
+ texDesc.addressMode[1] = address_mode;
+ texDesc.addressMode[2] = address_mode;
+ texDesc.filterMode = filter_mode;
+ texDesc.flags = CU_TRSF_NORMALIZED_COORDINATES;
+
+ check_result_cuda(cuTexObjectCreate(&cmem->texobject, &resDesc, &texDesc, NULL));
+
+ /* Resize once */
+ if (flat_slot >= texture_info.size()) {
+ /* Allocate some slots in advance, to reduce amount
+ * of re-allocations. */
+ texture_info.resize(flat_slot + 128);
}
+
+ /* Set Mapping and tag that we need to (re-)upload to device */
+ TextureInfo &info = texture_info[flat_slot];
+ info.data = (uint64_t)cmem->texobject;
+ info.cl_buffer = 0;
+ info.interpolation = mem.interpolation;
+ info.extension = mem.extension;
+ info.width = mem.data_width;
+ info.height = mem.data_height;
+ info.depth = mem.data_depth;
+ need_texture_info = true;
}
- void mem_copy_from(device_memory &mem, int y, int w, int h, int elem) override
+ void mem_copy_to(device_memory &mem) override
{
- // Calculate linear memory offset and size
- const size_t size = elem * w * h;
- const size_t offset = elem * y * w;
+ if (mem.type == MEM_PIXELS) {
+ assert(!"mem_copy_to not supported for pixels.");
+ }
+ else if (mem.type == MEM_TEXTURE) {
+ tex_free(mem);
+ tex_alloc(mem);
+ }
+ else {
+ if (!mem.device_pointer) {
+ generic_alloc(mem);
+ }
+
+ generic_copy_to(mem);
+ }
+ }
+ void generic_copy_to(device_memory &mem)
+ {
if (mem.host_pointer && mem.device_pointer) {
- const CUDAContextScope scope(cuda_context);
- check_result_cuda(cuMemcpyDtoH(
- (char *)mem.host_pointer + offset, (CUdeviceptr)mem.device_pointer + offset, size));
+ CUDAContextScope scope(cuda_context);
+
+ /* If use_mapped_host of mem is false, the current device only
+ * uses device memory allocated by cuMemAlloc regardless of
+ * mem.host_pointer and mem.shared_pointer, and should copy
+ * data from mem.host_pointer. */
+
+ if (cuda_mem_map[&mem].use_mapped_host == false || mem.host_pointer != mem.shared_pointer) {
+ check_result_cuda(
+ cuMemcpyHtoD((CUdeviceptr)mem.device_pointer, mem.host_pointer, mem.memory_size()));
+ }
+ }
+ }
+
+ void mem_copy_from(device_memory &mem, int y, int w, int h, int elem) override
+ {
+ if (mem.type == MEM_PIXELS && !background) {
+ assert(!"mem_copy_from not supported for pixels.");
+ }
+ else if (mem.type == MEM_TEXTURE) {
+ assert(!"mem_copy_from not supported for textures.");
}
- else if (mem.host_pointer) {
- memset((char *)mem.host_pointer + offset, 0, size);
+ else {
+ // Calculate linear memory offset and size
+ const size_t size = elem * w * h;
+ const size_t offset = elem * y * w;
+
+ if (mem.host_pointer && mem.device_pointer) {
+ const CUDAContextScope scope(cuda_context);
+ check_result_cuda(cuMemcpyDtoH(
+ (char *)mem.host_pointer + offset, (CUdeviceptr)mem.device_pointer + offset, size));
+ }
+ else if (mem.host_pointer) {
+ memset((char *)mem.host_pointer + offset, 0, size);
+ }
}
}
@@ -1372,42 +1614,167 @@ class OptiXDevice : public Device {
{
if (mem.host_pointer)
memset(mem.host_pointer, 0, mem.memory_size());
- if (mem.host_pointer && mem.host_pointer == mem.shared_pointer)
- return; // This is shared host memory, so no device memory to update
if (!mem.device_pointer)
mem_alloc(mem); // Need to allocate memory first if it does not exist yet
- const CUDAContextScope scope(cuda_context);
- check_result_cuda(cuMemsetD8((CUdeviceptr)mem.device_pointer, 0, mem.memory_size()));
+ /* If use_mapped_host of mem is false, mem.device_pointer currently
+ * refers to device memory regardless of mem.host_pointer and
+ * mem.shared_pointer. */
+
+ if (mem.device_pointer &&
+ (cuda_mem_map[&mem].use_mapped_host == false || mem.host_pointer != mem.shared_pointer)) {
+ const CUDAContextScope scope(cuda_context);
+ check_result_cuda(cuMemsetD8((CUdeviceptr)mem.device_pointer, 0, mem.memory_size()));
+ }
}
void mem_free(device_memory &mem) override
{
- assert(mem.device_pointer);
+ if (mem.type == MEM_PIXELS && !background) {
+ assert(!"mem_free not supported for pixels.");
+ }
+ else if (mem.type == MEM_TEXTURE) {
+ tex_free(mem);
+ }
+ else {
+ generic_free(mem);
+ }
+ }
- const CUDAContextScope scope(cuda_context);
+ void generic_free(device_memory &mem)
+ {
+ if (mem.device_pointer) {
+ CUDAContextScope scope(cuda_context);
+ const CUDAMem &cmem = cuda_mem_map[&mem];
+
+ /* If cmem.use_mapped_host is true, reference counting is used
+ * to safely free a mapped host memory. */
+
+ if (cmem.use_mapped_host) {
+ assert(mem.shared_pointer);
+ if (mem.shared_pointer) {
+ assert(mem.shared_counter > 0);
+ if (--mem.shared_counter == 0) {
+ if (mem.host_pointer == mem.shared_pointer) {
+ mem.host_pointer = 0;
+ }
+ cuMemFreeHost(mem.shared_pointer);
+ mem.shared_pointer = 0;
+ }
+ }
+ map_host_used -= mem.device_size;
+ }
+ else {
+ /* Free device memory. */
+ cuMemFree(mem.device_pointer);
+ }
- if (mem.type == MEM_TEXTURE && mem.interpolation != INTERPOLATION_NONE) {
- CUDAMem &cmem = cuda_mem_map[&mem]; // Lock and get associated memory information
+ stats.mem_free(mem.device_size);
+ mem.device_pointer = 0;
+ mem.device_size = 0;
- if (cmem.array)
- cuArrayDestroy(cmem.array);
- else
- cuMemFree((CUdeviceptr)mem.device_pointer);
+ cuda_mem_map.erase(cuda_mem_map.find(&mem));
+ }
+ }
- if (cmem.texobject)
+ void tex_free(device_memory &mem)
+ {
+ if (mem.device_pointer) {
+ CUDAContextScope scope(cuda_context);
+ const CUDAMem &cmem = cuda_mem_map[&mem];
+
+ if (cmem.texobject) {
+ /* Free bindless texture. */
cuTexObjectDestroy(cmem.texobject);
+ }
+
+ if (cmem.array) {
+ /* Free array. */
+ cuArrayDestroy(cmem.array);
+ stats.mem_free(mem.device_size);
+ mem.device_pointer = 0;
+ mem.device_size = 0;
+
+ cuda_mem_map.erase(cuda_mem_map.find(&mem));
+ }
+ else {
+ generic_free(mem);
+ }
}
- else {
- // This is not a texture but simple linear memory
- cuMemFree((CUdeviceptr)mem.device_pointer);
+ }
+
+ void move_textures_to_host(size_t size, bool for_texture)
+ {
+ /* Signal to reallocate textures in host memory only. */
+ move_texture_to_host = true;
+
+ while (size > 0) {
+ /* Find suitable memory allocation to move. */
+ device_memory *max_mem = NULL;
+ size_t max_size = 0;
+ bool max_is_image = false;
+
+ foreach (auto &pair, cuda_mem_map) {
+ device_memory &mem = *pair.first;
+ CUDAMem *cmem = &pair.second;
+
+ bool is_texture = (mem.type == MEM_TEXTURE) && (&mem != &texture_info);
+ bool is_image = is_texture && (mem.data_height > 1);
+
+ /* Can't move this type of memory. */
+ if (!is_texture || cmem->array) {
+ continue;
+ }
+
+ /* Already in host memory. */
+ if (cmem->use_mapped_host) {
+ continue;
+ }
+
+ /* For other textures, only move image textures. */
+ if (for_texture && !is_image) {
+ continue;
+ }
+
+ /* Try to move largest allocation, prefer moving images. */
+ if (is_image > max_is_image || (is_image == max_is_image && mem.device_size > max_size)) {
+ max_is_image = is_image;
+ max_size = mem.device_size;
+ max_mem = &mem;
+ }
+ }
+
+ /* Move to host memory. This part is mutex protected since
+ * multiple CUDA devices could be moving the memory. The
+ * first one will do it, and the rest will adopt the pointer. */
+ if (max_mem) {
+ VLOG(1) << "Move memory from device to host: " << max_mem->name;
+
+ static thread_mutex move_mutex;
+ thread_scoped_lock lock(move_mutex);
+
+ /* Preserve the original device pointer, in case of multi device
+ * we can't change it because the pointer mapping would break. */
+ device_ptr prev_pointer = max_mem->device_pointer;
+ size_t prev_size = max_mem->device_size;
+
+ tex_free(*max_mem);
+ tex_alloc(*max_mem);
+ size = (max_size >= size) ? 0 : size - max_size;
+
+ max_mem->device_pointer = prev_pointer;
+ max_mem->device_size = prev_size;
+ }
+ else {
+ break;
+ }
}
- stats.mem_free(mem.device_size);
+ /* Update texture info array with new pointers. */
+ update_texture_info();
- mem.device_size = 0;
- mem.device_pointer = 0;
+ move_texture_to_host = false;
}
void const_copy_to(const char *name, void *host, size_t size) override
diff --git a/intern/cycles/kernel/CMakeLists.txt b/intern/cycles/kernel/CMakeLists.txt
index ea8aa197b6f..4077a1ad516 100644
--- a/intern/cycles/kernel/CMakeLists.txt
+++ b/intern/cycles/kernel/CMakeLists.txt
@@ -389,11 +389,20 @@ if(WITH_CYCLES_CUDA_BINARIES)
set(cuda_cubins)
macro(CYCLES_CUDA_KERNEL_ADD arch prev_arch name flags sources experimental)
- set(cuda_cubin ${name}_${arch}.cubin)
+ if(${arch} MATCHES "compute_.*")
+ set(format "ptx")
+ else()
+ set(format "cubin")
+ endif()
+ set(cuda_file ${name}_${arch}.${format})
set(kernel_sources ${sources})
if(NOT ${prev_arch} STREQUAL "none")
- set(kernel_sources ${kernel_sources} ${name}_${prev_arch}.cubin)
+ if(${prev_arch} MATCHES "compute_.*")
+ set(kernel_sources ${kernel_sources} ${name}_${prev_arch}.ptx)
+ else()
+ set(kernel_sources ${kernel_sources} ${name}_${prev_arch}.cubin)
+ endif()
endif()
set(cuda_kernel_src "/kernels/cuda/${name}.cu")
@@ -406,7 +415,7 @@ if(WITH_CYCLES_CUDA_BINARIES)
-I ${CMAKE_CURRENT_SOURCE_DIR}/..
-I ${CMAKE_CURRENT_SOURCE_DIR}/kernels/cuda
--use_fast_math
- -o ${CMAKE_CURRENT_BINARY_DIR}/${cuda_cubin})
+ -o ${CMAKE_CURRENT_BINARY_DIR}/${cuda_file})
if(${experimental})
set(cuda_flags ${cuda_flags} -D __KERNEL_EXPERIMENTAL__)
@@ -440,20 +449,21 @@ if(WITH_CYCLES_CUDA_BINARIES)
-v
-cuda-toolkit-dir "${CUDA_TOOLKIT_ROOT_DIR}"
DEPENDS ${kernel_sources} cycles_cubin_cc)
+ set(cuda_file ${cuda_cubin})
else()
add_custom_command(
- OUTPUT ${cuda_cubin}
+ OUTPUT ${cuda_file}
COMMAND ${CUDA_NVCC_EXECUTABLE}
-arch=${arch}
${CUDA_NVCC_FLAGS}
- --cubin
+ --${format}
${CMAKE_CURRENT_SOURCE_DIR}${cuda_kernel_src}
--ptxas-options="-v"
${cuda_flags}
DEPENDS ${kernel_sources})
endif()
- delayed_install("${CMAKE_CURRENT_BINARY_DIR}" "${cuda_cubin}" ${CYCLES_INSTALL_PATH}/lib)
- list(APPEND cuda_cubins ${cuda_cubin})
+ delayed_install("${CMAKE_CURRENT_BINARY_DIR}" "${cuda_file}" ${CYCLES_INSTALL_PATH}/lib)
+ list(APPEND cuda_cubins ${cuda_file})
unset(cuda_debug_flags)
endmacro()
@@ -626,13 +636,13 @@ endif()
# OpenCL kernel
-#set(KERNEL_PREPROCESSED ${CMAKE_CURRENT_BINARY_DIR}/kernel_preprocessed.cl)
-#add_custom_command(
-# OUTPUT ${KERNEL_PREPROCESSED}
-# COMMAND gcc -x c++ -E ${CMAKE_CURRENT_SOURCE_DIR}/kernel.cl -I ${CMAKE_CURRENT_SOURCE_DIR}/../util/ -DCCL_NAMESPACE_BEGIN= -DCCL_NAMESPACE_END= -o ${KERNEL_PREPROCESSED}
-# DEPENDS ${SRC_KERNEL} ${SRC_UTIL_HEADERS})
-#add_custom_target(cycles_kernel_preprocess ALL DEPENDS ${KERNEL_PREPROCESSED})
-#delayed_install(${CMAKE_CURRENT_SOURCE_DIR} "${KERNEL_PREPROCESSED}" ${CYCLES_INSTALL_PATH}/kernel)
+# set(KERNEL_PREPROCESSED ${CMAKE_CURRENT_BINARY_DIR}/kernel_preprocessed.cl)
+# add_custom_command(
+# OUTPUT ${KERNEL_PREPROCESSED}
+# COMMAND gcc -x c++ -E ${CMAKE_CURRENT_SOURCE_DIR}/kernel.cl -I ${CMAKE_CURRENT_SOURCE_DIR}/../util/ -DCCL_NAMESPACE_BEGIN= -DCCL_NAMESPACE_END= -o ${KERNEL_PREPROCESSED}
+# DEPENDS ${SRC_KERNEL} ${SRC_UTIL_HEADERS})
+# add_custom_target(cycles_kernel_preprocess ALL DEPENDS ${KERNEL_PREPROCESSED})
+# delayed_install(${CMAKE_CURRENT_SOURCE_DIR} "${KERNEL_PREPROCESSED}" ${CYCLES_INSTALL_PATH}/kernel)
delayed_install(${CMAKE_CURRENT_SOURCE_DIR} "${SRC_OPENCL_KERNELS}" ${CYCLES_INSTALL_PATH}/source/kernel/kernels/opencl)
delayed_install(${CMAKE_CURRENT_SOURCE_DIR} "${SRC_CUDA_KERNELS}" ${CYCLES_INSTALL_PATH}/source/kernel/kernels/cuda)
diff --git a/intern/cycles/kernel/bvh/bvh.h b/intern/cycles/kernel/bvh/bvh.h
index d0bc1fe4b36..0346f5e09e7 100644
--- a/intern/cycles/kernel/bvh/bvh.h
+++ b/intern/cycles/kernel/bvh/bvh.h
@@ -575,7 +575,7 @@ ccl_device_intersect uint scene_intersect_volume_all(KernelGlobals *kg,
RTCRay rtc_ray;
kernel_embree_setup_ray(*ray, rtc_ray, visibility);
rtcOccluded1(kernel_data.bvh.scene, &rtc_ctx.context, &rtc_ray);
- return rtc_ray.tfar == -INFINITY;
+ return ctx.num_hits;
}
# endif /* __EMBREE__ */
diff --git a/intern/cycles/kernel/filter/filter_transform_gpu.h b/intern/cycles/kernel/filter/filter_transform_gpu.h
index 41bbadb621d..adc85881fe5 100644
--- a/intern/cycles/kernel/filter/filter_transform_gpu.h
+++ b/intern/cycles/kernel/filter/filter_transform_gpu.h
@@ -76,9 +76,9 @@ ccl_device void kernel_filter_construct_transform(const ccl_global float *ccl_re
filter_calculate_scale(feature_scale, use_time);
/* === Generate the feature transformation. ===
- * This transformation maps the num_features-dimentional feature space to a reduced feature
- * (r-feature) space which generally has fewer dimensions. This mainly helps to prevent
- * overfitting. */
+ * This transformation maps the num_features-dimensional feature space to a reduced feature
+ * (r-feature) space which generally has fewer dimensions.
+ * This mainly helps to prevent overfitting. */
float feature_matrix[DENOISE_FEATURES * DENOISE_FEATURES];
math_matrix_zero(feature_matrix, num_features);
FOR_PIXEL_WINDOW
diff --git a/intern/cycles/kernel/filter/filter_transform_sse.h b/intern/cycles/kernel/filter/filter_transform_sse.h
index 830444645d7..5a124b5d73b 100644
--- a/intern/cycles/kernel/filter/filter_transform_sse.h
+++ b/intern/cycles/kernel/filter/filter_transform_sse.h
@@ -73,9 +73,9 @@ ccl_device void kernel_filter_construct_transform(const float *ccl_restrict buff
filter_calculate_scale_sse(feature_scale, use_time);
/* === Generate the feature transformation. ===
- * This transformation maps the num_features-dimentional feature space to a reduced feature
- * (r-feature) space which generally has fewer dimensions. This mainly helps to prevent
- * overfitting. */
+ * This transformation maps the num_features-dimensional feature space to a reduced feature
+ * (r-feature) space which generally has fewer dimensions.
+ * This mainly helps to prevent over-fitting. */
float4 feature_matrix_sse[DENOISE_FEATURES * DENOISE_FEATURES];
math_matrix_zero_sse(feature_matrix_sse, num_features);
FOR_PIXEL_WINDOW_SSE
diff --git a/intern/cycles/kernel/kernel_path.h b/intern/cycles/kernel/kernel_path.h
index d45ffe9c7df..55abe39c465 100644
--- a/intern/cycles/kernel/kernel_path.h
+++ b/intern/cycles/kernel/kernel_path.h
@@ -459,7 +459,9 @@ ccl_device void kernel_path_indirect(KernelGlobals *kg,
throughput /= probability;
}
+# ifdef __DENOISING_FEATURES__
kernel_update_denoising_features(kg, sd, state, L);
+# endif
# ifdef __AO__
/* ambient occlusion */
diff --git a/intern/cycles/kernel/shaders/node_mix.osl b/intern/cycles/kernel/shaders/node_mix.osl
index 8caea6803ed..9fbd3391ade 100644
--- a/intern/cycles/kernel/shaders/node_mix.osl
+++ b/intern/cycles/kernel/shaders/node_mix.osl
@@ -91,12 +91,12 @@ color node_mix_diff(float t, color col1, color col2)
color node_mix_dark(float t, color col1, color col2)
{
- return min(col1, col2) * t + col1 * (1.0 - t);
+ return mix(col1, min(col1, col2), t);
}
color node_mix_light(float t, color col1, color col2)
{
- return max(col1, col2 * t);
+ return mix(col1, max(col1, col2), t);
}
color node_mix_dodge(float t, color col1, color col2)
diff --git a/intern/cycles/kernel/svm/svm_color_util.h b/intern/cycles/kernel/svm/svm_color_util.h
index 0f571eb7253..1a0fa03305e 100644
--- a/intern/cycles/kernel/svm/svm_color_util.h
+++ b/intern/cycles/kernel/svm/svm_color_util.h
@@ -92,12 +92,12 @@ ccl_device float3 svm_mix_diff(float t, float3 col1, float3 col2)
ccl_device float3 svm_mix_dark(float t, float3 col1, float3 col2)
{
- return min(col1, col2) * t + col1 * (1.0f - t);
+ return interp(col1, min(col1, col2), t);
}
ccl_device float3 svm_mix_light(float t, float3 col1, float3 col2)
{
- return max(col1, col2 * t);
+ return interp(col1, max(col1, col2), t);
}
ccl_device float3 svm_mix_dodge(float t, float3 col1, float3 col2)
diff --git a/intern/cycles/render/denoising.cpp b/intern/cycles/render/denoising.cpp
index 39bd8ce00c2..4d819d1119e 100644
--- a/intern/cycles/render/denoising.cpp
+++ b/intern/cycles/render/denoising.cpp
@@ -866,8 +866,10 @@ Denoiser::Denoiser(DeviceInfo &device_info)
TaskScheduler::init();
/* Initialize device. */
- DeviceRequestedFeatures req;
device = Device::create(device_info, stats, profiler, true);
+
+ DeviceRequestedFeatures req;
+ req.use_denoising = true;
device->load_kernels(req);
}
diff --git a/intern/cycles/render/light.cpp b/intern/cycles/render/light.cpp
index 8c7a21da561..dc3f7c8f8ac 100644
--- a/intern/cycles/render/light.cpp
+++ b/intern/cycles/render/light.cpp
@@ -221,13 +221,11 @@ void LightManager::disable_ineffective_light(Scene *scene)
*/
Shader *shader = (scene->background->shader) ? scene->background->shader :
scene->default_background;
- bool disable_mis = !(has_portal || shader->has_surface_spatial_varying);
- if (disable_mis) {
- VLOG(1) << "Background MIS has been disabled.\n";
- foreach (Light *light, scene->lights) {
- if (light->type == LIGHT_BACKGROUND) {
- light->is_enabled = false;
- }
+ const bool disable_mis = !(has_portal || shader->has_surface_spatial_varying);
+ VLOG_IF(1, disable_mis) << "Background MIS has been disabled.\n";
+ foreach (Light *light, scene->lights) {
+ if (light->type == LIGHT_BACKGROUND) {
+ light->is_enabled = !disable_mis;
}
}
}
diff --git a/intern/cycles/render/nodes.cpp b/intern/cycles/render/nodes.cpp
index 71f1863ea49..b58e10a7b52 100644
--- a/intern/cycles/render/nodes.cpp
+++ b/intern/cycles/render/nodes.cpp
@@ -5567,11 +5567,21 @@ void MapRangeNode::expand(ShaderGraph *graph)
ShaderOutput *result_out = output("Result");
if (!result_out->links.empty()) {
ClampNode *clamp_node = new ClampNode();
- clamp_node->min = to_min;
- clamp_node->max = to_max;
graph->add(clamp_node);
graph->relink(result_out, clamp_node->output("Result"));
graph->connect(result_out, clamp_node->input("Value"));
+ if (input("To Min")->link) {
+ graph->connect(input("To Min")->link, clamp_node->input("Min"));
+ }
+ else {
+ clamp_node->min = to_min;
+ }
+ if (input("To Max")->link) {
+ graph->connect(input("To Max")->link, clamp_node->input("Max"));
+ }
+ else {
+ clamp_node->max = to_max;
+ }
}
}
}
diff --git a/intern/cycles/render/osl.cpp b/intern/cycles/render/osl.cpp
index 19d27a7ef46..889552f49cd 100644
--- a/intern/cycles/render/osl.cpp
+++ b/intern/cycles/render/osl.cpp
@@ -673,9 +673,6 @@ void OSLCompiler::add(ShaderNode *node, const char *name, bool isfilepath)
/* checks to untangle graphs */
if (node_skip_input(node, input))
continue;
- /* already has default value assigned */
- else if (input->flags() & SocketType::DEFAULT_LINK_MASK)
- continue;
string param_name = compatible_name(node, input);
const SocketType &socket = input->socket_type;
diff --git a/intern/cycles/util/CMakeLists.txt b/intern/cycles/util/CMakeLists.txt
index a6a6b6704f0..0063422aaef 100644
--- a/intern/cycles/util/CMakeLists.txt
+++ b/intern/cycles/util/CMakeLists.txt
@@ -41,9 +41,13 @@ if(WITH_CYCLES_STANDALONE)
endif()
if(CYCLES_STANDALONE_REPOSITORY)
- list(APPEND INC_SYS ../../third_party/numaapi/include)
+ list(APPEND INC_SYS
+ ../../third_party/numaapi/include
+ )
else()
- list(APPEND INC_SYS ../../numaapi/include)
+ list(APPEND INC_SYS
+ ../../numaapi/include
+ )
endif()
set(SRC_HEADERS
@@ -119,7 +123,7 @@ set(SRC_HEADERS
util_types_float4_impl.h
util_types_float8.h
util_types_float8_impl.h
- util_types_int2.h
+ util_types_int2.h
util_types_int2_impl.h
util_types_int3.h
util_types_int3_impl.h
@@ -140,6 +144,7 @@ set(SRC_HEADERS
util_types_ushort4.h
util_types_vector3.h
util_types_vector3_impl.h
+ util_unique_ptr.h
util_vector.h
util_version.h
util_view.h
diff --git a/intern/cycles/util/util_defines.h b/intern/cycles/util/util_defines.h
index 2778cffba3a..b29d4163133 100644
--- a/intern/cycles/util/util_defines.h
+++ b/intern/cycles/util/util_defines.h
@@ -16,127 +16,127 @@
*/
#ifndef __UTIL_DEFINES_H__
-# define __UTIL_DEFINES_H__
+#define __UTIL_DEFINES_H__
/* Bitness */
-# if defined(__ppc64__) || defined(__PPC64__) || defined(__x86_64__) || defined(__ia64__) || \
- defined(_M_X64)
-# define __KERNEL_64_BIT__
-# endif
+#if defined(__ppc64__) || defined(__PPC64__) || defined(__x86_64__) || defined(__ia64__) || \
+ defined(_M_X64)
+# define __KERNEL_64_BIT__
+#endif
/* Qualifiers for kernel code shared by CPU and GPU */
-# ifndef __KERNEL_GPU__
-# define ccl_device static inline
-# define ccl_device_noinline static
-# define ccl_device_noinline_cpu ccl_device_noinline
-# define ccl_global
-# define ccl_static_constant static const
-# define ccl_constant const
-# define ccl_local
-# define ccl_local_param
-# define ccl_private
-# define ccl_restrict __restrict
-# define ccl_ref &
-# define ccl_optional_struct_init
-# define __KERNEL_WITH_SSE_ALIGN__
-
-# if defined(_WIN32) && !defined(FREE_WINDOWS)
-# define ccl_device_inline static __forceinline
-# define ccl_device_forceinline static __forceinline
-# define ccl_align(...) __declspec(align(__VA_ARGS__))
-# ifdef __KERNEL_64_BIT__
-# define ccl_try_align(...) __declspec(align(__VA_ARGS__))
-# else /* __KERNEL_64_BIT__ */
-# undef __KERNEL_WITH_SSE_ALIGN__
+#ifndef __KERNEL_GPU__
+# define ccl_device static inline
+# define ccl_device_noinline static
+# define ccl_device_noinline_cpu ccl_device_noinline
+# define ccl_global
+# define ccl_static_constant static const
+# define ccl_constant const
+# define ccl_local
+# define ccl_local_param
+# define ccl_private
+# define ccl_restrict __restrict
+# define ccl_ref &
+# define ccl_optional_struct_init
+# define __KERNEL_WITH_SSE_ALIGN__
+
+# if defined(_WIN32) && !defined(FREE_WINDOWS)
+# define ccl_device_inline static __forceinline
+# define ccl_device_forceinline static __forceinline
+# define ccl_align(...) __declspec(align(__VA_ARGS__))
+# ifdef __KERNEL_64_BIT__
+# define ccl_try_align(...) __declspec(align(__VA_ARGS__))
+# else /* __KERNEL_64_BIT__ */
+# undef __KERNEL_WITH_SSE_ALIGN__
/* No support for function arguments (error C2719). */
-# define ccl_try_align(...)
-# endif /* __KERNEL_64_BIT__ */
-# define ccl_may_alias
-# define ccl_always_inline __forceinline
-# define ccl_never_inline __declspec(noinline)
-# define ccl_maybe_unused
-# else /* _WIN32 && !FREE_WINDOWS */
-# define ccl_device_inline static inline __attribute__((always_inline))
-# define ccl_device_forceinline static inline __attribute__((always_inline))
-# define ccl_align(...) __attribute__((aligned(__VA_ARGS__)))
-# ifndef FREE_WINDOWS64
-# define __forceinline inline __attribute__((always_inline))
-# endif
-# define ccl_try_align(...) __attribute__((aligned(__VA_ARGS__)))
-# define ccl_may_alias __attribute__((__may_alias__))
-# define ccl_always_inline __attribute__((always_inline))
-# define ccl_never_inline __attribute__((noinline))
-# define ccl_maybe_unused __attribute__((used))
-# endif /* _WIN32 && !FREE_WINDOWS */
+# define ccl_try_align(...)
+# endif /* __KERNEL_64_BIT__ */
+# define ccl_may_alias
+# define ccl_always_inline __forceinline
+# define ccl_never_inline __declspec(noinline)
+# define ccl_maybe_unused
+# else /* _WIN32 && !FREE_WINDOWS */
+# define ccl_device_inline static inline __attribute__((always_inline))
+# define ccl_device_forceinline static inline __attribute__((always_inline))
+# define ccl_align(...) __attribute__((aligned(__VA_ARGS__)))
+# ifndef FREE_WINDOWS64
+# define __forceinline inline __attribute__((always_inline))
+# endif
+# define ccl_try_align(...) __attribute__((aligned(__VA_ARGS__)))
+# define ccl_may_alias __attribute__((__may_alias__))
+# define ccl_always_inline __attribute__((always_inline))
+# define ccl_never_inline __attribute__((noinline))
+# define ccl_maybe_unused __attribute__((used))
+# endif /* _WIN32 && !FREE_WINDOWS */
/* Use to suppress '-Wimplicit-fallthrough' (in place of 'break'). */
-# ifndef ATTR_FALLTHROUGH
-# if defined(__GNUC__) && (__GNUC__ >= 7) /* gcc7.0+ only */
-# define ATTR_FALLTHROUGH __attribute__((fallthrough))
-# else
-# define ATTR_FALLTHROUGH ((void)0)
-# endif
+# ifndef ATTR_FALLTHROUGH
+# if defined(__GNUC__) && (__GNUC__ >= 7) /* gcc7.0+ only */
+# define ATTR_FALLTHROUGH __attribute__((fallthrough))
+# else
+# define ATTR_FALLTHROUGH ((void)0)
# endif
-# endif /* __KERNEL_GPU__ */
+# endif
+#endif /* __KERNEL_GPU__ */
/* macros */
/* hints for branch prediction, only use in code that runs a _lot_ */
-# if defined(__GNUC__) && defined(__KERNEL_CPU__)
-# define LIKELY(x) __builtin_expect(!!(x), 1)
-# define UNLIKELY(x) __builtin_expect(!!(x), 0)
-# else
-# define LIKELY(x) (x)
-# define UNLIKELY(x) (x)
-# endif
-
-# if defined(__GNUC__) || defined(__clang__)
-# if defined(__cplusplus)
+#if defined(__GNUC__) && defined(__KERNEL_CPU__)
+# define LIKELY(x) __builtin_expect(!!(x), 1)
+# define UNLIKELY(x) __builtin_expect(!!(x), 0)
+#else
+# define LIKELY(x) (x)
+# define UNLIKELY(x) (x)
+#endif
+
+#if defined(__GNUC__) || defined(__clang__)
+# if defined(__cplusplus)
/* Some magic to be sure we don't have reference in the type. */
template<typename T> static inline T decltype_helper(T x)
{
return x;
}
-# define TYPEOF(x) decltype(decltype_helper(x))
-# else
-# define TYPEOF(x) typeof(x)
-# endif
+# define TYPEOF(x) decltype(decltype_helper(x))
+# else
+# define TYPEOF(x) typeof(x)
# endif
+#endif
/* Causes warning:
* incompatible types when assigning to type 'Foo' from type 'Bar'
* ... the compiler optimizes away the temp var */
-# ifdef __GNUC__
-# define CHECK_TYPE(var, type) \
- { \
- TYPEOF(var) * __tmp; \
- __tmp = (type *)NULL; \
- (void)__tmp; \
- } \
- (void)0
-
-# define CHECK_TYPE_PAIR(var_a, var_b) \
- { \
- TYPEOF(var_a) * __tmp; \
- __tmp = (typeof(var_b) *)NULL; \
- (void)__tmp; \
- } \
- (void)0
-# else
-# define CHECK_TYPE(var, type)
-# define CHECK_TYPE_PAIR(var_a, var_b)
-# endif
+#ifdef __GNUC__
+# define CHECK_TYPE(var, type) \
+ { \
+ TYPEOF(var) * __tmp; \
+ __tmp = (type *)NULL; \
+ (void)__tmp; \
+ } \
+ (void)0
+
+# define CHECK_TYPE_PAIR(var_a, var_b) \
+ { \
+ TYPEOF(var_a) * __tmp; \
+ __tmp = (typeof(var_b) *)NULL; \
+ (void)__tmp; \
+ } \
+ (void)0
+#else
+# define CHECK_TYPE(var, type)
+# define CHECK_TYPE_PAIR(var_a, var_b)
+#endif
/* can be used in simple macros */
-# define CHECK_TYPE_INLINE(val, type) ((void)(((type)0) != (val)))
-
-# ifndef __KERNEL_GPU__
-# include <cassert>
-# define util_assert(statement) assert(statement)
-# else
-# define util_assert(statement)
-# endif
+#define CHECK_TYPE_INLINE(val, type) ((void)(((type)0) != (val)))
+
+#ifndef __KERNEL_GPU__
+# include <cassert>
+# define util_assert(statement) assert(statement)
+#else
+# define util_assert(statement)
+#endif
#endif /* __UTIL_DEFINES_H__ */
diff --git a/intern/cycles/util/util_logging.h b/intern/cycles/util/util_logging.h
index 1a5e6666b32..3e56f0a0193 100644
--- a/intern/cycles/util/util_logging.h
+++ b/intern/cycles/util/util_logging.h
@@ -48,6 +48,7 @@ class LogMessageVoidify {
# define LOG_SUPPRESS() (true) ? ((void)0) : LogMessageVoidify() & StubStream()
# define LOG(severity) LOG_SUPPRESS()
# define VLOG(severity) LOG_SUPPRESS()
+# define VLOG_IF(severity, condition) LOG_SUPPRESS()
#endif
#define VLOG_ONCE(level, flag) \
diff --git a/intern/cycles/util/util_static_assert.h b/intern/cycles/util/util_static_assert.h
index b4b972a4036..ceb52830319 100644
--- a/intern/cycles/util/util_static_assert.h
+++ b/intern/cycles/util/util_static_assert.h
@@ -15,18 +15,18 @@
*/
#ifndef __UTIL_STATIC_ASSERT_H__
-# define __UTIL_STATIC_ASSERT_H__
+#define __UTIL_STATIC_ASSERT_H__
CCL_NAMESPACE_BEGIN
/* TODO(sergey): In theory CUDA might work with own static assert
* implementation since it's just pure C++.
*/
-# ifdef __KERNEL_GPU__
-# ifndef static_assert
-# define static_assert(statement, message)
-# endif
-# endif /* __KERNEL_GPU__ */
+#ifdef __KERNEL_GPU__
+# ifndef static_assert
+# define static_assert(statement, message)
+# endif
+#endif /* __KERNEL_GPU__ */
/* TODO(sergey): For until C++11 is a bare minimum for us,
* we do a bit of a trickery to show meaningful message so
@@ -42,8 +42,8 @@ CCL_NAMESPACE_BEGIN
* After C++11 bump it should be possible to glue structure
* name to the error message,
*/
-# define static_assert_align(st, align) \
- static_assert((sizeof(st) % (align) == 0), "Structure must be strictly aligned") // NOLINT
+#define static_assert_align(st, align) \
+ static_assert((sizeof(st) % (align) == 0), "Structure must be strictly aligned") // NOLINT
CCL_NAMESPACE_END
diff --git a/intern/cycles/util/util_thread.h b/intern/cycles/util/util_thread.h
index a9cfc309e0d..18ec5b32144 100644
--- a/intern/cycles/util/util_thread.h
+++ b/intern/cycles/util/util_thread.h
@@ -30,7 +30,7 @@
#endif
#ifdef __APPLE__
-# include <os/lock.h>
+# include <libkern/OSAtomic.h>
#endif
#include "util/util_function.h"
@@ -72,17 +72,17 @@ class thread_spin_lock {
#ifdef __APPLE__
inline thread_spin_lock()
{
- spin_ = OS_UNFAIR_LOCK_INIT;
+ spin_ = OS_SPINLOCK_INIT;
}
inline void lock()
{
- os_unfair_lock_lock(&spin_);
+ OSSpinLockLock(&spin_);
}
inline void unlock()
{
- os_unfair_lock_unlock(&spin_);
+ OSSpinLockUnlock(&spin_);
}
#elif defined(_WIN32)
inline thread_spin_lock()
@@ -128,7 +128,7 @@ class thread_spin_lock {
#endif
protected:
#ifdef __APPLE__
- os_unfair_lock spin_;
+ OSSpinLock spin_;
#elif defined(_WIN32)
CRITICAL_SECTION cs_;
#else
diff --git a/intern/ghost/CMakeLists.txt b/intern/ghost/CMakeLists.txt
index b096fecced8..ec2e84268be 100644
--- a/intern/ghost/CMakeLists.txt
+++ b/intern/ghost/CMakeLists.txt
@@ -152,6 +152,7 @@ elseif(APPLE AND NOT WITH_X11)
intern/GHOST_DisplayManagerCocoa.h
intern/GHOST_SystemCocoa.h
intern/GHOST_WindowCocoa.h
+ intern/GHOST_WindowViewCocoa.h
)
if(NOT WITH_GL_EGL)
@@ -182,6 +183,7 @@ elseif(WITH_X11)
intern/GHOST_WindowX11.cpp
intern/GHOST_DisplayManagerX11.h
+ intern/GHOST_IconX11.h
intern/GHOST_SystemX11.h
intern/GHOST_TaskbarX11.h
intern/GHOST_WindowX11.h
@@ -260,10 +262,10 @@ elseif(WITH_X11)
add_definitions(-DWITH_X11)
elseif(WIN32)
- ## Warnings as errors, this is too strict!
- #if(MSVC)
+ # # Warnings as errors, this is too strict!
+ # if(MSVC)
# set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /WX")
- #endif()
+ # endif()
list(APPEND INC_SYS
${WINTAB_INC}
diff --git a/intern/ghost/GHOST_C-api.h b/intern/ghost/GHOST_C-api.h
index 9c6a0861280..720929ce945 100644
--- a/intern/ghost/GHOST_C-api.h
+++ b/intern/ghost/GHOST_C-api.h
@@ -66,6 +66,25 @@ extern GHOST_SystemHandle GHOST_CreateSystem(void);
extern GHOST_TSuccess GHOST_DisposeSystem(GHOST_SystemHandle systemhandle);
/**
+ * Show a system message box to the user
+ * \param systemhandle The handle to the system
+ * \param title Title of the message box
+ * \param message Message of the message box
+ * \param help_label Text to show on the help button that opens a link
+ * \param continue_label Text to show on the ok button that continues
+ * \param link Optional (hyper)link to a webpage to show when pressing help
+ * \param dialog_options Options to configure the message box.
+ * \return void.
+ */
+extern void GHOST_ShowMessageBox(GHOST_SystemHandle systemhandle,
+ const char *title,
+ const char *message,
+ const char *help_label,
+ const char *continue_label,
+ const char *link,
+ GHOST_DialogOptions dialog_options);
+
+/**
* Creates an event consumer object
* \param eventCallback The event callback routine.
* \param userdata Pointer to user data returned to the callback routine.
@@ -176,10 +195,22 @@ extern GHOST_WindowHandle GHOST_CreateWindow(GHOST_SystemHandle systemhandle,
GHOST_TDrawingContextType type,
GHOST_GLSettings glSettings);
+extern GHOST_WindowHandle GHOST_CreateDialogWindow(GHOST_SystemHandle systemhandle,
+ GHOST_WindowHandle parent_windowhandle,
+ const char *title,
+ GHOST_TInt32 left,
+ GHOST_TInt32 top,
+ GHOST_TUns32 width,
+ GHOST_TUns32 height,
+ GHOST_TWindowState state,
+ GHOST_TDrawingContextType type,
+ GHOST_GLSettings glSettings);
+
/**
* Create a new offscreen context.
* Never explicitly delete the context, use disposeContext() instead.
* \param systemhandle The handle to the system
+ * \param platform_support_callback An optional callback to check platform support
* \return A handle to the new context ( == NULL if creation failed).
*/
extern GHOST_ContextHandle GHOST_CreateOpenGLContext(GHOST_SystemHandle systemhandle);
@@ -207,6 +238,8 @@ extern GHOST_TUserDataPtr GHOST_GetWindowUserData(GHOST_WindowHandle windowhandl
*/
extern void GHOST_SetWindowUserData(GHOST_WindowHandle windowhandle, GHOST_TUserDataPtr userdata);
+extern int GHOST_IsDialogWindow(GHOST_WindowHandle windowhandle);
+
/**
* Dispose a window.
* \param systemhandle The handle to the system
@@ -316,7 +349,8 @@ extern GHOST_TSuccess GHOST_EndProgressBar(GHOST_WindowHandle windowhandle);
extern GHOST_TStandardCursor GHOST_GetCursorShape(GHOST_WindowHandle windowhandle);
/**
- * Set the shape of the cursor.
+ * Set the shape of the cursor. If the shape is not supported by the platform,
+ * it will use the default cursor instead.
* \param windowhandle The handle to the window
* \param cursorshape The new cursor shape type id.
* \return Indication of success.
@@ -325,6 +359,13 @@ extern GHOST_TSuccess GHOST_SetCursorShape(GHOST_WindowHandle windowhandle,
GHOST_TStandardCursor cursorshape);
/**
+ * Test if the standard cursor shape is supported by current platform.
+ * \return Indication of success.
+ */
+extern GHOST_TSuccess GHOST_HasCursorShape(GHOST_WindowHandle windowhandle,
+ GHOST_TStandardCursor cursorshape);
+
+/**
* Set the shape of the cursor to a custom cursor of specified size.
* \param windowhandle The handle to the window
* \param bitmap The bitmap data for the cursor.
diff --git a/intern/ghost/GHOST_ISystem.h b/intern/ghost/GHOST_ISystem.h
index 27be80a2f20..b781de266bc 100644
--- a/intern/ghost/GHOST_ISystem.h
+++ b/intern/ghost/GHOST_ISystem.h
@@ -235,7 +235,8 @@ class GHOST_ISystem {
* \param state: The state of the window when opened.
* \param type: The type of drawing context installed in this window.
* \param glSettings: Misc OpenGL settings.
- * \param exclusive: Use to show the window on top and ignore others (used fullscreen).
+ * \param exclusive: Use to show the window on top and ignore others (used full-screen).
+ * \param is_dialog: Stay on top of parent window, no icon in taskbar, can't be minimized.
* \param parentWindow: Parent (embedder) window
* \return The new window (or 0 if creation failed).
*/
@@ -248,7 +249,8 @@ class GHOST_ISystem {
GHOST_TDrawingContextType type,
GHOST_GLSettings glSettings,
const bool exclusive = false,
- const GHOST_TEmbedderWindowID parentWindow = 0) = 0;
+ const bool is_dialog = false,
+ const GHOST_IWindow *parentWindow = NULL) = 0;
/**
* Dispose a window.
@@ -435,6 +437,27 @@ class GHOST_ISystem {
*/
virtual void putClipboard(GHOST_TInt8 *buffer, bool selection) const = 0;
+ /***************************************************************************************
+ * System Message Box.
+ ***************************************************************************************/
+
+ /**
+ * Show a system message box
+ *
+ * \param title The title of the message box
+ * \param message The message to display
+ * \param help_label Help button label
+ * \param continue_label Continue button label
+ * \param link An optional hyperlink
+ * \param dialog_options Options how to display the message
+ */
+ virtual GHOST_TSuccess showMessageBox(const char * /*title*/,
+ const char * /*message*/,
+ const char * /*help_label*/,
+ const char * /*continue_label*/,
+ const char * /*link*/,
+ GHOST_DialogOptions /*dialog_options*/) const = 0;
+
protected:
/**
* Initialize the system.
diff --git a/intern/ghost/GHOST_IWindow.h b/intern/ghost/GHOST_IWindow.h
index 1a1844bfe41..c19d4bdf6bd 100644
--- a/intern/ghost/GHOST_IWindow.h
+++ b/intern/ghost/GHOST_IWindow.h
@@ -241,6 +241,8 @@ class GHOST_IWindow {
*/
virtual void setUserData(const GHOST_TUserDataPtr userData) = 0;
+ virtual bool isDialog() const = 0;
+
/**
* Returns the tablet data (pressure etc).
* \return The tablet data (pressure etc).
@@ -280,6 +282,12 @@ class GHOST_IWindow {
virtual GHOST_TSuccess setCursorShape(GHOST_TStandardCursor cursorShape) = 0;
/**
+ * Test if the standard cursor shape is supported by current platform.
+ * \return Indication of success.
+ */
+ virtual GHOST_TSuccess hasCursorShape(GHOST_TStandardCursor cursorShape) = 0;
+
+ /**
* Set the shape of the cursor to a custom cursor.
* \param bitmap The bitmap data for the cursor.
* \param mask The mask data for the cursor.
diff --git a/intern/ghost/GHOST_Types.h b/intern/ghost/GHOST_Types.h
index 68516c3ecf8..32472373b17 100644
--- a/intern/ghost/GHOST_Types.h
+++ b/intern/ghost/GHOST_Types.h
@@ -58,6 +58,11 @@ typedef enum {
GHOST_glAlphaBackground = (1 << 2),
} GHOST_GLFlags;
+typedef enum GHOST_DialogOptions {
+ GHOST_DialogWarning = (1 << 0),
+ GHOST_DialogError = (1 << 1),
+} GHOST_DialogOptions;
+
#ifdef _MSC_VER
typedef __int64 GHOST_TInt64;
typedef unsigned __int64 GHOST_TUns64;
@@ -197,11 +202,27 @@ typedef enum {
GHOST_kStandardCursorInfo,
GHOST_kStandardCursorDestroy,
GHOST_kStandardCursorHelp,
- GHOST_kStandardCursorCycle,
- GHOST_kStandardCursorSpray,
GHOST_kStandardCursorWait,
GHOST_kStandardCursorText,
GHOST_kStandardCursorCrosshair,
+ GHOST_kStandardCursorCrosshairA,
+ GHOST_kStandardCursorCrosshairB,
+ GHOST_kStandardCursorCrosshairC,
+ GHOST_kStandardCursorPencil,
+ GHOST_kStandardCursorUpArrow,
+ GHOST_kStandardCursorDownArrow,
+ GHOST_kStandardCursorVerticalSplit,
+ GHOST_kStandardCursorHorizontalSplit,
+ GHOST_kStandardCursorEraser,
+ GHOST_kStandardCursorKnife,
+ GHOST_kStandardCursorEyedropper,
+ GHOST_kStandardCursorZoomIn,
+ GHOST_kStandardCursorZoomOut,
+ GHOST_kStandardCursorMove,
+ GHOST_kStandardCursorNSEWScroll,
+ GHOST_kStandardCursorNSScroll,
+ GHOST_kStandardCursorEWScroll,
+ GHOST_kStandardCursorStop,
GHOST_kStandardCursorUpDown,
GHOST_kStandardCursorLeftRight,
GHOST_kStandardCursorTopSide,
@@ -214,7 +235,6 @@ typedef enum {
GHOST_kStandardCursorBottomLeftCorner,
GHOST_kStandardCursorCopy,
GHOST_kStandardCursorCustom,
- GHOST_kStandardCursorPencil,
GHOST_kStandardCursorNumCursors
} GHOST_TStandardCursor;
diff --git a/intern/ghost/intern/GHOST_C-api.cpp b/intern/ghost/intern/GHOST_C-api.cpp
index 78f171af7d1..eeb23ea7471 100644
--- a/intern/ghost/intern/GHOST_C-api.cpp
+++ b/intern/ghost/intern/GHOST_C-api.cpp
@@ -47,6 +47,18 @@ GHOST_TSuccess GHOST_DisposeSystem(GHOST_SystemHandle systemhandle)
return system->disposeSystem();
}
+void GHOST_ShowMessageBox(GHOST_SystemHandle systemhandle,
+ const char *title,
+ const char *message,
+ const char *help_label,
+ const char *continue_label,
+ const char *link,
+ GHOST_DialogOptions dialog_options)
+{
+ GHOST_ISystem *system = (GHOST_ISystem *)systemhandle;
+ system->showMessageBox(title, message, help_label, continue_label, link, dialog_options);
+}
+
GHOST_EventConsumerHandle GHOST_CreateEventConsumer(GHOST_EventCallbackProcPtr eventCallback,
GHOST_TUserDataPtr userdata)
{
@@ -140,7 +152,33 @@ GHOST_WindowHandle GHOST_CreateWindow(GHOST_SystemHandle systemhandle,
GHOST_ISystem *system = (GHOST_ISystem *)systemhandle;
return (GHOST_WindowHandle)system->createWindow(
- title, left, top, width, height, state, type, glSettings, false);
+ title, left, top, width, height, state, type, glSettings, false, false);
+}
+
+GHOST_WindowHandle GHOST_CreateDialogWindow(GHOST_SystemHandle systemhandle,
+ GHOST_WindowHandle parent_windowhandle,
+ const char *title,
+ GHOST_TInt32 left,
+ GHOST_TInt32 top,
+ GHOST_TUns32 width,
+ GHOST_TUns32 height,
+ GHOST_TWindowState state,
+ GHOST_TDrawingContextType type,
+ GHOST_GLSettings glSettings)
+{
+ GHOST_ISystem *system = (GHOST_ISystem *)systemhandle;
+
+ return (GHOST_WindowHandle)system->createWindow(title,
+ left,
+ top,
+ width,
+ height,
+ state,
+ type,
+ glSettings,
+ false,
+ true,
+ (GHOST_IWindow *)parent_windowhandle);
}
GHOST_TUserDataPtr GHOST_GetWindowUserData(GHOST_WindowHandle windowhandle)
@@ -156,6 +194,13 @@ void GHOST_SetWindowUserData(GHOST_WindowHandle windowhandle, GHOST_TUserDataPtr
window->setUserData(userdata);
}
+int GHOST_IsDialogWindow(GHOST_WindowHandle windowhandle)
+{
+ GHOST_IWindow *window = (GHOST_IWindow *)windowhandle;
+
+ return (int)window->isDialog();
+}
+
GHOST_TSuccess GHOST_DisposeWindow(GHOST_SystemHandle systemhandle,
GHOST_WindowHandle windowhandle)
{
@@ -264,6 +309,14 @@ GHOST_TSuccess GHOST_SetCursorShape(GHOST_WindowHandle windowhandle,
return window->setCursorShape(cursorshape);
}
+GHOST_TSuccess GHOST_HasCursorShape(GHOST_WindowHandle windowhandle,
+ GHOST_TStandardCursor cursorshape)
+{
+ GHOST_IWindow *window = (GHOST_IWindow *)windowhandle;
+
+ return window->hasCursorShape(cursorshape);
+}
+
GHOST_TSuccess GHOST_SetCustomCursorShape(GHOST_WindowHandle windowhandle,
GHOST_TUns8 *bitmap,
GHOST_TUns8 *mask,
@@ -610,8 +663,13 @@ GHOST_TSuccess GHOST_ActivateWindowDrawingContext(GHOST_WindowHandle windowhandl
GHOST_TSuccess GHOST_ActivateOpenGLContext(GHOST_ContextHandle contexthandle)
{
GHOST_IContext *context = (GHOST_IContext *)contexthandle;
-
- return context->activateDrawingContext();
+ if (context) {
+ return context->activateDrawingContext();
+ }
+ else {
+ GHOST_PRINT("GHOST_ActivateOpenGLContext: Context not valid");
+ return GHOST_kFailure;
+ }
}
GHOST_TSuccess GHOST_ReleaseOpenGLContext(GHOST_ContextHandle contexthandle)
diff --git a/intern/ghost/intern/GHOST_ContextCGL.mm b/intern/ghost/intern/GHOST_ContextCGL.mm
index 0fca41306a6..12c340ffe97 100644
--- a/intern/ghost/intern/GHOST_ContextCGL.mm
+++ b/intern/ghost/intern/GHOST_ContextCGL.mm
@@ -34,8 +34,7 @@
static void ghost_fatal_error_dialog(const char *msg)
{
- @autoreleasepool
- {
+ @autoreleasepool {
NSString *message = [NSString stringWithFormat:@"Error opening window:\n%s", msg];
NSAlert *alert = [[NSAlert alloc] init];
@@ -338,8 +337,7 @@ static const OSType METAL_CORE_VIDEO_PIXEL_FORMAT = kCVPixelFormatType_32BGRA;
void GHOST_ContextCGL::metalInit()
{
- @autoreleasepool
- {
+ @autoreleasepool {
id<MTLDevice> device = m_metalLayer.device;
// Create a command queue for blit/present operation
@@ -534,8 +532,7 @@ void GHOST_ContextCGL::metalUpdateFramebuffer()
void GHOST_ContextCGL::metalSwapBuffers()
{
- @autoreleasepool
- {
+ @autoreleasepool {
updateDrawingContext();
glFlush();
diff --git a/intern/ghost/intern/GHOST_DisplayManagerWin32.cpp b/intern/ghost/intern/GHOST_DisplayManagerWin32.cpp
index 3b28f055191..aabaffc7732 100644
--- a/intern/ghost/intern/GHOST_DisplayManagerWin32.cpp
+++ b/intern/ghost/intern/GHOST_DisplayManagerWin32.cpp
@@ -24,8 +24,6 @@
#include "GHOST_DisplayManagerWin32.h"
#include "GHOST_Debug.h"
-#undef _WIN32_WINNT
-#define _WIN32_WINNT 0x501 // require Windows XP or newer
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
diff --git a/intern/ghost/intern/GHOST_System.h b/intern/ghost/intern/GHOST_System.h
index fbf8af01e59..893592e3cf5 100644
--- a/intern/ghost/intern/GHOST_System.h
+++ b/intern/ghost/intern/GHOST_System.h
@@ -105,14 +105,6 @@ class GHOST_System : public GHOST_ISystem {
***************************************************************************************/
/**
- * Inherited from GHOST_ISystem but left pure virtual
- *
- * virtual GHOST_TUns8 getNumDisplays() const = 0;
- * virtual void getMainDisplayDimensions(...) const = 0;
- * virtual GHOST_IWindow* createWindow(..)
- */
-
- /**
* Dispose a window.
* \param window Pointer to the window to be disposed.
* \return Indication of success.
@@ -317,6 +309,25 @@ class GHOST_System : public GHOST_ISystem {
*/
virtual void putClipboard(GHOST_TInt8 *buffer, bool selection) const = 0;
+ /**
+ * Show a system message box
+ * \param title The title of the message box
+ * \param message The message to display
+ * \param help_label Help button label
+ * \param continue_label Continue button label
+ * \param link An optional hyperlink
+ * \param dialog_options Options how to display the message
+ */
+ virtual GHOST_TSuccess showMessageBox(const char * /*title*/,
+ const char * /*message*/,
+ const char * /*help_label */,
+ const char * /*continue_label */,
+ const char * /*link*/,
+ GHOST_DialogOptions /*dialog_options*/) const
+ {
+ return GHOST_kFailure;
+ };
+
protected:
/**
* Initialize the system.
diff --git a/intern/ghost/intern/GHOST_SystemCocoa.h b/intern/ghost/intern/GHOST_SystemCocoa.h
index 109dd6c180d..1e44c3e31d4 100644
--- a/intern/ghost/intern/GHOST_SystemCocoa.h
+++ b/intern/ghost/intern/GHOST_SystemCocoa.h
@@ -109,7 +109,8 @@ class GHOST_SystemCocoa : public GHOST_System {
GHOST_TDrawingContextType type,
GHOST_GLSettings glSettings,
const bool exclusive = false,
- const GHOST_TEmbedderWindowID parentWindow = 0);
+ const bool is_dialog = false,
+ const GHOST_IWindow *parentWindow = NULL);
/**
* Create a new offscreen context.
@@ -232,6 +233,11 @@ class GHOST_SystemCocoa : public GHOST_System {
GHOST_TSuccess handleApplicationBecomeActiveEvent();
/**
+ * \return True if any dialog window is open.
+ */
+ bool hasDialogWindow();
+
+ /**
* External objects should call this when they send an event outside processEvents.
*/
void notifyExternalEventProcessed();
diff --git a/intern/ghost/intern/GHOST_SystemCocoa.mm b/intern/ghost/intern/GHOST_SystemCocoa.mm
index ae6ff897310..68bac7d153b 100644
--- a/intern/ghost/intern/GHOST_SystemCocoa.mm
+++ b/intern/ghost/intern/GHOST_SystemCocoa.mm
@@ -707,7 +707,8 @@ GHOST_IWindow *GHOST_SystemCocoa::createWindow(const STR_String &title,
GHOST_TDrawingContextType type,
GHOST_GLSettings glSettings,
const bool exclusive,
- const GHOST_TEmbedderWindowID parentWindow)
+ const bool is_dialog,
+ const GHOST_IWindow *parentWindow)
{
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
GHOST_IWindow *window = NULL;
@@ -735,7 +736,9 @@ GHOST_IWindow *GHOST_SystemCocoa::createWindow(const STR_String &title,
state,
type,
glSettings.flags & GHOST_glStereoVisual,
- glSettings.flags & GHOST_glDebugContext);
+ glSettings.flags & GHOST_glDebugContext,
+ is_dialog,
+ (GHOST_WindowCocoa *)parentWindow);
if (window->getValid()) {
// Store the pointer to the window
@@ -972,6 +975,13 @@ bool GHOST_SystemCocoa::processEvents(bool waitForEvent)
// Note: called from NSApplication delegate
GHOST_TSuccess GHOST_SystemCocoa::handleApplicationBecomeActiveEvent()
{
+ for (GHOST_IWindow *iwindow : m_windowManager->getWindows()) {
+ GHOST_WindowCocoa *window = (GHOST_WindowCocoa *)iwindow;
+ if (window->isDialog()) {
+ [window->getCocoaWindow() makeKeyAndOrderFront:nil];
+ }
+ }
+
// Update the modifiers key mask, as its status may have changed when the application
// was not active (that is when update events are sent to another application).
unsigned int modifiers;
@@ -1021,6 +1031,17 @@ GHOST_TSuccess GHOST_SystemCocoa::handleApplicationBecomeActiveEvent()
return GHOST_kSuccess;
}
+bool GHOST_SystemCocoa::hasDialogWindow()
+{
+ for (GHOST_IWindow *iwindow : m_windowManager->getWindows()) {
+ GHOST_WindowCocoa *window = (GHOST_WindowCocoa *)iwindow;
+ if (window->isDialog()) {
+ return true;
+ }
+ }
+ return false;
+}
+
void GHOST_SystemCocoa::notifyExternalEventProcessed()
{
m_outsideLoopEventProcessed = true;
@@ -1362,8 +1383,7 @@ bool GHOST_SystemCocoa::handleOpenDocumentRequest(void *filepathStr)
// Check open windows if some changes are not saved
if (m_windowManager->getAnyModifiedState()) {
- @autoreleasepool
- {
+ @autoreleasepool {
NSAlert *alert = [[NSAlert alloc] init];
NSString *title = [NSString stringWithFormat:@"Opening %@", [filepath lastPathComponent]];
NSString *text = @"Current document has not been saved.\nDo you really want to proceed?";
diff --git a/intern/ghost/intern/GHOST_SystemNULL.h b/intern/ghost/intern/GHOST_SystemNULL.h
index 93aea87e9a6..10138bfc6eb 100644
--- a/intern/ghost/intern/GHOST_SystemNULL.h
+++ b/intern/ghost/intern/GHOST_SystemNULL.h
@@ -114,8 +114,9 @@ class GHOST_SystemNULL : public GHOST_System {
GHOST_TWindowState state,
GHOST_TDrawingContextType type,
GHOST_GLSettings glSettings,
- bool exclusive,
- const GHOST_TEmbedderWindowID parentWindow)
+ const bool exclusive,
+ const bool is_dialog,
+ const GHOST_IWindow *parentWindow)
{
return new GHOST_WindowNULL(this,
title,
diff --git a/intern/ghost/intern/GHOST_SystemPathsWin32.cpp b/intern/ghost/intern/GHOST_SystemPathsWin32.cpp
index bdc403b947e..63a6b7224b5 100644
--- a/intern/ghost/intern/GHOST_SystemPathsWin32.cpp
+++ b/intern/ghost/intern/GHOST_SystemPathsWin32.cpp
@@ -39,15 +39,16 @@ GHOST_SystemPathsWin32::~GHOST_SystemPathsWin32()
const GHOST_TUns8 *GHOST_SystemPathsWin32::getSystemDir(int, const char *versionstr) const
{
- static char knownpath[MAX_PATH * 3 + 128] = {
- 0}; /* 1 utf-16 might translante into 3 utf-8. 2 utf-16 translates into 4 utf-8*/
- wchar_t knownpath_16[MAX_PATH];
+ /* 1 utf-16 might translante into 3 utf-8. 2 utf-16 translates into 4 utf-8*/
+ static char knownpath[MAX_PATH * 3 + 128] = {0};
+ PWSTR knownpath_16 = NULL;
- HRESULT hResult = SHGetFolderPathW(
- NULL, CSIDL_COMMON_APPDATA, NULL, SHGFP_TYPE_CURRENT, knownpath_16);
+ HRESULT hResult = SHGetKnownFolderPath(
+ FOLDERID_ProgramData, KF_FLAG_DEFAULT, NULL, &knownpath_16);
if (hResult == S_OK) {
conv_utf_16_to_8(knownpath_16, knownpath, MAX_PATH * 3);
+ CoTaskMemFree(knownpath_16);
strcat(knownpath, "\\Blender Foundation\\Blender\\");
strcat(knownpath, versionstr);
return (GHOST_TUns8 *)knownpath;
@@ -59,12 +60,14 @@ const GHOST_TUns8 *GHOST_SystemPathsWin32::getSystemDir(int, const char *version
const GHOST_TUns8 *GHOST_SystemPathsWin32::getUserDir(int, const char *versionstr) const
{
static char knownpath[MAX_PATH * 3 + 128] = {0};
- wchar_t knownpath_16[MAX_PATH];
+ PWSTR knownpath_16 = NULL;
- HRESULT hResult = SHGetFolderPathW(NULL, CSIDL_APPDATA, NULL, SHGFP_TYPE_CURRENT, knownpath_16);
+ HRESULT hResult = SHGetKnownFolderPath(
+ FOLDERID_RoamingAppData, KF_FLAG_DEFAULT, NULL, &knownpath_16);
if (hResult == S_OK) {
conv_utf_16_to_8(knownpath_16, knownpath, MAX_PATH * 3);
+ CoTaskMemFree(knownpath_16);
strcat(knownpath, "\\Blender Foundation\\Blender\\");
strcat(knownpath, versionstr);
return (GHOST_TUns8 *)knownpath;
diff --git a/intern/ghost/intern/GHOST_SystemPathsWin32.h b/intern/ghost/intern/GHOST_SystemPathsWin32.h
index 49d241df633..f1924ea51bc 100644
--- a/intern/ghost/intern/GHOST_SystemPathsWin32.h
+++ b/intern/ghost/intern/GHOST_SystemPathsWin32.h
@@ -28,8 +28,6 @@
# error WIN32 only!
#endif // WIN32
-#undef _WIN32_WINNT
-#define _WIN32_WINNT 0x501 // require Windows XP or newer
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
diff --git a/intern/ghost/intern/GHOST_SystemSDL.cpp b/intern/ghost/intern/GHOST_SystemSDL.cpp
index 520c62719f8..06a82db1de5 100644
--- a/intern/ghost/intern/GHOST_SystemSDL.cpp
+++ b/intern/ghost/intern/GHOST_SystemSDL.cpp
@@ -58,7 +58,8 @@ GHOST_IWindow *GHOST_SystemSDL::createWindow(const STR_String &title,
GHOST_TDrawingContextType type,
GHOST_GLSettings glSettings,
const bool exclusive,
- const GHOST_TEmbedderWindowID parentWindow)
+ const bool /* is_dialog */,
+ const GHOST_IWindow *parentWindow)
{
GHOST_WindowSDL *window = NULL;
@@ -69,10 +70,10 @@ GHOST_IWindow *GHOST_SystemSDL::createWindow(const STR_String &title,
width,
height,
state,
- parentWindow,
type,
((glSettings.flags & GHOST_glStereoVisual) != 0),
- exclusive);
+ exclusive,
+ parentWindow);
if (window) {
if (GHOST_kWindowStateFullScreen == state) {
diff --git a/intern/ghost/intern/GHOST_SystemSDL.h b/intern/ghost/intern/GHOST_SystemSDL.h
index 7dbdc3ccec8..c69a7c740bc 100644
--- a/intern/ghost/intern/GHOST_SystemSDL.h
+++ b/intern/ghost/intern/GHOST_SystemSDL.h
@@ -89,7 +89,8 @@ class GHOST_SystemSDL : public GHOST_System {
GHOST_TDrawingContextType type,
GHOST_GLSettings glSettings,
const bool exclusive = false,
- const GHOST_TEmbedderWindowID parentWindow = 0);
+ const bool is_dialog = false,
+ const GHOST_IWindow *parentWindow = NULL);
/* SDL specific */
GHOST_WindowSDL *findGhostWindow(SDL_Window *sdl_win);
diff --git a/intern/ghost/intern/GHOST_SystemWin32.cpp b/intern/ghost/intern/GHOST_SystemWin32.cpp
index 9073ed9944b..c86accf4ede 100644
--- a/intern/ghost/intern/GHOST_SystemWin32.cpp
+++ b/intern/ghost/intern/GHOST_SystemWin32.cpp
@@ -28,12 +28,21 @@
# define _WIN32_IE 0x0501 /* shipped before XP, so doesn't impose additional requirements */
#endif
+/* clang-format off */
+#pragma comment(linker,"\"/manifestdependency:type='win32' \
+name='Microsoft.Windows.Common-Controls' version='6.0.0.0' \
+processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'\"")
+/* clang-format on */
+
+#include <commctrl.h>
#include <shlobj.h>
#include <tlhelp32.h>
#include <psapi.h>
+#include <shellapi.h>
#include <windowsx.h>
#include "utfconv.h"
+#include "utf_winfunc.h"
#include "GHOST_DisplayManagerWin32.h"
#include "GHOST_EventButton.h"
@@ -266,7 +275,8 @@ GHOST_IWindow *GHOST_SystemWin32::createWindow(const STR_String &title,
GHOST_TDrawingContextType type,
GHOST_GLSettings glSettings,
const bool exclusive,
- const GHOST_TEmbedderWindowID parentWindow)
+ const bool is_dialog,
+ const GHOST_IWindow *parentWindow)
{
GHOST_WindowWin32 *window = new GHOST_WindowWin32(
this,
@@ -279,8 +289,9 @@ GHOST_IWindow *GHOST_SystemWin32::createWindow(const STR_String &title,
type,
((glSettings.flags & GHOST_glStereoVisual) != 0),
((glSettings.flags & GHOST_glAlphaBackground) != 0),
- parentWindow,
- ((glSettings.flags & GHOST_glDebugContext) != 0));
+ (GHOST_WindowWin32 *)parentWindow,
+ ((glSettings.flags & GHOST_glDebugContext) != 0),
+ is_dialog);
if (window->getValid()) {
// Store the pointer to the window
@@ -356,14 +367,8 @@ GHOST_IContext *GHOST_SystemWin32::createOffscreenContext()
goto finished;
}
else {
- MessageBox(NULL,
- "A graphics card and driver with support for OpenGL 3.3 or higher is required.\n"
- "Installing the latest driver for your graphics card may resolve the issue.\n\n"
- "The program will now close.",
- "Blender - Unsupported Graphics Card or Driver",
- MB_OK | MB_ICONERROR);
delete context;
- exit();
+ return NULL;
}
#elif defined(WITH_GL_PROFILE_COMPAT)
@@ -514,6 +519,7 @@ GHOST_TSuccess GHOST_SystemWin32::getButtons(GHOST_Buttons &buttons) const
GHOST_TSuccess GHOST_SystemWin32::init()
{
GHOST_TSuccess success = GHOST_System::init();
+ InitCommonControls();
/* Disable scaling on high DPI displays on Vista */
HMODULE
@@ -1774,6 +1780,57 @@ void GHOST_SystemWin32::putClipboard(GHOST_TInt8 *buffer, bool selection) const
}
}
+/** \name Message Box
+ * \{ */
+GHOST_TSuccess GHOST_SystemWin32::showMessageBox(const char *title,
+ const char *message,
+ const char *help_label,
+ const char *continue_label,
+ const char *link,
+ GHOST_DialogOptions dialog_options) const
+{
+ const wchar_t *title_16 = alloc_utf16_from_8(title, 0);
+ const wchar_t *message_16 = alloc_utf16_from_8(message, 0);
+ const wchar_t *help_label_16 = alloc_utf16_from_8(help_label, 0);
+ const wchar_t *continue_label_16 = alloc_utf16_from_8(continue_label, 0);
+
+ int nButtonPressed = 0;
+ TASKDIALOGCONFIG config = {0};
+ const TASKDIALOG_BUTTON buttons[] = {{IDOK, help_label_16}, {IDCONTINUE, continue_label_16}};
+
+ config.cbSize = sizeof(config);
+ config.hInstance = 0;
+ config.dwCommonButtons = 0;
+ config.pszMainIcon = (dialog_options & GHOST_DialogError ?
+ TD_ERROR_ICON :
+ dialog_options & GHOST_DialogWarning ? TD_WARNING_ICON :
+ TD_INFORMATION_ICON);
+ config.pszWindowTitle = L"Blender";
+ config.pszMainInstruction = title_16;
+ config.pszContent = message_16;
+ config.pButtons = (link) ? buttons : buttons + 1;
+ config.cButtons = (link) ? 2 : 1;
+
+ TaskDialogIndirect(&config, &nButtonPressed, NULL, NULL);
+ switch (nButtonPressed) {
+ case IDOK:
+ ShellExecute(NULL, "open", link, NULL, NULL, SW_SHOWNORMAL);
+ break;
+ case IDCONTINUE:
+ break;
+ default:
+ break; // should never happen
+ }
+
+ free((void *)title_16);
+ free((void *)message_16);
+ free((void *)help_label_16);
+ free((void *)continue_label_16);
+
+ return GHOST_kSuccess;
+}
+/* \} */
+
static DWORD GetParentProcessID(void)
{
HANDLE snapshot;
diff --git a/intern/ghost/intern/GHOST_SystemWin32.h b/intern/ghost/intern/GHOST_SystemWin32.h
index 7ac6a3e3e20..b069e6cf3b6 100644
--- a/intern/ghost/intern/GHOST_SystemWin32.h
+++ b/intern/ghost/intern/GHOST_SystemWin32.h
@@ -29,10 +29,6 @@
# error WIN32 only!
#endif // WIN32
-/* require Windows XP or newer */
-#undef _WIN32_WINNT
-#define _WIN32_WINNT 0x501
-
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#include <ole2.h> // for drag-n-drop
@@ -112,7 +108,7 @@ class GHOST_SystemWin32 : public GHOST_System {
* \param type The type of drawing context installed in this window.
* \param glSettings: Misc OpenGL settings.
* \param exclusive: Use to show the window ontop and ignore others (used fullscreen).
- * \param parentWindow Parent (embedder) window
+ * \param parentWindow Parent window
* \return The new window (or 0 if creation failed).
*/
GHOST_IWindow *createWindow(const STR_String &title,
@@ -124,7 +120,8 @@ class GHOST_SystemWin32 : public GHOST_System {
GHOST_TDrawingContextType type,
GHOST_GLSettings glSettings,
const bool exclusive = false,
- const GHOST_TEmbedderWindowID parentWindow = 0);
+ const bool is_dialog = false,
+ const GHOST_IWindow *parentWindow = 0);
/**
* Create a new offscreen context.
@@ -204,6 +201,22 @@ class GHOST_SystemWin32 : public GHOST_System {
void putClipboard(GHOST_TInt8 *buffer, bool selection) const;
/**
+ * Show a system message box
+ * \param title The title of the message box
+ * \param message The message to display
+ * \param help_label Help button label
+ * \param continue_label Continue button label
+ * \param link An optional hyperlink
+ * \param dialog_options Options how to display the message
+ */
+ GHOST_TSuccess showMessageBox(const char *title,
+ const char *message,
+ const char *help_label,
+ const char *continue_label,
+ const char *link,
+ GHOST_DialogOptions dialog_options) const;
+
+ /**
* Creates a drag'n'drop event and pushes it immediately onto the event queue.
* Called by GHOST_DropTargetWin32 class.
* \param eventType: The type of drag'n'drop event
diff --git a/intern/ghost/intern/GHOST_SystemX11.cpp b/intern/ghost/intern/GHOST_SystemX11.cpp
index e46edeeac9a..1ca412fbccc 100644
--- a/intern/ghost/intern/GHOST_SystemX11.cpp
+++ b/intern/ghost/intern/GHOST_SystemX11.cpp
@@ -324,7 +324,7 @@ void GHOST_SystemX11::getAllDisplayDimensions(GHOST_TUns32 &width, GHOST_TUns32
* \param type The type of drawing context installed in this window.
* \param glSettings: Misc OpenGL settings.
* \param exclusive: Use to show the window ontop and ignore others (used fullscreen).
- * \param parentWindow Parent (embedder) window
+ * \param parentWindow Parent window
* \return The new window (or 0 if creation failed).
*/
GHOST_IWindow *GHOST_SystemX11::createWindow(const STR_String &title,
@@ -336,7 +336,8 @@ GHOST_IWindow *GHOST_SystemX11::createWindow(const STR_String &title,
GHOST_TDrawingContextType type,
GHOST_GLSettings glSettings,
const bool exclusive,
- const GHOST_TEmbedderWindowID parentWindow)
+ const bool is_dialog,
+ const GHOST_IWindow *parentWindow)
{
GHOST_WindowX11 *window = NULL;
@@ -351,8 +352,9 @@ GHOST_IWindow *GHOST_SystemX11::createWindow(const STR_String &title,
width,
height,
state,
- parentWindow,
+ (GHOST_WindowX11 *)parentWindow,
type,
+ is_dialog,
((glSettings.flags & GHOST_glStereoVisual) != 0),
exclusive,
((glSettings.flags & GHOST_glAlphaBackground) != 0),
@@ -2143,6 +2145,222 @@ void GHOST_SystemX11::putClipboard(GHOST_TInt8 *buffer, bool selection) const
}
}
+/** \name Message Box
+ * \{ */
+class DialogData {
+ public:
+ /* Width of the dialog */
+ uint width;
+ /* Heigth of the dialog */
+ uint height;
+ /* Default padding (x direction) between controls and edge of dialog */
+ uint padding_x;
+ /* Default padding (y direction) between controls and edge of dialog */
+ uint padding_y;
+ /* Width of a single button */
+ uint button_width;
+ /* Height of a single button */
+ uint button_height;
+ /* Inset of a button to its text */
+ uint button_inset_x;
+ /* Size of the border of the button */
+ uint button_border_size;
+ /* Height of a line of text */
+ uint line_height;
+ /* offset of the text inside the button */
+ uint button_text_offset_y;
+
+ /* Construct a new DialogData with the default settings */
+ DialogData()
+ : width(640),
+ height(175),
+ padding_x(10),
+ padding_y(5),
+ button_width(130),
+ button_height(24),
+ button_inset_x(10),
+ button_border_size(1),
+ line_height(16)
+ {
+ button_text_offset_y = button_height - line_height;
+ }
+
+ void drawButton(Display *display,
+ Window &window,
+ GC &borderGC,
+ GC &buttonGC,
+ uint button_num,
+ const char *label)
+ {
+ XFillRectangle(display,
+ window,
+ borderGC,
+ width - (padding_x + button_width) * button_num,
+ height - padding_y - button_height,
+ button_width,
+ button_height);
+
+ XFillRectangle(display,
+ window,
+ buttonGC,
+ width - (padding_x + button_width) * button_num + button_border_size,
+ height - padding_y - button_height + button_border_size,
+ button_width - button_border_size * 2,
+ button_height - button_border_size * 2);
+
+ XDrawString(display,
+ window,
+ borderGC,
+ width - (padding_x + button_width) * button_num + button_inset_x,
+ height - padding_y - button_text_offset_y,
+ label,
+ strlen(label));
+ }
+
+ /* Is the mouse inside the given button */
+ bool isInsideButton(XEvent &e, uint button_num)
+ {
+ return ((e.xmotion.y > height - padding_y - button_height) &&
+ (e.xmotion.y < height - padding_y) &&
+ (e.xmotion.x > width - (padding_x + button_width) * button_num) &&
+ (e.xmotion.x < width - padding_x - (padding_x + button_width) * (button_num - 1)));
+ }
+};
+
+static void split(const char *text, const char *seps, char ***str, int *count)
+{
+ char *tok, *data;
+ int i;
+ *count = 0;
+
+ data = strdup(text);
+ for (tok = strtok(data, seps); tok != NULL; tok = strtok(NULL, seps))
+ (*count)++;
+ free(data);
+
+ data = strdup(text);
+ *str = (char **)malloc((size_t)(*count) * sizeof(char *));
+ for (i = 0, tok = strtok(data, seps); tok != NULL; tok = strtok(NULL, seps), i++)
+ (*str)[i] = strdup(tok);
+ free(data);
+}
+
+GHOST_TSuccess GHOST_SystemX11::showMessageBox(const char *title,
+ const char *message,
+ const char *help_label,
+ const char *continue_label,
+ const char *link,
+ GHOST_DialogOptions) const
+{
+ char **text_splitted = NULL;
+ int textLines = 0;
+ split(message, "\n", &text_splitted, &textLines);
+
+ DialogData dialog_data;
+ XSizeHints hints;
+
+ Window window;
+ XEvent e;
+ int screen = DefaultScreen(m_display);
+ window = XCreateSimpleWindow(m_display,
+ RootWindow(m_display, screen),
+ 0,
+ 0,
+ dialog_data.width,
+ dialog_data.height,
+ 1,
+ BlackPixel(m_display, screen),
+ WhitePixel(m_display, screen));
+
+ /* Window Should not be resizable */
+ {
+ hints.flags = PSize | PMinSize | PMaxSize;
+ hints.min_width = hints.max_width = hints.base_width = dialog_data.width;
+ hints.min_height = hints.max_height = hints.base_height = dialog_data.height;
+ XSetWMNormalHints(m_display, window, &hints);
+ }
+
+ /* Set title */
+ {
+ Atom wm_Name = XInternAtom(m_display, "_NET_WM_NAME", False);
+ Atom utf8Str = XInternAtom(m_display, "UTF8_STRING", False);
+
+ Atom winType = XInternAtom(m_display, "_NET_WM_WINDOW_TYPE", False);
+ Atom typeDialog = XInternAtom(m_display, "_NET_WM_WINDOW_TYPE_DIALOG", False);
+
+ XChangeProperty(m_display,
+ window,
+ wm_Name,
+ utf8Str,
+ 8,
+ PropModeReplace,
+ (const unsigned char *)title,
+ (int)strlen(title));
+
+ XChangeProperty(
+ m_display, window, winType, XA_ATOM, 32, PropModeReplace, (unsigned char *)&typeDialog, 1);
+ }
+
+ /* Create buttons GC */
+ XGCValues buttonBorderGCValues;
+ buttonBorderGCValues.foreground = BlackPixel(m_display, screen);
+ buttonBorderGCValues.background = WhitePixel(m_display, screen);
+ XGCValues buttonGCValues;
+ buttonGCValues.foreground = WhitePixel(m_display, screen);
+ buttonGCValues.background = BlackPixel(m_display, screen);
+
+ GC buttonBorderGC = XCreateGC(m_display, window, GCForeground, &buttonBorderGCValues);
+ GC buttonGC = XCreateGC(m_display, window, GCForeground, &buttonGCValues);
+
+ XSelectInput(m_display, window, ExposureMask | ButtonPressMask | ButtonReleaseMask);
+ XMapWindow(m_display, window);
+
+ while (1) {
+ XNextEvent(m_display, &e);
+ if (e.type == Expose) {
+ for (int i = 0; i < textLines; i++) {
+ XDrawString(m_display,
+ window,
+ DefaultGC(m_display, screen),
+ dialog_data.padding_x,
+ dialog_data.padding_x + (i + 1) * dialog_data.line_height,
+ text_splitted[i],
+ (int)strlen(text_splitted[i]));
+ }
+ dialog_data.drawButton(m_display, window, buttonBorderGC, buttonGC, 1, continue_label);
+ if (strlen(link)) {
+ dialog_data.drawButton(m_display, window, buttonBorderGC, buttonGC, 2, help_label);
+ }
+ }
+ else if (e.type == ButtonRelease) {
+ if (dialog_data.isInsideButton(e, 1)) {
+ break;
+ }
+ else if (dialog_data.isInsideButton(e, 2)) {
+ if (strlen(link)) {
+ string cmd = "xdg-open \"" + string(link) + "\"";
+ if (system(cmd.c_str()) != 0) {
+ GHOST_PRINTF("GHOST_SystemX11::showMessageBox: Unable to run system command [%s]",
+ cmd);
+ }
+ }
+ break;
+ }
+ }
+ }
+
+ for (int i = 0; i < textLines; i++) {
+ free(text_splitted[i]);
+ }
+ free(text_splitted);
+
+ XDestroyWindow(m_display, window);
+ XFreeGC(m_display, buttonBorderGC);
+ XFreeGC(m_display, buttonGC);
+ return GHOST_kSuccess;
+}
+/* \} */
+
#ifdef WITH_XDND
GHOST_TSuccess GHOST_SystemX11::pushDragDropEvent(GHOST_TEventType eventType,
GHOST_TDragnDropTypes draggedObjectType,
@@ -2303,26 +2521,30 @@ void GHOST_SystemX11::refreshXInputDevices()
/* Find how many pressure levels tablet has */
XAnyClassPtr ici = device_info[i].inputclassinfo;
- for (int j = 0; j < xtablet.Device->num_classes; ++j) {
- if (ici->c_class == ValuatorClass) {
- XValuatorInfo *xvi = (XValuatorInfo *)ici;
- xtablet.PressureLevels = xvi->axes[2].max_value;
-
- if (xvi->num_axes > 3) {
- /* this is assuming that the tablet has the same tilt resolution in both
- * positive and negative directions. It would be rather weird if it didn't.. */
- xtablet.XtiltLevels = xvi->axes[3].max_value;
- xtablet.YtiltLevels = xvi->axes[4].max_value;
- }
- else {
- xtablet.XtiltLevels = 0;
- xtablet.YtiltLevels = 0;
+ if (ici != NULL) {
+ for (int j = 0; j < xtablet.Device->num_classes; ++j) {
+ if (ici->c_class == ValuatorClass) {
+ XValuatorInfo *xvi = (XValuatorInfo *)ici;
+ if (xvi->axes != NULL) {
+ xtablet.PressureLevels = xvi->axes[2].max_value;
+
+ if (xvi->num_axes > 3) {
+ /* this is assuming that the tablet has the same tilt resolution in both
+ * positive and negative directions. It would be rather weird if it didn't.. */
+ xtablet.XtiltLevels = xvi->axes[3].max_value;
+ xtablet.YtiltLevels = xvi->axes[4].max_value;
+ }
+ else {
+ xtablet.XtiltLevels = 0;
+ xtablet.YtiltLevels = 0;
+ }
+
+ break;
+ }
}
- break;
+ ici = (XAnyClassPtr)(((char *)ici) + ici->length);
}
-
- ici = (XAnyClassPtr)(((char *)ici) + ici->length);
}
m_xtablets.push_back(xtablet);
diff --git a/intern/ghost/intern/GHOST_SystemX11.h b/intern/ghost/intern/GHOST_SystemX11.h
index 1fe94b40f17..67dd0789ac3 100644
--- a/intern/ghost/intern/GHOST_SystemX11.h
+++ b/intern/ghost/intern/GHOST_SystemX11.h
@@ -146,7 +146,8 @@ class GHOST_SystemX11 : public GHOST_System {
GHOST_TDrawingContextType type,
GHOST_GLSettings glSettings,
const bool exclusive = false,
- const GHOST_TEmbedderWindowID parentWindow = 0);
+ const bool is_dialog = false,
+ const GHOST_IWindow *parentWindow = 0);
/**
* Create a new offscreen context.
@@ -232,6 +233,21 @@ class GHOST_SystemX11 : public GHOST_System {
*/
void putClipboard(GHOST_TInt8 *buffer, bool selection) const;
+ /**
+ * Show a system message box
+ * \param title The title of the message box
+ * \param message The message to display
+ * \param help_label Help button label
+ * \param continue_label Continue button label
+ * \param link An optional hyperlink
+ * \param dialog_options Options how to display the message
+ */
+ GHOST_TSuccess showMessageBox(const char *title,
+ const char *message,
+ const char *help_label,
+ const char *continue_label,
+ const char *link,
+ GHOST_DialogOptions dialog_options) const;
#ifdef WITH_XDND
/**
* Creates a drag'n'drop event and pushes it immediately onto the event queue.
diff --git a/intern/ghost/intern/GHOST_TaskbarWin32.h b/intern/ghost/intern/GHOST_TaskbarWin32.h
index b1b81337494..abf1172cea8 100644
--- a/intern/ghost/intern/GHOST_TaskbarWin32.h
+++ b/intern/ghost/intern/GHOST_TaskbarWin32.h
@@ -24,10 +24,6 @@
# error WIN32 only!
#endif // WIN32
-/* require Windows XP or newer */
-#undef _WIN32_WINNT
-#define _WIN32_WINNT 0x501
-
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#include <shlobj.h>
diff --git a/intern/ghost/intern/GHOST_Window.h b/intern/ghost/intern/GHOST_Window.h
index 5f9e8ffdd5e..553a7d89df4 100644
--- a/intern/ghost/intern/GHOST_Window.h
+++ b/intern/ghost/intern/GHOST_Window.h
@@ -109,6 +109,11 @@ class GHOST_Window : public GHOST_IWindow {
*/
inline GHOST_TStandardCursor getCursorShape() const;
+ inline bool isDialog() const
+ {
+ return false;
+ }
+
/**
* Set the shape of the cursor.
* \param cursorShape: The new cursor shape type id.
diff --git a/intern/ghost/intern/GHOST_WindowCocoa.h b/intern/ghost/intern/GHOST_WindowCocoa.h
index 5e857c05a09..d260d0eacbc 100644
--- a/intern/ghost/intern/GHOST_WindowCocoa.h
+++ b/intern/ghost/intern/GHOST_WindowCocoa.h
@@ -66,7 +66,9 @@ class GHOST_WindowCocoa : public GHOST_Window {
GHOST_TWindowState state,
GHOST_TDrawingContextType type = GHOST_kDrawingContextTypeNone,
const bool stereoVisual = false,
- bool is_debug = false);
+ bool is_debug = false,
+ bool dialog = false,
+ GHOST_WindowCocoa *parentWindow = 0);
/**
* Destructor.
@@ -215,8 +217,11 @@ class GHOST_WindowCocoa : public GHOST_Window {
*/
GHOST_TSuccess setOrder(GHOST_TWindowOrder order);
+ NSCursor *getStandardCursor(GHOST_TStandardCursor cursor) const;
void loadCursor(bool visible, GHOST_TStandardCursor cursor) const;
+ bool isDialog() const;
+
const GHOST_TabletData *GetTabletData()
{
return &m_tablet;
@@ -296,6 +301,7 @@ class GHOST_WindowCocoa : public GHOST_Window {
* native window system calls.
*/
GHOST_TSuccess setWindowCursorShape(GHOST_TStandardCursor shape);
+ GHOST_TSuccess hasCursorShape(GHOST_TStandardCursor shape);
/**
* Sets the cursor shape on the window using
@@ -326,6 +332,7 @@ class GHOST_WindowCocoa : public GHOST_Window {
bool m_immediateDraw;
bool m_debug_context; // for debug messages during context setup
+ bool m_is_dialog;
};
#endif // __GHOST_WINDOWCOCOA_H__
diff --git a/intern/ghost/intern/GHOST_WindowCocoa.mm b/intern/ghost/intern/GHOST_WindowCocoa.mm
index 0b8e808b84e..1d89da90a32 100644
--- a/intern/ghost/intern/GHOST_WindowCocoa.mm
+++ b/intern/ghost/intern/GHOST_WindowCocoa.mm
@@ -166,7 +166,8 @@
- (BOOL)canBecomeKeyWindow
{
- return YES;
+ /* Don't make other windows active when a dialog window is open. */
+ return (associatedWindow->isDialog() || !systemCocoa->hasDialogWindow());
}
//The drag'n'drop dragging destination methods
@@ -290,7 +291,9 @@ GHOST_WindowCocoa::GHOST_WindowCocoa(GHOST_SystemCocoa *systemCocoa,
GHOST_TWindowState state,
GHOST_TDrawingContextType type,
const bool stereoVisual,
- bool is_debug)
+ bool is_debug,
+ bool is_dialog,
+ GHOST_WindowCocoa *parentWindow)
: GHOST_Window(width, height, state, stereoVisual, false),
m_openGLView(nil),
m_metalView(nil),
@@ -298,7 +301,8 @@ GHOST_WindowCocoa::GHOST_WindowCocoa(GHOST_SystemCocoa *systemCocoa,
m_systemCocoa(systemCocoa),
m_customCursor(0),
m_immediateDraw(false),
- m_debug_context(is_debug)
+ m_debug_context(is_debug),
+ m_is_dialog(is_dialog)
{
m_fullScreen = false;
@@ -313,12 +317,16 @@ GHOST_WindowCocoa::GHOST_WindowCocoa(GHOST_SystemCocoa *systemCocoa,
rect.size.width = width;
rect.size.height = height;
- m_window = [[CocoaWindow alloc]
- initWithContentRect:rect
- styleMask:NSWindowStyleMaskTitled | NSWindowStyleMaskClosable |
- NSWindowStyleMaskResizable | NSWindowStyleMaskMiniaturizable
- backing:NSBackingStoreBuffered
- defer:NO];
+ NSWindowStyleMask styleMask = NSWindowStyleMaskTitled | NSWindowStyleMaskClosable |
+ NSWindowStyleMaskResizable;
+ if (!is_dialog) {
+ styleMask |= NSWindowStyleMaskMiniaturizable;
+ }
+
+ m_window = [[CocoaWindow alloc] initWithContentRect:rect
+ styleMask:styleMask
+ backing:NSBackingStoreBuffered
+ defer:NO];
if (m_window == nil) {
[pool drain];
@@ -388,7 +396,7 @@ GHOST_WindowCocoa::GHOST_WindowCocoa(GHOST_SystemCocoa *systemCocoa,
[m_window setAcceptsMouseMovedEvents:YES];
NSView *contentview = [m_window contentView];
- [contentview setAllowedTouchTypes:(NSTouchTypeMaskDirect | NSTouchTypeMaskIndirect)];
+ [contentview setAcceptsTouchEvents:YES];
[m_window registerForDraggedTypes:[NSArray arrayWithObjects:NSFilenamesPboardType,
NSStringPboardType,
@@ -402,6 +410,10 @@ GHOST_WindowCocoa::GHOST_WindowCocoa(GHOST_SystemCocoa *systemCocoa,
if (state == GHOST_kWindowStateFullScreen)
setState(GHOST_kWindowStateFullScreen);
+ if (is_dialog && parentWindow) {
+ [parentWindow->getCocoaWindow() addChildWindow:m_window ordered:NSWindowAbove];
+ }
+
setNativePixelSize();
[pool drain];
@@ -548,10 +560,8 @@ void GHOST_WindowCocoa::getClientBounds(GHOST_Rect &bounds) const
NSRect screenSize = [[m_window screen] visibleFrame];
// Max window contents as screen size (excluding title bar...)
- NSRect contentRect = [CocoaWindow
- contentRectForFrameRect:screenSize
- styleMask:(NSWindowStyleMaskTitled | NSWindowStyleMaskClosable |
- NSWindowStyleMaskMiniaturizable | NSWindowStyleMaskResizable)];
+ NSRect contentRect = [CocoaWindow contentRectForFrameRect:screenSize
+ styleMask:[m_window styleMask]];
rect = [m_window contentRectForFrameRect:[m_window frame]];
@@ -925,12 +935,107 @@ GHOST_TSuccess GHOST_WindowCocoa::endProgressBar()
#pragma mark Cursor handling
-void GHOST_WindowCocoa::loadCursor(bool visible, GHOST_TStandardCursor cursor) const
+static NSCursor *getImageCursor(GHOST_TStandardCursor shape, NSString *name, NSPoint hotspot)
{
- static bool systemCursorVisible = true;
+ static NSCursor *cursors[(int)GHOST_kStandardCursorNumCursors] = {0};
+ static bool loaded[(int)GHOST_kStandardCursorNumCursors] = {false};
+
+ const int index = (int)shape;
+ if (!loaded[index]) {
+ /* Load image from file in application Resources folder. */
+ @autoreleasepool {
+ NSImage *image = [NSImage imageNamed:name];
+ if (image != NULL) {
+ cursors[index] = [[NSCursor alloc] initWithImage:image hotSpot:hotspot];
+ }
+ }
+
+ loaded[index] = true;
+ }
+
+ return cursors[index];
+}
- NSCursor *tmpCursor = nil;
+NSCursor *GHOST_WindowCocoa::getStandardCursor(GHOST_TStandardCursor shape) const
+{
+ switch (shape) {
+ case GHOST_kStandardCursorCustom:
+ if (m_customCursor) {
+ return m_customCursor;
+ }
+ else {
+ return NULL;
+ }
+ case GHOST_kStandardCursorDestroy:
+ return [NSCursor disappearingItemCursor];
+ case GHOST_kStandardCursorText:
+ return [NSCursor IBeamCursor];
+ case GHOST_kStandardCursorCrosshair:
+ return [NSCursor crosshairCursor];
+ case GHOST_kStandardCursorUpDown:
+ return [NSCursor resizeUpDownCursor];
+ case GHOST_kStandardCursorLeftRight:
+ return [NSCursor resizeLeftRightCursor];
+ case GHOST_kStandardCursorTopSide:
+ return [NSCursor resizeUpCursor];
+ case GHOST_kStandardCursorBottomSide:
+ return [NSCursor resizeDownCursor];
+ case GHOST_kStandardCursorLeftSide:
+ return [NSCursor resizeLeftCursor];
+ case GHOST_kStandardCursorRightSide:
+ return [NSCursor resizeRightCursor];
+ case GHOST_kStandardCursorCopy:
+ return [NSCursor dragCopyCursor];
+ case GHOST_kStandardCursorStop:
+ return [NSCursor operationNotAllowedCursor];
+ case GHOST_kStandardCursorMove:
+ return [NSCursor pointingHandCursor];
+ case GHOST_kStandardCursorDefault:
+ return [NSCursor arrowCursor];
+ case GHOST_kStandardCursorKnife:
+ return getImageCursor(shape, @"knife.pdf", NSMakePoint(6, 24));
+ case GHOST_kStandardCursorEraser:
+ return getImageCursor(shape, @"eraser.pdf", NSMakePoint(6, 24));
+ case GHOST_kStandardCursorPencil:
+ return getImageCursor(shape, @"pen.pdf", NSMakePoint(6, 24));
+ case GHOST_kStandardCursorEyedropper:
+ return getImageCursor(shape, @"eyedropper.pdf", NSMakePoint(6, 24));
+ case GHOST_kStandardCursorZoomIn:
+ return getImageCursor(shape, @"zoomin.pdf", NSMakePoint(8, 7));
+ case GHOST_kStandardCursorZoomOut:
+ return getImageCursor(shape, @"zoomout.pdf", NSMakePoint(8, 7));
+ case GHOST_kStandardCursorNSEWScroll:
+ return getImageCursor(shape, @"scrollnsew.pdf", NSMakePoint(16, 16));
+ case GHOST_kStandardCursorNSScroll:
+ return getImageCursor(shape, @"scrollns.pdf", NSMakePoint(16, 16));
+ case GHOST_kStandardCursorEWScroll:
+ return getImageCursor(shape, @"scrollew.pdf", NSMakePoint(16, 16));
+ case GHOST_kStandardCursorUpArrow:
+ return getImageCursor(shape, @"arrowup.pdf", NSMakePoint(16, 16));
+ case GHOST_kStandardCursorDownArrow:
+ return getImageCursor(shape, @"arrowdown.pdf", NSMakePoint(16, 16));
+ case GHOST_kStandardCursorLeftArrow:
+ return getImageCursor(shape, @"arrowleft.pdf", NSMakePoint(16, 16));
+ case GHOST_kStandardCursorRightArrow:
+ return getImageCursor(shape, @"arrowright.pdf", NSMakePoint(16, 16));
+ case GHOST_kStandardCursorVerticalSplit:
+ return getImageCursor(shape, @"splitv.pdf", NSMakePoint(16, 16));
+ case GHOST_kStandardCursorHorizontalSplit:
+ return getImageCursor(shape, @"splith.pdf", NSMakePoint(16, 16));
+ case GHOST_kStandardCursorCrosshairA:
+ return getImageCursor(shape, @"paint_cursor_cross.pdf", NSMakePoint(16, 15));
+ case GHOST_kStandardCursorCrosshairB:
+ return getImageCursor(shape, @"paint_cursor_dot.pdf", NSMakePoint(16, 15));
+ case GHOST_kStandardCursorCrosshairC:
+ return getImageCursor(shape, @"crossc.pdf", NSMakePoint(16, 16));
+ default:
+ return NULL;
+ }
+}
+void GHOST_WindowCocoa::loadCursor(bool visible, GHOST_TStandardCursor shape) const
+{
+ static bool systemCursorVisible = true;
if (visible != systemCursorVisible) {
if (visible) {
[NSCursor unhide];
@@ -942,57 +1047,17 @@ void GHOST_WindowCocoa::loadCursor(bool visible, GHOST_TStandardCursor cursor) c
}
}
- if (cursor == GHOST_kStandardCursorCustom && m_customCursor) {
- tmpCursor = m_customCursor;
+ NSCursor *cursor = getStandardCursor(shape);
+ if (cursor == NULL) {
+ cursor = getStandardCursor(GHOST_kStandardCursorDefault);
}
- else {
- switch (cursor) {
- case GHOST_kStandardCursorDestroy:
- tmpCursor = [NSCursor disappearingItemCursor];
- break;
- case GHOST_kStandardCursorText:
- tmpCursor = [NSCursor IBeamCursor];
- break;
- case GHOST_kStandardCursorCrosshair:
- tmpCursor = [NSCursor crosshairCursor];
- break;
- case GHOST_kStandardCursorUpDown:
- tmpCursor = [NSCursor resizeUpDownCursor];
- break;
- case GHOST_kStandardCursorLeftRight:
- tmpCursor = [NSCursor resizeLeftRightCursor];
- break;
- case GHOST_kStandardCursorTopSide:
- tmpCursor = [NSCursor resizeUpCursor];
- break;
- case GHOST_kStandardCursorBottomSide:
- tmpCursor = [NSCursor resizeDownCursor];
- break;
- case GHOST_kStandardCursorLeftSide:
- tmpCursor = [NSCursor resizeLeftCursor];
- break;
- case GHOST_kStandardCursorRightSide:
- tmpCursor = [NSCursor resizeRightCursor];
- break;
- case GHOST_kStandardCursorRightArrow:
- case GHOST_kStandardCursorInfo:
- case GHOST_kStandardCursorLeftArrow:
- case GHOST_kStandardCursorHelp:
- case GHOST_kStandardCursorCycle:
- case GHOST_kStandardCursorSpray:
- case GHOST_kStandardCursorWait:
- case GHOST_kStandardCursorTopLeftCorner:
- case GHOST_kStandardCursorTopRightCorner:
- case GHOST_kStandardCursorBottomRightCorner:
- case GHOST_kStandardCursorBottomLeftCorner:
- case GHOST_kStandardCursorCopy:
- case GHOST_kStandardCursorDefault:
- default:
- tmpCursor = [NSCursor arrowCursor];
- break;
- };
- }
- [tmpCursor set];
+
+ [cursor set];
+}
+
+bool GHOST_WindowCocoa::isDialog() const
+{
+ return m_is_dialog;
}
GHOST_TSuccess GHOST_WindowCocoa::setWindowCursorVisibility(bool visible)
@@ -1047,11 +1112,6 @@ GHOST_TSuccess GHOST_WindowCocoa::setWindowCursorShape(GHOST_TStandardCursor sha
{
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
- if (m_customCursor) {
- [m_customCursor release];
- m_customCursor = nil;
- }
-
if ([m_window isVisible]) {
loadCursor(getCursorVisibility(), shape);
}
@@ -1060,6 +1120,14 @@ GHOST_TSuccess GHOST_WindowCocoa::setWindowCursorShape(GHOST_TStandardCursor sha
return GHOST_kSuccess;
}
+GHOST_TSuccess GHOST_WindowCocoa::hasCursorShape(GHOST_TStandardCursor shape)
+{
+ NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
+ GHOST_TSuccess success = (getStandardCursor(shape)) ? GHOST_kSuccess : GHOST_kFailure;
+ [pool drain];
+ return success;
+}
+
/** Reverse the bits in a GHOST_TUns8
static GHOST_TUns8 uns8ReverseBits(GHOST_TUns8 ch)
{
diff --git a/intern/ghost/intern/GHOST_WindowNULL.h b/intern/ghost/intern/GHOST_WindowNULL.h
index 1d332a7dc3e..29f3eee7cce 100644
--- a/intern/ghost/intern/GHOST_WindowNULL.h
+++ b/intern/ghost/intern/GHOST_WindowNULL.h
@@ -36,6 +36,11 @@ class GHOST_WindowNULL : public GHOST_Window {
return NULL;
}
+ GHOST_TSuccess hasCursorShape(GHOST_TStandardCursor)
+ {
+ return GHOST_kSuccess;
+ }
+
GHOST_WindowNULL(GHOST_SystemNULL *system,
const STR_String &title,
GHOST_TInt32 left,
@@ -43,7 +48,7 @@ class GHOST_WindowNULL : public GHOST_Window {
GHOST_TUns32 width,
GHOST_TUns32 height,
GHOST_TWindowState state,
- const GHOST_TEmbedderWindowID parentWindow,
+ const GHOST_IWindow *parentWindow,
GHOST_TDrawingContextType type,
const bool stereoVisual)
: GHOST_Window(width, height, state, stereoVisual, false), m_system(system)
diff --git a/intern/ghost/intern/GHOST_WindowSDL.cpp b/intern/ghost/intern/GHOST_WindowSDL.cpp
index cd9863d7e72..e8d129f45fe 100644
--- a/intern/ghost/intern/GHOST_WindowSDL.cpp
+++ b/intern/ghost/intern/GHOST_WindowSDL.cpp
@@ -33,10 +33,10 @@ GHOST_WindowSDL::GHOST_WindowSDL(GHOST_SystemSDL *system,
GHOST_TUns32 width,
GHOST_TUns32 height,
GHOST_TWindowState state,
- const GHOST_TEmbedderWindowID parentWindow,
GHOST_TDrawingContextType type,
const bool stereoVisual,
- const bool exclusive)
+ const bool exclusive,
+ const GHOST_IWindow *parentWindow)
: GHOST_Window(width, height, state, stereoVisual, exclusive),
m_system(system),
m_valid_setup(false),
@@ -301,19 +301,6 @@ static unsigned char sdl_std_cursor_top_left_corner[] = {
#define sdl_std_cursor_HOT_X_top_left_corner 0
#define sdl_std_cursor_HOT_Y_top_left_corner -14
-static unsigned char sdl_std_cursor_mask_spraycan[] = {
- 0x00, 0x0c, 0x18, 0x0d, 0x7c, 0x0d, 0x7c, 0x0d, 0x7e, 0x0d, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00,
- 0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00,
-};
-static unsigned char sdl_std_cursor_spraycan[] = {
- 0x00, 0x06, 0x80, 0x00, 0x2c, 0x06, 0x9e, 0x00, 0x16, 0x06, 0x3f, 0x00, 0x21, 0x00, 0x27, 0x00,
- 0x25, 0x00, 0x27, 0x00, 0x25, 0x00, 0x27, 0x00, 0x27, 0x00, 0x21, 0x00, 0x21, 0x00, 0x3f, 0x00,
-};
-#define sdl_std_cursor_WIDTH_spraycan 12
-#define sdl_std_cursor_HEIGHT_spraycan 16
-#define sdl_std_cursor_HOT_X_spraycan -9
-#define sdl_std_cursor_HOT_Y_spraycan -14
-
static unsigned char sdl_std_cursor_mask_sb_v_double_arrow[] = {
0x38, 0x00, 0x7c, 0x00, 0xfe, 0x00, 0xff, 0x01, 0xff, 0x01, 0x7c, 0x00, 0x7c, 0x00, 0x7c,
0x00, 0x7c, 0x00, 0x7c, 0x00, 0xff, 0x01, 0xff, 0x01, 0xfe, 0x00, 0x7c, 0x00, 0x38, 0x00,
@@ -450,19 +437,6 @@ static unsigned char sdl_std_cursor_left_ptr[] = {
#define sdl_std_cursor_HOT_X_left_ptr -8
#define sdl_std_cursor_HOT_Y_left_ptr -14
-static unsigned char sdl_std_cursor_mask_exchange[] = {
- 0xe3, 0x07, 0xf7, 0x0f, 0xff, 0x1f, 0xff, 0x3f, 0x3f, 0x38, 0xff, 0x30, 0xff, 0x00, 0xff, 0x00,
- 0x00, 0xff, 0x00, 0xff, 0x0c, 0xfe, 0x1c, 0xfc, 0xfc, 0xff, 0xf8, 0xff, 0xf0, 0xef, 0xe0, 0xc7,
-};
-static unsigned char sdl_std_cursor_exchange[] = {
- 0xf1, 0x03, 0xfb, 0x07, 0x1f, 0x0c, 0x09, 0x08, 0x19, 0x00, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x3f, 0x00, 0x26, 0x04, 0x24, 0x0c, 0x3e, 0xf8, 0x37, 0xf0, 0x23, 0x00, 0x00, 0x00, 0x00,
-};
-#define sdl_std_cursor_WIDTH_exchange 16
-#define sdl_std_cursor_HEIGHT_exchange 16
-#define sdl_std_cursor_HOT_X_exchange -6
-#define sdl_std_cursor_HOT_Y_exchange -8
-
static unsigned char sdl_std_cursor_mask_crosshair[] = {
0xc0, 0x01, 0xc0, 0x01, 0xc0, 0x01, 0xc0, 0x01, 0xc0, 0x01, 0xc0, 0x01, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xc0, 0x01, 0xc0, 0x01, 0xc0, 0x01, 0xc0, 0x01, 0xc0, 0x01, 0xc0, 0x01, 0xc0, 0x01,
@@ -583,9 +557,9 @@ static SDL_Cursor *sdl_ghost_CreateCursor(
}
/* TODO, this is currently never freed but it wont leak either. */
-static void sdl_cursor_init(void)
+static SDL_Cursor *getStandardCursorShape(GHOST_TStandardCursor shape)
{
-
+ if (sdl_std_cursor_array[0] == NULL) {
#define DEF_CURSOR(name, ind) \
{ \
sdl_std_cursor_array[(int)ind] = sdl_ghost_CreateCursor( \
@@ -599,32 +573,32 @@ static void sdl_cursor_init(void)
} \
(void)0
- DEF_CURSOR(left_ptr, GHOST_kStandardCursorDefault);
- DEF_CURSOR(right_ptr, GHOST_kStandardCursorRightArrow);
- DEF_CURSOR(left_ptr, GHOST_kStandardCursorLeftArrow);
- DEF_CURSOR(umbrella, GHOST_kStandardCursorInfo); // TODO, replace this one.
- DEF_CURSOR(pirate, GHOST_kStandardCursorDestroy);
- DEF_CURSOR(question_arrow, GHOST_kStandardCursorHelp);
- DEF_CURSOR(exchange, GHOST_kStandardCursorCycle);
- DEF_CURSOR(spraycan, GHOST_kStandardCursorSpray);
- DEF_CURSOR(watch, GHOST_kStandardCursorWait);
- DEF_CURSOR(xterm, GHOST_kStandardCursorText);
- DEF_CURSOR(crosshair, GHOST_kStandardCursorCrosshair);
- DEF_CURSOR(sb_v_double_arrow, GHOST_kStandardCursorUpDown);
- DEF_CURSOR(sb_h_double_arrow, GHOST_kStandardCursorLeftRight);
- DEF_CURSOR(top_side, GHOST_kStandardCursorTopSide);
- DEF_CURSOR(bottom_side, GHOST_kStandardCursorBottomSide);
- DEF_CURSOR(left_side, GHOST_kStandardCursorLeftSide);
- DEF_CURSOR(right_side, GHOST_kStandardCursorRightSide);
- DEF_CURSOR(top_left_corner, GHOST_kStandardCursorTopLeftCorner);
- DEF_CURSOR(top_right_corner, GHOST_kStandardCursorTopRightCorner);
- DEF_CURSOR(bottom_right_corner, GHOST_kStandardCursorBottomRightCorner);
- DEF_CURSOR(bottom_left_corner, GHOST_kStandardCursorBottomLeftCorner);
- DEF_CURSOR(arrow, GHOST_kStandardCursorCopy);
- // DEF_CURSOR(arrow, GHOST_kStandardCursorCustom);
- DEF_CURSOR(arrow, GHOST_kStandardCursorPencil);
-
+ DEF_CURSOR(left_ptr, GHOST_kStandardCursorDefault);
+ DEF_CURSOR(right_ptr, GHOST_kStandardCursorRightArrow);
+ DEF_CURSOR(left_ptr, GHOST_kStandardCursorLeftArrow);
+ DEF_CURSOR(umbrella, GHOST_kStandardCursorInfo); // TODO, replace this one.
+ DEF_CURSOR(pirate, GHOST_kStandardCursorDestroy);
+ DEF_CURSOR(question_arrow, GHOST_kStandardCursorHelp);
+ DEF_CURSOR(watch, GHOST_kStandardCursorWait);
+ DEF_CURSOR(xterm, GHOST_kStandardCursorText);
+ DEF_CURSOR(crosshair, GHOST_kStandardCursorCrosshair);
+ DEF_CURSOR(sb_v_double_arrow, GHOST_kStandardCursorUpDown);
+ DEF_CURSOR(sb_h_double_arrow, GHOST_kStandardCursorLeftRight);
+ DEF_CURSOR(top_side, GHOST_kStandardCursorTopSide);
+ DEF_CURSOR(bottom_side, GHOST_kStandardCursorBottomSide);
+ DEF_CURSOR(left_side, GHOST_kStandardCursorLeftSide);
+ DEF_CURSOR(right_side, GHOST_kStandardCursorRightSide);
+ DEF_CURSOR(top_left_corner, GHOST_kStandardCursorTopLeftCorner);
+ DEF_CURSOR(top_right_corner, GHOST_kStandardCursorTopRightCorner);
+ DEF_CURSOR(bottom_right_corner, GHOST_kStandardCursorBottomRightCorner);
+ DEF_CURSOR(bottom_left_corner, GHOST_kStandardCursorBottomLeftCorner);
+ DEF_CURSOR(arrow, GHOST_kStandardCursorCopy);
+ // DEF_CURSOR(arrow, GHOST_kStandardCursorCustom);
+ DEF_CURSOR(arrow, GHOST_kStandardCursorPencil);
#undef DEF_CURSOR
+ }
+
+ return sdl_std_cursor_array[(int)shape];
}
GHOST_TSuccess GHOST_WindowSDL::setWindowCursorGrab(GHOST_TGrabCursorMode mode)
@@ -634,14 +608,20 @@ GHOST_TSuccess GHOST_WindowSDL::setWindowCursorGrab(GHOST_TGrabCursorMode mode)
GHOST_TSuccess GHOST_WindowSDL::setWindowCursorShape(GHOST_TStandardCursor shape)
{
- if (sdl_std_cursor_array[0] == NULL) {
- sdl_cursor_init();
+ SDL_Cursor *cursor = getStandardCursorShape(shape);
+ if (cursor == NULL) {
+ cursor = getStandardCursorShape(GHOST_kStandardCursorDefault);
}
- SDL_SetCursor(sdl_std_cursor_array[(int)shape]);
+ SDL_SetCursor(cursor);
return GHOST_kSuccess;
}
+GHOST_TSuccess GHOST_WindowSDL::hasCursorShape(GHOST_TStandardCursor shape)
+{
+ return (getStandardCursorShape(shape)) ? GHOST_kSuccess : GHOST_kFailure;
+}
+
GHOST_TSuccess GHOST_WindowSDL::setWindowCustomCursorShape(GHOST_TUns8 *bitmap,
GHOST_TUns8 *mask,
int sizex,
diff --git a/intern/ghost/intern/GHOST_WindowSDL.h b/intern/ghost/intern/GHOST_WindowSDL.h
index bb19b62e06d..d9342de4d69 100644
--- a/intern/ghost/intern/GHOST_WindowSDL.h
+++ b/intern/ghost/intern/GHOST_WindowSDL.h
@@ -60,10 +60,10 @@ class GHOST_WindowSDL : public GHOST_Window {
GHOST_TUns32 width,
GHOST_TUns32 height,
GHOST_TWindowState state,
- const GHOST_TEmbedderWindowID parentWindow,
GHOST_TDrawingContextType type = GHOST_kDrawingContextTypeNone,
const bool stereoVisual = false,
- const bool exclusive = false);
+ const bool exclusive = false,
+ const GHOST_IWindow *parentWindow = NULL);
~GHOST_WindowSDL();
@@ -100,6 +100,7 @@ class GHOST_WindowSDL : public GHOST_Window {
GHOST_TSuccess setWindowCursorGrab(GHOST_TGrabCursorMode mode);
GHOST_TSuccess setWindowCursorShape(GHOST_TStandardCursor shape);
+ GHOST_TSuccess hasCursorShape(GHOST_TStandardCursor shape);
GHOST_TSuccess setWindowCustomCursorShape(GHOST_TUns8 *bitmap,
GHOST_TUns8 *mask,
diff --git a/intern/ghost/intern/GHOST_WindowViewCocoa.h b/intern/ghost/intern/GHOST_WindowViewCocoa.h
index 9ed339c9992..cee40924b73 100644
--- a/intern/ghost/intern/GHOST_WindowViewCocoa.h
+++ b/intern/ghost/intern/GHOST_WindowViewCocoa.h
@@ -58,6 +58,11 @@
return YES;
}
+- (BOOL)acceptsFirstMouse:(NSEvent *)event
+{
+ return YES;
+}
+
// The trick to prevent Cocoa from complaining (beeping)
- (void)keyDown:(NSEvent *)event
{
diff --git a/intern/ghost/intern/GHOST_WindowWin32.cpp b/intern/ghost/intern/GHOST_WindowWin32.cpp
index e8b36c59366..e1c6aa1109c 100644
--- a/intern/ghost/intern/GHOST_WindowWin32.cpp
+++ b/intern/ghost/intern/GHOST_WindowWin32.cpp
@@ -23,6 +23,7 @@
#define _USE_MATH_DEFINES
+#include "GHOST_WindowManager.h"
#include "GHOST_WindowWin32.h"
#include "GHOST_SystemWin32.h"
#include "GHOST_DropTargetWin32.h"
@@ -66,8 +67,9 @@ GHOST_WindowWin32::GHOST_WindowWin32(GHOST_SystemWin32 *system,
GHOST_TDrawingContextType type,
bool wantStereoVisual,
bool alphaBackground,
- GHOST_TEmbedderWindowID parentwindowhwnd,
- bool is_debug)
+ GHOST_WindowWin32 *parentwindow,
+ bool is_debug,
+ bool dialog)
: GHOST_Window(width, height, state, wantStereoVisual, false),
m_inLiveResize(false),
m_system(system),
@@ -82,7 +84,7 @@ GHOST_WindowWin32::GHOST_WindowWin32(GHOST_SystemWin32 *system,
m_fpGetPointerInfo(NULL),
m_fpGetPointerPenInfo(NULL),
m_fpGetPointerTouchInfo(NULL),
- m_parentWindowHwnd(parentwindowhwnd),
+ m_parentWindowHwnd(parentwindow ? parentwindow->m_hWnd : NULL),
m_debug_context(is_debug)
{
// Initialize tablet variables
@@ -146,9 +148,9 @@ GHOST_WindowWin32::GHOST_WindowWin32(GHOST_SystemWin32 *system,
top = monitor.rcWork.top;
int wintype = WS_OVERLAPPEDWINDOW;
- if (m_parentWindowHwnd != 0) {
+ if ((m_parentWindowHwnd != 0) && !dialog) {
wintype = WS_CHILD;
- GetWindowRect((HWND)m_parentWindowHwnd, &rect);
+ GetWindowRect(m_parentWindowHwnd, &rect);
left = 0;
top = 0;
width = rect.right - rect.left;
@@ -156,14 +158,14 @@ GHOST_WindowWin32::GHOST_WindowWin32(GHOST_SystemWin32 *system,
}
wchar_t *title_16 = alloc_utf16_from_8((char *)(const char *)title, 0);
- m_hWnd = ::CreateWindowW(s_windowClassName, // pointer to registered class name
- title_16, // pointer to window name
- wintype, // window style
- left, // horizontal position of window
- top, // vertical position of window
- width, // window width
- height, // window height
- (HWND)m_parentWindowHwnd, // handle to parent or owner window
+ m_hWnd = ::CreateWindowW(s_windowClassName, // pointer to registered class name
+ title_16, // pointer to window name
+ wintype, // window style
+ left, // horizontal position of window
+ top, // vertical position of window
+ width, // window width
+ height, // window height
+ dialog ? 0 : m_parentWindowHwnd, // handle to parent or owner window
0, // handle to menu or child-window identifier
::GetModuleHandle(0), // handle to application instance
0); // pointer to window-creation data
@@ -267,7 +269,16 @@ GHOST_WindowWin32::GHOST_WindowWin32(GHOST_SystemWin32 *system,
}
}
- if (parentwindowhwnd != 0) {
+ if (dialog && parentwindow) {
+ ::SetWindowLongPtr(m_hWnd,
+ GWL_STYLE,
+ WS_VISIBLE | WS_CHILD | WS_POPUPWINDOW | WS_CAPTION | WS_MAXIMIZEBOX |
+ WS_SIZEBOX);
+ ::SetWindowLongPtr(m_hWnd, GWLP_HWNDPARENT, (LONG_PTR)m_parentWindowHwnd);
+ ::SetWindowPos(
+ m_hWnd, 0, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE | SWP_NOZORDER | SWP_FRAMECHANGED);
+ }
+ else if (parentwindow) {
RAWINPUTDEVICE device = {0};
device.usUsagePage = 0x01; /* usUsagePage & usUsage for keyboard*/
device.usUsage = 0x06; /* http://msdn.microsoft.com/en-us/windows/hardware/gg487473.aspx */
@@ -386,6 +397,16 @@ GHOST_WindowWin32::~GHOST_WindowWin32()
}
if (m_hWnd) {
+ /* If this window is referenced by others as parent, clear that relation or windows will free
+ * the handle while we still reference it. */
+ for (GHOST_IWindow *iter_win : m_system->getWindowManager()->getWindows()) {
+ GHOST_WindowWin32 *iter_winwin = (GHOST_WindowWin32 *)iter_win;
+ if (iter_winwin->m_parentWindowHwnd == m_hWnd) {
+ ::SetWindowLongPtr(iter_winwin->m_hWnd, GWLP_HWNDPARENT, NULL);
+ iter_winwin->m_parentWindowHwnd = 0;
+ }
+ }
+
if (m_dropTarget) {
// Disable DragDrop
RevokeDragDrop(m_hWnd);
@@ -528,7 +549,7 @@ GHOST_TWindowState GHOST_WindowWin32::getState() const
// we need to find a way to combine parented windows + resizing if we simply set the
// state as GHOST_kWindowStateEmbedded we will need to check for them somewhere else.
// It's also strange that in Windows is the only platform we need to make this separation.
- if (m_parentWindowHwnd != 0) {
+ if ((m_parentWindowHwnd != 0) && !isDialog()) {
state = GHOST_kWindowStateEmbedded;
return state;
}
@@ -574,6 +595,7 @@ void GHOST_WindowWin32::clientToScreen(GHOST_TInt32 inX,
GHOST_TSuccess GHOST_WindowWin32::setState(GHOST_TWindowState state)
{
GHOST_TWindowState curstate = getState();
+ LONG_PTR newstyle = -1;
WINDOWPLACEMENT wp;
wp.length = sizeof(WINDOWPLACEMENT);
::GetWindowPlacement(m_hWnd, &wp);
@@ -587,7 +609,7 @@ GHOST_TSuccess GHOST_WindowWin32::setState(GHOST_TWindowState state)
break;
case GHOST_kWindowStateMaximized:
wp.showCmd = SW_SHOWMAXIMIZED;
- ::SetWindowLongPtr(m_hWnd, GWL_STYLE, WS_OVERLAPPEDWINDOW);
+ newstyle = WS_OVERLAPPEDWINDOW;
break;
case GHOST_kWindowStateFullScreen:
if (curstate != state && curstate != GHOST_kWindowStateMinimized)
@@ -595,17 +617,21 @@ GHOST_TSuccess GHOST_WindowWin32::setState(GHOST_TWindowState state)
wp.showCmd = SW_SHOWMAXIMIZED;
wp.ptMaxPosition.x = 0;
wp.ptMaxPosition.y = 0;
- ::SetWindowLongPtr(m_hWnd, GWL_STYLE, WS_MAXIMIZE);
+ newstyle = WS_MAXIMIZE;
break;
case GHOST_kWindowStateEmbedded:
- ::SetWindowLongPtr(m_hWnd, GWL_STYLE, WS_CHILD);
+ newstyle = WS_CHILD;
break;
case GHOST_kWindowStateNormal:
default:
wp.showCmd = SW_SHOWNORMAL;
- ::SetWindowLongPtr(m_hWnd, GWL_STYLE, WS_OVERLAPPEDWINDOW);
+ newstyle = WS_OVERLAPPEDWINDOW;
break;
}
+ if ((newstyle >= 0) && !isDialog()) {
+ ::SetWindowLongPtr(m_hWnd, GWL_STYLE, newstyle);
+ }
+
/* Clears window cache for SetWindowLongPtr */
::SetWindowPos(m_hWnd, 0, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE | SWP_NOZORDER | SWP_FRAMECHANGED);
@@ -737,6 +763,14 @@ void GHOST_WindowWin32::lostMouseCapture()
}
}
+bool GHOST_WindowWin32::isDialog() const
+{
+ HWND parent = (HWND)::GetWindowLongPtr(m_hWnd, GWLP_HWNDPARENT);
+ long int style = (long int)::GetWindowLongPtr(m_hWnd, GWL_STYLE);
+
+ return (parent != 0) && (style & WS_POPUPWINDOW);
+}
+
void GHOST_WindowWin32::registerMouseClickEvent(int press)
{
@@ -766,7 +800,133 @@ void GHOST_WindowWin32::registerMouseClickEvent(int press)
}
}
-void GHOST_WindowWin32::loadCursor(bool visible, GHOST_TStandardCursor cursor) const
+HCURSOR GHOST_WindowWin32::getStandardCursor(GHOST_TStandardCursor shape) const
+{
+ // Convert GHOST cursor to Windows OEM cursor
+ HANDLE cursor = NULL;
+ HMODULE module = ::GetModuleHandle(0);
+ GHOST_TUns32 flags = LR_SHARED | LR_DEFAULTSIZE;
+ int cx = 0, cy = 0;
+
+ switch (shape) {
+ case GHOST_kStandardCursorCustom:
+ if (m_customCursor) {
+ return m_customCursor;
+ }
+ else {
+ return NULL;
+ }
+ case GHOST_kStandardCursorRightArrow:
+ cursor = ::LoadImage(module, "arrowright_cursor", IMAGE_CURSOR, cx, cy, flags);
+ break;
+ case GHOST_kStandardCursorLeftArrow:
+ cursor = ::LoadImage(module, "arrowleft_cursor", IMAGE_CURSOR, cx, cy, flags);
+ break;
+ case GHOST_kStandardCursorUpArrow:
+ cursor = ::LoadImage(module, "arrowup_cursor", IMAGE_CURSOR, cx, cy, flags);
+ break;
+ case GHOST_kStandardCursorDownArrow:
+ cursor = ::LoadImage(module, "arrowdown_cursor", IMAGE_CURSOR, cx, cy, flags);
+ break;
+ case GHOST_kStandardCursorVerticalSplit:
+ cursor = ::LoadImage(module, "splitv_cursor", IMAGE_CURSOR, cx, cy, flags);
+ break;
+ case GHOST_kStandardCursorHorizontalSplit:
+ cursor = ::LoadImage(module, "splith_cursor", IMAGE_CURSOR, cx, cy, flags);
+ break;
+ case GHOST_kStandardCursorKnife:
+ cursor = ::LoadImage(module, "knife_cursor", IMAGE_CURSOR, cx, cy, flags);
+ break;
+ case GHOST_kStandardCursorEyedropper:
+ cursor = ::LoadImage(module, "eyedropper_cursor", IMAGE_CURSOR, cx, cy, flags);
+ break;
+ case GHOST_kStandardCursorZoomIn:
+ cursor = ::LoadImage(module, "zoomin_cursor", IMAGE_CURSOR, cx, cy, flags);
+ break;
+ case GHOST_kStandardCursorZoomOut:
+ cursor = ::LoadImage(module, "zoomout_cursor", IMAGE_CURSOR, cx, cy, flags);
+ break;
+ case GHOST_kStandardCursorMove:
+ cursor = ::LoadImage(module, "handopen_cursor", IMAGE_CURSOR, cx, cy, flags);
+ break;
+ case GHOST_kStandardCursorNSEWScroll:
+ cursor = ::LoadImage(module, "scrollnsew_cursor", IMAGE_CURSOR, cx, cy, flags);
+ break;
+ case GHOST_kStandardCursorNSScroll:
+ cursor = ::LoadImage(module, "scrollns_cursor", IMAGE_CURSOR, cx, cy, flags);
+ break;
+ case GHOST_kStandardCursorEWScroll:
+ cursor = ::LoadImage(module, "scrollew_cursor", IMAGE_CURSOR, cx, cy, flags);
+ break;
+ case GHOST_kStandardCursorHelp:
+ cursor = ::LoadImage(NULL, IDC_HELP, IMAGE_CURSOR, cx, cy, flags);
+ break; // Arrow and question mark
+ case GHOST_kStandardCursorWait:
+ cursor = ::LoadImage(NULL, IDC_WAIT, IMAGE_CURSOR, cx, cy, flags);
+ break; // Hourglass
+ case GHOST_kStandardCursorText:
+ cursor = ::LoadImage(NULL, IDC_IBEAM, IMAGE_CURSOR, cx, cy, flags);
+ break; // I-beam
+ case GHOST_kStandardCursorCrosshair:
+ cursor = ::LoadImage(module, "cross_cursor", IMAGE_CURSOR, cx, cy, flags);
+ break; // Standard Cross
+ case GHOST_kStandardCursorCrosshairA:
+ cursor = ::LoadImage(module, "crossA_cursor", IMAGE_CURSOR, cx, cy, flags);
+ break; // Crosshair A
+ case GHOST_kStandardCursorCrosshairB:
+ cursor = ::LoadImage(module, "crossB_cursor", IMAGE_CURSOR, cx, cy, flags);
+ break; // Diagonal Crosshair B
+ case GHOST_kStandardCursorCrosshairC:
+ cursor = ::LoadImage(module, "crossC_cursor", IMAGE_CURSOR, cx, cy, flags);
+ break; // Minimal Crosshair C
+ case GHOST_kStandardCursorBottomSide:
+ case GHOST_kStandardCursorUpDown:
+ cursor = ::LoadImage(module, "movens_cursor", IMAGE_CURSOR, cx, cy, flags);
+ break; // Double-pointed arrow pointing north and south
+ case GHOST_kStandardCursorLeftSide:
+ case GHOST_kStandardCursorLeftRight:
+ cursor = ::LoadImage(module, "moveew_cursor", IMAGE_CURSOR, cx, cy, flags);
+ break; // Double-pointed arrow pointing west and east
+ case GHOST_kStandardCursorTopSide:
+ cursor = ::LoadImage(NULL, IDC_UPARROW, IMAGE_CURSOR, cx, cy, flags);
+ break; // Vertical arrow
+ case GHOST_kStandardCursorTopLeftCorner:
+ cursor = ::LoadImage(NULL, IDC_SIZENWSE, IMAGE_CURSOR, cx, cy, flags);
+ break;
+ case GHOST_kStandardCursorTopRightCorner:
+ cursor = ::LoadImage(NULL, IDC_SIZENESW, IMAGE_CURSOR, cx, cy, flags);
+ break;
+ case GHOST_kStandardCursorBottomRightCorner:
+ cursor = ::LoadImage(NULL, IDC_SIZENWSE, IMAGE_CURSOR, cx, cy, flags);
+ break;
+ case GHOST_kStandardCursorBottomLeftCorner:
+ cursor = ::LoadImage(NULL, IDC_SIZENESW, IMAGE_CURSOR, cx, cy, flags);
+ break;
+ case GHOST_kStandardCursorPencil:
+ cursor = ::LoadImage(module, "pencil_cursor", IMAGE_CURSOR, cx, cy, flags);
+ break;
+ case GHOST_kStandardCursorEraser:
+ cursor = ::LoadImage(module, "eraser_cursor", IMAGE_CURSOR, cx, cy, flags);
+ break;
+ case GHOST_kStandardCursorDestroy:
+ case GHOST_kStandardCursorStop:
+ cursor = ::LoadImage(module, "forbidden_cursor", IMAGE_CURSOR, cx, cy, flags);
+ break; // Slashed circle
+ case GHOST_kStandardCursorDefault:
+ cursor = NULL;
+ break;
+ default:
+ return NULL;
+ }
+
+ if (cursor == NULL) {
+ cursor = ::LoadImage(NULL, IDC_ARROW, IMAGE_CURSOR, cx, cy, flags);
+ }
+
+ return (HCURSOR)cursor;
+}
+
+void GHOST_WindowWin32::loadCursor(bool visible, GHOST_TStandardCursor shape) const
{
if (!visible) {
while (::ShowCursor(FALSE) >= 0)
@@ -777,88 +937,11 @@ void GHOST_WindowWin32::loadCursor(bool visible, GHOST_TStandardCursor cursor) c
;
}
- if (cursor == GHOST_kStandardCursorCustom && m_customCursor) {
- ::SetCursor(m_customCursor);
- }
- else {
- // Convert GHOST cursor to Windows OEM cursor
- bool success = true;
- LPCSTR id;
- switch (cursor) {
- case GHOST_kStandardCursorDefault:
- id = IDC_ARROW;
- break;
- case GHOST_kStandardCursorRightArrow:
- id = IDC_ARROW;
- break;
- case GHOST_kStandardCursorLeftArrow:
- id = IDC_ARROW;
- break;
- case GHOST_kStandardCursorInfo:
- id = IDC_SIZEALL;
- break; // Four-pointed arrow pointing north, south, east, and west
- case GHOST_kStandardCursorDestroy:
- id = IDC_NO;
- break; // Slashed circle
- case GHOST_kStandardCursorHelp:
- id = IDC_HELP;
- break; // Arrow and question mark
- case GHOST_kStandardCursorCycle:
- id = IDC_NO;
- break; // Slashed circle
- case GHOST_kStandardCursorSpray:
- id = IDC_SIZEALL;
- break; // Four-pointed arrow pointing north, south, east, and west
- case GHOST_kStandardCursorWait:
- id = IDC_WAIT;
- break; // Hourglass
- case GHOST_kStandardCursorText:
- id = IDC_IBEAM;
- break; // I-beam
- case GHOST_kStandardCursorCrosshair:
- id = IDC_CROSS;
- break; // Crosshair
- case GHOST_kStandardCursorUpDown:
- id = IDC_SIZENS;
- break; // Double-pointed arrow pointing north and south
- case GHOST_kStandardCursorLeftRight:
- id = IDC_SIZEWE;
- break; // Double-pointed arrow pointing west and east
- case GHOST_kStandardCursorTopSide:
- id = IDC_UPARROW;
- break; // Vertical arrow
- case GHOST_kStandardCursorBottomSide:
- id = IDC_SIZENS;
- break;
- case GHOST_kStandardCursorLeftSide:
- id = IDC_SIZEWE;
- break;
- case GHOST_kStandardCursorTopLeftCorner:
- id = IDC_SIZENWSE;
- break;
- case GHOST_kStandardCursorTopRightCorner:
- id = IDC_SIZENESW;
- break;
- case GHOST_kStandardCursorBottomRightCorner:
- id = IDC_SIZENWSE;
- break;
- case GHOST_kStandardCursorBottomLeftCorner:
- id = IDC_SIZENESW;
- break;
- case GHOST_kStandardCursorPencil:
- id = IDC_ARROW;
- break;
- case GHOST_kStandardCursorCopy:
- id = IDC_ARROW;
- break;
- default:
- success = false;
- }
-
- if (success) {
- ::SetCursor(::LoadCursor(0, id));
- }
+ HCURSOR cursor = getStandardCursor(shape);
+ if (cursor == NULL) {
+ cursor = getStandardCursor(GHOST_kStandardCursorDefault);
}
+ ::SetCursor(cursor);
}
GHOST_TSuccess GHOST_WindowWin32::setWindowCursorVisibility(bool visible)
@@ -908,11 +991,6 @@ GHOST_TSuccess GHOST_WindowWin32::setWindowCursorGrab(GHOST_TGrabCursorMode mode
GHOST_TSuccess GHOST_WindowWin32::setWindowCursorShape(GHOST_TStandardCursor cursorShape)
{
- if (m_customCursor) {
- DestroyCursor(m_customCursor);
- m_customCursor = NULL;
- }
-
if (::GetForegroundWindow() == m_hWnd) {
loadCursor(getCursorVisibility(), cursorShape);
}
@@ -920,6 +998,11 @@ GHOST_TSuccess GHOST_WindowWin32::setWindowCursorShape(GHOST_TStandardCursor cur
return GHOST_kSuccess;
}
+GHOST_TSuccess GHOST_WindowWin32::hasCursorShape(GHOST_TStandardCursor cursorShape)
+{
+ return (getStandardCursor(cursorShape)) ? GHOST_kSuccess : GHOST_kFailure;
+}
+
GHOST_TSuccess GHOST_WindowWin32::getPointerInfo(GHOST_PointerInfoWin32 *pointerInfo,
WPARAM wParam,
LPARAM lParam)
diff --git a/intern/ghost/intern/GHOST_WindowWin32.h b/intern/ghost/intern/GHOST_WindowWin32.h
index cf7177b0062..f72f03855fd 100644
--- a/intern/ghost/intern/GHOST_WindowWin32.h
+++ b/intern/ghost/intern/GHOST_WindowWin32.h
@@ -235,8 +235,9 @@ class GHOST_WindowWin32 : public GHOST_Window {
GHOST_TDrawingContextType type = GHOST_kDrawingContextTypeNone,
bool wantStereoVisual = false,
bool alphaBackground = false,
- GHOST_TEmbedderWindowID parentWindowHwnd = 0,
- bool is_debug = false);
+ GHOST_WindowWin32 *parentWindow = 0,
+ bool is_debug = false,
+ bool dialog = false);
/**
* Destructor.
@@ -381,11 +382,14 @@ class GHOST_WindowWin32 : public GHOST_Window {
*/
void lostMouseCapture();
+ bool isDialog() const;
+
/**
* Loads the windows equivalent of a standard GHOST cursor.
* \param visible Flag for cursor visibility.
* \param cursorShape The cursor shape.
*/
+ HCURSOR getStandardCursor(GHOST_TStandardCursor shape) const;
void loadCursor(bool visible, GHOST_TStandardCursor cursorShape) const;
const GHOST_TabletData *GetTabletData()
@@ -456,6 +460,7 @@ class GHOST_WindowWin32 : public GHOST_Window {
* native window system calls.
*/
GHOST_TSuccess setWindowCursorShape(GHOST_TStandardCursor shape);
+ GHOST_TSuccess hasCursorShape(GHOST_TStandardCursor shape);
/**
* Sets the cursor shape on the window using
@@ -526,8 +531,7 @@ class GHOST_WindowWin32 : public GHOST_Window {
GHOST_WIN32_GetPointerPenInfo m_fpGetPointerPenInfo;
GHOST_WIN32_GetPointerTouchInfo m_fpGetPointerTouchInfo;
- /** Hwnd to parent window */
- GHOST_TEmbedderWindowID m_parentWindowHwnd;
+ HWND m_parentWindowHwnd;
#ifdef WITH_INPUT_IME
/** Handle input method editors event */
diff --git a/intern/ghost/intern/GHOST_WindowX11.cpp b/intern/ghost/intern/GHOST_WindowX11.cpp
index 166fea8a84b..ae8d705fe4a 100644
--- a/intern/ghost/intern/GHOST_WindowX11.cpp
+++ b/intern/ghost/intern/GHOST_WindowX11.cpp
@@ -72,7 +72,18 @@ typedef struct {
long input_mode;
} MotifWmHints;
-#define MWM_HINTS_DECORATIONS (1L << 1)
+enum {
+ MWM_HINTS_FUNCTIONS = (1L << 0),
+ MWM_HINTS_DECORATIONS = (1L << 1),
+};
+enum {
+ MWM_FUNCTION_ALL = (1L << 0),
+ MWM_FUNCTION_RESIZE = (1L << 1),
+ MWM_FUNCTION_MOVE = (1L << 2),
+ MWM_FUNCTION_MINIMIZE = (1L << 3),
+ MWM_FUNCTION_MAXIMIZE = (1L << 4),
+ MWM_FUNCTION_CLOSE = (1L << 5),
+};
#ifndef HOST_NAME_MAX
# define HOST_NAME_MAX 64
@@ -191,8 +202,9 @@ GHOST_WindowX11::GHOST_WindowX11(GHOST_SystemX11 *system,
GHOST_TUns32 width,
GHOST_TUns32 height,
GHOST_TWindowState state,
- const GHOST_TEmbedderWindowID parentWindow,
+ GHOST_WindowX11 *parentWindow,
GHOST_TDrawingContextType type,
+ const bool is_dialog,
const bool stereoVisual,
const bool exclusive,
const bool alphaBackground,
@@ -259,7 +271,7 @@ GHOST_WindowX11::GHOST_WindowX11(GHOST_SystemX11 *system,
m_display, RootWindow(m_display, m_visualInfo->screen), m_visualInfo->visual, AllocNone);
/* create the window! */
- if (parentWindow == 0) {
+ if ((parentWindow == 0) || is_dialog) {
m_window = XCreateWindow(m_display,
RootWindow(m_display, m_visualInfo->screen),
left,
@@ -279,7 +291,7 @@ GHOST_WindowX11::GHOST_WindowX11(GHOST_SystemX11 *system,
unsigned int w_return, h_return, border_w_return, depth_return;
XGetGeometry(m_display,
- parentWindow,
+ parentWindow->m_window,
&root_return,
&x_return,
&y_return,
@@ -294,7 +306,7 @@ GHOST_WindowX11::GHOST_WindowX11(GHOST_SystemX11 *system,
height = h_return;
m_window = XCreateWindow(m_display,
- parentWindow, /* reparent against embedder */
+ parentWindow->m_window, /* reparent against embedder */
left,
top,
width,
@@ -306,7 +318,7 @@ GHOST_WindowX11::GHOST_WindowX11(GHOST_SystemX11 *system,
xattributes_valuemask,
&xattributes);
- XSelectInput(m_display, parentWindow, SubstructureNotifyMask);
+ XSelectInput(m_display, parentWindow->m_window, SubstructureNotifyMask);
}
#ifdef WITH_XDND
@@ -356,6 +368,10 @@ GHOST_WindowX11::GHOST_WindowX11(GHOST_SystemX11 *system,
m_post_state = GHOST_kWindowStateNormal;
}
+ if (is_dialog && parentWindow) {
+ setDialogHints(parentWindow);
+ }
+
/* Create some hints for the window manager on how
* we want this window treated. */
{
@@ -701,6 +717,42 @@ void GHOST_WindowX11::clientToScreen(GHOST_TInt32 inX,
outY = ay;
}
+GHOST_TSuccess GHOST_WindowX11::setDialogHints(GHOST_WindowX11 *parentWindow)
+{
+
+ Atom atom_window_type = XInternAtom(m_display, "_NET_WM_WINDOW_TYPE", False);
+ Atom atom_dialog = XInternAtom(m_display, "_NET_WM_WINDOW_TYPE_DIALOG", False);
+ MotifWmHints hints = {0};
+
+ XChangeProperty(m_display,
+ m_window,
+ atom_window_type,
+ XA_ATOM,
+ 32,
+ PropModeReplace,
+ (unsigned char *)&atom_dialog,
+ 1);
+ XSetTransientForHint(m_display, m_window, parentWindow->m_window);
+
+ /* Disable minimizing of the window for now.
+ * Actually, most window managers disable minimizing and maximizing for dialogs, ignoring this.
+ * Leaving it here anyway in the hope it brings back maximizing on some window managers at least,
+ * we'd preferably have it even for dialog windows (e.g. file browser). */
+ hints.flags = MWM_HINTS_FUNCTIONS;
+ hints.functions = MWM_FUNCTION_RESIZE | MWM_FUNCTION_MOVE | MWM_FUNCTION_MAXIMIZE |
+ MWM_FUNCTION_CLOSE;
+ XChangeProperty(m_display,
+ m_window,
+ m_system->m_atom._MOTIF_WM_HINTS,
+ m_system->m_atom._MOTIF_WM_HINTS,
+ 32,
+ PropModeReplace,
+ (unsigned char *)&hints,
+ 4);
+
+ return GHOST_kSuccess;
+}
+
void GHOST_WindowX11::icccmSetState(int state)
{
XEvent xev;
@@ -1112,6 +1164,44 @@ GHOST_TSuccess GHOST_WindowX11::setOrder(GHOST_TWindowOrder order)
return GHOST_kSuccess;
}
+bool GHOST_WindowX11::isDialog() const
+{
+ Atom atom_window_type = XInternAtom(m_display, "_NET_WM_WINDOW_TYPE", False);
+ Atom atom_dialog = XInternAtom(m_display, "_NET_WM_WINDOW_TYPE_DIALOG", False);
+
+ Atom *prop_ret;
+ unsigned long bytes_after, num_ret;
+ Atom type_ret;
+ bool st;
+ int format_ret, ret;
+
+ prop_ret = NULL;
+ st = False;
+ ret = XGetWindowProperty(m_display,
+ m_window,
+ atom_window_type,
+ 0,
+ INT_MAX,
+ False,
+ XA_ATOM,
+ &type_ret,
+ &format_ret,
+ &num_ret,
+ &bytes_after,
+ (unsigned char **)&prop_ret);
+ if ((ret == Success) && (prop_ret) && (format_ret == 32)) {
+ if (prop_ret[0] == atom_dialog) {
+ st = True;
+ }
+ }
+
+ if (prop_ret) {
+ XFree(prop_ret);
+ }
+
+ return st;
+}
+
GHOST_TSuccess GHOST_WindowX11::invalidate()
{
/* So the idea of this function is to generate an expose event
@@ -1284,77 +1374,70 @@ GHOST_Context *GHOST_WindowX11::newDrawingContext(GHOST_TDrawingContextType type
return NULL;
}
-Cursor GHOST_WindowX11::getStandardCursor(GHOST_TStandardCursor g_cursor)
+GHOST_TSuccess GHOST_WindowX11::getStandardCursor(GHOST_TStandardCursor g_cursor, Cursor &xcursor)
{
unsigned int xcursor_id;
-#define GtoX(gcurs, xcurs) \
- case gcurs: \
- xcursor_id = xcurs
switch (g_cursor) {
- GtoX(GHOST_kStandardCursorRightArrow, XC_arrow);
- break;
- GtoX(GHOST_kStandardCursorLeftArrow, XC_top_left_arrow);
- break;
- GtoX(GHOST_kStandardCursorInfo, XC_hand1);
- break;
- GtoX(GHOST_kStandardCursorDestroy, XC_pirate);
- break;
- GtoX(GHOST_kStandardCursorHelp, XC_question_arrow);
- break;
- GtoX(GHOST_kStandardCursorCycle, XC_exchange);
- break;
- GtoX(GHOST_kStandardCursorSpray, XC_spraycan);
- break;
- GtoX(GHOST_kStandardCursorWait, XC_watch);
- break;
- GtoX(GHOST_kStandardCursorText, XC_xterm);
- break;
- GtoX(GHOST_kStandardCursorCrosshair, XC_crosshair);
- break;
- GtoX(GHOST_kStandardCursorUpDown, XC_sb_v_double_arrow);
- break;
- GtoX(GHOST_kStandardCursorLeftRight, XC_sb_h_double_arrow);
- break;
- GtoX(GHOST_kStandardCursorTopSide, XC_top_side);
- break;
- GtoX(GHOST_kStandardCursorBottomSide, XC_bottom_side);
- break;
- GtoX(GHOST_kStandardCursorLeftSide, XC_left_side);
- break;
- GtoX(GHOST_kStandardCursorRightSide, XC_right_side);
- break;
- GtoX(GHOST_kStandardCursorTopLeftCorner, XC_top_left_corner);
- break;
- GtoX(GHOST_kStandardCursorTopRightCorner, XC_top_right_corner);
- break;
- GtoX(GHOST_kStandardCursorBottomRightCorner, XC_bottom_right_corner);
- break;
- GtoX(GHOST_kStandardCursorBottomLeftCorner, XC_bottom_left_corner);
- break;
- GtoX(GHOST_kStandardCursorPencil, XC_pencil);
- break;
- GtoX(GHOST_kStandardCursorCopy, XC_arrow);
- break;
+ case GHOST_kStandardCursorHelp:
+ xcursor_id = XC_question_arrow;
+ break;
+ case GHOST_kStandardCursorWait:
+ xcursor_id = XC_watch;
+ break;
+ case GHOST_kStandardCursorText:
+ xcursor_id = XC_xterm;
+ break;
+ case GHOST_kStandardCursorCrosshair:
+ xcursor_id = XC_crosshair;
+ break;
+ case GHOST_kStandardCursorUpDown:
+ xcursor_id = XC_sb_v_double_arrow;
+ break;
+ case GHOST_kStandardCursorLeftRight:
+ xcursor_id = XC_sb_h_double_arrow;
+ break;
+ case GHOST_kStandardCursorTopSide:
+ xcursor_id = XC_top_side;
+ break;
+ case GHOST_kStandardCursorBottomSide:
+ xcursor_id = XC_bottom_side;
+ break;
+ case GHOST_kStandardCursorLeftSide:
+ xcursor_id = XC_left_side;
+ break;
+ case GHOST_kStandardCursorRightSide:
+ xcursor_id = XC_right_side;
+ break;
+ case GHOST_kStandardCursorTopLeftCorner:
+ xcursor_id = XC_top_left_corner;
+ break;
+ case GHOST_kStandardCursorTopRightCorner:
+ xcursor_id = XC_top_right_corner;
+ break;
+ case GHOST_kStandardCursorBottomRightCorner:
+ xcursor_id = XC_bottom_right_corner;
+ break;
+ case GHOST_kStandardCursorBottomLeftCorner:
+ xcursor_id = XC_bottom_left_corner;
+ break;
+ case GHOST_kStandardCursorDefault:
+ xcursor = None;
+ return GHOST_kSuccess;
default:
- xcursor_id = 0;
+ xcursor = None;
+ return GHOST_kFailure;
}
-#undef GtoX
- if (xcursor_id) {
- Cursor xcursor = m_standard_cursors[xcursor_id];
+ xcursor = m_standard_cursors[xcursor_id];
- if (!xcursor) {
- xcursor = XCreateFontCursor(m_display, xcursor_id);
+ if (!xcursor) {
+ xcursor = XCreateFontCursor(m_display, xcursor_id);
- m_standard_cursors[xcursor_id] = xcursor;
- }
-
- return xcursor;
- }
- else {
- return None;
+ m_standard_cursors[xcursor_id] = xcursor;
}
+
+ return GHOST_kSuccess;
}
Cursor GHOST_WindowX11::getEmptyCursor()
@@ -1380,10 +1463,12 @@ GHOST_TSuccess GHOST_WindowX11::setWindowCursorVisibility(bool visible)
Cursor xcursor;
if (visible) {
- if (m_visible_cursor)
+ if (m_visible_cursor) {
xcursor = m_visible_cursor;
- else
- xcursor = getStandardCursor(getCursorShape());
+ }
+ else if (getStandardCursor(getCursorShape(), xcursor) == GHOST_kFailure) {
+ getStandardCursor(getCursorShape(), xcursor);
+ }
}
else {
xcursor = getEmptyCursor();
@@ -1463,7 +1548,10 @@ GHOST_TSuccess GHOST_WindowX11::setWindowCursorGrab(GHOST_TGrabCursorMode mode)
GHOST_TSuccess GHOST_WindowX11::setWindowCursorShape(GHOST_TStandardCursor shape)
{
- Cursor xcursor = getStandardCursor(shape);
+ Cursor xcursor;
+ if (getStandardCursor(shape, xcursor) == GHOST_kFailure) {
+ getStandardCursor(GHOST_kStandardCursorDefault, xcursor);
+ }
m_visible_cursor = xcursor;
@@ -1473,6 +1561,12 @@ GHOST_TSuccess GHOST_WindowX11::setWindowCursorShape(GHOST_TStandardCursor shape
return GHOST_kSuccess;
}
+GHOST_TSuccess GHOST_WindowX11::hasCursorShape(GHOST_TStandardCursor shape)
+{
+ Cursor xcursor;
+ return getStandardCursor(shape, xcursor);
+}
+
GHOST_TSuccess GHOST_WindowX11::setWindowCustomCursorShape(GHOST_TUns8 *bitmap,
GHOST_TUns8 *mask,
int sizex,
diff --git a/intern/ghost/intern/GHOST_WindowX11.h b/intern/ghost/intern/GHOST_WindowX11.h
index 83e0a2b59db..faf3acba234 100644
--- a/intern/ghost/intern/GHOST_WindowX11.h
+++ b/intern/ghost/intern/GHOST_WindowX11.h
@@ -75,8 +75,9 @@ class GHOST_WindowX11 : public GHOST_Window {
GHOST_TUns32 width,
GHOST_TUns32 height,
GHOST_TWindowState state,
- const GHOST_TEmbedderWindowID parentWindow,
+ GHOST_WindowX11 *parentWindow,
GHOST_TDrawingContextType type = GHOST_kDrawingContextTypeNone,
+ const bool is_dialog = false,
const bool stereoVisual = false,
const bool exclusive = false,
const bool alphaBackground = false,
@@ -92,6 +93,8 @@ class GHOST_WindowX11 : public GHOST_Window {
void getClientBounds(GHOST_Rect &bounds) const;
+ bool isDialog() const;
+
GHOST_TSuccess setClientWidth(GHOST_TUns32 width);
GHOST_TSuccess setClientHeight(GHOST_TUns32 height);
@@ -185,6 +188,8 @@ class GHOST_WindowX11 : public GHOST_Window {
GHOST_TSuccess endFullScreen() const;
+ GHOST_TSuccess setDialogHints(GHOST_WindowX11 *parentWindow);
+
GHOST_TUns16 getDPIHint();
protected:
@@ -213,6 +218,7 @@ class GHOST_WindowX11 : public GHOST_Window {
* native window system calls.
*/
GHOST_TSuccess setWindowCursorShape(GHOST_TStandardCursor shape);
+ GHOST_TSuccess hasCursorShape(GHOST_TStandardCursor shape);
/**
* Sets the cursor shape on the window using
@@ -233,7 +239,7 @@ class GHOST_WindowX11 : public GHOST_Window {
GHOST_WindowX11(const GHOST_WindowX11 &);
- Cursor getStandardCursor(GHOST_TStandardCursor g_cursor);
+ GHOST_TSuccess getStandardCursor(GHOST_TStandardCursor g_cursor, Cursor &xcursor);
Cursor getEmptyCursor();
diff --git a/intern/ghost/test/CMakeLists.txt b/intern/ghost/test/CMakeLists.txt
index a5a41209603..f97397715bf 100644
--- a/intern/ghost/test/CMakeLists.txt
+++ b/intern/ghost/test/CMakeLists.txt
@@ -126,27 +126,27 @@ add_library(glewmx_lib ${SRC_NEW})
# grr, blenfont needs BLI
include_directories(
- "../../../source/blender/blenlib"
- )
+ "../../../source/blender/blenlib"
+)
add_library(bli_lib
- "../../../source/blender/blenlib/intern/fileops.c"
- "../../../source/blender/blenlib/intern/gsqueue.c"
- "../../../source/blender/blenlib/intern/rct.c"
- "../../../source/blender/blenlib/intern/string.c"
- "../../../source/blender/blenlib/intern/string_utf8.c"
- "../../../source/blender/blenlib/intern/listbase.c"
- "../../../source/blender/blenlib/intern/math_color.c"
- "../../../source/blender/blenlib/intern/storage.c"
- "../../../source/blender/blenlib/intern/task.c"
- "../../../source/blender/blenlib/intern/threads.c"
- "../../../source/blender/blenlib/intern/time.c"
- "../../../source/blender/blenlib/intern/path_util.c"
- "../../../source/blender/blenlib/intern/BLI_dynstr.c"
- "../../../source/blender/blenlib/intern/BLI_linklist.c"
- "../../../source/blender/blenlib/intern/BLI_memarena.c"
- "../../../source/blender/blenlib/intern/BLI_mempool.c"
- "../../../source/blender/blenlib/intern/system.c"
- )
+ "../../../source/blender/blenlib/intern/fileops.c"
+ "../../../source/blender/blenlib/intern/gsqueue.c"
+ "../../../source/blender/blenlib/intern/rct.c"
+ "../../../source/blender/blenlib/intern/string.c"
+ "../../../source/blender/blenlib/intern/string_utf8.c"
+ "../../../source/blender/blenlib/intern/listbase.c"
+ "../../../source/blender/blenlib/intern/math_color.c"
+ "../../../source/blender/blenlib/intern/storage.c"
+ "../../../source/blender/blenlib/intern/task.c"
+ "../../../source/blender/blenlib/intern/threads.c"
+ "../../../source/blender/blenlib/intern/time.c"
+ "../../../source/blender/blenlib/intern/path_util.c"
+ "../../../source/blender/blenlib/intern/BLI_dynstr.c"
+ "../../../source/blender/blenlib/intern/BLI_linklist.c"
+ "../../../source/blender/blenlib/intern/BLI_memarena.c"
+ "../../../source/blender/blenlib/intern/BLI_mempool.c"
+ "../../../source/blender/blenlib/intern/system.c"
+)
set(PLATFORM_CGLAGS)
diff --git a/intern/guardedalloc/CMakeLists.txt b/intern/guardedalloc/CMakeLists.txt
index dab24af7f8d..1d4f846623c 100644
--- a/intern/guardedalloc/CMakeLists.txt
+++ b/intern/guardedalloc/CMakeLists.txt
@@ -38,6 +38,10 @@ set(SRC
# only so the header is known by cmake
../atomic/atomic_ops.h
+ ../atomic/intern/atomic_ops_ext.h
+ ../atomic/intern/atomic_ops_msvc.h
+ ../atomic/intern/atomic_ops_unix.h
+ ../atomic/intern/atomic_ops_utils.h
)
set(LIB
diff --git a/intern/guardedalloc/intern/mmap_win.c b/intern/guardedalloc/intern/mmap_win.c
index 5b0c4b6614a..3508ae4e1aa 100644
--- a/intern/guardedalloc/intern/mmap_win.c
+++ b/intern/guardedalloc/intern/mmap_win.c
@@ -125,8 +125,11 @@ void *mmap(void *UNUSED(start), size_t len, int prot, int flags, int fd, off_t o
}
}
- /* note len is passed to a 32 bit DWORD, so can't be > 4 GB */
- maphandle = CreateFileMapping(fhandle, NULL, prot_flags, 0, len, NULL);
+ /* Split 64 bit size into low and high bits. */
+ DWORD len_bits_high = len >> 32;
+ DWORD len_bits_low = len & 0xFFFFFFFF;
+
+ maphandle = CreateFileMapping(fhandle, NULL, prot_flags, len_bits_high, len_bits_low, NULL);
if (maphandle == 0) {
errno = EBADF;
return MAP_FAILED;
diff --git a/intern/libmv/libmv/autotrack/callbacks.h b/intern/libmv/libmv/autotrack/callbacks.h
index e65841de3ce..ee3d2eeb7c3 100644
--- a/intern/libmv/libmv/autotrack/callbacks.h
+++ b/intern/libmv/libmv/autotrack/callbacks.h
@@ -27,7 +27,7 @@ namespace mv {
struct OperationListener {
// All hooks return true to continue or false to indicate the operation
- // should abort. Hooks should be thread safe (reentrant).
+ // should abort. Hooks should be thread safe (re-entrant).
virtual bool Log(const string& message) = 0;
virtual bool Progress(double fraction) = 0;
virtual bool Cancelled() = 0;
diff --git a/intern/mikktspace/mikktspace.c b/intern/mikktspace/mikktspace.c
index ab58c8f48e4..4f120b7d83c 100644
--- a/intern/mikktspace/mikktspace.c
+++ b/intern/mikktspace/mikktspace.c
@@ -460,11 +460,6 @@ tbool genTangSpace(const SMikkTSpaceContext *pContext, const float fAngularThres
///////////////////////////////////////////////////////////////////////////////////////////////////
-typedef struct {
- float vert[3];
- int index;
-} STmpVert;
-
static void GenerateSharedVerticesIndexListSlow(int piTriList_in_and_out[],
const SMikkTSpaceContext *pContext,
const int iNrTrianglesIn);
diff --git a/intern/numaapi/README.blender b/intern/numaapi/README.blender
index 6f71d5f8807..0151be80e10 100644
--- a/intern/numaapi/README.blender
+++ b/intern/numaapi/README.blender
@@ -1,5 +1,5 @@
Project: LibNumaAPI
URL: https://github.com/Nazg-Gul/libNumaAPI
License: MIT
-Upstream version: 4e7206befce
+Upstream version: 1afdd28a08d
Local modifications: None
diff --git a/intern/numaapi/source/build_config.h b/intern/numaapi/source/build_config.h
index 444adcc0c71..b8af51a5dd7 100644
--- a/intern/numaapi/source/build_config.h
+++ b/intern/numaapi/source/build_config.h
@@ -307,6 +307,27 @@
# define ARCH_CPU_32_BITS 1
# define ARCH_CPU_BIG_ENDIAN 1
# endif
+#elif defined(__powerpc64__)
+# define ARCH_CPU_PPC_FAMILY 1
+# define ARCH_CPU_PPC 1
+# define ARCH_CPU_64_BITS 1
+# if defined(__BIG_ENDIAN__)
+# define ARCH_CPU_BIG_ENDIAN 1
+# elif defined(__LITTLE_ENDIAN)
+# define ARCH_CPU_LITTLE_ENDIAN 1
+# else
+# error Please define your endianness
+# endif
+#elif defined(__s390x__)
+# define ARCH_CPU_S390_FAMILY 1
+# define ARCH_CPU_S390X 1
+# define ARCH_CPU_64_BITS 1
+# define ARCH_CPU_BIG_ENDIAN 1
+#elif defined(__s390__)
+# define ARCH_CPU_S390_FAMILY 1
+# define ARCH_CPU_S390 1
+# define ARCH_CPU_31_BITS 1
+# define ARCH_CPU_BIG_ENDIAN 1
#else
# error Please add support for your architecture in build_config.h
#endif
@@ -337,6 +358,12 @@
#if !defined(ARCH_CPU_MIPS64_FAMILY)
# define ARCH_CPU_MIPS64_FAMILY 0
#endif
+#if !defined(ARCH_CPU_PPC_FAMILY)
+# define ARCH_CPU_PPC_FAMILY 0
+#endif
+#if !defined(ARCH_CPU_S390_FAMILY)
+# define ARCH_CPU_S390_FAMILY 0
+#endif
////////////////////////////////////////////////////////////////////////////////
// Sizes of platform-dependent types.
diff --git a/intern/opensubdiv/CMakeLists.txt b/intern/opensubdiv/CMakeLists.txt
index be0c213b6e6..69f4bad62b2 100644
--- a/intern/opensubdiv/CMakeLists.txt
+++ b/intern/opensubdiv/CMakeLists.txt
@@ -103,12 +103,12 @@ if(WITH_OPENSUBDIV)
endif()
# TODO(sergey): Put CUEW back when CUDA is officially supported by OSD.
- #if(OPENSUBDIV_HAS_CUDA)
+ # if(OPENSUBDIV_HAS_CUDA)
# list(APPEND INC
- # ../../extern/cuew/include
+ # ../../extern/cuew/include
# )
# add_definitions(-DOPENSUBDIV_HAS_CUEW)
- #endif()
+ # endif()
if(OPENSUBDIV_HAS_OPENCL)
list(APPEND INC
diff --git a/intern/opensubdiv/internal/opensubdiv_evaluator.cc b/intern/opensubdiv/internal/opensubdiv_evaluator.cc
index 2500691885c..4f5a1db82ca 100644
--- a/intern/opensubdiv/internal/opensubdiv_evaluator.cc
+++ b/intern/opensubdiv/internal/opensubdiv_evaluator.cc
@@ -102,6 +102,17 @@ void evaluateLimit(OpenSubdiv_Evaluator *evaluator,
evaluator->internal->eval_output->evaluateLimit(ptex_face_index, face_u, face_v, P, dPdu, dPdv);
}
+void evaluatePatchesLimit(OpenSubdiv_Evaluator *evaluator,
+ const OpenSubdiv_PatchCoord *patch_coords,
+ const int num_patch_coords,
+ float *P,
+ float *dPdu,
+ float *dPdv)
+{
+ evaluator->internal->eval_output->evaluatePatchesLimit(
+ patch_coords, num_patch_coords, P, dPdu, dPdv);
+}
+
void evaluateVarying(OpenSubdiv_Evaluator *evaluator,
const int ptex_face_index,
float face_u,
@@ -137,6 +148,8 @@ void assignFunctionPointers(OpenSubdiv_Evaluator *evaluator)
evaluator->evaluateLimit = evaluateLimit;
evaluator->evaluateVarying = evaluateVarying;
evaluator->evaluateFaceVarying = evaluateFaceVarying;
+
+ evaluator->evaluatePatchesLimit = evaluatePatchesLimit;
}
} // namespace
diff --git a/intern/opensubdiv/internal/opensubdiv_evaluator_internal.cc b/intern/opensubdiv/internal/opensubdiv_evaluator_internal.cc
index fa45c0119ec..c5dd4509976 100644
--- a/intern/opensubdiv/internal/opensubdiv_evaluator_internal.cc
+++ b/intern/opensubdiv/internal/opensubdiv_evaluator_internal.cc
@@ -54,109 +54,133 @@ using OpenSubdiv::Osd::CpuPatchTable;
using OpenSubdiv::Osd::CpuVertexBuffer;
using OpenSubdiv::Osd::PatchCoord;
-// TODO(sergey): Remove after official requirement bump for OSD version.
-#if OPENSUBDIV_VERSION_NUMBER >= 30200
-# define OPENSUBDIV_HAS_FVAR_EVALUATION
-#else
-# undef OPENSUBDIV_HAS_FVAR_EVALUATION
-#endif
-
namespace opensubdiv_capi {
namespace {
-// Helper class to wrap numerous of patch coordinates into a buffer.
-// Used to pass coordinates to the CPU evaluator. Other evaluators are not
-// supported.
-class PatchCoordBuffer : public vector<PatchCoord> {
+// Array implementation which stores small data on stack (or, rather, in the class itself).
+template<typename T, int kNumMaxElementsOnStack> class StackOrHeapArray {
public:
- static PatchCoordBuffer *Create(int size)
+ StackOrHeapArray()
+ : num_elements_(0), heap_elements_(NULL), num_heap_elements_(0), effective_elements_(NULL)
{
- PatchCoordBuffer *buffer = new PatchCoordBuffer();
- buffer->resize(size);
- return buffer;
}
- PatchCoord *BindCpuBuffer()
+ explicit StackOrHeapArray(int size) : StackOrHeapArray()
{
- return reinterpret_cast<PatchCoord *>(&(*this)[0]);
+ resize(size);
}
- int GetNumVertices()
+ ~StackOrHeapArray()
{
- return size();
+ delete[] heap_elements_;
}
- void UpdateData(const PatchCoord *patch_coords, int num_patch_coords)
+ int size() const
{
- memcpy(&(*this)[0],
- reinterpret_cast<const void *>(patch_coords),
- sizeof(PatchCoord) * num_patch_coords);
- }
-};
+ return num_elements_;
+ };
-// Helper class to wrap single of patch coord into a buffer. Used to pass
-// coordinates to the CPU evaluator. Other evaluators are not supported.
-class SinglePatchCoordBuffer {
- public:
- static SinglePatchCoordBuffer *Create()
+ T *data()
{
- return new SinglePatchCoordBuffer();
+ return effective_elements_;
}
- SinglePatchCoordBuffer()
+ void resize(int num_elements)
{
+ const int old_num_elements = num_elements_;
+ num_elements_ = num_elements;
+ // Early output if allcoation size did not change, or allocation size is smaller.
+ // We never re-allocate, sacrificing some memory over performance.
+ if (old_num_elements >= num_elements) {
+ return;
+ }
+ // Simple case: no previously allocated buffer, can simply do one allocation.
+ if (effective_elements_ == NULL) {
+ effective_elements_ = allocate(num_elements);
+ return;
+ }
+ // Make new allocation, and copy elements if needed.
+ T *old_buffer = effective_elements_;
+ effective_elements_ = allocate(num_elements);
+ if (old_buffer != effective_elements_) {
+ memcpy(effective_elements_, old_buffer, sizeof(T) * min(old_num_elements, num_elements));
+ }
+ if (old_buffer != stack_elements_) {
+ delete[] old_buffer;
+ }
}
- explicit SinglePatchCoordBuffer(const PatchCoord &patch_coord) : patch_coord_(patch_coord)
+ protected:
+ T *allocate(int num_elements)
{
+ if (num_elements < kNumMaxElementsOnStack) {
+ return stack_elements_;
+ }
+ heap_elements_ = new T[num_elements];
+ return heap_elements_;
}
- PatchCoord *BindCpuBuffer()
- {
- return &patch_coord_;
- }
+ // Number of elements in the buffer.
+ int num_elements_;
- int GetNumVertices()
+ // Elements which are allocated on a stack (or, rather, in the same allocation as the buffer
+ // itself).
+ // Is used as long as buffer is smaller than kNumMaxElementsOnStack.
+ T stack_elements_[kNumMaxElementsOnStack];
+
+ // Heap storage for buffer larger than kNumMaxElementsOnStack.
+ T *heap_elements_;
+ int num_heap_elements_;
+
+ // Depending on the current buffer size points to rither stack_elements_ or heap_elements_.
+ T *effective_elements_;
+};
+
+// 32 is a number of inner vertices along the patch size at subdivision level 6.
+typedef StackOrHeapArray<PatchCoord, 32 * 32> StackOrHeapPatchCoordArray;
+
+// Buffer which implements API required by OpenSubdiv and uses an existing memory as an underlying
+// storage.
+template<typename T> class RawDataWrapperBuffer {
+ public:
+ RawDataWrapperBuffer(T *data) : data_(data)
{
- return 1;
}
- void UpdateData(const PatchCoord &patch_coord)
+ T *BindCpuBuffer()
{
- patch_coord_ = patch_coord;
+ return data_;
}
+ // TODO(sergey): Support UpdateData().
+
protected:
- PatchCoord patch_coord_;
+ T *data_;
};
-// Helper class which is aimed to be used in cases when buffer is small enough
-// and better to be allocated in stack rather than in heap.
-//
-// TODO(sergey): Check if bare arrays could be used by CPU evaluator.
-template<int element_size, int num_vertices> class StackAllocatedBuffer {
+template<typename T> class RawDataWrapperVertexBuffer : public RawDataWrapperBuffer<T> {
public:
- static PatchCoordBuffer *Create(int /*size*/)
+ RawDataWrapperVertexBuffer(T *data, int num_vertices)
+ : RawDataWrapperBuffer<T>(data), num_vertices_(num_vertices)
{
- // TODO(sergey): Validate that requested size is smaller than static
- // stack memory size.
- return new StackAllocatedBuffer<element_size, num_vertices>();
- }
-
- float *BindCpuBuffer()
- {
- return &data_[0];
}
int GetNumVertices()
{
- return num_vertices;
+ return num_vertices_;
}
- // TODO(sergey): Support UpdateData().
protected:
- float data_[element_size * num_vertices];
+ int num_vertices_;
+};
+
+class ConstPatchCoordWrapperBuffer : public RawDataWrapperVertexBuffer<const PatchCoord> {
+ public:
+ ConstPatchCoordWrapperBuffer(const PatchCoord *data, int num_vertices)
+ : RawDataWrapperVertexBuffer(data, num_vertices)
+ {
+ }
};
template<typename EVAL_VERTEX_BUFFER,
@@ -217,11 +241,12 @@ class FaceVaryingVolatileEval {
device_context_);
}
- void evalPatch(const PatchCoord &patch_coord, float face_varying[2])
+ // NOTE: face_varying must point to a memory of at least float[2]*num_patch_coords.
+ void evalPatches(const PatchCoord *patch_coord, const int num_patch_coords, float *face_varying)
{
- StackAllocatedBuffer<2, 1> face_varying_data;
+ RawDataWrapperBuffer<float> face_varying_data(face_varying);
BufferDescriptor face_varying_desc(0, 2, 2);
- SinglePatchCoordBuffer patch_coord_buffer(patch_coord);
+ ConstPatchCoordWrapperBuffer patch_coord_buffer(patch_coord, num_patch_coords);
const EVALUATOR *eval_instance = OpenSubdiv::Osd::GetEvaluator<EVALUATOR>(
evaluator_cache_, src_face_varying_desc_, face_varying_desc, device_context_);
EVALUATOR::EvalPatchesFaceVarying(src_face_varying_data_,
@@ -234,8 +259,6 @@ class FaceVaryingVolatileEval {
face_varying_channel_,
eval_instance,
device_context_);
- const float *refined_face_varying = face_varying_data.BindCpuBuffer();
- memcpy(face_varying, refined_face_varying, sizeof(float) * 2);
}
protected:
@@ -297,7 +320,6 @@ class VolatileEvalOutput {
src_data_ = SRC_VERTEX_BUFFER::Create(3, num_total_vertices, device_context_);
src_varying_data_ = SRC_VERTEX_BUFFER::Create(3, num_total_vertices, device_context_);
patch_table_ = PATCH_TABLE::Create(patch_table, device_context_);
- patch_coords_ = NULL;
vertex_stencils_ = convertToCompatibleStencilTable<STENCIL_TABLE>(vertex_stencils,
device_context_);
varying_stencils_ = convertToCompatibleStencilTable<STENCIL_TABLE>(varying_stencils,
@@ -398,74 +420,66 @@ class VolatileEvalOutput {
}
}
- void evalPatchCoord(const PatchCoord &patch_coord, float P[3])
+ // NOTE: P must point to a memory of at least float[3]*num_patch_coords.
+ void evalPatches(const PatchCoord *patch_coord, const int num_patch_coords, float *P)
{
- StackAllocatedBuffer<6, 1> vertex_data;
- // TODO(sergey): Varying data is interleaved in vertex array, so need to
- // adjust stride if there is a varying data.
- // BufferDescriptor vertex_desc(0, 3, 6);
- BufferDescriptor vertex_desc(0, 3, 3);
- SinglePatchCoordBuffer patch_coord_buffer(patch_coord);
+ RawDataWrapperBuffer<float> P_data(P);
+ // TODO(sergey): Support interleaved vertex-varying data.
+ BufferDescriptor P_desc(0, 3, 3);
+ ConstPatchCoordWrapperBuffer patch_coord_buffer(patch_coord, num_patch_coords);
const EVALUATOR *eval_instance = OpenSubdiv::Osd::GetEvaluator<EVALUATOR>(
- evaluator_cache_, src_desc_, vertex_desc, device_context_);
+ evaluator_cache_, src_desc_, P_desc, device_context_);
EVALUATOR::EvalPatches(src_data_,
src_desc_,
- &vertex_data,
- vertex_desc,
+ &P_data,
+ P_desc,
patch_coord_buffer.GetNumVertices(),
&patch_coord_buffer,
patch_table_,
eval_instance,
device_context_);
- const float *refined_vertices = vertex_data.BindCpuBuffer();
- memcpy(P, refined_vertices, sizeof(float) * 3);
}
- void evalPatchesWithDerivatives(const PatchCoord &patch_coord,
- float P[3],
- float dPdu[3],
- float dPdv[3])
+ // NOTE: P, dPdu, dPdv must point to a memory of at least float[3]*num_patch_coords.
+ void evalPatchesWithDerivatives(const PatchCoord *patch_coord,
+ const int num_patch_coords,
+ float *P,
+ float *dPdu,
+ float *dPdv)
{
- StackAllocatedBuffer<6, 1> vertex_data, derivatives;
- // TODO(sergey): Varying data is interleaved in vertex array, so need to
- // adjust stride if there is a varying data.
- // BufferDescriptor vertex_desc(0, 3, 6);
- BufferDescriptor vertex_desc(0, 3, 3);
- BufferDescriptor du_desc(0, 3, 6), dv_desc(3, 3, 6);
- SinglePatchCoordBuffer patch_coord_buffer(patch_coord);
+ assert(dPdu);
+ assert(dPdv);
+ RawDataWrapperBuffer<float> P_data(P);
+ RawDataWrapperBuffer<float> dPdu_data(dPdu), dPdv_data(dPdv);
+ // TODO(sergey): Support interleaved vertex-varying data.
+ BufferDescriptor P_desc(0, 3, 3);
+ BufferDescriptor dpDu_desc(0, 3, 3), pPdv_desc(0, 3, 3);
+ ConstPatchCoordWrapperBuffer patch_coord_buffer(patch_coord, num_patch_coords);
const EVALUATOR *eval_instance = OpenSubdiv::Osd::GetEvaluator<EVALUATOR>(
- evaluator_cache_, src_desc_, vertex_desc, du_desc, dv_desc, device_context_);
+ evaluator_cache_, src_desc_, P_desc, dpDu_desc, pPdv_desc, device_context_);
EVALUATOR::EvalPatches(src_data_,
src_desc_,
- &vertex_data,
- vertex_desc,
- &derivatives,
- du_desc,
- &derivatives,
- dv_desc,
+ &P_data,
+ P_desc,
+ &dPdu_data,
+ dpDu_desc,
+ &dPdv_data,
+ pPdv_desc,
patch_coord_buffer.GetNumVertices(),
&patch_coord_buffer,
patch_table_,
eval_instance,
device_context_);
- const float *refined_vertices = vertex_data.BindCpuBuffer();
- memcpy(P, refined_vertices, sizeof(float) * 3);
- if (dPdu != NULL || dPdv != NULL) {
- const float *refined_derivatives = derivatives.BindCpuBuffer();
- if (dPdu != NULL) {
- memcpy(dPdu, refined_derivatives, sizeof(float) * 3);
- }
- if (dPdv != NULL) {
- memcpy(dPdv, refined_derivatives + 3, sizeof(float) * 3);
- }
- }
}
- void evalPatchVarying(const PatchCoord &patch_coord, float varying[3])
+ // NOTE: varying must point to a memory of at least float[3]*num_patch_coords.
+ void evalPatchesVarying(const PatchCoord *patch_coord,
+ const int num_patch_coords,
+ float *varying)
{
- StackAllocatedBuffer<6, 1> varying_data;
+ RawDataWrapperBuffer<float> varying_data(varying);
BufferDescriptor varying_desc(3, 3, 6);
- SinglePatchCoordBuffer patch_coord_buffer(patch_coord);
+ ConstPatchCoordWrapperBuffer patch_coord_buffer(patch_coord, num_patch_coords);
const EVALUATOR *eval_instance = OpenSubdiv::Osd::GetEvaluator<EVALUATOR>(
evaluator_cache_, src_varying_desc_, varying_desc, device_context_);
EVALUATOR::EvalPatchesVarying(src_varying_data_,
@@ -477,23 +491,22 @@ class VolatileEvalOutput {
patch_table_,
eval_instance,
device_context_);
- const float *refined_varying = varying_data.BindCpuBuffer();
- memcpy(varying, refined_varying, sizeof(float) * 3);
}
- void evalPatchFaceVarying(const int face_varying_channel,
- const PatchCoord &patch_coord,
- float face_varying[2])
+ void evalPatchesFaceVarying(const int face_varying_channel,
+ const PatchCoord *patch_coord,
+ const int num_patch_coords,
+ float face_varying[2])
{
assert(face_varying_channel >= 0);
assert(face_varying_channel < face_varying_evaluators.size());
- face_varying_evaluators[face_varying_channel]->evalPatch(patch_coord, face_varying);
+ face_varying_evaluators[face_varying_channel]->evalPatches(
+ patch_coord, num_patch_coords, face_varying);
}
private:
SRC_VERTEX_BUFFER *src_data_;
SRC_VERTEX_BUFFER *src_varying_data_;
- PatchCoordBuffer *patch_coords_;
PATCH_TABLE *patch_table_;
BufferDescriptor src_desc_;
BufferDescriptor src_varying_desc_;
@@ -510,6 +523,19 @@ class VolatileEvalOutput {
DEVICE_CONTEXT *device_context_;
};
+void convertPatchCoordsToArray(const OpenSubdiv_PatchCoord *patch_coords,
+ const int num_patch_coords,
+ const OpenSubdiv::Far::PatchMap *patch_map,
+ StackOrHeapPatchCoordArray *array)
+{
+ array->resize(num_patch_coords);
+ for (int i = 0; i < num_patch_coords; ++i) {
+ const PatchTable::PatchHandle *handle = patch_map->FindPatch(
+ patch_coords[i].ptex_face, patch_coords[i].u, patch_coords[i].v);
+ (array->data())[i] = PatchCoord(*handle, patch_coords[i].u, patch_coords[i].v);
+ }
+}
+
} // namespace
// Note: Define as a class instead of typedcef to make it possible
@@ -653,10 +679,10 @@ void CpuEvalOutputAPI::evaluateLimit(const int ptex_face_index,
const PatchTable::PatchHandle *handle = patch_map_->FindPatch(ptex_face_index, face_u, face_v);
PatchCoord patch_coord(*handle, face_u, face_v);
if (dPdu != NULL || dPdv != NULL) {
- implementation_->evalPatchesWithDerivatives(patch_coord, P, dPdu, dPdv);
+ implementation_->evalPatchesWithDerivatives(&patch_coord, 1, P, dPdu, dPdv);
}
else {
- implementation_->evalPatchCoord(patch_coord, P);
+ implementation_->evalPatches(&patch_coord, 1, P);
}
}
@@ -671,7 +697,7 @@ void CpuEvalOutputAPI::evaluateVarying(const int ptex_face_index,
assert(face_v <= 1.0f);
const PatchTable::PatchHandle *handle = patch_map_->FindPatch(ptex_face_index, face_u, face_v);
PatchCoord patch_coord(*handle, face_u, face_v);
- implementation_->evalPatchVarying(patch_coord, varying);
+ implementation_->evalPatchesVarying(&patch_coord, 1, varying);
}
void CpuEvalOutputAPI::evaluateFaceVarying(const int face_varying_channel,
@@ -686,7 +712,24 @@ void CpuEvalOutputAPI::evaluateFaceVarying(const int face_varying_channel,
assert(face_v <= 1.0f);
const PatchTable::PatchHandle *handle = patch_map_->FindPatch(ptex_face_index, face_u, face_v);
PatchCoord patch_coord(*handle, face_u, face_v);
- implementation_->evalPatchFaceVarying(face_varying_channel, patch_coord, face_varying);
+ implementation_->evalPatchesFaceVarying(face_varying_channel, &patch_coord, 1, face_varying);
+}
+
+void CpuEvalOutputAPI::evaluatePatchesLimit(const OpenSubdiv_PatchCoord *patch_coords,
+ const int num_patch_coords,
+ float *P,
+ float *dPdu,
+ float *dPdv)
+{
+ StackOrHeapPatchCoordArray patch_coords_array;
+ convertPatchCoordsToArray(patch_coords, num_patch_coords, patch_map_, &patch_coords_array);
+ if (dPdu != NULL || dPdv != NULL) {
+ implementation_->evalPatchesWithDerivatives(
+ patch_coords_array.data(), num_patch_coords, P, dPdu, dPdv);
+ }
+ else {
+ implementation_->evalPatches(patch_coords_array.data(), num_patch_coords, P);
+ }
}
} // namespace opensubdiv_capi
@@ -757,7 +800,6 @@ OpenSubdiv_EvaluatorInternal *openSubdiv_createEvaluatorInternal(
}
// Face warying stencil.
vector<const StencilTable *> all_face_varying_stencils;
-#ifdef OPENSUBDIV_HAS_FVAR_EVALUATION
all_face_varying_stencils.reserve(num_face_varying_channels);
for (int face_varying_channel = 0; face_varying_channel < num_face_varying_channels;
++face_varying_channel) {
@@ -769,7 +811,6 @@ OpenSubdiv_EvaluatorInternal *openSubdiv_createEvaluatorInternal(
all_face_varying_stencils.push_back(
StencilTableFactory::Create(*refiner, face_varying_stencil_options));
}
-#endif
// Generate bi-cubic patch table for the limit surface.
// TODO(sergey): Ideally we would want to expose end-cap settings via
// C-API to make it more generic. Currently it matches old Blender's
@@ -800,7 +841,6 @@ OpenSubdiv_EvaluatorInternal *openSubdiv_createEvaluatorInternal(
varying_stencils = table;
}
}
-#ifdef OPENSUBDIV_HAS_FVAR_EVALUATION
for (int face_varying_channel = 0; face_varying_channel < num_face_varying_channels;
++face_varying_channel) {
const StencilTable *table = StencilTableFactory::AppendLocalPointStencilTableFaceVarying(
@@ -813,7 +853,6 @@ OpenSubdiv_EvaluatorInternal *openSubdiv_createEvaluatorInternal(
all_face_varying_stencils[face_varying_channel] = table;
}
}
-#endif
// Create OpenSubdiv's CPU side evaluator.
// TODO(sergey): Make it possible to use different evaluators.
opensubdiv_capi::CpuEvalOutput *eval_output = new opensubdiv_capi::CpuEvalOutput(
diff --git a/intern/opensubdiv/internal/opensubdiv_evaluator_internal.h b/intern/opensubdiv/internal/opensubdiv_evaluator_internal.h
index 7c963227d17..392633944c6 100644
--- a/intern/opensubdiv/internal/opensubdiv_evaluator_internal.h
+++ b/intern/opensubdiv/internal/opensubdiv_evaluator_internal.h
@@ -26,6 +26,7 @@
#include <opensubdiv/far/patchMap.h>
#include <opensubdiv/far/patchTable.h>
+struct OpenSubdiv_PatchCoord;
struct OpenSubdiv_TopologyRefiner;
namespace opensubdiv_capi {
@@ -114,6 +115,18 @@ class CpuEvalOutputAPI {
float face_v,
float face_varying[2]);
+ // Batched evaluation of multiple input coordinates.
+
+ // Evaluate given ptex face at given bilinear coordinate.
+ // If derivatives are NULL, they will not be evaluated.
+ //
+ // NOTE: Output arrays must point to a memory of size float[3]*num_patch_coords.
+ void evaluatePatchesLimit(const OpenSubdiv_PatchCoord *patch_coords,
+ const int num_patch_coords,
+ float *P,
+ float *dPdu,
+ float *dPdv);
+
protected:
CpuEvalOutput *implementation_;
OpenSubdiv::Far::PatchMap *patch_map_;
diff --git a/intern/opensubdiv/internal/opensubdiv_topology_refiner.cc b/intern/opensubdiv/internal/opensubdiv_topology_refiner.cc
index f4a1a82ca52..ac27cbdefdc 100644
--- a/intern/opensubdiv/internal/opensubdiv_topology_refiner.cc
+++ b/intern/opensubdiv/internal/opensubdiv_topology_refiner.cc
@@ -123,6 +123,21 @@ void getEdgeVertices(const OpenSubdiv_TopologyRefiner *topology_refiner,
edge_vertices_indices[1] = array[1];
}
+int getNumVertexEdges(const OpenSubdiv_TopologyRefiner *topology_refiner, const int vertex_index)
+{
+ const OpenSubdiv::Far::TopologyLevel *base_level = getOSDTopologyBaseLevel(topology_refiner);
+ return base_level->GetVertexEdges(vertex_index).size();
+}
+
+void getVertexEdges(const OpenSubdiv_TopologyRefiner *topology_refiner,
+ const int vertex_index,
+ int *vertex_edges_indices)
+{
+ const OpenSubdiv::Far::TopologyLevel *base_level = getOSDTopologyBaseLevel(topology_refiner);
+ OpenSubdiv::Far::ConstIndexArray array = base_level->GetVertexEdges(vertex_index);
+ convertArrayToRaw(array, vertex_edges_indices);
+}
+
int getNumFacePtexFaces(const OpenSubdiv_TopologyRefiner *topology_refiner, const int face_index)
{
const int num_face_vertices = topology_refiner->getNumFaceVertices(topology_refiner, face_index);
@@ -201,6 +216,8 @@ void assignFunctionPointers(OpenSubdiv_TopologyRefiner *topology_refiner)
topology_refiner->getNumFaceEdges = getNumFaceEdges;
topology_refiner->getFaceEdges = getFaceEdges;
topology_refiner->getEdgeVertices = getEdgeVertices;
+ topology_refiner->getNumVertexEdges = getNumVertexEdges;
+ topology_refiner->getVertexEdges = getVertexEdges;
// PTex face geometry.
topology_refiner->getNumFacePtexFaces = getNumFacePtexFaces;
topology_refiner->getNumPtexFaces = getNumPtexFaces;
@@ -389,7 +406,7 @@ bool compareCyclicBackward(const CyclicArray &array_a,
// vertices.
bool checkVerticesOfFacesMatch(const CyclicArray &indices_a, const CyclicArray &indices_b)
{
- if (indices_a.size() != indices_a.size()) {
+ if (indices_a.size() != indices_b.size()) {
return false;
}
// "Align" the arrays so we know first matched element.
diff --git a/intern/opensubdiv/opensubdiv_capi_type.h b/intern/opensubdiv/opensubdiv_capi_type.h
index 35eeb71dede..e759c5f43b0 100644
--- a/intern/opensubdiv/opensubdiv_capi_type.h
+++ b/intern/opensubdiv/opensubdiv_capi_type.h
@@ -58,6 +58,13 @@ typedef enum OpenSubdiv_FVarLinearInterpolation {
OSD_FVAR_LINEAR_INTERPOLATION_ALL,
} OpenSubdiv_FVarLinearInterpolation;
+typedef struct OpenSubdiv_PatchCoord {
+ int ptex_face;
+
+ // Parametric location on patch.
+ float u, v;
+} OpenSubdiv_PatchCoord;
+
#ifdef __cplusplus
}
#endif
diff --git a/intern/opensubdiv/opensubdiv_evaluator_capi.h b/intern/opensubdiv/opensubdiv_evaluator_capi.h
index ceb0c58feba..1572d01b851 100644
--- a/intern/opensubdiv/opensubdiv_evaluator_capi.h
+++ b/intern/opensubdiv/opensubdiv_evaluator_capi.h
@@ -24,6 +24,7 @@ extern "C" {
#endif
struct OpenSubdiv_EvaluatorInternal;
+struct OpenSubdiv_PatchCoord;
struct OpenSubdiv_TopologyRefiner;
typedef struct OpenSubdiv_Evaluator {
@@ -108,6 +109,19 @@ typedef struct OpenSubdiv_Evaluator {
float face_v,
float face_varying[2]);
+ // Batched evaluation of multiple input coordinates.
+
+ // Evaluate limit surface.
+ // If derivatives are NULL, they will not be evaluated.
+ //
+ // NOTE: Output arrays must point to a memory of size float[3]*num_patch_coords.
+ void (*evaluatePatchesLimit)(struct OpenSubdiv_Evaluator *evaluator,
+ const struct OpenSubdiv_PatchCoord *patch_coords,
+ const int num_patch_coords,
+ float *P,
+ float *dPdu,
+ float *dPdv);
+
// Internal storage for the use in this module only.
//
// This is where actual OpenSubdiv's evaluator is living.
diff --git a/intern/opensubdiv/opensubdiv_topology_refiner_capi.h b/intern/opensubdiv/opensubdiv_topology_refiner_capi.h
index cf7f59adf2f..38d722ab572 100644
--- a/intern/opensubdiv/opensubdiv_topology_refiner_capi.h
+++ b/intern/opensubdiv/opensubdiv_topology_refiner_capi.h
@@ -58,11 +58,13 @@ typedef struct OpenSubdiv_TopologyRefiner {
int (*getNumVertices)(const struct OpenSubdiv_TopologyRefiner *topology_refiner);
int (*getNumEdges)(const struct OpenSubdiv_TopologyRefiner *topology_refiner);
int (*getNumFaces)(const struct OpenSubdiv_TopologyRefiner *topology_refiner);
+
int (*getNumFaceVertices)(const struct OpenSubdiv_TopologyRefiner *topology_refiner,
const int face_index);
void (*getFaceVertices)(const struct OpenSubdiv_TopologyRefiner *topology_refiner,
const int face_index,
int *face_vertices_indices);
+
int (*getNumFaceEdges)(const struct OpenSubdiv_TopologyRefiner *topology_refiner,
const int face_index);
void (*getFaceEdges)(const struct OpenSubdiv_TopologyRefiner *topology_refiner,
@@ -72,6 +74,12 @@ typedef struct OpenSubdiv_TopologyRefiner {
const int edge_index,
int edge_vertices_indices[2]);
+ int (*getNumVertexEdges)(const struct OpenSubdiv_TopologyRefiner *topology_refiner,
+ const int vertex_index);
+ void (*getVertexEdges)(const struct OpenSubdiv_TopologyRefiner *topology_refiner,
+ const int vertex_index,
+ int *vertex_edges_indices);
+
//////////////////////////////////////////////////////////////////////////////
// PTex face geometry queries.
diff --git a/intern/quadriflow/CMakeLists.txt b/intern/quadriflow/CMakeLists.txt
index 615d5a34ce6..35cfe22a018 100644
--- a/intern/quadriflow/CMakeLists.txt
+++ b/intern/quadriflow/CMakeLists.txt
@@ -38,7 +38,7 @@ set(LIB
extern_quadriflow
)
-if (WIN32)
+if(WIN32)
add_definitions(-D_USE_MATH_DEFINES)
endif()
diff --git a/release/darwin/Blender.app/Contents/Resources/arrowdown.pdf b/release/darwin/Blender.app/Contents/Resources/arrowdown.pdf
new file mode 100644
index 00000000000..8a262b21010
--- /dev/null
+++ b/release/darwin/Blender.app/Contents/Resources/arrowdown.pdf
Binary files differ
diff --git a/release/darwin/Blender.app/Contents/Resources/arrowleft.pdf b/release/darwin/Blender.app/Contents/Resources/arrowleft.pdf
new file mode 100644
index 00000000000..1ca740b6d70
--- /dev/null
+++ b/release/darwin/Blender.app/Contents/Resources/arrowleft.pdf
Binary files differ
diff --git a/release/darwin/Blender.app/Contents/Resources/arrowright.pdf b/release/darwin/Blender.app/Contents/Resources/arrowright.pdf
new file mode 100644
index 00000000000..c8c657f02a0
--- /dev/null
+++ b/release/darwin/Blender.app/Contents/Resources/arrowright.pdf
Binary files differ
diff --git a/release/darwin/Blender.app/Contents/Resources/arrowup.pdf b/release/darwin/Blender.app/Contents/Resources/arrowup.pdf
new file mode 100644
index 00000000000..2a74e8b293e
--- /dev/null
+++ b/release/darwin/Blender.app/Contents/Resources/arrowup.pdf
Binary files differ
diff --git a/release/darwin/Blender.app/Contents/Resources/crossc.pdf b/release/darwin/Blender.app/Contents/Resources/crossc.pdf
new file mode 100644
index 00000000000..a6bb7a4ef01
--- /dev/null
+++ b/release/darwin/Blender.app/Contents/Resources/crossc.pdf
Binary files differ
diff --git a/release/darwin/Blender.app/Contents/Resources/eraser.pdf b/release/darwin/Blender.app/Contents/Resources/eraser.pdf
new file mode 100644
index 00000000000..5a56be7006b
--- /dev/null
+++ b/release/darwin/Blender.app/Contents/Resources/eraser.pdf
Binary files differ
diff --git a/release/darwin/Blender.app/Contents/Resources/eyedropper.pdf b/release/darwin/Blender.app/Contents/Resources/eyedropper.pdf
new file mode 100644
index 00000000000..59b9fa936df
--- /dev/null
+++ b/release/darwin/Blender.app/Contents/Resources/eyedropper.pdf
Binary files differ
diff --git a/release/darwin/Blender.app/Contents/Resources/knife.pdf b/release/darwin/Blender.app/Contents/Resources/knife.pdf
new file mode 100644
index 00000000000..da4d48cde10
--- /dev/null
+++ b/release/darwin/Blender.app/Contents/Resources/knife.pdf
Binary files differ
diff --git a/release/darwin/Blender.app/Contents/Resources/paint_cursor_cross.pdf b/release/darwin/Blender.app/Contents/Resources/paint_cursor_cross.pdf
new file mode 100644
index 00000000000..4f658f3b722
--- /dev/null
+++ b/release/darwin/Blender.app/Contents/Resources/paint_cursor_cross.pdf
Binary files differ
diff --git a/release/darwin/Blender.app/Contents/Resources/paint_cursor_dot.pdf b/release/darwin/Blender.app/Contents/Resources/paint_cursor_dot.pdf
new file mode 100644
index 00000000000..a5eea954231
--- /dev/null
+++ b/release/darwin/Blender.app/Contents/Resources/paint_cursor_dot.pdf
Binary files differ
diff --git a/release/darwin/Blender.app/Contents/Resources/pen.pdf b/release/darwin/Blender.app/Contents/Resources/pen.pdf
new file mode 100644
index 00000000000..d98f9ee9c89
--- /dev/null
+++ b/release/darwin/Blender.app/Contents/Resources/pen.pdf
Binary files differ
diff --git a/release/darwin/Blender.app/Contents/Resources/scrollew.pdf b/release/darwin/Blender.app/Contents/Resources/scrollew.pdf
new file mode 100644
index 00000000000..35db18830e8
--- /dev/null
+++ b/release/darwin/Blender.app/Contents/Resources/scrollew.pdf
Binary files differ
diff --git a/release/darwin/Blender.app/Contents/Resources/scrollns.pdf b/release/darwin/Blender.app/Contents/Resources/scrollns.pdf
new file mode 100644
index 00000000000..b4046290d50
--- /dev/null
+++ b/release/darwin/Blender.app/Contents/Resources/scrollns.pdf
Binary files differ
diff --git a/release/darwin/Blender.app/Contents/Resources/scrollnsew.pdf b/release/darwin/Blender.app/Contents/Resources/scrollnsew.pdf
new file mode 100644
index 00000000000..f8c666b5347
--- /dev/null
+++ b/release/darwin/Blender.app/Contents/Resources/scrollnsew.pdf
Binary files differ
diff --git a/release/darwin/Blender.app/Contents/Resources/splith.pdf b/release/darwin/Blender.app/Contents/Resources/splith.pdf
new file mode 100644
index 00000000000..03265fd18aa
--- /dev/null
+++ b/release/darwin/Blender.app/Contents/Resources/splith.pdf
Binary files differ
diff --git a/release/darwin/Blender.app/Contents/Resources/splitv.pdf b/release/darwin/Blender.app/Contents/Resources/splitv.pdf
new file mode 100644
index 00000000000..95774f9c17d
--- /dev/null
+++ b/release/darwin/Blender.app/Contents/Resources/splitv.pdf
Binary files differ
diff --git a/release/darwin/Blender.app/Contents/Resources/zoomin.pdf b/release/darwin/Blender.app/Contents/Resources/zoomin.pdf
new file mode 100644
index 00000000000..da20349c1aa
--- /dev/null
+++ b/release/darwin/Blender.app/Contents/Resources/zoomin.pdf
@@ -0,0 +1,674 @@
+%PDF-1.5 %
+1 0 obj <</Metadata 2 0 R/Pages 3 0 R/Type/Catalog>> endobj 2 0 obj <</Length 48624/Subtype/XML/Type/Metadata>>stream
+<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?>
+<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 4.2.2-c063 53.352624, 2008/07/30-18:05:41 ">
+ <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
+ <rdf:Description rdf:about=""
+ xmlns:dc="http://purl.org/dc/elements/1.1/">
+ <dc:format>application/pdf</dc:format>
+ <dc:title>
+ <rdf:Alt>
+ <rdf:li xml:lang="x-default">ZoominCursor</rdf:li>
+ </rdf:Alt>
+ </dc:title>
+ </rdf:Description>
+ <rdf:Description rdf:about=""
+ xmlns:xmp="http://ns.adobe.com/xap/1.0/"
+ xmlns:xmpGImg="http://ns.adobe.com/xap/1.0/g/img/">
+ <xmp:CreatorTool>Adobe Illustrator CS4</xmp:CreatorTool>
+ <xmp:CreateDate>2011-08-25T16:21:20-07:00</xmp:CreateDate>
+ <xmp:ModifyDate>2011-08-25T16:21:20-07:00</xmp:ModifyDate>
+ <xmp:MetadataDate>2011-08-25T16:21:20-07:00</xmp:MetadataDate>
+ <xmp:Thumbnails>
+ <rdf:Alt>
+ <rdf:li rdf:parseType="Resource">
+ <xmpGImg:width>256</xmpGImg:width>
+ <xmpGImg:height>256</xmpGImg:height>
+ <xmpGImg:format>JPEG</xmpGImg:format>
+ <xmpGImg:image>/9j/4AAQSkZJRgABAgEASABIAAD/7QAsUGhvdG9zaG9wIDMuMAA4QklNA+0AAAAAABAASAAAAAEA&#xA;AQBIAAAAAQAB/+4ADkFkb2JlAGTAAAAAAf/bAIQABgQEBAUEBgUFBgkGBQYJCwgGBggLDAoKCwoK&#xA;DBAMDAwMDAwQDA4PEA8ODBMTFBQTExwbGxscHx8fHx8fHx8fHwEHBwcNDA0YEBAYGhURFRofHx8f&#xA;Hx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8f/8AAEQgBAAEAAwER&#xA;AAIRAQMRAf/EAaIAAAAHAQEBAQEAAAAAAAAAAAQFAwIGAQAHCAkKCwEAAgIDAQEBAQEAAAAAAAAA&#xA;AQACAwQFBgcICQoLEAACAQMDAgQCBgcDBAIGAnMBAgMRBAAFIRIxQVEGE2EicYEUMpGhBxWxQiPB&#xA;UtHhMxZi8CRygvElQzRTkqKyY3PCNUQnk6OzNhdUZHTD0uIIJoMJChgZhJRFRqS0VtNVKBry4/PE&#xA;1OT0ZXWFlaW1xdXl9WZ2hpamtsbW5vY3R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo+Ck5SVlpeYmZ&#xA;qbnJ2en5KjpKWmp6ipqqusra6voRAAICAQIDBQUEBQYECAMDbQEAAhEDBCESMUEFURNhIgZxgZEy&#xA;obHwFMHR4SNCFVJicvEzJDRDghaSUyWiY7LCB3PSNeJEgxdUkwgJChgZJjZFGidkdFU38qOzwygp&#xA;0+PzhJSktMTU5PRldYWVpbXF1eX1RlZmdoaWprbG1ub2R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo&#xA;+DlJWWl5iZmpucnZ6fkqOkpaanqKmqq6ytrq+v/aAAwDAQACEQMRAD8A9U4q7FXYq7FXYq7FXYqx&#xA;Hzr+bP5eeSkb/EOtQWtyBUWKEzXRr0/cRBpAD4kAe+KvCvNv/ObdpGzw+UvL7TUqFvNTfgu3Q+hC&#xA;SSD/AMZBiryfX/8AnKT859XLKusppkDf7psIIoqfKRhJMP8Ag8VYPqf5h+ftUJ/SXmTU7wN1Wa8n&#xA;de+wUvQDc4qkU9xcTuHnleVwKBnYsaeFTiroLi4gcvBK8TkULIxU08KjFU90z8w/P2lkfo3zJqdm&#xA;F6LDeTovbYqHoRsMVZxoH/OUn5z6QVVtZTU4F/3TfwRS1+ciiOY/8Hir1jyn/wA5t2jlIfNvl5oT&#xA;sGvNMk5rv1/cTFSAP+MpxV7r5K/Nn8vPOqL/AIe1qC6uSKmxcmG6FOv7iULIQPEAj3xVl2KuxV2K&#xA;uxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxViX5h/mn5L8gacLzzFfCKWQE2thF+8upyP&#xA;99xA9O3JqKO5xV8k/mX/AM5YeffM7TWXl8ny3ozVUfV2reyL/l3GxSvhGFp05HFXiMsss0ryzO0k&#xA;shLPI5LMzHckk7k4qsxV2KuxV2KuxV2KuxV2Kr4pZYZUlhdo5YyGSRCVZWG4II3BxV7d+Wn/ADlh&#xA;598sNDZeYGPmTRlop+sNS9jX/IuNy/ylDfMYq+tvy8/NPyX5/wBON55dvhLLGAbqwl/d3UBP+/Ii&#xA;enbktVPY4qy3FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXgP55/85Qab5Sa48veUjHqP&#xA;mVax3N4aPbWbdx4Syj+X7Kn7W4K4q+ONc13Wdd1OfVNZvJb/AFC4PKa5nYu7eAqegHYDYdsVQGKo&#xA;rTdM1LU72Ox021mvb2Y0itreNpZXP+SiAscVe3+SP+cPfzE1tY7nzBPB5cs23Mcv+k3dD/xTGQg/&#xA;2UgI8MVe2eWf+cQfym0pFbVEu9duBuxup2hiqP5Y7b0jT2ZmxV6NpP5WflrpKgaf5X0uBh/uwWkL&#xA;SfTIys5+/FWSW9naWylbaCOBTSqxqqDbp9kDFXXFnaXKhbmCOdRWiyKrjfr9oHFWN6t+Vn5a6spG&#xA;oeV9LnY/7sNpCsn0SKquPvxV5z5m/wCcQfym1VGbS0u9CuDuptZ2miqf5o7n1TT2VlxV4n53/wCc&#xA;PfzE0RZLny/PB5js13EcX+jXdB/xTISh/wBjISfDFXiGpaZqWmXsljqVrNZXsJpLbXEbRSof8pHA&#xA;YYqhcVR+h67rOhanBqmjXkthqFueUNzAxR18RUdQe4Ox74q+x/yM/wCcoNN82tb+XvNpj07zK1I7&#xA;a8FEtrxuw8IpT/L9lj9nchcVe/Yq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq+X/8AnJH/AJyR&#xA;msZrryV5KuuF2lYtZ1mI7xno1vbsOjjo7j7PQb1IVfJhJJqdycVaxV7j+T//ADi35o85xwax5gaT&#xA;QvLklHjLL/plwh3BhjcURGHR3+YVhir698j/AJb+S/I+n/UvLemRWfIUnuqc7ibvWWZqu2/atB2A&#xA;xVk2KuxV2KuxV2KuxV2KuxVjPnj8t/JfnjT/AKl5k0yK84ikF1ThcQ96xTLR137Voe4OKvkP84f+&#xA;cW/M/k2OfWPLzSa75cjq8nFf9MtkG5Msaijoo6unzKqMVeG4q2CQajYjFX1n/wA43f8AOSM19Na+&#xA;SvOt1zu3pFo2syneQ9Ft7hj1c9Ec/a6HehKr6gxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV4D/wA5&#xA;Qfnm3lLTT5S8vXHHzLqMdby5jPxWds47HtLKPs91X4tjxOKviokk1O5OKroopZZUiiRpJZGCxxqC&#xA;zMzGgAA3JJxV9gfkD/zjBZ6RDa+afPNstxrLUlsdFlAaK17q86moeXuFOye7fZVfSOKuxV2KuxV2&#xA;KuxV2KuxV2KuxV2KuxV83fn9/wA4wWesRXPmjyNbLb6ytZb7RogFiuu7PAooEl7lej+zfaVfIE8E&#xA;1vNJBPG0U8TFJYnBV1dTRlZTuCDsQcVWAkGo2IxV9q/84v8A55t5t00eUvMNxy8y6dHWzuZD8V5b&#xA;IO57yxD7Xdl+Lc8jir37FXYq7FXYq7FXYq7FXYq7FXYq7FWJfmn+YeneQPJd95ivAJJYh6Vhak0M&#xA;91JURR/L9pqdFBOKvzn13XNT13WbzWdUnNxqF/K09zM37Tuamg7AdAOw2xVAYq+w/wDnGD8gYdIs&#xA;7bzz5pteWs3CiXRbGUf7yxMKrO6n/drg1UH7A/yj8Kr6RxV2KuxV2KuxV2KuxV2KuxV2KuxV2Kux&#xA;V2Kvm7/nJ/8AIGHV7O588+VrXjrNupl1qxiH+9USirToo/3agFWA+2P8ofEq+PMVR+ha5qehazZ6&#xA;zpc5t9QsJVntpl/ZdDUVHcHoR3G2Kv0Y/Kz8w9O8/wDkux8xWYEcso9K/tQamC6joJY/l+0teqkH&#xA;FWW4q7FXYq7FXYq7FXYq7FXYq7FXw5/zlh+ZbeZ/Pp8v2U3LRvLZa3op+GS9P+9D+/AgRjw4tTri&#xA;rw7FXuP/ADi3+T8fnPzQ3mDWIPU8uaFIrGNxVLi82eOEg7MiD43H+qDs2KvuPFXYq7FXYq7FXYq/&#xA;KvFXYq7FXYq/VTFXYq7FXYq7FXYq+Hf+cpPyej8m+Z18w6PB6flzXZGb00FEtrzdpIgBsqOPjQf6&#xA;wGy4q8NxV7j/AM4n/mW3ljz6vl+9m46N5kK29GPwx3o/3nf/AGZJiP8ArDwxV9x4q7FXYq7FXYq7&#xA;FXYq7FXYqxH82fOqeSvy81rzDyAubWApYg71upiIoNu4EjAn2BxV+bksss0rzSuZJZGLyOxqzMxq&#xA;SSe5OKq+mabe6nqVrptjGZr29mjt7aIdXllYIi/SxxV+kn5b+R9P8j+S9M8t2VG+pxD61OP93XD/&#xA;ABTSmu/xOTTwFB2xVk2KuxV2KuxV2KuxV+VeKuxV2KuxV+qmKuxV2KuxV2KuxVjP5keR9P8APHkv&#xA;U/Ld7RfrkR+qzn/dNwnxQyim/wALgV8RUd8Vfm3qem3umaldabfRmG9sppLe5iPVJYmKOv0MMVUI&#xA;pZYZUmicxyxsHjdTRlZTUEEdwcVfpH+U3nVPOv5eaL5h5A3N1AEvgNqXUJMU+3YGRSR7EYqy7FXY&#xA;q7FXYq7FXYq7FXYq+XP+c2/NhS08veUoX3maTU7xQafClYYNu4JaX7sVfJ2Kvef+cPfJC63+Yk/m&#xA;C5j5WflyD1Yydx9buaxw/cgkb2IGKvtvFXYq7FXYq7FXYq7FX5V4q7FXYq7FX6qYq7FXYq7FXYq7&#xA;FXYq+JP+cwvJC6J+YkHmC2j42fmOD1ZCNh9btqRzfehjb3JOKvBsVfWH/OEnmwva+YfKcz19Fo9T&#xA;s0Jr8L0hnp4AFYvvxV9SYq7FXYq7FXYq7FXYq7FXwJ/zlJr51f8AOfWVVuUGmJBYQ+3pRBpB9E0j&#xA;4q8mxV9y/wDOIPllNK/KZNUZaXGu3c90WOx9KFvq0a/KsTMP9bFXt+KuxV2KuxV2KuxV2KvyrxV2&#xA;KuxV2Kv1UxV2KuxV2KuxV2KuxV4h/wA5feWU1X8pn1RVrcaFdwXQYbn0pm+rSL8qyqx/1cVfDWKv&#xA;Wf8AnFvXzpH5z6MrNxg1NJ7Cb39WItGPpmjTFX33irsVdirsVdirsVdirsVfmZ+YepnVPP3mTUq8&#xA;heaneTKf8l53KgbnYD3xVj2Kv0r/ACr0kaT+WvlfT6cWg0u0Eo/4saFWk/4djirKcVdirsVflXir&#xA;sVdirsVdirsVdirsVdirsVdirsVfqpirsVdirFvzT0ldW/LXzRp5FWn0u7Ef/GRYWaM/Q6jFX5qY&#xA;qyD8vdTbS/PnlzUVbj9U1OzmJ6fCk6FgemxGKv00xV2KuxV2KuxV2KuxV2KvyvuJ3nuJZ3ADyuzs&#xA;B0qxqaYqp4q/U+zt1trSC2U1WCNY1NKbIoXp9GKquKuxV2KvyrxV2KuxV2KuxV2KuxV2KuxV2Kux&#xA;V2Kv1UxV2KuxVSvLdbm0ntmNFnjaNjSuzqV6fTir8sMVVLed4LiKdAC8Tq6g9KqaiuKv1QxV2Kux&#xA;V2KuxV2KuxV2KvyvuIHguJYHILxOyMR0qpoaYqp4q/U+zuFubSC5UUWeNZFFa7Oobr9OKquKuxV2&#xA;KvyrxV2KuxV2KuxV2KuxV2KuxV2KuxV2Kv1UxV2KuxVSvLhba0nuWFVgjaRhWmyKW6/Rir8sMVVL&#xA;eB57iKBCA8rqik9KsaCuKv1QxV2KuxV2KuxV2KuxV2KvzM/MPTDpfn7zJptOIs9TvIVH+Sk7hSNh&#xA;sR7Yqx7FX6V/lZqy6t+WvlfUAatPpdoZP+Miwqsg+h1OKspxV2KuxV+W36J1X/ljn/5Fv/TFXfon&#xA;Vf8Aljn/AORb/wBMVd+idV/5Y5/+Rb/0xV36J1X/AJY5/wDkW/8ATFUJirsVdirsVRf6J1X/AJY5&#xA;/wDkW/8ATFXfonVf+WOf/kW/9MVd+idV/wCWOf8A5Fv/AExV36J1X/ljn/5Fv/TFX6k4q7FXYqxb&#xA;809WXSfy180agTRoNLuzH/xkaFljH0uwxV+amKsg/L3TG1Tz55c05V5fW9Ts4SOvwvOgYnrsBir9&#xA;NMVdirsVdirsVdirsVdir4E/5yk0A6R+c+ssq8YNTSC/h9/ViCyH6Zo3xV5Nir7l/wCcQfMyar+U&#xA;yaWzVuNCu57Uqdz6UzfWY2+VZWUf6uKvb8VdirsVdirsVdirsVflXirsVdirsVfqpirsVdirsVdi&#xA;rsVdirxD/nL7zMmlflM+lq1LjXbuC1CjY+lC31mRvlWJVP8ArYq+GsVes/8AOLegHV/zn0ZmXlBp&#xA;iT383t6URWM/RNImKvvvFXYq7FXYq7FXYq7FXYq+XP8AnNvymXtPL3m2FN4Wk0y8YCvwvWaDfsAV&#xA;l+/FXydir3n/AJw987ron5iT+X7mTjZ+Y4PSjB2H1u2rJD96GRfckYq+28VdirsVdirsVdirsVfl&#xA;XirsVdirsVfqpirsVdirsVdirsVdir4k/wCcwvO663+YkHl+2k5WflyD0pANx9buaSTfcgjX2IOK&#xA;vBsVfWH/ADhJ5TKWvmHzZMlPWaPTLNyKfClJp6eIJaL7sVfUmKuxV2KuxV2KuxV2KuxViP5s+Sk8&#xA;6/l5rXl7iDc3UBexJ2pdQkSwb9gZFAPsTir83JYpYZXhlQxyxsUkRhRlZTQgg9wcVV9M1K90zUrX&#xA;UrGQw3tlNHcW0o6pLEwdG+hhir9JPy388af548l6Z5ksqL9ciH1qAf7puE+GaI13+FwaeIoe+Ksm&#xA;xV2KuxV2KuxV2KvyrxV2KuxV2Kv1UxV2KuxV2KuxV2KsZ/Mjzxp/kfyXqfmS9o31OI/VYD/u64f4&#xA;YYhTf4nIr4Cp7Yq/NvU9SvdT1K61K+kM17ezSXFzKeryysXdvpY4qoRRSSyJFEpeSRgqIoqSxNAA&#xA;PfFX6R/lN5KTyV+Xmi+XuIFzawB74jet1MTLPv3AkYgewGKsuxV2KuxV2KuxV2KuxV2KuxV8Of8A&#xA;OWH5aN5Y8+t5gsoeOjeZC1xVR8Md6P8AehP9mSJR/rHwxV4dir3L/nFv84Y/JvmdvL2sT+n5c12R&#xA;V9RzRLa82WOUk7Kjj4HP+qTsuKvuLFXYq7FXYq7FXYq/KvFXYq7FXYq/VTFXYq7FXYq7FXYq+Hf+&#xA;cpPzhj85eZ18vaPP6nlzQpGX1ENUubzdZJQRsyIPgQ/6xGzYq8NxV7j/AM4n/lo3mfz6vmC9h5aN&#xA;5bK3FWHwyXp/3nT/AGBBlP8AqjxxV9x4q7FXYq7FXYq7FXYq7FXYq7FWJfmn+Xmnef8AyXfeXbwi&#xA;OWUerYXRFTBdR1MUny/ZanVSRir859d0PU9C1m80bVIDb6hYStBcwt+y6Ghoe4PUHuN8VQGKvsP/&#xA;AJxg/P6HV7O28jeabrjrNuoi0W+lP+9USiiwOx/3agFFJ+2P8ofEq+kcVdirsVdirsVdirsVdirs&#xA;VdirsVdirsVdir5u/wCcn/z+i0ezufI3le55azcqYtZvoj/vLEw+KBGH+7XBox/YH+UfhVfHmKo7&#xA;RNG1HW9YstH02Iz39/MlvaxDblJIwVak7Ab7nFX6M/lZ+XmneQPJdj5dsyJJYh6t/dAUM91JQyyf&#xA;L9la9FAGKstxV2KuxV2KuxV2KuxV2KuxV2KuxV4D/wA5QfkY3m3TT5t8vW/LzLp0dLy2jHxXlsg7&#xA;DvLEPs92X4dzxGKviogg0OxGKr4J5reaOeCRop4mDxSoSrq6mqsrDcEHcEYq+v8A8gf+cn7PWIrb&#xA;yv55uVt9ZWkVjrMpCxXXZUnY0CS9g3R/ZvtKvpHFXYq7FXYq7FXYq7FXYq7FXYq7FXYq+bvz+/5y&#xA;fs9HiufK/ka5W51lqxX2sxENFa9mSBtw8viw2T3b7Kr5AnnmuJpJ55GlnlYvLK5LOzsaszMdySdy&#xA;TiqniqpBPNbzRzwSNFPEweKVCVdXU1VlYbgg7gjFX2n/AM46/wDORUPm+GHyt5pmWLzTEvG0u2oq&#xA;X6KPuE4H2l/a6juAq99xV2KuxV2KuxV2KuxV2KuxV2KuxV2Kvl//AJyR/wCcbpr6a686+SrXndvW&#xA;XWdGiG8h6tcW6jq56ug+11G9QVXyYQQaHYjFWsVe5fk9/wA5SeZ/JscGj+YVk13y5HRI+Tf6ZbIN&#xA;gIpGNHRR0R/kGUYq+vPI/wCZHkvzxp/13y3qcV5xFZ7WvC4h7Ulhajrv3pQ9icVZNirsVdirsVdi&#xA;rsVdirsVYz54/MjyX5H0/wCu+ZNTis+QrBa153E3akUK1dt+9KDuRir5D/OH/nKTzP5yjn0fy8sm&#xA;heXJKpJxb/TLlDsRLIpoiMOqJ8izDFXhuKuxV2KuxVUgnmt5o54JGiniYPFKhKurqaqysNwQdwRi&#xA;r7T/AOcdf+ciofN8MPlbzTMsXmmJeNpdtRUv0UfcJwPtL+11HcBV77irsVdirsVdirsVdirsVdir&#xA;sVdirsVeA/nn/wA4v6b5ta48w+UhHp3mVqyXNmaJbXjdz4RSn+b7LH7W5LYq+ONc0LWdC1OfS9Zs&#xA;5bDULc8ZradSjr4Gh6g9iNj2xVAYqitN1PUtMvY77TbqayvYTWK5t5GilQ/5LoQwxV7f5I/5zC/M&#xA;TRFjtvMEEHmOzXYyS/6Nd0H/ABdGCh/2UZJ8cVe2eWf+cvvym1VFXVHu9CuDswuoGmiqf5ZLb1TT&#xA;3ZVxV6NpP5p/lrqyg6f5o0udj/usXcKyfTGzK4+7FWSW95aXKlraeOdRSrRsrjfp9knFXXF5aWyh&#xA;rmeOBTWjSMqDbr9ojFWOar+af5baSpOoeaNLgYdYzdwtJ47Rqxc/dirzjzN/zl9+U2lI66XJd67c&#xA;DZVtYGhir/lSXHpGnuqtirxPzv8A85hfmJrayW3l+CDy5ZtsJIv9Ju6H/i6QBB/sYwR44q8Q1LU9&#xA;S1O9kvtSupr29mNZbm4kaWVz/lO5LHFULiqO0bRNY1vUYtN0eymv7+c0itbdGkkam5PFQdgOpxVC&#xA;zwTW80kE8bRTxMUlicFXV1NGVlO4IOxBxVTxV2KuxVUgnmt5o54JGiniYPFKhKurqaqysNwQdwRi&#xA;r7T/AOcdf+ciofN8MPlbzTMsXmmJeNpdtRUv0UfcJwPtL+11HcBV77irsVdirsVdirsVdirsVdir&#xA;sVdirsVYl+Yf5WeS/P8Apws/MViJZYwRa38X7u6gJ/33KB078Wqp7jFXyT+Zf/OJ/n3yw0175fU+&#xA;ZNGWrD6utL2Nf8u33L/OIt8hirxGWKWGV4pkaOWMlXjcFWVhsQQdwcVWYq7FXYq7FXYq7FXYq7FV&#xA;8UUksixRI0kjkKiKCWJPQADrir278tP+cT/Pvmdob3zAp8t6M1GP1ha3si/5FvsU+cpX5HFX1t+X&#xA;n5WeS/IGnGz8u2IilkAF1fy/vLqcj/fkpHTvxWijsMVeX/8AORX/ADjrD5vhm80+VoVi80xLyu7R&#xA;aKl+ij7hOB9lv2uh7EKviyeCa3mkgnjaKeJiksTgq6upoysp3BB2IOKqeKuxV2KqkE81vNHPBI0U&#xA;8TB4pUJV1dTVWVhuCDuCMVfaf/OOv/ORUPm+GHyt5pmWLzTEvG0u2oqX6KPuE4H2l/a6juAq99xV&#xA;2KuxV2KuxV2KuxV2KuxV2KuxV2KuxViPnX8pvy886o3+IdFgurkigvkBhuhTp+/iKyEDwJI9sVeE&#xA;+bP+cJLVy83lPzC0NalLPU4+a79vXhCkAf8AGI4q8o1//nFv859ILMujJqcC/wC7rCeKWvyjYxzH&#xA;/gMVYNqf5e+fNLZl1Hy5qdpx6maznRdu4YpQjbFUjnt7iBwk8TxORUK6lTTxocVdBb3E7lIInlcC&#xA;pVFLGnjQYqnmmfl7581RlXTvLmp3fLoYbOd137lglAN8VZzoH/OLf5z6uVZtGTTIG/3dfzxRU+ca&#xA;mSYf8Bir1fyn/wA4SWqFJvNnmFpqUL2emR8F27evMGJB/wCMQxV7t5K/Kb8vPJSL/h7RYLW5Aob5&#xA;wZro16/v5S0gB8AQPbFWXYq7FXYq8C/5yK/5x1h83wzeafK0KxeaYl5XdotFS/RR9wnA+y37XQ9i&#xA;FXxZPBNbzSQTxtFPExSWJwVdXU0ZWU7gg7EHFVPFXYq7FVSCea3mjngkaKeJg8UqEq6upqrKw3BB&#xA;3BGKvtP/AJx1/wCciofN8MPlbzTMsXmmJeNpdtRUv0UfcJwPtL+11HcBV77irsVdirsVdirsVdir&#xA;sVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVeBf8AORX/ADjrD5vhm80+VoVi80xL&#xA;yu7RaKl+ij7hOB9lv2uh7EKviyeCa3mkgnjaKeJiksTgq6upoysp3BB2IOKqeKuxV2KqkE81vNHP&#xA;BI0U8TB4pUJV1dTVWVhuCDuCMVfaf/OOv/ORUPm+GHyt5pmWLzTEvG0u2oqX6KPuE4H2l/a6juAq&#xA;99xV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KvAv+civ+cd&#xA;YfN8M3mnytCsXmmJeV3aLRUv0UfcJwPst+10PYhV8WTwTW80kE8bRTxMUlicFXV1NGVlO4IOxBxV&#xA;TxV2KuxVUgnmt5o54JGiniYPFKhKurqaqysNwQdwRir7T/5x1/5yKh83ww+VvNMyxeaYl42l21FS&#xA;/RR9wnA+0v7XUdwFXvuKuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2Ku&#xA;xV2KuxV4F/zkV/zjrD5vhm80+VoVi80xLyu7RaKl+ij7hOB9lv2uh7EKviyeCa3mkgnjaKeJiksT&#xA;gq6upoysp3BB2IOKqeKuxV2KqkE81vNHPBI0U8TB4pUJV1dTVWVhuCDuCMVfaf8Azjr/AM5FQ+b4&#xA;YfK3mmZYvNMS8bS7aipfoo+4TgfaX9rqO4Cr33FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXY&#xA;q7FXYq7FXYq7FXYq7FXYq7FXYq8C/wCciv8AnHWHzfDN5p8rQrF5piXld2i0VL9FH3CcD7LftdD2&#xA;IVfFk8E1vNJBPG0U8TFJYnBV1dTRlZTuCDsQcVU8VdirsVVIJ5reaOeCRop4mDxSoSrq6mqsrDcE&#xA;HcEYq+0/+cdf+ciofN8MPlbzTMsXmmJeNpdtRUv0UfcJwPtL+11HcBV77irsVdirsVdirsVdirsV&#xA;dirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVeBf85Ff846w+b4ZvNPlaFYvNMS8ru0W&#xA;ipfoo+4TgfZb9roexCr4sngmt5pIJ42iniYpLE4KurqaMrKdwQdiDiqnirsVdiqpBPNbzRzwSNFP&#xA;EweKVCVdXU1VlYbgg7gjFX2n/wA46/8AORUPm+GHyt5pmWLzTEvG0u2oqX6KPuE4H2l/a6juAq99&#xA;xV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KvAv+civ+cdYf&#xA;N8M3mnytCsXmmJeV3aLRUv0UfcJwPst+10PYhV8WTwTW80kE8bRTxMUlicFXV1NGVlO4IOxBxVTx&#xA;V2KuxV7f/wA46/kHqfnbU4PMmrGaw8rWEweOaNmimu5omrwgdaMqKw+OQfJfiqVVfcuKuxV2KuxV&#xA;2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KvAv+civ+cdYfN8M3mny&#xA;tCsXmmJeV3aLRUv0UfcJwPst+10PYhV8WTwTW80kE8bRTxMUlicFXV1NGVlO4IOxBxVTxV7Z/wA4&#xA;+f8AOPl759vU13XUe28oWz7ndHvXQ7xRHqIwdncf6q71KqvuGxsbKwsoLGxgS2s7ZFit7eJQiIiC&#xA;iqqjYADFVfFXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7F&#xA;XYq8C/5yK/5x1h83wzeafK0KxeaYl5XdotFS/RR9wnA+y37XQ9iFXi/5B/8AOOup+dtTOreZIJrD&#xA;ytYTNHNG4aKa7mibi8CVoyorCkj/AOxHxVKqvt6xsbKwsoLGxgS2s7ZFit7eJQiIiCiqqjYADFVf&#xA;FX//2Q==</xmpGImg:image>
+ </rdf:li>
+ </rdf:Alt>
+ </xmp:Thumbnails>
+ </rdf:Description>
+ <rdf:Description rdf:about=""
+ xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/"
+ xmlns:stEvt="http://ns.adobe.com/xap/1.0/sType/ResourceEvent#"
+ xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#">
+ <xmpMM:OriginalDocumentID>uuid:9E3E5C9A8C81DB118734DB58FDDE4BA7</xmpMM:OriginalDocumentID>
+ <xmpMM:DocumentID>xmp.did:FF7F11740720681197A58AA60A3A792E</xmpMM:DocumentID>
+ <xmpMM:InstanceID>uuid:290e4a2c-d2d5-214f-ac9a-91dbf5b74460</xmpMM:InstanceID>
+ <xmpMM:RenditionClass>proof:pdf</xmpMM:RenditionClass>
+ <xmpMM:History>
+ <rdf:Seq>
+ <rdf:li rdf:parseType="Resource">
+ <stEvt:action>converted</stEvt:action>
+ <stEvt:params>from application/pdf to &lt;unknown&gt;</stEvt:params>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <stEvt:action>saved</stEvt:action>
+ <stEvt:instanceID>xmp.iid:D07F11740720681191099C3B601C4548</stEvt:instanceID>
+ <stEvt:when>2008-04-17T14:19:10+05:30</stEvt:when>
+ <stEvt:softwareAgent>Adobe Illustrator CS4</stEvt:softwareAgent>
+ <stEvt:changed>
+ <rdf:Bag>
+ <rdf:li>/</rdf:li>
+ </rdf:Bag>
+ </stEvt:changed>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <stEvt:action>converted</stEvt:action>
+ <stEvt:params>from application/pdf to &lt;unknown&gt;</stEvt:params>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <stEvt:action>converted</stEvt:action>
+ <stEvt:params>from application/vnd.adobe.illustrator to application/vnd.adobe.illustrator</stEvt:params>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <stEvt:action>saved</stEvt:action>
+ <stEvt:instanceID>xmp.iid:FC7F117407206811B628E3BF27C8C41B</stEvt:instanceID>
+ <stEvt:when>2008-05-22T14:51:08-07:00</stEvt:when>
+ <stEvt:softwareAgent>Adobe Illustrator CS4</stEvt:softwareAgent>
+ <stEvt:changed>
+ <rdf:Bag>
+ <rdf:li>/</rdf:li>
+ </rdf:Bag>
+ </stEvt:changed>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <stEvt:action>converted</stEvt:action>
+ <stEvt:params>from application/vnd.adobe.illustrator to application/vnd.adobe.illustrator</stEvt:params>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <stEvt:action>saved</stEvt:action>
+ <stEvt:instanceID>xmp.iid:FD7F117407206811B628E3BF27C8C41B</stEvt:instanceID>
+ <stEvt:when>2008-05-22T15:15:38-07:00</stEvt:when>
+ <stEvt:softwareAgent>Adobe Illustrator CS4</stEvt:softwareAgent>
+ <stEvt:changed>
+ <rdf:Bag>
+ <rdf:li>/</rdf:li>
+ </rdf:Bag>
+ </stEvt:changed>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <stEvt:action>converted</stEvt:action>
+ <stEvt:params>from application/vnd.adobe.illustrator to application/vnd.adobe.illustrator</stEvt:params>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <stEvt:action>saved</stEvt:action>
+ <stEvt:instanceID>xmp.iid:0CC3BD25102DDD1181B594070CEB88D9</stEvt:instanceID>
+ <stEvt:when>2008-05-28T17:07:17-07:00</stEvt:when>
+ <stEvt:softwareAgent>Adobe Illustrator CS4</stEvt:softwareAgent>
+ <stEvt:changed>
+ <rdf:Bag>
+ <rdf:li>/</rdf:li>
+ </rdf:Bag>
+ </stEvt:changed>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <stEvt:action>saved</stEvt:action>
+ <stEvt:instanceID>xmp.iid:F77F117407206811ACFEA91EFF4B1542</stEvt:instanceID>
+ <stEvt:when>2011-08-23T17:31:58-07:00</stEvt:when>
+ <stEvt:softwareAgent>Adobe Illustrator CS4</stEvt:softwareAgent>
+ <stEvt:changed>/</stEvt:changed>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <stEvt:action>saved</stEvt:action>
+ <stEvt:instanceID>xmp.iid:FD7F11740720681197A58AA60A3A792E</stEvt:instanceID>
+ <stEvt:when>2011-08-25T16:11:20-07:00</stEvt:when>
+ <stEvt:softwareAgent>Adobe Illustrator CS4</stEvt:softwareAgent>
+ <stEvt:changed>/</stEvt:changed>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <stEvt:action>saved</stEvt:action>
+ <stEvt:instanceID>xmp.iid:FE7F11740720681197A58AA60A3A792E</stEvt:instanceID>
+ <stEvt:when>2011-08-25T16:20:54-07:00</stEvt:when>
+ <stEvt:softwareAgent>Adobe Illustrator CS4</stEvt:softwareAgent>
+ <stEvt:changed>/</stEvt:changed>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <stEvt:action>saved</stEvt:action>
+ <stEvt:instanceID>xmp.iid:FF7F11740720681197A58AA60A3A792E</stEvt:instanceID>
+ <stEvt:when>2011-08-25T16:21:13-07:00</stEvt:when>
+ <stEvt:softwareAgent>Adobe Illustrator CS4</stEvt:softwareAgent>
+ <stEvt:changed>/</stEvt:changed>
+ </rdf:li>
+ </rdf:Seq>
+ </xmpMM:History>
+ <xmpMM:DerivedFrom rdf:parseType="Resource">
+ <stRef:instanceID>xmp.iid:FE7F11740720681197A58AA60A3A792E</stRef:instanceID>
+ <stRef:documentID>xmp.did:FE7F11740720681197A58AA60A3A792E</stRef:documentID>
+ <stRef:originalDocumentID>uuid:9E3E5C9A8C81DB118734DB58FDDE4BA7</stRef:originalDocumentID>
+ <stRef:renditionClass>proof:pdf</stRef:renditionClass>
+ </xmpMM:DerivedFrom>
+ </rdf:Description>
+ <rdf:Description rdf:about=""
+ xmlns:illustrator="http://ns.adobe.com/illustrator/1.0/">
+ <illustrator:StartupProfile>Basic RGB</illustrator:StartupProfile>
+ </rdf:Description>
+ <rdf:Description rdf:about=""
+ xmlns:xmpTPg="http://ns.adobe.com/xap/1.0/t/pg/"
+ xmlns:stDim="http://ns.adobe.com/xap/1.0/sType/Dimensions#"
+ xmlns:xmpG="http://ns.adobe.com/xap/1.0/g/">
+ <xmpTPg:NPages>1</xmpTPg:NPages>
+ <xmpTPg:HasVisibleTransparency>False</xmpTPg:HasVisibleTransparency>
+ <xmpTPg:HasVisibleOverprint>False</xmpTPg:HasVisibleOverprint>
+ <xmpTPg:MaxPageSize rdf:parseType="Resource">
+ <stDim:w>20.000000</stDim:w>
+ <stDim:h>20.000000</stDim:h>
+ <stDim:unit>Pixels</stDim:unit>
+ </xmpTPg:MaxPageSize>
+ <xmpTPg:PlateNames>
+ <rdf:Seq>
+ <rdf:li>Cyan</rdf:li>
+ <rdf:li>Magenta</rdf:li>
+ <rdf:li>Yellow</rdf:li>
+ <rdf:li>Black</rdf:li>
+ </rdf:Seq>
+ </xmpTPg:PlateNames>
+ <xmpTPg:SwatchGroups>
+ <rdf:Seq>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:groupName>Default Swatch Group</xmpG:groupName>
+ <xmpG:groupType>0</xmpG:groupType>
+ <xmpG:Colorants>
+ <rdf:Seq>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>White</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>255</xmpG:red>
+ <xmpG:green>255</xmpG:green>
+ <xmpG:blue>255</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>Black</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>0</xmpG:red>
+ <xmpG:green>0</xmpG:green>
+ <xmpG:blue>0</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>RGB Red</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>255</xmpG:red>
+ <xmpG:green>0</xmpG:green>
+ <xmpG:blue>0</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>RGB Yellow</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>255</xmpG:red>
+ <xmpG:green>255</xmpG:green>
+ <xmpG:blue>0</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>RGB Green</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>0</xmpG:red>
+ <xmpG:green>255</xmpG:green>
+ <xmpG:blue>0</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>RGB Cyan</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>0</xmpG:red>
+ <xmpG:green>255</xmpG:green>
+ <xmpG:blue>255</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>RGB Blue</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>0</xmpG:red>
+ <xmpG:green>0</xmpG:green>
+ <xmpG:blue>255</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>RGB Magenta</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>255</xmpG:red>
+ <xmpG:green>0</xmpG:green>
+ <xmpG:blue>255</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=193 G=39 B=45</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>193</xmpG:red>
+ <xmpG:green>39</xmpG:green>
+ <xmpG:blue>45</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=237 G=28 B=36</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>237</xmpG:red>
+ <xmpG:green>28</xmpG:green>
+ <xmpG:blue>36</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=241 G=90 B=36</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>241</xmpG:red>
+ <xmpG:green>90</xmpG:green>
+ <xmpG:blue>36</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=247 G=147 B=30</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>247</xmpG:red>
+ <xmpG:green>147</xmpG:green>
+ <xmpG:blue>30</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=251 G=176 B=59</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>251</xmpG:red>
+ <xmpG:green>176</xmpG:green>
+ <xmpG:blue>59</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=252 G=238 B=33</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>252</xmpG:red>
+ <xmpG:green>238</xmpG:green>
+ <xmpG:blue>33</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=217 G=224 B=33</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>217</xmpG:red>
+ <xmpG:green>224</xmpG:green>
+ <xmpG:blue>33</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=140 G=198 B=63</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>140</xmpG:red>
+ <xmpG:green>198</xmpG:green>
+ <xmpG:blue>63</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=57 G=181 B=74</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>57</xmpG:red>
+ <xmpG:green>181</xmpG:green>
+ <xmpG:blue>74</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=0 G=146 B=69</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>0</xmpG:red>
+ <xmpG:green>146</xmpG:green>
+ <xmpG:blue>69</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=0 G=104 B=55</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>0</xmpG:red>
+ <xmpG:green>104</xmpG:green>
+ <xmpG:blue>55</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=34 G=181 B=115</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>34</xmpG:red>
+ <xmpG:green>181</xmpG:green>
+ <xmpG:blue>115</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=0 G=169 B=157</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>0</xmpG:red>
+ <xmpG:green>169</xmpG:green>
+ <xmpG:blue>157</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=41 G=171 B=226</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>41</xmpG:red>
+ <xmpG:green>171</xmpG:green>
+ <xmpG:blue>226</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=0 G=113 B=188</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>0</xmpG:red>
+ <xmpG:green>113</xmpG:green>
+ <xmpG:blue>188</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=46 G=49 B=146</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>46</xmpG:red>
+ <xmpG:green>49</xmpG:green>
+ <xmpG:blue>146</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=27 G=20 B=100</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>27</xmpG:red>
+ <xmpG:green>20</xmpG:green>
+ <xmpG:blue>100</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=102 G=45 B=145</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>102</xmpG:red>
+ <xmpG:green>45</xmpG:green>
+ <xmpG:blue>145</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=147 G=39 B=143</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>147</xmpG:red>
+ <xmpG:green>39</xmpG:green>
+ <xmpG:blue>143</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=158 G=0 B=93</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>158</xmpG:red>
+ <xmpG:green>0</xmpG:green>
+ <xmpG:blue>93</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=212 G=20 B=90</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>212</xmpG:red>
+ <xmpG:green>20</xmpG:green>
+ <xmpG:blue>90</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=237 G=30 B=121</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>237</xmpG:red>
+ <xmpG:green>30</xmpG:green>
+ <xmpG:blue>121</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=199 G=178 B=153</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>199</xmpG:red>
+ <xmpG:green>178</xmpG:green>
+ <xmpG:blue>153</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=153 G=134 B=117</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>153</xmpG:red>
+ <xmpG:green>134</xmpG:green>
+ <xmpG:blue>117</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=115 G=99 B=87</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>115</xmpG:red>
+ <xmpG:green>99</xmpG:green>
+ <xmpG:blue>87</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=83 G=71 B=65</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>83</xmpG:red>
+ <xmpG:green>71</xmpG:green>
+ <xmpG:blue>65</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=198 G=156 B=109</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>198</xmpG:red>
+ <xmpG:green>156</xmpG:green>
+ <xmpG:blue>109</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=166 G=124 B=82</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>166</xmpG:red>
+ <xmpG:green>124</xmpG:green>
+ <xmpG:blue>82</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=140 G=98 B=57</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>140</xmpG:red>
+ <xmpG:green>98</xmpG:green>
+ <xmpG:blue>57</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=117 G=76 B=36</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>117</xmpG:red>
+ <xmpG:green>76</xmpG:green>
+ <xmpG:blue>36</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=96 G=56 B=19</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>96</xmpG:red>
+ <xmpG:green>56</xmpG:green>
+ <xmpG:blue>19</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=66 G=33 B=11</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>66</xmpG:red>
+ <xmpG:green>33</xmpG:green>
+ <xmpG:blue>11</xmpG:blue>
+ </rdf:li>
+ </rdf:Seq>
+ </xmpG:Colorants>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:groupName>Grays</xmpG:groupName>
+ <xmpG:groupType>1</xmpG:groupType>
+ <xmpG:Colorants>
+ <rdf:Seq>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=0 G=0 B=0</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>0</xmpG:red>
+ <xmpG:green>0</xmpG:green>
+ <xmpG:blue>0</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=26 G=26 B=26</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>26</xmpG:red>
+ <xmpG:green>26</xmpG:green>
+ <xmpG:blue>26</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=51 G=51 B=51</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>51</xmpG:red>
+ <xmpG:green>51</xmpG:green>
+ <xmpG:blue>51</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=77 G=77 B=77</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>77</xmpG:red>
+ <xmpG:green>77</xmpG:green>
+ <xmpG:blue>77</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=102 G=102 B=102</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>102</xmpG:red>
+ <xmpG:green>102</xmpG:green>
+ <xmpG:blue>102</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=128 G=128 B=128</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>128</xmpG:red>
+ <xmpG:green>128</xmpG:green>
+ <xmpG:blue>128</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=153 G=153 B=153</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>153</xmpG:red>
+ <xmpG:green>153</xmpG:green>
+ <xmpG:blue>153</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=179 G=179 B=179</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>179</xmpG:red>
+ <xmpG:green>179</xmpG:green>
+ <xmpG:blue>179</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=204 G=204 B=204</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>204</xmpG:red>
+ <xmpG:green>204</xmpG:green>
+ <xmpG:blue>204</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=230 G=230 B=230</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>230</xmpG:red>
+ <xmpG:green>230</xmpG:green>
+ <xmpG:blue>230</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=242 G=242 B=242</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>242</xmpG:red>
+ <xmpG:green>242</xmpG:green>
+ <xmpG:blue>242</xmpG:blue>
+ </rdf:li>
+ </rdf:Seq>
+ </xmpG:Colorants>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:groupName>Splash</xmpG:groupName>
+ <xmpG:groupType>1</xmpG:groupType>
+ <xmpG:Colorants>
+ <rdf:Seq>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=214 G=149 B=68</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>214</xmpG:red>
+ <xmpG:green>149</xmpG:green>
+ <xmpG:blue>68</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=71 G=152 B=237</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>71</xmpG:red>
+ <xmpG:green>152</xmpG:green>
+ <xmpG:blue>237</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=42 G=81 B=224</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>42</xmpG:red>
+ <xmpG:green>81</xmpG:green>
+ <xmpG:blue>224</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=180 G=58 B=228</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>180</xmpG:red>
+ <xmpG:green>58</xmpG:green>
+ <xmpG:blue>228</xmpG:blue>
+ </rdf:li>
+ </rdf:Seq>
+ </xmpG:Colorants>
+ </rdf:li>
+ </rdf:Seq>
+ </xmpTPg:SwatchGroups>
+ </rdf:Description>
+ <rdf:Description rdf:about=""
+ xmlns:pdf="http://ns.adobe.com/pdf/1.3/">
+ <pdf:Producer>Adobe PDF library 9.00</pdf:Producer>
+ </rdf:Description>
+ </rdf:RDF>
+</x:xmpmeta>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<?xpacket end="w"?> endstream endobj 3 0 obj <</Count 1/Kids[5 0 R]/Type/Pages>> endobj 5 0 obj <</ArtBox[2.0 3.0 18.0 19.0]/BleedBox[0.0 0.0 20.0 20.0]/Contents 6 0 R/MediaBox[0.0 0.0 20.0 20.0]/Parent 3 0 R/Resources<</ExtGState<</GS0 7 0 R>>/Properties<</MC0<</Color[65535 20224 20224]/Dimmed false/Editable true/Preview true/Printed true/Title(Layer 2)/Visible true>>/MC1<</Color[20224 20224 65535]/Dimmed false/Editable true/Preview true/Printed true/Title(Layer 4)/Visible true>>/MC2<</Color[0 21845 0]/Dimmed false/Editable true/Preview true/Printed true/Title(Layer 5)/Visible true>>>>>>/TrimBox[0.0 0.0 20.0 20.0]/Type/Page>> endobj 6 0 obj <</Filter/FlateDecode/Length 238>>stream
+HR;0{o֎m9-ѐ(^!*nϮ
+0000000016 00000 n
+0000000076 00000 n
+0000048777 00000 n
+0000000000 00000 f
+0000048828 00000 n
+0000049382 00000 n
+0000049688 00000 n
+0000049800 00000 n
+trailer <</Size 9/Root 1 0 R/Info 8 0 R/ID[<3661EF74478645EC8F1B98E18A5E6001><1DA54DD892824505A9E35B2A0D648A58>]>> startxref 49975 %%EOF \ No newline at end of file
diff --git a/release/darwin/Blender.app/Contents/Resources/zoomout.pdf b/release/darwin/Blender.app/Contents/Resources/zoomout.pdf
new file mode 100644
index 00000000000..6ded60dbc0f
--- /dev/null
+++ b/release/darwin/Blender.app/Contents/Resources/zoomout.pdf
@@ -0,0 +1,676 @@
+%PDF-1.5 %
+1 0 obj <</Metadata 2 0 R/Pages 3 0 R/Type/Catalog>> endobj 2 0 obj <</Length 48694/Subtype/XML/Type/Metadata>>stream
+<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?>
+<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 4.2.2-c063 53.352624, 2008/07/30-18:05:41 ">
+ <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
+ <rdf:Description rdf:about=""
+ xmlns:dc="http://purl.org/dc/elements/1.1/">
+ <dc:format>application/pdf</dc:format>
+ <dc:title>
+ <rdf:Alt>
+ <rdf:li xml:lang="x-default">ZoomoutCursor</rdf:li>
+ </rdf:Alt>
+ </dc:title>
+ </rdf:Description>
+ <rdf:Description rdf:about=""
+ xmlns:xmp="http://ns.adobe.com/xap/1.0/"
+ xmlns:xmpGImg="http://ns.adobe.com/xap/1.0/g/img/">
+ <xmp:CreatorTool>Adobe Illustrator CS4</xmp:CreatorTool>
+ <xmp:CreateDate>2011-08-25T16:23:51-07:00</xmp:CreateDate>
+ <xmp:ModifyDate>2011-08-25T16:23:51-07:00</xmp:ModifyDate>
+ <xmp:MetadataDate>2011-08-25T16:23:51-07:00</xmp:MetadataDate>
+ <xmp:Thumbnails>
+ <rdf:Alt>
+ <rdf:li rdf:parseType="Resource">
+ <xmpGImg:width>256</xmpGImg:width>
+ <xmpGImg:height>256</xmpGImg:height>
+ <xmpGImg:format>JPEG</xmpGImg:format>
+ <xmpGImg:image>/9j/4AAQSkZJRgABAgEASABIAAD/7QAsUGhvdG9zaG9wIDMuMAA4QklNA+0AAAAAABAASAAAAAEA&#xA;AQBIAAAAAQAB/+4ADkFkb2JlAGTAAAAAAf/bAIQABgQEBAUEBgUFBgkGBQYJCwgGBggLDAoKCwoK&#xA;DBAMDAwMDAwQDA4PEA8ODBMTFBQTExwbGxscHx8fHx8fHx8fHwEHBwcNDA0YEBAYGhURFRofHx8f&#xA;Hx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8f/8AAEQgBAAEAAwER&#xA;AAIRAQMRAf/EAaIAAAAHAQEBAQEAAAAAAAAAAAQFAwIGAQAHCAkKCwEAAgIDAQEBAQEAAAAAAAAA&#xA;AQACAwQFBgcICQoLEAACAQMDAgQCBgcDBAIGAnMBAgMRBAAFIRIxQVEGE2EicYEUMpGhBxWxQiPB&#xA;UtHhMxZi8CRygvElQzRTkqKyY3PCNUQnk6OzNhdUZHTD0uIIJoMJChgZhJRFRqS0VtNVKBry4/PE&#xA;1OT0ZXWFlaW1xdXl9WZ2hpamtsbW5vY3R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo+Ck5SVlpeYmZ&#xA;qbnJ2en5KjpKWmp6ipqqusra6voRAAICAQIDBQUEBQYECAMDbQEAAhEDBCESMUEFURNhIgZxgZEy&#xA;obHwFMHR4SNCFVJicvEzJDRDghaSUyWiY7LCB3PSNeJEgxdUkwgJChgZJjZFGidkdFU38qOzwygp&#xA;0+PzhJSktMTU5PRldYWVpbXF1eX1RlZmdoaWprbG1ub2R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo&#xA;+DlJWWl5iZmpucnZ6fkqOkpaanqKmqq6ytrq+v/aAAwDAQACEQMRAD8A9U4q7FXYq7FXYq7FXYqx&#xA;Hzr+bP5eeSkb/EOtQWtyBUWKEzXRr0/cRBpAD4kAe+KvCvNv/ObdpGzw+UvL7TUqFvNTfgu3Q+hC&#xA;SSD/AMZBiryfX/8AnKT859XLKusppkDf7psIIoqfKRhJMP8Ag8VYPqf5h+ftUJ/SXmTU7wN1Wa8n&#xA;de+wUvQDc4qkU9xcTuHnleVwKBnYsaeFTiroLi4gcvBK8TkULIxU08KjFU90z8w/P2lkfo3zJqdm&#xA;F6LDeTovbYqHoRsMVZxoH/OUn5z6QVVtZTU4F/3TfwRS1+ciiOY/8Hir1jyn/wA5t2jlIfNvl5oT&#xA;sGvNMk5rv1/cTFSAP+MpxV7r5K/Nn8vPOqL/AIe1qC6uSKmxcmG6FOv7iULIQPEAj3xVl2KuxV2K&#xA;uxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxViX5h/mn5L8gacLzzFfCKWQE2thF+8upyP&#xA;99xA9O3JqKO5xV8k/mX/AM5YeffM7TWXl8ny3ozVUfV2reyL/l3GxSvhGFp05HFXiMsss0ryzO0k&#xA;shLPI5LMzHckk7k4qsxV2KuxV2KuxV2KuxV2Kr4pZYZUlhdo5YyGSRCVZWG4II3BxV7d+Wn/ADlh&#xA;598sNDZeYGPmTRlop+sNS9jX/IuNy/ylDfMYq+tvy8/NPyX5/wBON55dvhLLGAbqwl/d3UBP+/Ii&#xA;enbktVPY4qy3FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXgP55/85Qab5Sa48veUjHqP&#xA;mVax3N4aPbWbdx4Syj+X7Kn7W4K4q+ONc13Wdd1OfVNZvJb/AFC4PKa5nYu7eAqegHYDYdsVQGKo&#xA;rTdM1LU72Ox021mvb2Y0itreNpZXP+SiAscVe3+SP+cPfzE1tY7nzBPB5cs23Mcv+k3dD/xTGQg/&#xA;2UgI8MVe2eWf+cQfym0pFbVEu9duBuxup2hiqP5Y7b0jT2ZmxV6NpP5WflrpKgaf5X0uBh/uwWkL&#xA;SfTIys5+/FWSW9naWylbaCOBTSqxqqDbp9kDFXXFnaXKhbmCOdRWiyKrjfr9oHFWN6t+Vn5a6spG&#xA;oeV9LnY/7sNpCsn0SKquPvxV5z5m/wCcQfym1VGbS0u9CuDuptZ2miqf5o7n1TT2VlxV4n53/wCc&#xA;PfzE0RZLny/PB5js13EcX+jXdB/xTISh/wBjISfDFXiGpaZqWmXsljqVrNZXsJpLbXEbRSof8pHA&#xA;YYqhcVR+h67rOhanBqmjXkthqFueUNzAxR18RUdQe4Ox74q+x/yM/wCcoNN82tb+XvNpj07zK1I7&#xA;a8FEtrxuw8IpT/L9lj9nchcVe/Yq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq+X/8AnJH/AJyR&#xA;msZrryV5KuuF2lYtZ1mI7xno1vbsOjjo7j7PQb1IVfJhJJqdycVaxV7j+T//ADi35o85xwax5gaT&#xA;QvLklHjLL/plwh3BhjcURGHR3+YVhir698j/AJb+S/I+n/UvLemRWfIUnuqc7ibvWWZqu2/atB2A&#xA;xVk2KuxV2KuxV2KuxV2KuxVjPnj8t/JfnjT/AKl5k0yK84ikF1ThcQ96xTLR137Voe4OKvkP84f+&#xA;cW/M/k2OfWPLzSa75cjq8nFf9MtkG5Msaijoo6unzKqMVeG4q2CQajYjFX1n/wA43f8AOSM19Na+&#xA;SvOt1zu3pFo2syneQ9Ft7hj1c9Ec/a6HehKr6gxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV4D/wA5&#xA;Qfnm3lLTT5S8vXHHzLqMdby5jPxWds47HtLKPs91X4tjxOKviokk1O5OKroopZZUiiRpJZGCxxqC&#xA;zMzGgAA3JJxV9gfkD/zjBZ6RDa+afPNstxrLUlsdFlAaK17q86moeXuFOye7fZVfSOKuxV2KuxV2&#xA;KuxV2KuxV2KuxV2KuxV83fn9/wA4wWesRXPmjyNbLb6ytZb7RogFiuu7PAooEl7lej+zfaVfIE8E&#xA;1vNJBPG0U8TFJYnBV1dTRlZTuCDsQcVWAkGo2IxV9q/84v8A55t5t00eUvMNxy8y6dHWzuZD8V5b&#xA;IO57yxD7Xdl+Lc8jir37FXYq7FXYq7FXYq7FXYq7FXYq7FWJfmn+YeneQPJd95ivAJJYh6Vhak0M&#xA;91JURR/L9pqdFBOKvzn13XNT13WbzWdUnNxqF/K09zM37Tuamg7AdAOw2xVAYq+w/wDnGD8gYdIs&#xA;7bzz5pteWs3CiXRbGUf7yxMKrO6n/drg1UH7A/yj8Kr6RxV2KuxV2KuxV2KuxV2KuxV2KuxV2Kux&#xA;V2Kvm7/nJ/8AIGHV7O588+VrXjrNupl1qxiH+9USirToo/3agFWA+2P8ofEq+PMVR+ha5qehazZ6&#xA;zpc5t9QsJVntpl/ZdDUVHcHoR3G2Kv0Y/Kz8w9O8/wDkux8xWYEcso9K/tQamC6joJY/l+0teqkH&#xA;FWW4q7FXYq7FXYq7FXYq7FXYq7FXw5/zlh+ZbeZ/Pp8v2U3LRvLZa3op+GS9P+9D+/AgRjw4tTri&#xA;rw7FXuP/ADi3+T8fnPzQ3mDWIPU8uaFIrGNxVLi82eOEg7MiD43H+qDs2KvuPFXYq7FXYq7FXYq7&#xA;FXYq7FXYq7FXYq7FXYq7FXYq+Hf+cpPyej8m+Z18w6PB6flzXZGb00FEtrzdpIgBsqOPjQf6wGy4&#xA;q8NxV7j/AM4n/mW3ljz6vl+9m46N5kK29GPwx3o/3nf/AGZJiP8ArDwxV9x4q7FXYq7FXYq7FXYq&#xA;7FXYqxH82fOqeSvy81rzDyAubWApYg71upiIoNu4EjAn2BxV+bksss0rzSuZJZGLyOxqzMxqSSe5&#xA;OKq+mabe6nqVrptjGZr29mjt7aIdXllYIi/SxxV+kn5b+R9P8j+S9M8t2VG+pxD61OP93XD/ABTS&#xA;mu/xOTTwFB2xVk2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxVjP5keR9P8APHkvU/Ld7Rfr&#xA;kR+qzn/dNwnxQyim/wALgV8RUd8Vfm3qem3umaldabfRmG9sppLe5iPVJYmKOv0MMVUIpZYZUmic&#xA;xyxsHjdTRlZTUEEdwcVfpH+U3nVPOv5eaL5h5A3N1AEvgNqXUJMU+3YGRSR7EYqy7FXYq7FXYq7F&#xA;XYq7FXYq+XP+c2/NhS08veUoX3maTU7xQafClYYNu4JaX7sVfJ2Kvef+cPfJC63+Yk/mC5j5Wfly&#xA;D1Yydx9buaxw/cgkb2IGKvtvFXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq+JP+cwvJ&#xA;C6J+YkHmC2j42fmOD1ZCNh9btqRzfehjb3JOKvBsVfWH/OEnmwva+YfKcz19Fo9Ts0Jr8L0hnp4A&#xA;FYvvxV9SYq7FXYq7FXYq7FXYq7FXwJ/zlJr51f8AOfWVVuUGmJBYQ+3pRBpB9E0j4q8mxV9y/wDO&#xA;IPllNK/KZNUZaXGu3c90WOx9KFvq0a/KsTMP9bFXt+KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV&#xA;2KuxV2KuxV4h/wA5feWU1X8pn1RVrcaFdwXQYbn0pm+rSL8qyqx/1cVfDWKvWf8AnFvXzpH5z6Mr&#xA;Nxg1NJ7Cb39WItGPpmjTFX33irsVdirsVdirsVdirsVfmZ+YepnVPP3mTUq8heaneTKf8l53Kgbn&#xA;YD3xVj2Kv0r/ACr0kaT+WvlfT6cWg0u0Eo/4saFWk/4djirKcVdirsVfmBquq6oNUvALycATyf7s&#xA;f+c++KoX9Lar/wAtk/8AyMf+uKu/S2q/8tk//Ix/64q79Lar/wAtk/8AyMf+uKu/S2q/8tk//Ix/&#xA;64q79Lar/wAtk/8AyMf+uKu/S2q/8tk//Ix/64q79Lar/wAtk/8AyMf+uKu/S2q/8tk//Ix/64q7&#xA;9Lar/wAtk/8AyMf+uKu/S2q/8tk//Ix/64q79Lar/wAtk/8AyMf+uKv1JxV2KuxVi35p6Surflr5&#xA;o08irT6XdiP/AIyLCzRn6HUYq/NTFWQfl7qbaX588uaircfqmp2cxPT4UnQsD02IxV+mmKuxV2Ku&#xA;xV2KuxV2KuxV+V9xO89xLO4AeV2dgOlWNTTFVPFX6n2duttaQWymqwRrGppTZFC9PoxVVxV2KuxV&#xA;+W2rf8dW8/4zyf8AEziqExV2KuxV2KuxV2KuxV2KuxV2KuxV+qmKuxV2KqV5brc2k9sxos8bRsaV&#xA;2dSvT6cVflhiqpbzvBcRToAXidXUHpVTUVxV+qGKuxV2KuxV2KuxV2KuxV+V9xA8FxLA5BeJ2RiO&#xA;lVNDTFVPFX6n2dwtzaQXKiizxrIorXZ1DdfpxVVxV2KuxV+W2rf8dW8/4zyf8TOKoTFXYq7FXYq7&#xA;FXYq7FXYq7FXYq7FX6qYq7FXYqpXlwttaT3LCqwRtIwrTZFLdfoxV+WGKqlvA89xFAhAeV1RSelW&#xA;NBXFX6oYq7FXYq7FXYq7FXYq7FX5mfmHph0vz95k02nEWep3kKj/ACUncKRsNiPbFWPYq/Sv8rNW&#xA;XVvy18r6gDVp9LtDJ/xkWFVkH0OpxVlOKuxV2Kvy21b/AI6t5/xnk/4mcVQmKuxV2KuxV2KuxV2K&#xA;uxV2KuxV2Kv1UxV2KuxVi35p6suk/lr5o1AmjQaXdmP/AIyNCyxj6XYYq/NTFWQfl7pjap588uac&#xA;q8vrep2cJHX4XnQMT12AxV+mmKuxV2KuxV2KuxV2KuxV8Cf85SaAdI/OfWWVeMGppBfw+/qxBZD9&#xA;M0b4q8mxV9y/84g+Zk1X8pk0tmrcaFdz2pU7n0pm+sxt8qyso/1cVe34q7FXYq7FXYq7FXYq7FXY&#xA;q7FXYq7FXYq7FXYq7FXYq7FXiH/OX3mZNK/KZ9LVqXGu3cFqFGx9KFvrMjfKsSqf9bFXw1ir1n/n&#xA;FvQDq/5z6MzLyg0xJ7+b29KIrGfomkTFX33irsVdirsVdirsVdirsVfLn/ObflMvaeXvNsKbwtJp&#xA;l4wFfhes0G/YArL9+Kvk7FXvP/OHvnddE/MSfy/cycbPzHB6UYOw+t21ZIfvQyL7kjFX23irsVdi&#xA;rsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVfEn/OYXnddb/MSDy/bScrPy5B6UgG4+t3NJJvu&#xA;QRr7EHFXg2KvrD/nCTymUtfMPmyZKes0emWbkU+FKTT08QS0X3Yq+pMVdirsVdirsVdirsVdirEf&#xA;zZ8lJ51/LzWvL3EG5uoC9iTtS6hIlg37AyKAfYnFX5uSxSwyvDKhjljYpIjCjKymhBB7g4qr6ZqV&#xA;7pmpWupWMhhvbKaO4tpR1SWJg6N9DDFX6Sflv540/wA8eS9M8yWVF+uRD61AP903CfDNEa7/AAuD&#xA;TxFD3xVk2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxVjP5keeNP8j+S9T8yXtG+pxH6rAf9&#xA;3XD/AAwxCm/xORXwFT2xV+bep6le6nqV1qV9IZr29mkuLmU9XllYu7fSxxVQiiklkSKJS8kjBURR&#xA;UliaAAe+Kv0j/KbyUnkr8vNF8vcQLm1gD3xG9bqYmWffuBIxA9gMVZdirsVdirsVdirsVdirsVdi&#xA;r4c/5yw/LRvLHn1vMFlDx0bzIWuKqPhjvR/vQn+zJEo/1j4Yq8OxV7l/zi3+cMfk3zO3l7WJ/T8u&#xA;a7Iq+o5oltebLHKSdlRx8Dn/AFSdlxV9xYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXw7/&#xA;AM5SfnDH5y8zr5e0ef1PLmhSMvqIapc3m6ySgjZkQfAh/wBYjZsVeG4q9x/5xP8Ay0bzP59XzBew&#xA;8tG8tlbirD4ZL0/7zp/sCDKf9UeOKvuPFXYq7FXYq7FXYq7FXYq7FXYqxL80/wAvNO8/+S77y7eE&#xA;Ryyj1bC6IqYLqOpik+X7LU6qSMVfnPruh6noWs3mjapAbfULCVoLmFv2XQ0ND3B6g9xviqAxV9h/&#xA;84wfn9Dq9nbeRvNN1x1m3URaLfSn/eqJRRYHY/7tQCik/bH+UPiVfSOKuxV2KuxV2KuxV2KuxV2K&#xA;uxV2KuxV2KuxV83f85P/AJ/RaPZ3Pkbyvc8tZuVMWs30R/3liYfFAjD/AHa4NGP7A/yj8Kr48xVH&#xA;aJo2o63rFlo+mxGe/v5kt7WIbcpJGCrUnYDfc4q/Rn8rPy807yB5LsfLtmRJLEPVv7oChnupKGWT&#xA;5fsrXooAxVluKuxV2KuxV2KuxV2KuxV2KuxV2KvAf+coPyMbzbpp82+Xrfl5l06Ol5bRj4ry2Qdh&#xA;3liH2e7L8O54jFXxUQQaHYjFV8E81vNHPBI0U8TB4pUJV1dTVWVhuCDuCMVfX/5A/wDOT9nrEVt5&#xA;X883K2+srSKx1mUhYrrsqTsaBJewbo/s32lX0jirsVdirsVdirsVdirsVdirsVdirsVfN35/f85P&#xA;2ejxXPlfyNcrc6y1Yr7WYiGitezJA24eXxYbJ7t9lV8gTzzXE0k88jSzysXllclnZ2NWZmO5JO5J&#xA;xVTxVUgnmt5o54JGiniYPFKhKurqaqysNwQdwRir7T/5x1/5yKh83ww+VvNMyxeaYl42l21FS/RR&#xA;9wnA+0v7XUdwFXvuKuxV2KuxV2KuxV2KuxV2KuxV2KuxV8v/APOSP/ON019NdedfJVrzu3rLrOjR&#xA;DeQ9WuLdR1c9XQfa6jeoKr5MIINDsRirWKvcvye/5yk8z+TY4NH8wrJrvlyOiR8m/wBMtkGwEUjG&#xA;joo6I/yDKMVfXnkf8yPJfnjT/rvlvU4rziKz2teFxD2pLC1HXfvSh7E4qybFXYq7FXYq7FXYq7FX&#xA;Yqxnzx+ZHkvyPp/13zJqcVnyFYLWvO4m7UihWrtv3pQdyMVfIf5w/wDOUnmfzlHPo/l5ZNC8uSVS&#xA;Ti3+mXKHYiWRTREYdUT5FmGKvDcVdirsVdiqpBPNbzRzwSNFPEweKVCVdXU1VlYbgg7gjFX2n/zj&#xA;r/zkVD5vhh8reaZli80xLxtLtqKl+ij7hOB9pf2uo7gKvfcVdirsVdirsVdirsVdirsVdirsVdir&#xA;wH88/wDnF/TfNrXHmHykI9O8ytWS5szRLa8bufCKU/zfZY/a3JbFXxxrmhazoWpz6XrNnLYahbnj&#xA;NbTqUdfA0PUHsRse2KoDFUVpup6lpl7HfabdTWV7CaxXNvI0UqH/ACXQhhir2/yR/wA5hfmJoix2&#xA;3mCCDzHZrsZJf9Gu6D/i6MFD/soyT44q9s8s/wDOX35Taqirqj3ehXB2YXUDTRVP8slt6pp7sq4q&#xA;9G0n80/y11ZQdP8ANGlzsf8AdYu4Vk+mNmVx92Kskt7y0uVLW08c6ilWjZXG/T7JOKuuLy0tlDXM&#xA;8cCmtGkZUG3X7RGKsc1X80/y20lSdQ80aXAw6xm7haTx2jVi5+7FXnHmb/nL78ptKR10uS7124Gy&#xA;rawNDFX/ACpLj0jT3VWxV4n53/5zC/MTW1ktvL8EHlyzbYSRf6Td0P8AxdIAg/2MYI8cVeIalqep&#xA;aneyX2pXU17ezGstzcSNLK5/yncljiqFxVHaNomsa3qMWm6PZTX9/OaRWtujSSNTcnioOwHU4qhZ&#xA;4JreaSCeNop4mKSxOCrq6mjKyncEHYg4qp4q7FXYqqQTzW80c8EjRTxMHilQlXV1NVZWG4IO4IxV&#xA;9p/846/85FQ+b4YfK3mmZYvNMS8bS7aipfoo+4TgfaX9rqO4Cr33FXYq7FXYq7FXYq7FXYq7FXYq&#xA;7FXYqxL8w/ys8l+f9OFn5isRLLGCLW/i/d3UBP8AvuUDp34tVT3GKvkn8y/+cT/Pvlhpr3y+p8ya&#xA;MtWH1daXsa/5dvuX+cRb5DFXiMsUsMrxTI0csZKvG4KsrDYgg7g4qsxV2KuxV2KuxV2KuxV2Kr4o&#xA;pJZFiiRpJHIVEUEsSegAHXFXt35af84n+ffM7Q3vmBT5b0ZqMfrC1vZF/wAi32KfOUr8jir62/Lz&#xA;8rPJfkDTjZ+XbERSyAC6v5f3l1OR/vyUjp34rRR2GKvL/wDnIr/nHWHzfDN5p8rQrF5piXld2i0V&#xA;L9FH3CcD7LftdD2IVfFk8E1vNJBPG0U8TFJYnBV1dTRlZTuCDsQcVU8VdirsVVIJ5reaOeCRop4m&#xA;DxSoSrq6mqsrDcEHcEYq+0/+cdf+ciofN8MPlbzTMsXmmJeNpdtRUv0UfcJwPtL+11HcBV77irsV&#xA;dirsVdirsVdirsVdirsVdirsVdirEfOv5Tfl551Rv8Q6LBdXJFBfIDDdCnT9/EVkIHgSR7Yq8J82&#xA;f84SWrl5vKfmFoa1KWepx8137evCFIA/4xHFXlGv/wDOLf5z6QWZdGTU4F/3dYTxS1+UbGOY/wDA&#xA;YqwbU/y98+aWzLqPlzU7Tj1M1nOi7dwxShG2KpHPb3EDhJ4nicioV1KmnjQ4q6C3uJ3KQRPK4FSq&#xA;KWNPGgxVPNM/L3z5qjKuneXNTu+XQw2c7rv3LBKAb4qznQP+cW/zn1cqzaMmmQN/u6/niip841Mk&#xA;w/4DFXq/lP8A5wktUKTebPMLTUoXs9Mj4Lt29eYMSD/xiGKvdvJX5Tfl55KRf8PaLBa3IFDfODNd&#xA;GvX9/KWkAPgCB7Yqy7FXYq7FXgX/ADkV/wA46w+b4ZvNPlaFYvNMS8ru0Wipfoo+4TgfZb9roexC&#xA;r4sngmt5pIJ42iniYpLE4KurqaMrKdwQdiDiqnirsVdiqpBPNbzRzwSNFPEweKVCVdXU1VlYbgg7&#xA;gjFX2n/zjr/zkVD5vhh8reaZli80xLxtLtqKl+ij7hOB9pf2uo7gKvfcVdirsVdirsVdirsVdirs&#xA;VdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirwL/nIr/nHWHzfDN5p8rQrF5piXld2i0V&#xA;L9FH3CcD7LftdD2IVfFk8E1vNJBPG0U8TFJYnBV1dTRlZTuCDsQcVU8VdirsVVIJ5reaOeCRop4m&#xA;DxSoSrq6mqsrDcEHcEYq+0/+cdf+ciofN8MPlbzTMsXmmJeNpdtRUv0UfcJwPtL+11HcBV77irsV&#xA;dirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVeBf85Ff846w+b4Zv&#xA;NPlaFYvNMS8ru0Wipfoo+4TgfZb9roexCr4sngmt5pIJ42iniYpLE4KurqaMrKdwQdiDiqnirsVd&#xA;iqpBPNbzRzwSNFPEweKVCVdXU1VlYbgg7gjFX2n/AM46/wDORUPm+GHyt5pmWLzTEvG0u2oqX6KP&#xA;uE4H2l/a6juAq99xV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2Kux&#xA;V2KvAv8AnIr/AJx1h83wzeafK0KxeaYl5XdotFS/RR9wnA+y37XQ9iFXxZPBNbzSQTxtFPExSWJw&#xA;VdXU0ZWU7gg7EHFVPFXYq7FVSCea3mjngkaKeJg8UqEq6upqrKw3BB3BGKvtP/nHX/nIqHzfDD5W&#xA;80zLF5piXjaXbUVL9FH3CcD7S/tdR3AVe+4q7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq&#xA;7FXYq7FXYq7FXYq7FXYq7FXgX/ORX/OOsPm+GbzT5WhWLzTEvK7tFoqX6KPuE4H2W/a6HsQq+LJ4&#xA;JreaSCeNop4mKSxOCrq6mjKyncEHYg4qp4q7FXYqqQTzW80c8EjRTxMHilQlXV1NVZWG4IO4IxV9&#xA;p/8AOOv/ADkVD5vhh8reaZli80xLxtLtqKl+ij7hOB9pf2uo7gKvfcVdirsVdirsVdirsVdirsVd&#xA;irsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirwL/nIr/nHWHzfDN5p8rQrF5piXld2i0VL9&#xA;FH3CcD7LftdD2IVfFk8E1vNJBPG0U8TFJYnBV1dTRlZTuCDsQcVU8VdirsVVIJ5reaOeCRop4mDx&#xA;SoSrq6mqsrDcEHcEYq+0/wDnHX/nIqHzfDD5W80zLF5piXjaXbUVL9FH3CcD7S/tdR3AVe+4q7FX&#xA;Yq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXgX/ORX/OOsPm+Gbz&#xA;T5WhWLzTEvK7tFoqX6KPuE4H2W/a6HsQq+LJ4JreaSCeNop4mKSxOCrq6mjKyncEHYg4qp4q7FXY&#xA;q9v/AOcdfyD1PztqcHmTVjNYeVrCYPHNGzRTXc0TV4QOtGVFYfHIPkvxVKqvuXFXYq7FXYq7FXYq&#xA;7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXgX/ADkV/wA46w+b4ZvNPlaF&#xA;YvNMS8ru0Wipfoo+4TgfZb9roexCr4sngmt5pIJ42iniYpLE4KurqaMrKdwQdiDiqnir2z/nHz/n&#xA;Hy98+3qa7rqPbeULZ9zuj3rod4oj1EYOzuP9Vd6lVX3DY2NlYWUFjYwJbWdsixW9vEoRERBRVVRs&#xA;ABiqvirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVeB&#xA;f85Ff846w+b4ZvNPlaFYvNMS8ru0Wipfoo+4TgfZb9roexCrxf8AIP8A5x11PztqZ1bzJBNYeVrC&#xA;Zo5o3DRTXc0TcXgStGVFYUkf/Yj4qlVX29Y2NlYWUFjYwJbWdsixW9vEoRERBRVVRsABiqvir//Z</xmpGImg:image>
+ </rdf:li>
+ </rdf:Alt>
+ </xmp:Thumbnails>
+ </rdf:Description>
+ <rdf:Description rdf:about=""
+ xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/"
+ xmlns:stEvt="http://ns.adobe.com/xap/1.0/sType/ResourceEvent#"
+ xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#">
+ <xmpMM:OriginalDocumentID>uuid:9E3E5C9A8C81DB118734DB58FDDE4BA7</xmpMM:OriginalDocumentID>
+ <xmpMM:DocumentID>xmp.did:008011740720681197A58AA60A3A792E</xmpMM:DocumentID>
+ <xmpMM:InstanceID>uuid:d89cf8d7-60ea-364a-bd79-1b730e3e758c</xmpMM:InstanceID>
+ <xmpMM:RenditionClass>proof:pdf</xmpMM:RenditionClass>
+ <xmpMM:History>
+ <rdf:Seq>
+ <rdf:li rdf:parseType="Resource">
+ <stEvt:action>converted</stEvt:action>
+ <stEvt:params>from application/pdf to &lt;unknown&gt;</stEvt:params>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <stEvt:action>saved</stEvt:action>
+ <stEvt:instanceID>xmp.iid:D07F11740720681191099C3B601C4548</stEvt:instanceID>
+ <stEvt:when>2008-04-17T14:19:10+05:30</stEvt:when>
+ <stEvt:softwareAgent>Adobe Illustrator CS4</stEvt:softwareAgent>
+ <stEvt:changed>
+ <rdf:Bag>
+ <rdf:li>/</rdf:li>
+ </rdf:Bag>
+ </stEvt:changed>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <stEvt:action>converted</stEvt:action>
+ <stEvt:params>from application/pdf to &lt;unknown&gt;</stEvt:params>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <stEvt:action>converted</stEvt:action>
+ <stEvt:params>from application/vnd.adobe.illustrator to application/vnd.adobe.illustrator</stEvt:params>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <stEvt:action>saved</stEvt:action>
+ <stEvt:instanceID>xmp.iid:FC7F117407206811B628E3BF27C8C41B</stEvt:instanceID>
+ <stEvt:when>2008-05-22T14:51:08-07:00</stEvt:when>
+ <stEvt:softwareAgent>Adobe Illustrator CS4</stEvt:softwareAgent>
+ <stEvt:changed>
+ <rdf:Bag>
+ <rdf:li>/</rdf:li>
+ </rdf:Bag>
+ </stEvt:changed>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <stEvt:action>converted</stEvt:action>
+ <stEvt:params>from application/vnd.adobe.illustrator to application/vnd.adobe.illustrator</stEvt:params>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <stEvt:action>saved</stEvt:action>
+ <stEvt:instanceID>xmp.iid:FD7F117407206811B628E3BF27C8C41B</stEvt:instanceID>
+ <stEvt:when>2008-05-22T15:15:38-07:00</stEvt:when>
+ <stEvt:softwareAgent>Adobe Illustrator CS4</stEvt:softwareAgent>
+ <stEvt:changed>
+ <rdf:Bag>
+ <rdf:li>/</rdf:li>
+ </rdf:Bag>
+ </stEvt:changed>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <stEvt:action>converted</stEvt:action>
+ <stEvt:params>from application/vnd.adobe.illustrator to application/vnd.adobe.illustrator</stEvt:params>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <stEvt:action>saved</stEvt:action>
+ <stEvt:instanceID>xmp.iid:0CC3BD25102DDD1181B594070CEB88D9</stEvt:instanceID>
+ <stEvt:when>2008-05-28T17:07:17-07:00</stEvt:when>
+ <stEvt:softwareAgent>Adobe Illustrator CS4</stEvt:softwareAgent>
+ <stEvt:changed>
+ <rdf:Bag>
+ <rdf:li>/</rdf:li>
+ </rdf:Bag>
+ </stEvt:changed>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <stEvt:action>saved</stEvt:action>
+ <stEvt:instanceID>xmp.iid:F77F117407206811ACFEA91EFF4B1542</stEvt:instanceID>
+ <stEvt:when>2011-08-23T17:31:58-07:00</stEvt:when>
+ <stEvt:softwareAgent>Adobe Illustrator CS4</stEvt:softwareAgent>
+ <stEvt:changed>/</stEvt:changed>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <stEvt:action>saved</stEvt:action>
+ <stEvt:instanceID>xmp.iid:F87F117407206811ACFEA91EFF4B1542</stEvt:instanceID>
+ <stEvt:when>2011-08-23T19:05:46-07:00</stEvt:when>
+ <stEvt:softwareAgent>Adobe Illustrator CS4</stEvt:softwareAgent>
+ <stEvt:changed>/</stEvt:changed>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <stEvt:action>saved</stEvt:action>
+ <stEvt:instanceID>xmp.iid:F97F117407206811ACFEA91EFF4B1542</stEvt:instanceID>
+ <stEvt:when>2011-08-23T19:07:15-07:00</stEvt:when>
+ <stEvt:softwareAgent>Adobe Illustrator CS4</stEvt:softwareAgent>
+ <stEvt:changed>/</stEvt:changed>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <stEvt:action>saved</stEvt:action>
+ <stEvt:instanceID>xmp.iid:008011740720681197A58AA60A3A792E</stEvt:instanceID>
+ <stEvt:when>2011-08-25T16:23:44-07:00</stEvt:when>
+ <stEvt:softwareAgent>Adobe Illustrator CS4</stEvt:softwareAgent>
+ <stEvt:changed>/</stEvt:changed>
+ </rdf:li>
+ </rdf:Seq>
+ </xmpMM:History>
+ <xmpMM:DerivedFrom rdf:parseType="Resource">
+ <stRef:instanceID>uuid:4c3886fe-eb3e-c245-b671-dca17624cd71</stRef:instanceID>
+ <stRef:documentID>xmp.did:F97F117407206811ACFEA91EFF4B1542</stRef:documentID>
+ <stRef:originalDocumentID>uuid:9E3E5C9A8C81DB118734DB58FDDE4BA7</stRef:originalDocumentID>
+ <stRef:renditionClass>proof:pdf</stRef:renditionClass>
+ </xmpMM:DerivedFrom>
+ </rdf:Description>
+ <rdf:Description rdf:about=""
+ xmlns:illustrator="http://ns.adobe.com/illustrator/1.0/">
+ <illustrator:StartupProfile>Basic RGB</illustrator:StartupProfile>
+ </rdf:Description>
+ <rdf:Description rdf:about=""
+ xmlns:xmpTPg="http://ns.adobe.com/xap/1.0/t/pg/"
+ xmlns:stDim="http://ns.adobe.com/xap/1.0/sType/Dimensions#"
+ xmlns:xmpG="http://ns.adobe.com/xap/1.0/g/">
+ <xmpTPg:NPages>1</xmpTPg:NPages>
+ <xmpTPg:HasVisibleTransparency>False</xmpTPg:HasVisibleTransparency>
+ <xmpTPg:HasVisibleOverprint>False</xmpTPg:HasVisibleOverprint>
+ <xmpTPg:MaxPageSize rdf:parseType="Resource">
+ <stDim:w>20.000000</stDim:w>
+ <stDim:h>20.000000</stDim:h>
+ <stDim:unit>Pixels</stDim:unit>
+ </xmpTPg:MaxPageSize>
+ <xmpTPg:PlateNames>
+ <rdf:Seq>
+ <rdf:li>Cyan</rdf:li>
+ <rdf:li>Magenta</rdf:li>
+ <rdf:li>Yellow</rdf:li>
+ <rdf:li>Black</rdf:li>
+ </rdf:Seq>
+ </xmpTPg:PlateNames>
+ <xmpTPg:SwatchGroups>
+ <rdf:Seq>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:groupName>Default Swatch Group</xmpG:groupName>
+ <xmpG:groupType>0</xmpG:groupType>
+ <xmpG:Colorants>
+ <rdf:Seq>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>White</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>255</xmpG:red>
+ <xmpG:green>255</xmpG:green>
+ <xmpG:blue>255</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>Black</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>0</xmpG:red>
+ <xmpG:green>0</xmpG:green>
+ <xmpG:blue>0</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>RGB Red</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>255</xmpG:red>
+ <xmpG:green>0</xmpG:green>
+ <xmpG:blue>0</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>RGB Yellow</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>255</xmpG:red>
+ <xmpG:green>255</xmpG:green>
+ <xmpG:blue>0</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>RGB Green</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>0</xmpG:red>
+ <xmpG:green>255</xmpG:green>
+ <xmpG:blue>0</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>RGB Cyan</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>0</xmpG:red>
+ <xmpG:green>255</xmpG:green>
+ <xmpG:blue>255</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>RGB Blue</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>0</xmpG:red>
+ <xmpG:green>0</xmpG:green>
+ <xmpG:blue>255</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>RGB Magenta</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>255</xmpG:red>
+ <xmpG:green>0</xmpG:green>
+ <xmpG:blue>255</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=193 G=39 B=45</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>193</xmpG:red>
+ <xmpG:green>39</xmpG:green>
+ <xmpG:blue>45</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=237 G=28 B=36</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>237</xmpG:red>
+ <xmpG:green>28</xmpG:green>
+ <xmpG:blue>36</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=241 G=90 B=36</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>241</xmpG:red>
+ <xmpG:green>90</xmpG:green>
+ <xmpG:blue>36</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=247 G=147 B=30</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>247</xmpG:red>
+ <xmpG:green>147</xmpG:green>
+ <xmpG:blue>30</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=251 G=176 B=59</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>251</xmpG:red>
+ <xmpG:green>176</xmpG:green>
+ <xmpG:blue>59</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=252 G=238 B=33</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>252</xmpG:red>
+ <xmpG:green>238</xmpG:green>
+ <xmpG:blue>33</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=217 G=224 B=33</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>217</xmpG:red>
+ <xmpG:green>224</xmpG:green>
+ <xmpG:blue>33</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=140 G=198 B=63</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>140</xmpG:red>
+ <xmpG:green>198</xmpG:green>
+ <xmpG:blue>63</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=57 G=181 B=74</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>57</xmpG:red>
+ <xmpG:green>181</xmpG:green>
+ <xmpG:blue>74</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=0 G=146 B=69</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>0</xmpG:red>
+ <xmpG:green>146</xmpG:green>
+ <xmpG:blue>69</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=0 G=104 B=55</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>0</xmpG:red>
+ <xmpG:green>104</xmpG:green>
+ <xmpG:blue>55</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=34 G=181 B=115</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>34</xmpG:red>
+ <xmpG:green>181</xmpG:green>
+ <xmpG:blue>115</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=0 G=169 B=157</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>0</xmpG:red>
+ <xmpG:green>169</xmpG:green>
+ <xmpG:blue>157</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=41 G=171 B=226</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>41</xmpG:red>
+ <xmpG:green>171</xmpG:green>
+ <xmpG:blue>226</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=0 G=113 B=188</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>0</xmpG:red>
+ <xmpG:green>113</xmpG:green>
+ <xmpG:blue>188</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=46 G=49 B=146</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>46</xmpG:red>
+ <xmpG:green>49</xmpG:green>
+ <xmpG:blue>146</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=27 G=20 B=100</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>27</xmpG:red>
+ <xmpG:green>20</xmpG:green>
+ <xmpG:blue>100</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=102 G=45 B=145</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>102</xmpG:red>
+ <xmpG:green>45</xmpG:green>
+ <xmpG:blue>145</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=147 G=39 B=143</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>147</xmpG:red>
+ <xmpG:green>39</xmpG:green>
+ <xmpG:blue>143</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=158 G=0 B=93</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>158</xmpG:red>
+ <xmpG:green>0</xmpG:green>
+ <xmpG:blue>93</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=212 G=20 B=90</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>212</xmpG:red>
+ <xmpG:green>20</xmpG:green>
+ <xmpG:blue>90</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=237 G=30 B=121</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>237</xmpG:red>
+ <xmpG:green>30</xmpG:green>
+ <xmpG:blue>121</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=199 G=178 B=153</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>199</xmpG:red>
+ <xmpG:green>178</xmpG:green>
+ <xmpG:blue>153</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=153 G=134 B=117</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>153</xmpG:red>
+ <xmpG:green>134</xmpG:green>
+ <xmpG:blue>117</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=115 G=99 B=87</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>115</xmpG:red>
+ <xmpG:green>99</xmpG:green>
+ <xmpG:blue>87</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=83 G=71 B=65</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>83</xmpG:red>
+ <xmpG:green>71</xmpG:green>
+ <xmpG:blue>65</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=198 G=156 B=109</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>198</xmpG:red>
+ <xmpG:green>156</xmpG:green>
+ <xmpG:blue>109</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=166 G=124 B=82</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>166</xmpG:red>
+ <xmpG:green>124</xmpG:green>
+ <xmpG:blue>82</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=140 G=98 B=57</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>140</xmpG:red>
+ <xmpG:green>98</xmpG:green>
+ <xmpG:blue>57</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=117 G=76 B=36</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>117</xmpG:red>
+ <xmpG:green>76</xmpG:green>
+ <xmpG:blue>36</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=96 G=56 B=19</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>96</xmpG:red>
+ <xmpG:green>56</xmpG:green>
+ <xmpG:blue>19</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=66 G=33 B=11</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>66</xmpG:red>
+ <xmpG:green>33</xmpG:green>
+ <xmpG:blue>11</xmpG:blue>
+ </rdf:li>
+ </rdf:Seq>
+ </xmpG:Colorants>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:groupName>Grays</xmpG:groupName>
+ <xmpG:groupType>1</xmpG:groupType>
+ <xmpG:Colorants>
+ <rdf:Seq>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=0 G=0 B=0</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>0</xmpG:red>
+ <xmpG:green>0</xmpG:green>
+ <xmpG:blue>0</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=26 G=26 B=26</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>26</xmpG:red>
+ <xmpG:green>26</xmpG:green>
+ <xmpG:blue>26</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=51 G=51 B=51</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>51</xmpG:red>
+ <xmpG:green>51</xmpG:green>
+ <xmpG:blue>51</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=77 G=77 B=77</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>77</xmpG:red>
+ <xmpG:green>77</xmpG:green>
+ <xmpG:blue>77</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=102 G=102 B=102</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>102</xmpG:red>
+ <xmpG:green>102</xmpG:green>
+ <xmpG:blue>102</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=128 G=128 B=128</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>128</xmpG:red>
+ <xmpG:green>128</xmpG:green>
+ <xmpG:blue>128</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=153 G=153 B=153</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>153</xmpG:red>
+ <xmpG:green>153</xmpG:green>
+ <xmpG:blue>153</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=179 G=179 B=179</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>179</xmpG:red>
+ <xmpG:green>179</xmpG:green>
+ <xmpG:blue>179</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=204 G=204 B=204</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>204</xmpG:red>
+ <xmpG:green>204</xmpG:green>
+ <xmpG:blue>204</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=230 G=230 B=230</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>230</xmpG:red>
+ <xmpG:green>230</xmpG:green>
+ <xmpG:blue>230</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=242 G=242 B=242</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>242</xmpG:red>
+ <xmpG:green>242</xmpG:green>
+ <xmpG:blue>242</xmpG:blue>
+ </rdf:li>
+ </rdf:Seq>
+ </xmpG:Colorants>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:groupName>Splash</xmpG:groupName>
+ <xmpG:groupType>1</xmpG:groupType>
+ <xmpG:Colorants>
+ <rdf:Seq>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=214 G=149 B=68</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>214</xmpG:red>
+ <xmpG:green>149</xmpG:green>
+ <xmpG:blue>68</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=71 G=152 B=237</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>71</xmpG:red>
+ <xmpG:green>152</xmpG:green>
+ <xmpG:blue>237</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=42 G=81 B=224</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>42</xmpG:red>
+ <xmpG:green>81</xmpG:green>
+ <xmpG:blue>224</xmpG:blue>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>R=180 G=58 B=228</xmpG:swatchName>
+ <xmpG:mode>RGB</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:red>180</xmpG:red>
+ <xmpG:green>58</xmpG:green>
+ <xmpG:blue>228</xmpG:blue>
+ </rdf:li>
+ </rdf:Seq>
+ </xmpG:Colorants>
+ </rdf:li>
+ </rdf:Seq>
+ </xmpTPg:SwatchGroups>
+ </rdf:Description>
+ <rdf:Description rdf:about=""
+ xmlns:pdf="http://ns.adobe.com/pdf/1.3/">
+ <pdf:Producer>Adobe PDF library 9.00</pdf:Producer>
+ </rdf:Description>
+ </rdf:RDF>
+</x:xmpmeta>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<?xpacket end="w"?> endstream endobj 3 0 obj <</Count 1/Kids[5 0 R]/Type/Pages>> endobj 5 0 obj <</ArtBox[2.0 3.0 18.0 19.0]/BleedBox[0.0 0.0 20.0 20.0]/Contents 6 0 R/MediaBox[0.0 0.0 20.0 20.0]/Parent 3 0 R/Resources<</ExtGState<</GS0 7 0 R>>/Properties<</MC0<</Color[65535 20224 20224]/Dimmed false/Editable true/Preview true/Printed true/Title(Layer 2)/Visible true>>/MC1<</Color[20224 65535 65535]/Dimmed false/Editable true/Preview true/Printed true/Title(Layer 7)/Visible true>>/MC2<</Color[0 21845 0]/Dimmed false/Editable true/Preview true/Printed true/Title(Layer 5)/Visible true>>>>>>/TrimBox[0.0 0.0 20.0 20.0]/Type/Page>> endobj 6 0 obj <</Filter/FlateDecode/Length 214>>stream
+HQ;0 }wqTG]P3$0p
+' ۖ<:+fPiiz
+چ|Ig#@KƺR7Xddn%tOo
+0000000016 00000 n
+0000000076 00000 n
+0000048847 00000 n
+0000000000 00000 f
+0000048898 00000 n
+0000049452 00000 n
+0000049734 00000 n
+0000049846 00000 n
+trailer <</Size 9/Root 1 0 R/Info 8 0 R/ID[<6E648B55580B4616AD8999C45B44F5EC><51E6FA2ED7984AA4AE5261DEE0025340>]>> startxref 50022 %%EOF \ No newline at end of file
diff --git a/release/datafiles/blender_icons.svg b/release/datafiles/blender_icons.svg
index 4732b6d65f0..f317b346eb8 100644
--- a/release/datafiles/blender_icons.svg
+++ b/release/datafiles/blender_icons.svg
@@ -1,24022 +1,5413 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
-
-<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"
- width="602"
- height="640"
- id="svg2"
- sodipodi:version="0.32"
- inkscape:version="0.92.3 (2405546, 2018-03-11)"
- version="1.0"
- sodipodi:docname="blender_icons 2.81 - SMALL.svg"
- inkscape:output_extension="org.inkscape.output.svg.inkscape"
- style="display:inline;enable-background:new"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\ICONS - no backdrop.png"
- inkscape:export-xdpi="96"
- inkscape:export-ydpi="96">
- <title
- id="title49470">Blender icons v. 2.5.08</title>
- <defs
- id="defs4">
- <inkscape:perspective
- sodipodi:type="inkscape:persp3d"
- inkscape:vp_x="0 : 320 : 1"
- inkscape:vp_y="0 : 1000 : 0"
- inkscape:vp_z="602 : 320 : 1"
- inkscape:persp3d-origin="301 : 213.33333 : 1"
- id="perspective13101" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient11146">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop11142" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop11144" />
- </linearGradient>
- <linearGradient
- id="linearGradient18495"
- inkscape:collect="always">
- <stop
- id="stop18497"
- offset="0"
- style="stop-color:#000000;stop-opacity:1;" />
- <stop
- id="stop18499"
- offset="1"
- style="stop-color:#000000;stop-opacity:0;" />
- </linearGradient>
- <linearGradient
- id="linearGradient17265">
- <stop
- style="stop-color:#ffb769;stop-opacity:1;"
- offset="0"
- id="stop17267" />
- <stop
- style="stop-color:#ffeeaa;stop-opacity:0;"
- offset="1"
- id="stop17269" />
- </linearGradient>
- <linearGradient
- id="linearGradient17073">
- <stop
- style="stop-color:#2561b7;stop-opacity:1;"
- offset="0"
- id="stop17075" />
- <stop
- style="stop-color:#f9fbff;stop-opacity:1;"
- offset="1"
- id="stop17077" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient18134">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop18136" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop18138" />
- </linearGradient>
- <linearGradient
- id="linearGradient16595">
- <stop
- style="stop-color:#000000;stop-opacity:1;"
- offset="0"
- id="stop16597" />
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="1"
- id="stop16599" />
- </linearGradient>
- <linearGradient
- id="linearGradient16723">
- <stop
- style="stop-color:#343434;stop-opacity:0.61960787;"
- offset="0"
- id="stop16725" />
- <stop
- style="stop-color:#3d3d3d;stop-opacity:1;"
- offset="1"
- id="stop16727" />
- </linearGradient>
- <linearGradient
- id="linearGradient106427">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop106429" />
- <stop
- style="stop-color:#030303;stop-opacity:1"
- offset="1"
- id="stop106431" />
- </linearGradient>
- <linearGradient
- id="linearGradient29304">
- <stop
- style="stop-color:#11233f;stop-opacity:1;"
- offset="0"
- id="stop29306" />
- <stop
- style="stop-color:#162d50;stop-opacity:0;"
- offset="1"
- id="stop29308" />
- </linearGradient>
- <linearGradient
- id="linearGradient24343">
- <stop
- id="stop24345"
- offset="0"
- style="stop-color:#184990;stop-opacity:1;" />
- <stop
- id="stop24347"
- offset="1"
- style="stop-color:#c1d5f3;stop-opacity:1;" />
- </linearGradient>
- <linearGradient
- id="linearGradient25417">
- <stop
- id="stop25419"
- offset="0"
- style="stop-color:#60553b;stop-opacity:1;" />
- <stop
- id="stop25421"
- offset="1"
- style="stop-color:#b0a17f;stop-opacity:1;" />
- </linearGradient>
- <linearGradient
- id="linearGradient25108">
- <stop
- id="stop25110"
- offset="0"
- style="stop-color:white;stop-opacity:1;" />
- <stop
- id="stop25112"
- offset="1"
- style="stop-color:#c6c6c6;stop-opacity:1;" />
- </linearGradient>
- <linearGradient
- id="linearGradient43807">
- <stop
- style="stop-color:#e31b1b;stop-opacity:1;"
- offset="0"
- id="stop43809" />
- <stop
- style="stop-color:#930000;stop-opacity:1;"
- offset="1"
- id="stop43811" />
- </linearGradient>
- <linearGradient
- id="linearGradient38256">
- <stop
- id="stop38258"
- offset="0"
- style="stop-color:#e7e0c7;stop-opacity:1;" />
- <stop
- id="stop38260"
- offset="1"
- style="stop-color:#f1eddf;stop-opacity:0;" />
- </linearGradient>
- <linearGradient
- id="linearGradient40703">
- <stop
- style="stop-color:#143564;stop-opacity:1;"
- offset="0"
- id="stop40705" />
- <stop
- style="stop-color:#c1d7f8;stop-opacity:1;"
- offset="1"
- id="stop40707" />
- </linearGradient>
- <linearGradient
- id="linearGradient35411">
- <stop
- id="stop35414"
- offset="0"
- style="stop-color:#2b5385;stop-opacity:1;" />
- <stop
- id="stop35416"
- offset="1"
- style="stop-color:#ffffff;stop-opacity:1;" />
- </linearGradient>
- <linearGradient
- id="linearGradient28887">
- <stop
- style="stop-color:#2158a7;stop-opacity:1;"
- offset="0"
- id="stop28889" />
- <stop
- style="stop-color:#2f73d5;stop-opacity:0.19607843;"
- offset="1"
- id="stop28891" />
- </linearGradient>
- <linearGradient
- id="linearGradient24144">
- <stop
- id="stop24146"
- offset="0"
- style="stop-color:#3d361a;stop-opacity:1;" />
- <stop
- style="stop-color:#d1c595;stop-opacity:1;"
- offset="0.17958513"
- id="stop24148" />
- <stop
- id="stop24150"
- offset="1"
- style="stop-color:#ffffff;stop-opacity:1;" />
- </linearGradient>
- <linearGradient
- id="linearGradient24727">
- <stop
- style="stop-color:#3d361a;stop-opacity:1;"
- offset="0"
- id="stop24729" />
- <stop
- id="stop24731"
- offset="0.77520341"
- style="stop-color:#d1c595;stop-opacity:1;" />
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="1"
- id="stop24733" />
- </linearGradient>
- <linearGradient
- id="linearGradient24711">
- <stop
- style="stop-color:#3d361a;stop-opacity:1;"
- offset="0"
- id="stop24713" />
- <stop
- id="stop24715"
- offset="0.21609697"
- style="stop-color:#d1c595;stop-opacity:1;" />
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="1"
- id="stop24717" />
- </linearGradient>
- <linearGradient
- id="linearGradient24687">
- <stop
- style="stop-color:#3d361a;stop-opacity:1;"
- offset="0"
- id="stop24689" />
- <stop
- id="stop24691"
- offset="0.59630167"
- style="stop-color:#d1c595;stop-opacity:1;" />
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="1"
- id="stop24693" />
- </linearGradient>
- <linearGradient
- id="linearGradient42459">
- <stop
- style="stop-color:#e7dfab;stop-opacity:1;"
- offset="0"
- id="stop42461" />
- <stop
- style="stop-color:#af9d33;stop-opacity:1;"
- offset="1"
- id="stop42463" />
- </linearGradient>
- <linearGradient
- id="linearGradient24143">
- <stop
- id="stop24145"
- offset="0"
- style="stop-color:#3d361a;stop-opacity:1;" />
- <stop
- style="stop-color:#d1c595;stop-opacity:1;"
- offset="0.5"
- id="stop24669" />
- <stop
- id="stop24147"
- offset="1"
- style="stop-color:#ffffff;stop-opacity:1;" />
- </linearGradient>
- <linearGradient
- id="linearGradient24642">
- <stop
- style="stop-color:#d0dbe8;stop-opacity:1;"
- offset="0"
- id="stop24644" />
- <stop
- style="stop-color:#6ca3e9;stop-opacity:0;"
- offset="1"
- id="stop24646" />
- </linearGradient>
- <linearGradient
- id="linearGradient24632">
- <stop
- style="stop-color:#28394f;stop-opacity:1;"
- offset="0"
- id="stop24634" />
- <stop
- id="stop24636"
- offset="0.17637014"
- style="stop-color:#0d386a;stop-opacity:0.78431374;" />
- <stop
- id="stop24638"
- offset="0.35274029"
- style="stop-color:#18437d;stop-opacity:0.47058824;" />
- <stop
- style="stop-color:#154e94;stop-opacity:0;"
- offset="1"
- id="stop24640" />
- </linearGradient>
- <linearGradient
- id="linearGradient23974">
- <stop
- id="stop23976"
- offset="0"
- style="stop-color:#2561b7;stop-opacity:1;" />
- <stop
- id="stop23978"
- offset="1"
- style="stop-color:#f9fbff;stop-opacity:1" />
- </linearGradient>
- <linearGradient
- id="linearGradient40983">
- <stop
- style="stop-color:#6a9ae0;stop-opacity:1;"
- offset="0"
- id="stop40985" />
- <stop
- style="stop-color:#5189db;stop-opacity:0;"
- offset="1"
- id="stop40987" />
- </linearGradient>
- <linearGradient
- id="linearGradient8864">
- <stop
- id="stop8866"
- offset="0"
- style="stop-color:#b43214;stop-opacity:1;" />
- <stop
- id="stop8868"
- offset="1"
- style="stop-color:#e86830;stop-opacity:1;" />
- </linearGradient>
- <linearGradient
- id="linearGradient22562">
- <stop
- style="stop-color:#001e50;stop-opacity:1;"
- offset="0"
- id="stop22564" />
- <stop
- style="stop-color:#1e3e70;stop-opacity:0;"
- offset="1"
- id="stop22566" />
- </linearGradient>
- <linearGradient
- id="linearGradient22882">
- <stop
- style="stop-color:#323232;stop-opacity:0;"
- offset="0"
- id="stop22884" />
- <stop
- id="stop22886"
- offset="0.21233012"
- style="stop-color:#323232;stop-opacity:0.49803922;" />
- <stop
- id="stop22888"
- offset="0.54086536"
- style="stop-color:#323232;stop-opacity:1;" />
- <stop
- style="stop-color:#323232;stop-opacity:0.49803922;"
- offset="0.83381736"
- id="stop22890" />
- <stop
- style="stop-color:#323232;stop-opacity:0;"
- offset="1"
- id="stop22892" />
- </linearGradient>
- <linearGradient
- id="linearGradient21609">
- <stop
- id="stop21611"
- offset="0"
- style="stop-color:black;stop-opacity:1" />
- <stop
- id="stop21613"
- offset="1"
- style="stop-color:white;stop-opacity:1;" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient21609"
- id="linearGradient20961"
- gradientUnits="userSpaceOnUse"
- x1="162"
- y1="103.71875"
- x2="165"
- y2="103.75" />
- <mask
- maskUnits="userSpaceOnUse"
- id="mask20957">
- <rect
- y="101"
- x="162"
- height="5"
- width="8"
- id="rect20959"
- style="fill:url(#linearGradient20961);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.29999995;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
- </mask>
- <linearGradient
- id="linearGradient18105">
- <stop
- id="stop18107"
- offset="0"
- style="stop-color:#162d50;stop-opacity:1" />
- <stop
- id="stop18109"
- offset="1"
- style="stop-color:#1e3e70;stop-opacity:0;" />
- </linearGradient>
- <linearGradient
- id="linearGradient21327">
- <stop
- style="stop-color:#1e3e70;stop-opacity:1;"
- offset="0"
- id="stop21329" />
- <stop
- style="stop-color:#1e3e70;stop-opacity:0;"
- offset="1"
- id="stop21331" />
- </linearGradient>
- <linearGradient
- id="linearGradient18821">
- <stop
- style="stop-color:#fc6b58;stop-opacity:1;"
- offset="0"
- id="stop18823" />
- <stop
- style="stop-color:#fc6b58;stop-opacity:0;"
- offset="1"
- id="stop18825" />
- </linearGradient>
- <linearGradient
- id="linearGradient29149">
- <stop
- id="stop29151"
- offset="0"
- style="stop-color:#76adff;stop-opacity:1;" />
- <stop
- id="stop29153"
- offset="1"
- style="stop-color:#a5c9ff;stop-opacity:0;" />
- </linearGradient>
- <linearGradient
- id="linearGradient15437">
- <stop
- id="stop15439"
- offset="0"
- style="stop-color:#20529e;stop-opacity:1;" />
- <stop
- id="stop15441"
- offset="1"
- style="stop-color:#1d3f71;stop-opacity:0;" />
- </linearGradient>
- <linearGradient
- id="linearGradient15425">
- <stop
- style="stop-color:#8c0000;stop-opacity:1;"
- offset="0"
- id="stop15427" />
- <stop
- style="stop-color:#c80000;stop-opacity:0;"
- offset="1"
- id="stop15429" />
- </linearGradient>
- <linearGradient
- id="linearGradient14262">
- <stop
- id="stop14264"
- offset="0"
- style="stop-color:#2661b6;stop-opacity:1;" />
- <stop
- id="stop14266"
- offset="1"
- style="stop-color:#c1d7f8;stop-opacity:0;" />
- </linearGradient>
- <linearGradient
- id="linearGradient5060">
- <stop
- id="stop5062"
- offset="0"
- style="stop-color:black;stop-opacity:1;" />
- <stop
- id="stop5064"
- offset="1"
- style="stop-color:#000000;stop-opacity:0;" />
- </linearGradient>
- <linearGradient
- id="linearGradient27957">
- <stop
- id="stop27959"
- offset="0"
- style="stop-color:#ffffff;stop-opacity:0;" />
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0.59290552"
- id="stop27963" />
- <stop
- id="stop27961"
- offset="1"
- style="stop-color:#ffffff;stop-opacity:0;" />
- </linearGradient>
- <linearGradient
- id="linearGradient20756">
- <stop
- style="stop-color:#932200;stop-opacity:1;"
- offset="0"
- id="stop20758" />
- <stop
- style="stop-color:#f8420a;stop-opacity:1;"
- offset="1"
- id="stop20760" />
- </linearGradient>
- <linearGradient
- id="linearGradient47130">
- <stop
- style="stop-color:#ed7b00;stop-opacity:1;"
- offset="0"
- id="stop47132" />
- <stop
- style="stop-color:white;stop-opacity:1;"
- offset="1"
- id="stop47134" />
- </linearGradient>
- <linearGradient
- id="linearGradient32842">
- <stop
- style="stop-color:#183e75;stop-opacity:1;"
- offset="0"
- id="stop32844" />
- <stop
- style="stop-color:#1d3f71;stop-opacity:0;"
- offset="1"
- id="stop32846" />
- </linearGradient>
- <linearGradient
- id="linearGradient20973">
- <stop
- id="stop20975"
- offset="0"
- style="stop-color:#15ff00;stop-opacity:1;" />
- <stop
- id="stop20977"
- offset="1"
- style="stop-color:#15ff00;stop-opacity:0;" />
- </linearGradient>
- <linearGradient
- id="linearGradient20962">
- <stop
- style="stop-color:#00a8ff;stop-opacity:1;"
- offset="0"
- id="stop20965" />
- <stop
- style="stop-color:#00a8ff;stop-opacity:0;"
- offset="1"
- id="stop20967" />
- </linearGradient>
- <linearGradient
- id="linearGradient20036">
- <stop
- style="stop-color:#ffb55e;stop-opacity:1;"
- offset="0"
- id="stop20038" />
- <stop
- style="stop-color:#ff8400;stop-opacity:0;"
- offset="1"
- id="stop20040" />
- </linearGradient>
- <linearGradient
- id="linearGradient10585">
- <stop
- id="stop10587"
- offset="0.0000000"
- style="stop-color:#d7d7d7;stop-opacity:1.0000000;" />
- <stop
- id="stop10595"
- offset="1.0000000"
- style="stop-color:#000000;stop-opacity:1.0000000;" />
- </linearGradient>
- <linearGradient
- id="linearGradient31320">
- <stop
- style="stop-color:white;stop-opacity:1;"
- offset="0"
- id="stop31322" />
- <stop
- style="stop-color:white;stop-opacity:0;"
- offset="1"
- id="stop31324" />
- </linearGradient>
- <linearGradient
- id="linearGradient23178">
- <stop
- style="stop-color:#ff992b;stop-opacity:1;"
- offset="0"
- id="stop23180" />
- <stop
- style="stop-color:white;stop-opacity:1;"
- offset="1"
- id="stop23182" />
- </linearGradient>
- <linearGradient
- id="linearGradient13938">
- <stop
- id="stop13940"
- offset="0"
- style="stop-color:#6e0c00;stop-opacity:1;" />
- <stop
- id="stop13942"
- offset="1"
- style="stop-color:#ee3800;stop-opacity:0;" />
- </linearGradient>
- <linearGradient
- id="linearGradient14232">
- <stop
- style="stop-color:#fff32a;stop-opacity:1;"
- offset="0"
- id="stop14234" />
- <stop
- style="stop-color:#fff551;stop-opacity:0;"
- offset="1"
- id="stop14236" />
- </linearGradient>
- <linearGradient
- id="linearGradient14418">
- <stop
- id="stop14420"
- offset="0"
- style="stop-color:#fa2509;stop-opacity:1;" />
- <stop
- id="stop14422"
- offset="1"
- style="stop-color:#fa2509;stop-opacity:0;" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient1610"
- id="linearGradient18670"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.2078427,0,0,1.0516432,-357.40769,69.427229)"
- x1="362.28571"
- y1="-45.098213"
- x2="352.46426"
- y2="-54.124699" />
- <mask
- maskUnits="userSpaceOnUse"
- id="mask18666">
- <rect
- y="6"
- x="62.921577"
- height="14.000001"
- width="15.098035"
- id="rect18668"
- style="fill:url(#linearGradient18670);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.5;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
- </mask>
- <linearGradient
- id="linearGradient31456">
- <stop
- style="stop-color:#2b1600;stop-opacity:1;"
- offset="0"
- id="stop31458" />
- <stop
- style="stop-color:#6e3900;stop-opacity:0;"
- offset="1"
- id="stop31460" />
- </linearGradient>
- <linearGradient
- id="linearGradient19425">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop19427" />
- <stop
- id="stop19431"
- offset="0.63109845"
- style="stop-color:#fffffe;stop-opacity:0.65789473;" />
- <stop
- style="stop-color:#fffffe;stop-opacity:0.0000000;"
- offset="1.0000000"
- id="stop19429" />
- </linearGradient>
- <linearGradient
- id="linearGradient9030">
- <stop
- style="stop-color:white;stop-opacity:1;"
- offset="0"
- id="stop9032" />
- <stop
- style="stop-color:white;stop-opacity:0;"
- offset="1"
- id="stop9034" />
- </linearGradient>
- <linearGradient
- id="linearGradient1610">
- <stop
- style="stop-color:black;stop-opacity:1;"
- offset="0"
- id="stop1611" />
- <stop
- style="stop-color:white;stop-opacity:1;"
- offset="1"
- id="stop1612" />
- </linearGradient>
- <linearGradient
- id="linearGradient37542">
- <stop
- id="stop37544"
- offset="0"
- style="stop-color:#000000;stop-opacity:1;" />
- <stop
- id="stop37546"
- offset="1"
- style="stop-color:#ffffff;stop-opacity:1;" />
- </linearGradient>
- <linearGradient
- id="linearGradient30124">
- <stop
- style="stop-color:#1d4a8c;stop-opacity:1;"
- offset="0"
- id="stop30126" />
- <stop
- style="stop-color:#c1d4f2;stop-opacity:1;"
- offset="1"
- id="stop30128" />
- </linearGradient>
- <linearGradient
- id="linearGradient15893">
- <stop
- style="stop-color:#2968c3;stop-opacity:1;"
- offset="0"
- id="stop15895" />
- <stop
- id="stop15897"
- offset="0.37679368"
- style="stop-color:#b5ccf0;stop-opacity:1;" />
- <stop
- style="stop-color:#b5ccf0;stop-opacity:1;"
- offset="0.59786767"
- id="stop15899" />
- <stop
- style="stop-color:#2968c3;stop-opacity:1;"
- offset="1"
- id="stop15901" />
- </linearGradient>
- <linearGradient
- id="linearGradient319">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop320" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop321" />
- </linearGradient>
- <linearGradient
- id="linearGradient10069">
- <stop
- style="stop-color:#000000;stop-opacity:1;"
- offset="0"
- id="stop10071" />
- <stop
- style="stop-color:#000000;stop-opacity:0;"
- offset="1"
- id="stop10073" />
- </linearGradient>
- <linearGradient
- id="linearGradient32998">
- <stop
- style="stop-color:#2968c3;stop-opacity:1;"
- offset="0"
- id="stop33000" />
- <stop
- style="stop-color:#c1d7f8;stop-opacity:1;"
- offset="1"
- id="stop33002" />
- </linearGradient>
- <mask
- maskUnits="userSpaceOnUse"
- id="mask17570">
- <path
- sodipodi:nodetypes="cccc"
- style="fill:#ffffff;fill-rule:evenodd;stroke:none"
- d="m -44,358 0,14 14,-14 -14,0 z"
- id="path17572" />
- </mask>
- <clipPath
- clipPathUnits="userSpaceOnUse"
- id="clipPath18524">
- <path
- inkscape:export-ydpi="90"
- inkscape:export-xdpi="90"
- inkscape:export-filename="C:\Documents and Settings\Tata\Pulpit\BLENDER ICONSET\blender-cvs-windows\.blender\.blender\icons\jendrzych's iconset.png"
- transform="matrix(-1.1435655,0,0,1.1436475,512.11415,45.72091)"
- d="m 262,78.5 a 3.5,3.5 0 1 1 -7,0 3.5,3.5 0 1 1 7,0 z"
- sodipodi:ry="3.5"
- sodipodi:rx="3.5"
- sodipodi:cy="78.5"
- sodipodi:cx="258.5"
- id="path18526"
- style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.69954133;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;display:inline"
- sodipodi:type="arc"
- inkscape:transform-center-x="-6.3473305"
- inkscape:transform-center-y="-6.3853012" />
- </clipPath>
- <mask
- maskUnits="userSpaceOnUse"
- id="mask18634">
- <path
- sodipodi:nodetypes="ccccscc"
- style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.80000001;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- d="m 207,134 0,14 11,0 0,-7.5625 c -1.97252,-0.24738 -3.5,-1.89814 -3.5,-3.9375 0,-0.94675 0.35614,-1.81444 0.90625,-2.5 L 207,134 z"
- id="path18636" />
- </mask>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient1610"
- id="linearGradient69009"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.5466301,0,0,1.6489946,-293.01107,-16.485383)"
- x1="582"
- y1="49.294117"
- x2="582"
- y2="47.176472" />
- <mask
- maskUnits="userSpaceOnUse"
- id="mask69005">
- <rect
- style="fill:url(#linearGradient69009);fill-opacity:1;display:inline"
- id="rect69007"
- width="24.746082"
- height="26.383913"
- x="596.30127"
- y="39.580433" />
- </mask>
- <linearGradient
- id="linearGradient39155">
- <stop
- id="stop39157"
- offset="0"
- style="stop-color:white;stop-opacity:1;" />
- <stop
- id="stop39159"
- offset="1"
- style="stop-color:#dadada;stop-opacity:1;" />
- </linearGradient>
- <clipPath
- clipPathUnits="userSpaceOnUse"
- id="clipPath24168">
- <path
- style="fill:#808080;fill-rule:evenodd;stroke:none"
- d="m 134.27489,222.11125 c -3.9249,-6.46418 -7.61892,6.46419 -11.54381,0 l 0,0 -1.61614,0 0,8.77283 14.77608,0 0,-8.77283 -1.61613,0 z"
- id="path24170"
- sodipodi:nodetypes="cccccccc" />
- </clipPath>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient1610"
- id="linearGradient25381"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-1,21)"
- x1="342"
- y1="288.5"
- x2="344.5"
- y2="288.5" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient1610"
- id="linearGradient25383"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0,1,-1,0,638,-40)"
- x1="342"
- y1="288.5"
- x2="344.5"
- y2="288.5" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient1610"
- id="linearGradient25385"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-1,0,0,-1,699,599)"
- x1="342"
- y1="288.5"
- x2="344.5"
- y2="288.5" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient1610"
- id="linearGradient25387"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0,-1,1,0,60,660)"
- x1="342"
- y1="288.5"
- x2="344.5"
- y2="288.5" />
- <mask
- maskUnits="userSpaceOnUse"
- id="mask25369">
- <g
- id="g25371"
- transform="translate(-21,-21)">
- <path
- style="fill:url(#linearGradient25381);fill-rule:evenodd;stroke:none"
- d="m 341,302 8,8 -8,8 0,-16 z"
- id="path25373"
- sodipodi:nodetypes="cccc"
- inkscape:transform-center-x="4" />
- <path
- inkscape:transform-center-y="-4"
- sodipodi:nodetypes="cccc"
- id="path25375"
- d="m 357,302 -8,8 -8,-8 16,0 z"
- style="fill:url(#linearGradient25383);fill-rule:evenodd;stroke:none" />
- <path
- inkscape:transform-center-x="-4"
- sodipodi:nodetypes="cccc"
- id="path25377"
- d="m 357,318 -8,-8 8,-8 0,16 z"
- style="fill:url(#linearGradient25385);fill-rule:evenodd;stroke:none" />
- <path
- inkscape:transform-center-y="4"
- sodipodi:nodetypes="cccc"
- id="path25379"
- d="m 341,318 8,-8 8,8 -16,0 z"
- style="fill:url(#linearGradient25387);fill-rule:evenodd;stroke:none" />
- </g>
- </mask>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient1610"
- id="linearGradient32298"
- gradientUnits="userSpaceOnUse"
- x1="-117.5"
- y1="431.5"
- x2="-119.5"
- y2="429.5"
- gradientTransform="translate(258,-96.99999)" />
- <mask
- maskUnits="userSpaceOnUse"
- id="mask32294">
- <rect
- y="323"
- x="134"
- height="16"
- width="9"
- id="rect32296"
- style="fill:url(#linearGradient32298);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
- </mask>
- <linearGradient
- id="linearGradient1610-7-6">
- <stop
- style="stop-color:black;stop-opacity:1;"
- offset="0"
- id="stop1611-4-1" />
- <stop
- style="stop-color:white;stop-opacity:1;"
- offset="1"
- id="stop1612-0-4" />
- </linearGradient>
- <linearGradient
- id="linearGradient10069-4-2">
- <stop
- style="stop-color:#000000;stop-opacity:1;"
- offset="0"
- id="stop10071-8-3" />
- <stop
- style="stop-color:#000000;stop-opacity:0;"
- offset="1"
- id="stop10073-8-2" />
- </linearGradient>
- <linearGradient
- id="linearGradient35411-4-27">
- <stop
- id="stop35414-0-9"
- offset="0"
- style="stop-color:#2b5385;stop-opacity:1;" />
- <stop
- id="stop35416-9-5"
- offset="1"
- style="stop-color:#ffffff;stop-opacity:1;" />
- </linearGradient>
- <linearGradient
- id="linearGradient35411-8-1-3">
- <stop
- id="stop35414-2-7-1"
- offset="0"
- style="stop-color:#2b5385;stop-opacity:1;" />
- <stop
- id="stop35416-4-1-2"
- offset="1"
- style="stop-color:#ffffff;stop-opacity:1;" />
- </linearGradient>
- <linearGradient
- id="linearGradient23974-5-4">
- <stop
- id="stop23976-27-1"
- offset="0"
- style="stop-color:#2561b7;stop-opacity:1;" />
- <stop
- id="stop23978-6-1"
- offset="1"
- style="stop-color:#f9fbff;stop-opacity:1" />
- </linearGradient>
- <linearGradient
- id="linearGradient1610-8">
- <stop
- style="stop-color:black;stop-opacity:1;"
- offset="0"
- id="stop1611-7" />
- <stop
- style="stop-color:white;stop-opacity:1;"
- offset="1"
- id="stop1612-4" />
- </linearGradient>
- <linearGradient
- id="linearGradient319-77">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop320-9" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop321-31" />
- </linearGradient>
- <linearGradient
- id="linearGradient23974-4">
- <stop
- id="stop23976-20"
- offset="0"
- style="stop-color:#2561b7;stop-opacity:1;" />
- <stop
- id="stop23978-9"
- offset="1"
- style="stop-color:#f9fbff;stop-opacity:1" />
- </linearGradient>
- <linearGradient
- id="linearGradient319-37">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop320-2" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop321-60" />
- </linearGradient>
- <clipPath
- clipPathUnits="userSpaceOnUse"
- id="clipPath42711">
- <rect
- style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- id="rect42713"
- width="8.7252884"
- height="17.464855"
- x="127.4093"
- y="214.76154" />
- </clipPath>
- <linearGradient
- id="linearGradient1610-7409">
- <stop
- style="stop-color:black;stop-opacity:1;"
- offset="0"
- id="stop1611-488" />
- <stop
- style="stop-color:white;stop-opacity:1;"
- offset="1"
- id="stop1612-2" />
- </linearGradient>
- <linearGradient
- id="linearGradient40578-4-8-5">
- <stop
- style="stop-color:black;stop-opacity:1;"
- offset="0"
- id="stop40580-8-9-5" />
- <stop
- style="stop-color:black;stop-opacity:0;"
- offset="1"
- id="stop40582-6-8-17" />
- </linearGradient>
- <linearGradient
- id="linearGradient58334-1">
- <stop
- id="stop58336-5"
- offset="0.0000000"
- style="stop-color:#ffffff;stop-opacity:0.87628865;" />
- <stop
- id="stop58338-27"
- offset="1.0000000"
- style="stop-color:#fffffe;stop-opacity:0.0000000;" />
- </linearGradient>
- <clipPath
- clipPathUnits="userSpaceOnUse"
- id="clipPath43368-7">
- <rect
- style="fill:#999999;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.79999995;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- id="rect43370-1"
- width="16"
- height="16"
- x="-79"
- y="26" />
- </clipPath>
- <linearGradient
- id="linearGradient1610-6">
- <stop
- style="stop-color:black;stop-opacity:1;"
- offset="0"
- id="stop1611-18" />
- <stop
- style="stop-color:white;stop-opacity:1;"
- offset="1"
- id="stop1612-92" />
- </linearGradient>
- <linearGradient
- id="linearGradient10069-9">
- <stop
- style="stop-color:#000000;stop-opacity:1;"
- offset="0"
- id="stop10071-5" />
- <stop
- style="stop-color:#000000;stop-opacity:0;"
- offset="1"
- id="stop10073-43" />
- </linearGradient>
- <linearGradient
- id="linearGradient21327-6">
- <stop
- style="stop-color:#1e3e70;stop-opacity:1;"
- offset="0"
- id="stop21329-3" />
- <stop
- style="stop-color:#1e3e70;stop-opacity:0;"
- offset="1"
- id="stop21331-4" />
- </linearGradient>
- <linearGradient
- id="linearGradient20055-8-4">
- <stop
- id="stop20057-8-0"
- offset="0"
- style="stop-color:#0a2a5a;stop-opacity:1;" />
- <stop
- id="stop20059-2-0"
- offset="1"
- style="stop-color:#3771c8;stop-opacity:1;" />
- </linearGradient>
- <linearGradient
- id="linearGradient39088">
- <stop
- id="stop39090"
- offset="0"
- style="stop-color:#000000;stop-opacity:1;" />
- <stop
- id="stop39092"
- offset="1"
- style="stop-color:#ffffff;stop-opacity:1;" />
- </linearGradient>
- <linearGradient
- id="linearGradient1610-83">
- <stop
- style="stop-color:black;stop-opacity:1;"
- offset="0"
- id="stop1611-24" />
- <stop
- style="stop-color:white;stop-opacity:1;"
- offset="1"
- id="stop1612-11" />
- </linearGradient>
- <linearGradient
- id="linearGradient10069-95">
- <stop
- style="stop-color:#000000;stop-opacity:1;"
- offset="0"
- id="stop10071-10" />
- <stop
- style="stop-color:#000000;stop-opacity:0;"
- offset="1"
- id="stop10073-64" />
- </linearGradient>
- <linearGradient
- id="linearGradient10069-3">
- <stop
- style="stop-color:#000000;stop-opacity:1;"
- offset="0"
- id="stop10071-87" />
- <stop
- style="stop-color:#000000;stop-opacity:0;"
- offset="1"
- id="stop10073-42" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient1610-83"
- id="linearGradient38961"
- gradientUnits="userSpaceOnUse"
- x1="488.5"
- y1="568"
- x2="495"
- y2="568" />
- <mask
- maskUnits="userSpaceOnUse"
- id="mask38956">
- <rect
- style="fill:url(#linearGradient38961);stroke:none;stroke-width:2.79999995;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- id="rect38958"
- width="16"
- height="12"
- x="488"
- y="560"
- rx="0"
- ry="0" />
- </mask>
- <linearGradient
- id="linearGradient319-46">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop320-03" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop321-62" />
- </linearGradient>
- <mask
- maskUnits="userSpaceOnUse"
- id="mask40306">
- <path
- id="path40308"
- d="m 195,11.00001 0,14 0.5,0 13.5,-13.5 0,-0.5 -14,0 z"
- style="fill:#ffffff;fill-rule:evenodd;stroke:none"
- sodipodi:nodetypes="cccccc" />
- </mask>
- <linearGradient
- id="linearGradient1610-74-9-1">
- <stop
- style="stop-color:black;stop-opacity:1;"
- offset="0"
- id="stop1611-0-8-7" />
- <stop
- style="stop-color:white;stop-opacity:1;"
- offset="1"
- id="stop1612-9-3-1" />
- </linearGradient>
- <linearGradient
- id="linearGradient58334-8-6-5">
- <stop
- id="stop58336-8-9-2"
- offset="0.0000000"
- style="stop-color:#ffffff;stop-opacity:0.87628865;" />
- <stop
- id="stop58338-24-8-7"
- offset="1.0000000"
- style="stop-color:#fffffe;stop-opacity:0.0000000;" />
- </linearGradient>
- <linearGradient
- id="linearGradient319-5-6-2">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop320-761-2-1" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop321-89-7-6" />
- </linearGradient>
- <linearGradient
- id="linearGradient13973-3-7-8">
- <stop
- style="stop-color:#3c4c18;stop-opacity:1;"
- offset="0"
- id="stop13975-1-8-9" />
- <stop
- style="stop-color:#9aff31;stop-opacity:0;"
- offset="1"
- id="stop13977-2-0-2" />
- </linearGradient>
- <linearGradient
- id="linearGradient37542-3-0-7-6">
- <stop
- id="stop37544-1-6-6-5"
- offset="0"
- style="stop-color:#000000;stop-opacity:1;" />
- <stop
- id="stop37546-2-1-7-0"
- offset="1"
- style="stop-color:#ffffff;stop-opacity:1;" />
- </linearGradient>
- <linearGradient
- id="linearGradient319-34-8-7-0">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop320-11-9-8-0" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop321-38-3-1-6" />
- </linearGradient>
- <linearGradient
- id="linearGradient10069-7-6-7-4">
- <stop
- style="stop-color:#000000;stop-opacity:1;"
- offset="0"
- id="stop10071-81-3-2-4" />
- <stop
- style="stop-color:#000000;stop-opacity:0;"
- offset="1"
- id="stop10073-6-7-5-6" />
- </linearGradient>
- <linearGradient
- id="linearGradient44627">
- <stop
- style="stop-color:black;stop-opacity:1;"
- offset="0"
- id="stop44629" />
- <stop
- style="stop-color:white;stop-opacity:1;"
- offset="1"
- id="stop44631" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient44627"
- id="linearGradient43826"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-1,0,0,1,1444.9824,-215)"
- x1="689.47357"
- y1="427"
- x2="685.47357"
- y2="427" />
- <mask
- maskUnits="userSpaceOnUse"
- id="mask43822">
- <rect
- y="208"
- x="754"
- height="9"
- width="12"
- id="rect43824"
- style="opacity:0.93999993;fill:url(#linearGradient43826);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:new" />
- </mask>
- <linearGradient
- id="linearGradient37542-7">
- <stop
- id="stop37544-40"
- offset="0"
- style="stop-color:#000000;stop-opacity:1;" />
- <stop
- id="stop37546-94"
- offset="1"
- style="stop-color:#ffffff;stop-opacity:1;" />
- </linearGradient>
- <linearGradient
- id="linearGradient37542-5">
- <stop
- id="stop37544-1"
- offset="0"
- style="stop-color:#000000;stop-opacity:1;" />
- <stop
- id="stop37546-71"
- offset="1"
- style="stop-color:#ffffff;stop-opacity:1;" />
- </linearGradient>
- <linearGradient
- id="linearGradient10069-9-71">
- <stop
- style="stop-color:#000000;stop-opacity:1;"
- offset="0"
- id="stop10071-5-1" />
- <stop
- style="stop-color:#000000;stop-opacity:0;"
- offset="1"
- id="stop10073-43-5" />
- </linearGradient>
- <linearGradient
- id="linearGradient23974-2">
- <stop
- id="stop23976-2"
- offset="0"
- style="stop-color:#2561b7;stop-opacity:1;" />
- <stop
- id="stop23978-1"
- offset="1"
- style="stop-color:#f9fbff;stop-opacity:1" />
- </linearGradient>
- <clipPath
- clipPathUnits="userSpaceOnUse"
- id="clipPath28964">
- <path
- inkscape:export-ydpi="90"
- inkscape:export-xdpi="90"
- inkscape:export-filename="C:\Documents and Settings\Tata\Pulpit\4.png"
- sodipodi:nodetypes="ccccc"
- style="fill:url(#linearGradient28968);fill-opacity:1;fill-rule:evenodd;stroke:none;display:inline;enable-background:new"
- d="m 117.50984,228.63415 0,-15.01646 11.71735,5.49383 0,15.38271 -11.71735,-5.86008 z"
- id="path28966" />
- </clipPath>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient23974-2"
- id="linearGradient28968"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.4646688,0,0,1.4650206,168.77325,-157.03253)"
- x1="-38.103703"
- y1="266.11719"
- x2="-20.826464"
- y2="253.23859" />
- <linearGradient
- id="linearGradient319-5">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop320-761" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop321-8" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient37542-7"
- id="linearGradient29424"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.4646688,0,0,1.4650206,168.77325,-157.03253)"
- x1="-26.511335"
- y1="257.99881"
- x2="-30.075666"
- y2="259.87677" />
- <mask
- maskUnits="userSpaceOnUse"
- id="mask29419">
- <path
- id="path29422"
- d="m 117.50984,229.00041 0,-15.38272 11.71735,5.49383 0,15.74897 -11.71735,-5.86008 z"
- style="opacity:0.5;fill:url(#linearGradient29424);fill-opacity:1;fill-rule:evenodd;stroke:none;display:inline;enable-background:new"
- sodipodi:nodetypes="ccccc"
- inkscape:export-filename="C:\Documents and Settings\Tata\Pulpit\4.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90" />
- </mask>
- <linearGradient
- id="linearGradient21327-6-8">
- <stop
- style="stop-color:#1e3e70;stop-opacity:1;"
- offset="0"
- id="stop21329-3-4" />
- <stop
- style="stop-color:#1e3e70;stop-opacity:0;"
- offset="1"
- id="stop21331-4-0" />
- </linearGradient>
- <linearGradient
- id="linearGradient28526">
- <stop
- id="stop28528"
- offset="0"
- style="stop-color:#2561b7;stop-opacity:1;" />
- <stop
- id="stop28530"
- offset="1"
- style="stop-color:#f9fbff;stop-opacity:1" />
- </linearGradient>
- <linearGradient
- id="linearGradient319-62">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop320-90" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop321-4" />
- </linearGradient>
- <linearGradient
- id="linearGradient1610-52-2">
- <stop
- style="stop-color:black;stop-opacity:1;"
- offset="0"
- id="stop1611-32-8" />
- <stop
- style="stop-color:white;stop-opacity:1;"
- offset="1"
- id="stop1612-46-8" />
- </linearGradient>
- <linearGradient
- id="linearGradient319-62-8">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop320-90-6" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop321-4-0" />
- </linearGradient>
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient1610-52-2"
- id="radialGradient29805"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.94105289,0.01178942,-0.01073736,0.8570756,238.4669,249.70522)"
- cx="-30.028414"
- cy="19.425121"
- fx="-30.028414"
- fy="19.425121"
- r="7" />
- <mask
- maskUnits="userSpaceOnUse"
- id="mask29801">
- <rect
- style="opacity:0.35;color:#000000;fill:url(#radialGradient29805);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.71217775;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:new"
- id="rect29803"
- width="15"
- height="16"
- x="204"
- y="257" />
- </mask>
- <clipPath
- clipPathUnits="userSpaceOnUse"
- id="clipPath50172-0">
- <path
- id="path50174-8"
- d="m -177.34375,498 a 1.001098,1.001098 0 1 0 0.0937,2 l 3.65625,0 -4.25,5.9375 a 1.0001,1.0001 0 0 0 -0.1875,0.59375 l 0,0.5 a 1.0001,1.0001 0 0 0 1,1 L -171.75,508 a 1.0001,1.0001 0 1 0 0,-2 l -3.6875,0.0312 4.25,-5.9375 A 1.0001,1.0001 0 0 0 -171,499.5 l 0,-0.5 a 1.0001,1.0001 0 0 0 -1,-1 l -5.25,0 a 1.0001,1.0001 0 0 0 -0.0937,0 z"
- style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;color:#000000;fill:#ff0000;fill-opacity:1;stroke:none;stroke-width:2;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Bitstream Vera Sans;-inkscape-font-specification:Bitstream Vera Sans" />
- </clipPath>
- <radialGradient
- id="radialGradient16142-7"
- cx="20.892099"
- cy="64.567902"
- r="5.257"
- fx="20.892099"
- fy="64.567902"
- gradientUnits="userSpaceOnUse">
- <stop
- offset="0"
- style="stop-color:#F0F0F0"
- id="stop16144-4" />
- <stop
- offset="1"
- style="stop-color:#474747"
- id="stop16146-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" width="602" height="640" id="svg2" sodipodi:version="0.32" inkscape:version="0.92.3 (2405546, 2018-03-11)" version="1.0" sodipodi:docname="blender_icons 2.81 - SMALL.svg" inkscape:output_extension="org.inkscape.output.svg.inkscape" style="display:inline;enable-background:new" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\ICONS - no backdrop.png" inkscape:export-xdpi="96" inkscape:export-ydpi="96">
+
+ <defs id="defs4">
+
+ <linearGradient inkscape:collect="always" id="linearGradient11146">
+ <stop style="stop-color:#ffffff;stop-opacity:1;" offset="0" id="stop11142"/>
+ <stop style="stop-color:#ffffff;stop-opacity:0;" offset="1" id="stop11144"/>
+ </linearGradient>
+ <linearGradient id="linearGradient18495" inkscape:collect="always">
+ <stop id="stop18497" offset="0" style="stop-color:#000000;stop-opacity:1;"/>
+ <stop id="stop18499" offset="1" style="stop-color:#000000;stop-opacity:0;"/>
+ </linearGradient>
+ <linearGradient id="linearGradient17265">
+ <stop style="stop-color:#ffb769;stop-opacity:1;" offset="0" id="stop17267"/>
+ <stop style="stop-color:#ffeeaa;stop-opacity:0;" offset="1" id="stop17269"/>
+ </linearGradient>
+ <linearGradient id="linearGradient17073">
+ <stop style="stop-color:#2561b7;stop-opacity:1;" offset="0" id="stop17075"/>
+ <stop style="stop-color:#f9fbff;stop-opacity:1;" offset="1" id="stop17077"/>
+ </linearGradient>
+ <linearGradient inkscape:collect="always" id="linearGradient18134">
+ <stop style="stop-color:#ffffff;stop-opacity:1;" offset="0" id="stop18136"/>
+ <stop style="stop-color:#ffffff;stop-opacity:0;" offset="1" id="stop18138"/>
+ </linearGradient>
+ <linearGradient id="linearGradient16595">
+ <stop style="stop-color:#000000;stop-opacity:1;" offset="0" id="stop16597"/>
+ <stop style="stop-color:#ffffff;stop-opacity:1;" offset="1" id="stop16599"/>
+ </linearGradient>
+ <linearGradient id="linearGradient16723">
+ <stop style="stop-color:#343434;stop-opacity:0.61960787;" offset="0" id="stop16725"/>
+ <stop style="stop-color:#3d3d3d;stop-opacity:1;" offset="1" id="stop16727"/>
+ </linearGradient>
+ <linearGradient id="linearGradient106427">
+ <stop style="stop-color:#ffffff;stop-opacity:1;" offset="0" id="stop106429"/>
+ <stop style="stop-color:#030303;stop-opacity:1" offset="1" id="stop106431"/>
+ </linearGradient>
+ <linearGradient id="linearGradient29304">
+ <stop style="stop-color:#11233f;stop-opacity:1;" offset="0" id="stop29306"/>
+ <stop style="stop-color:#162d50;stop-opacity:0;" offset="1" id="stop29308"/>
+ </linearGradient>
+ <linearGradient id="linearGradient24343">
+ <stop id="stop24345" offset="0" style="stop-color:#184990;stop-opacity:1;"/>
+ <stop id="stop24347" offset="1" style="stop-color:#c1d5f3;stop-opacity:1;"/>
+ </linearGradient>
+ <linearGradient id="linearGradient25417">
+ <stop id="stop25419" offset="0" style="stop-color:#60553b;stop-opacity:1;"/>
+ <stop id="stop25421" offset="1" style="stop-color:#b0a17f;stop-opacity:1;"/>
+ </linearGradient>
+ <linearGradient id="linearGradient25108">
+ <stop id="stop25110" offset="0" style="stop-color:white;stop-opacity:1;"/>
+ <stop id="stop25112" offset="1" style="stop-color:#c6c6c6;stop-opacity:1;"/>
+ </linearGradient>
+ <linearGradient id="linearGradient43807">
+ <stop style="stop-color:#e31b1b;stop-opacity:1;" offset="0" id="stop43809"/>
+ <stop style="stop-color:#930000;stop-opacity:1;" offset="1" id="stop43811"/>
+ </linearGradient>
+ <linearGradient id="linearGradient38256">
+ <stop id="stop38258" offset="0" style="stop-color:#e7e0c7;stop-opacity:1;"/>
+ <stop id="stop38260" offset="1" style="stop-color:#f1eddf;stop-opacity:0;"/>
+ </linearGradient>
+ <linearGradient id="linearGradient40703">
+ <stop style="stop-color:#143564;stop-opacity:1;" offset="0" id="stop40705"/>
+ <stop style="stop-color:#c1d7f8;stop-opacity:1;" offset="1" id="stop40707"/>
+ </linearGradient>
+ <linearGradient id="linearGradient35411">
+ <stop id="stop35414" offset="0" style="stop-color:#2b5385;stop-opacity:1;"/>
+ <stop id="stop35416" offset="1" style="stop-color:#ffffff;stop-opacity:1;"/>
+ </linearGradient>
+ <linearGradient id="linearGradient28887">
+ <stop style="stop-color:#2158a7;stop-opacity:1;" offset="0" id="stop28889"/>
+ <stop style="stop-color:#2f73d5;stop-opacity:0.19607843;" offset="1" id="stop28891"/>
+ </linearGradient>
+ <linearGradient id="linearGradient24144">
+ <stop id="stop24146" offset="0" style="stop-color:#3d361a;stop-opacity:1;"/>
+ <stop style="stop-color:#d1c595;stop-opacity:1;" offset="0.17958513" id="stop24148"/>
+ <stop id="stop24150" offset="1" style="stop-color:#ffffff;stop-opacity:1;"/>
+ </linearGradient>
+ <linearGradient id="linearGradient24727">
+ <stop style="stop-color:#3d361a;stop-opacity:1;" offset="0" id="stop24729"/>
+ <stop id="stop24731" offset="0.77520341" style="stop-color:#d1c595;stop-opacity:1;"/>
+ <stop style="stop-color:#ffffff;stop-opacity:1;" offset="1" id="stop24733"/>
+ </linearGradient>
+ <linearGradient id="linearGradient24711">
+ <stop style="stop-color:#3d361a;stop-opacity:1;" offset="0" id="stop24713"/>
+ <stop id="stop24715" offset="0.21609697" style="stop-color:#d1c595;stop-opacity:1;"/>
+ <stop style="stop-color:#ffffff;stop-opacity:1;" offset="1" id="stop24717"/>
+ </linearGradient>
+ <linearGradient id="linearGradient24687">
+ <stop style="stop-color:#3d361a;stop-opacity:1;" offset="0" id="stop24689"/>
+ <stop id="stop24691" offset="0.59630167" style="stop-color:#d1c595;stop-opacity:1;"/>
+ <stop style="stop-color:#ffffff;stop-opacity:1;" offset="1" id="stop24693"/>
+ </linearGradient>
+ <linearGradient id="linearGradient42459">
+ <stop style="stop-color:#e7dfab;stop-opacity:1;" offset="0" id="stop42461"/>
+ <stop style="stop-color:#af9d33;stop-opacity:1;" offset="1" id="stop42463"/>
+ </linearGradient>
+ <linearGradient id="linearGradient24143">
+ <stop id="stop24145" offset="0" style="stop-color:#3d361a;stop-opacity:1;"/>
+ <stop style="stop-color:#d1c595;stop-opacity:1;" offset="0.5" id="stop24669"/>
+ <stop id="stop24147" offset="1" style="stop-color:#ffffff;stop-opacity:1;"/>
+ </linearGradient>
+ <linearGradient id="linearGradient24642">
+ <stop style="stop-color:#d0dbe8;stop-opacity:1;" offset="0" id="stop24644"/>
+ <stop style="stop-color:#6ca3e9;stop-opacity:0;" offset="1" id="stop24646"/>
+ </linearGradient>
+ <linearGradient id="linearGradient24632">
+ <stop style="stop-color:#28394f;stop-opacity:1;" offset="0" id="stop24634"/>
+ <stop id="stop24636" offset="0.17637014" style="stop-color:#0d386a;stop-opacity:0.78431374;"/>
+ <stop id="stop24638" offset="0.35274029" style="stop-color:#18437d;stop-opacity:0.47058824;"/>
+ <stop style="stop-color:#154e94;stop-opacity:0;" offset="1" id="stop24640"/>
+ </linearGradient>
+ <linearGradient id="linearGradient23974">
+ <stop id="stop23976" offset="0" style="stop-color:#2561b7;stop-opacity:1;"/>
+ <stop id="stop23978" offset="1" style="stop-color:#f9fbff;stop-opacity:1"/>
+ </linearGradient>
+ <linearGradient id="linearGradient40983">
+ <stop style="stop-color:#6a9ae0;stop-opacity:1;" offset="0" id="stop40985"/>
+ <stop style="stop-color:#5189db;stop-opacity:0;" offset="1" id="stop40987"/>
+ </linearGradient>
+ <linearGradient id="linearGradient8864">
+ <stop id="stop8866" offset="0" style="stop-color:#b43214;stop-opacity:1;"/>
+ <stop id="stop8868" offset="1" style="stop-color:#e86830;stop-opacity:1;"/>
+ </linearGradient>
+ <linearGradient id="linearGradient22562">
+ <stop style="stop-color:#001e50;stop-opacity:1;" offset="0" id="stop22564"/>
+ <stop style="stop-color:#1e3e70;stop-opacity:0;" offset="1" id="stop22566"/>
+ </linearGradient>
+ <linearGradient id="linearGradient22882">
+ <stop style="stop-color:#323232;stop-opacity:0;" offset="0" id="stop22884"/>
+ <stop id="stop22886" offset="0.21233012" style="stop-color:#323232;stop-opacity:0.49803922;"/>
+ <stop id="stop22888" offset="0.54086536" style="stop-color:#323232;stop-opacity:1;"/>
+ <stop style="stop-color:#323232;stop-opacity:0.49803922;" offset="0.83381736" id="stop22890"/>
+ <stop style="stop-color:#323232;stop-opacity:0;" offset="1" id="stop22892"/>
+ </linearGradient>
+ <linearGradient id="linearGradient21609">
+ <stop id="stop21611" offset="0" style="stop-color:black;stop-opacity:1"/>
+ <stop id="stop21613" offset="1" style="stop-color:white;stop-opacity:1;"/>
+ </linearGradient>
+ <linearGradient inkscape:collect="always" xlink:href="#linearGradient21609" id="linearGradient20961" gradientUnits="userSpaceOnUse" x1="162" y1="103.71875" x2="165" y2="103.75"/>
+
+ <linearGradient id="linearGradient18105">
+ <stop id="stop18107" offset="0" style="stop-color:#162d50;stop-opacity:1"/>
+ <stop id="stop18109" offset="1" style="stop-color:#1e3e70;stop-opacity:0;"/>
+ </linearGradient>
+ <linearGradient id="linearGradient21327">
+ <stop style="stop-color:#1e3e70;stop-opacity:1;" offset="0" id="stop21329"/>
+ <stop style="stop-color:#1e3e70;stop-opacity:0;" offset="1" id="stop21331"/>
+ </linearGradient>
+ <linearGradient id="linearGradient18821">
+ <stop style="stop-color:#fc6b58;stop-opacity:1;" offset="0" id="stop18823"/>
+ <stop style="stop-color:#fc6b58;stop-opacity:0;" offset="1" id="stop18825"/>
+ </linearGradient>
+ <linearGradient id="linearGradient29149">
+ <stop id="stop29151" offset="0" style="stop-color:#76adff;stop-opacity:1;"/>
+ <stop id="stop29153" offset="1" style="stop-color:#a5c9ff;stop-opacity:0;"/>
+ </linearGradient>
+ <linearGradient id="linearGradient15437">
+ <stop id="stop15439" offset="0" style="stop-color:#20529e;stop-opacity:1;"/>
+ <stop id="stop15441" offset="1" style="stop-color:#1d3f71;stop-opacity:0;"/>
+ </linearGradient>
+ <linearGradient id="linearGradient15425">
+ <stop style="stop-color:#8c0000;stop-opacity:1;" offset="0" id="stop15427"/>
+ <stop style="stop-color:#c80000;stop-opacity:0;" offset="1" id="stop15429"/>
+ </linearGradient>
+ <linearGradient id="linearGradient14262">
+ <stop id="stop14264" offset="0" style="stop-color:#2661b6;stop-opacity:1;"/>
+ <stop id="stop14266" offset="1" style="stop-color:#c1d7f8;stop-opacity:0;"/>
+ </linearGradient>
+ <linearGradient id="linearGradient5060">
+ <stop id="stop5062" offset="0" style="stop-color:black;stop-opacity:1;"/>
+ <stop id="stop5064" offset="1" style="stop-color:#000000;stop-opacity:0;"/>
+ </linearGradient>
+ <linearGradient id="linearGradient27957">
+ <stop id="stop27959" offset="0" style="stop-color:#ffffff;stop-opacity:0;"/>
+ <stop style="stop-color:#ffffff;stop-opacity:1;" offset="0.59290552" id="stop27963"/>
+ <stop id="stop27961" offset="1" style="stop-color:#ffffff;stop-opacity:0;"/>
+ </linearGradient>
+ <linearGradient id="linearGradient20756">
+ <stop style="stop-color:#932200;stop-opacity:1;" offset="0" id="stop20758"/>
+ <stop style="stop-color:#f8420a;stop-opacity:1;" offset="1" id="stop20760"/>
+ </linearGradient>
+ <linearGradient id="linearGradient47130">
+ <stop style="stop-color:#ed7b00;stop-opacity:1;" offset="0" id="stop47132"/>
+ <stop style="stop-color:white;stop-opacity:1;" offset="1" id="stop47134"/>
+ </linearGradient>
+ <linearGradient id="linearGradient32842">
+ <stop style="stop-color:#183e75;stop-opacity:1;" offset="0" id="stop32844"/>
+ <stop style="stop-color:#1d3f71;stop-opacity:0;" offset="1" id="stop32846"/>
+ </linearGradient>
+ <linearGradient id="linearGradient20973">
+ <stop id="stop20975" offset="0" style="stop-color:#15ff00;stop-opacity:1;"/>
+ <stop id="stop20977" offset="1" style="stop-color:#15ff00;stop-opacity:0;"/>
+ </linearGradient>
+ <linearGradient id="linearGradient20962">
+ <stop style="stop-color:#00a8ff;stop-opacity:1;" offset="0" id="stop20965"/>
+ <stop style="stop-color:#00a8ff;stop-opacity:0;" offset="1" id="stop20967"/>
+ </linearGradient>
+ <linearGradient id="linearGradient20036">
+ <stop style="stop-color:#ffb55e;stop-opacity:1;" offset="0" id="stop20038"/>
+ <stop style="stop-color:#ff8400;stop-opacity:0;" offset="1" id="stop20040"/>
+ </linearGradient>
+ <linearGradient id="linearGradient10585">
+ <stop id="stop10587" offset="0.0000000" style="stop-color:#d7d7d7;stop-opacity:1.0000000;"/>
+ <stop id="stop10595" offset="1.0000000" style="stop-color:#000000;stop-opacity:1.0000000;"/>
+ </linearGradient>
+ <linearGradient id="linearGradient31320">
+ <stop style="stop-color:white;stop-opacity:1;" offset="0" id="stop31322"/>
+ <stop style="stop-color:white;stop-opacity:0;" offset="1" id="stop31324"/>
+ </linearGradient>
+ <linearGradient id="linearGradient23178">
+ <stop style="stop-color:#ff992b;stop-opacity:1;" offset="0" id="stop23180"/>
+ <stop style="stop-color:white;stop-opacity:1;" offset="1" id="stop23182"/>
+ </linearGradient>
+ <linearGradient id="linearGradient13938">
+ <stop id="stop13940" offset="0" style="stop-color:#6e0c00;stop-opacity:1;"/>
+ <stop id="stop13942" offset="1" style="stop-color:#ee3800;stop-opacity:0;"/>
+ </linearGradient>
+ <linearGradient id="linearGradient14232">
+ <stop style="stop-color:#fff32a;stop-opacity:1;" offset="0" id="stop14234"/>
+ <stop style="stop-color:#fff551;stop-opacity:0;" offset="1" id="stop14236"/>
+ </linearGradient>
+ <linearGradient id="linearGradient14418">
+ <stop id="stop14420" offset="0" style="stop-color:#fa2509;stop-opacity:1;"/>
+ <stop id="stop14422" offset="1" style="stop-color:#fa2509;stop-opacity:0;"/>
+ </linearGradient>
+ <linearGradient inkscape:collect="always" xlink:href="#linearGradient1610" id="linearGradient18670" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1.2078427,0,0,1.0516432,-357.40769,69.427229)" x1="362.28571" y1="-45.098213" x2="352.46426" y2="-54.124699"/>
+
+ <linearGradient id="linearGradient31456">
+ <stop style="stop-color:#2b1600;stop-opacity:1;" offset="0" id="stop31458"/>
+ <stop style="stop-color:#6e3900;stop-opacity:0;" offset="1" id="stop31460"/>
+ </linearGradient>
+ <linearGradient id="linearGradient19425">
+ <stop style="stop-color:#ffffff;stop-opacity:1;" offset="0" id="stop19427"/>
+ <stop id="stop19431" offset="0.63109845" style="stop-color:#fffffe;stop-opacity:0.65789473;"/>
+ <stop style="stop-color:#fffffe;stop-opacity:0.0000000;" offset="1.0000000" id="stop19429"/>
+ </linearGradient>
+ <linearGradient id="linearGradient9030">
+ <stop style="stop-color:white;stop-opacity:1;" offset="0" id="stop9032"/>
+ <stop style="stop-color:white;stop-opacity:0;" offset="1" id="stop9034"/>
+ </linearGradient>
+ <linearGradient id="linearGradient1610">
+ <stop style="stop-color:black;stop-opacity:1;" offset="0" id="stop1611"/>
+ <stop style="stop-color:white;stop-opacity:1;" offset="1" id="stop1612"/>
+ </linearGradient>
+ <linearGradient id="linearGradient37542">
+ <stop id="stop37544" offset="0" style="stop-color:#000000;stop-opacity:1;"/>
+ <stop id="stop37546" offset="1" style="stop-color:#ffffff;stop-opacity:1;"/>
+ </linearGradient>
+ <linearGradient id="linearGradient30124">
+ <stop style="stop-color:#1d4a8c;stop-opacity:1;" offset="0" id="stop30126"/>
+ <stop style="stop-color:#c1d4f2;stop-opacity:1;" offset="1" id="stop30128"/>
+ </linearGradient>
+ <linearGradient id="linearGradient15893">
+ <stop style="stop-color:#2968c3;stop-opacity:1;" offset="0" id="stop15895"/>
+ <stop id="stop15897" offset="0.37679368" style="stop-color:#b5ccf0;stop-opacity:1;"/>
+ <stop style="stop-color:#b5ccf0;stop-opacity:1;" offset="0.59786767" id="stop15899"/>
+ <stop style="stop-color:#2968c3;stop-opacity:1;" offset="1" id="stop15901"/>
+ </linearGradient>
+ <linearGradient id="linearGradient319">
+ <stop style="stop-color:#ffffff;stop-opacity:1;" offset="0" id="stop320"/>
+ <stop style="stop-color:#ffffff;stop-opacity:0;" offset="1" id="stop321"/>
+ </linearGradient>
+ <linearGradient id="linearGradient10069">
+ <stop style="stop-color:#000000;stop-opacity:1;" offset="0" id="stop10071"/>
+ <stop style="stop-color:#000000;stop-opacity:0;" offset="1" id="stop10073"/>
+ </linearGradient>
+ <linearGradient id="linearGradient32998">
+ <stop style="stop-color:#2968c3;stop-opacity:1;" offset="0" id="stop33000"/>
+ <stop style="stop-color:#c1d7f8;stop-opacity:1;" offset="1" id="stop33002"/>
+ </linearGradient>
+
+
+
+ <linearGradient inkscape:collect="always" xlink:href="#linearGradient1610" id="linearGradient69009" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1.5466301,0,0,1.6489946,-293.01107,-16.485383)" x1="582" y1="49.294117" x2="582" y2="47.176472"/>
+
+ <linearGradient id="linearGradient39155">
+ <stop id="stop39157" offset="0" style="stop-color:white;stop-opacity:1;"/>
+ <stop id="stop39159" offset="1" style="stop-color:#dadada;stop-opacity:1;"/>
+ </linearGradient>
+
+ <linearGradient inkscape:collect="always" xlink:href="#linearGradient1610" id="linearGradient25381" gradientUnits="userSpaceOnUse" gradientTransform="translate(-1,21)" x1="342" y1="288.5" x2="344.5" y2="288.5"/>
+ <linearGradient inkscape:collect="always" xlink:href="#linearGradient1610" id="linearGradient25383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0,1,-1,0,638,-40)" x1="342" y1="288.5" x2="344.5" y2="288.5"/>
+ <linearGradient inkscape:collect="always" xlink:href="#linearGradient1610" id="linearGradient25385" gradientUnits="userSpaceOnUse" gradientTransform="matrix(-1,0,0,-1,699,599)" x1="342" y1="288.5" x2="344.5" y2="288.5"/>
+ <linearGradient inkscape:collect="always" xlink:href="#linearGradient1610" id="linearGradient25387" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0,-1,1,0,60,660)" x1="342" y1="288.5" x2="344.5" y2="288.5"/>
+
+ <linearGradient inkscape:collect="always" xlink:href="#linearGradient1610" id="linearGradient32298" gradientUnits="userSpaceOnUse" x1="-117.5" y1="431.5" x2="-119.5" y2="429.5" gradientTransform="translate(258,-96.99999)"/>
+
+ <linearGradient id="linearGradient1610-7-6">
+ <stop style="stop-color:black;stop-opacity:1;" offset="0" id="stop1611-4-1"/>
+ <stop style="stop-color:white;stop-opacity:1;" offset="1" id="stop1612-0-4"/>
+ </linearGradient>
+ <linearGradient id="linearGradient10069-4-2">
+ <stop style="stop-color:#000000;stop-opacity:1;" offset="0" id="stop10071-8-3"/>
+ <stop style="stop-color:#000000;stop-opacity:0;" offset="1" id="stop10073-8-2"/>
+ </linearGradient>
+ <linearGradient id="linearGradient35411-4-27">
+ <stop id="stop35414-0-9" offset="0" style="stop-color:#2b5385;stop-opacity:1;"/>
+ <stop id="stop35416-9-5" offset="1" style="stop-color:#ffffff;stop-opacity:1;"/>
+ </linearGradient>
+ <linearGradient id="linearGradient35411-8-1-3">
+ <stop id="stop35414-2-7-1" offset="0" style="stop-color:#2b5385;stop-opacity:1;"/>
+ <stop id="stop35416-4-1-2" offset="1" style="stop-color:#ffffff;stop-opacity:1;"/>
+ </linearGradient>
+ <linearGradient id="linearGradient23974-5-4">
+ <stop id="stop23976-27-1" offset="0" style="stop-color:#2561b7;stop-opacity:1;"/>
+ <stop id="stop23978-6-1" offset="1" style="stop-color:#f9fbff;stop-opacity:1"/>
+ </linearGradient>
+ <linearGradient id="linearGradient1610-8">
+ <stop style="stop-color:black;stop-opacity:1;" offset="0" id="stop1611-7"/>
+ <stop style="stop-color:white;stop-opacity:1;" offset="1" id="stop1612-4"/>
+ </linearGradient>
+ <linearGradient id="linearGradient319-77">
+ <stop style="stop-color:#ffffff;stop-opacity:1;" offset="0" id="stop320-9"/>
+ <stop style="stop-color:#ffffff;stop-opacity:0;" offset="1" id="stop321-31"/>
+ </linearGradient>
+ <linearGradient id="linearGradient23974-4">
+ <stop id="stop23976-20" offset="0" style="stop-color:#2561b7;stop-opacity:1;"/>
+ <stop id="stop23978-9" offset="1" style="stop-color:#f9fbff;stop-opacity:1"/>
+ </linearGradient>
+ <linearGradient id="linearGradient319-37">
+ <stop style="stop-color:#ffffff;stop-opacity:1;" offset="0" id="stop320-2"/>
+ <stop style="stop-color:#ffffff;stop-opacity:0;" offset="1" id="stop321-60"/>
+ </linearGradient>
+
+ <linearGradient id="linearGradient1610-7409">
+ <stop style="stop-color:black;stop-opacity:1;" offset="0" id="stop1611-488"/>
+ <stop style="stop-color:white;stop-opacity:1;" offset="1" id="stop1612-2"/>
+ </linearGradient>
+ <linearGradient id="linearGradient40578-4-8-5">
+ <stop style="stop-color:black;stop-opacity:1;" offset="0" id="stop40580-8-9-5"/>
+ <stop style="stop-color:black;stop-opacity:0;" offset="1" id="stop40582-6-8-17"/>
+ </linearGradient>
+ <linearGradient id="linearGradient58334-1">
+ <stop id="stop58336-5" offset="0.0000000" style="stop-color:#ffffff;stop-opacity:0.87628865;"/>
+ <stop id="stop58338-27" offset="1.0000000" style="stop-color:#fffffe;stop-opacity:0.0000000;"/>
+ </linearGradient>
+
+ <linearGradient id="linearGradient1610-6">
+ <stop style="stop-color:black;stop-opacity:1;" offset="0" id="stop1611-18"/>
+ <stop style="stop-color:white;stop-opacity:1;" offset="1" id="stop1612-92"/>
+ </linearGradient>
+ <linearGradient id="linearGradient10069-9">
+ <stop style="stop-color:#000000;stop-opacity:1;" offset="0" id="stop10071-5"/>
+ <stop style="stop-color:#000000;stop-opacity:0;" offset="1" id="stop10073-43"/>
+ </linearGradient>
+ <linearGradient id="linearGradient21327-6">
+ <stop style="stop-color:#1e3e70;stop-opacity:1;" offset="0" id="stop21329-3"/>
+ <stop style="stop-color:#1e3e70;stop-opacity:0;" offset="1" id="stop21331-4"/>
+ </linearGradient>
+ <linearGradient id="linearGradient20055-8-4">
+ <stop id="stop20057-8-0" offset="0" style="stop-color:#0a2a5a;stop-opacity:1;"/>
+ <stop id="stop20059-2-0" offset="1" style="stop-color:#3771c8;stop-opacity:1;"/>
+ </linearGradient>
+ <linearGradient id="linearGradient39088">
+ <stop id="stop39090" offset="0" style="stop-color:#000000;stop-opacity:1;"/>
+ <stop id="stop39092" offset="1" style="stop-color:#ffffff;stop-opacity:1;"/>
+ </linearGradient>
+ <linearGradient id="linearGradient1610-83">
+ <stop style="stop-color:black;stop-opacity:1;" offset="0" id="stop1611-24"/>
+ <stop style="stop-color:white;stop-opacity:1;" offset="1" id="stop1612-11"/>
+ </linearGradient>
+ <linearGradient id="linearGradient10069-95">
+ <stop style="stop-color:#000000;stop-opacity:1;" offset="0" id="stop10071-10"/>
+ <stop style="stop-color:#000000;stop-opacity:0;" offset="1" id="stop10073-64"/>
+ </linearGradient>
+ <linearGradient id="linearGradient10069-3">
+ <stop style="stop-color:#000000;stop-opacity:1;" offset="0" id="stop10071-87"/>
+ <stop style="stop-color:#000000;stop-opacity:0;" offset="1" id="stop10073-42"/>
+ </linearGradient>
+ <linearGradient inkscape:collect="always" xlink:href="#linearGradient1610-83" id="linearGradient38961" gradientUnits="userSpaceOnUse" x1="488.5" y1="568" x2="495" y2="568"/>
+
+ <linearGradient id="linearGradient319-46">
+ <stop style="stop-color:#ffffff;stop-opacity:1;" offset="0" id="stop320-03"/>
+ <stop style="stop-color:#ffffff;stop-opacity:0;" offset="1" id="stop321-62"/>
+ </linearGradient>
+
+ <linearGradient id="linearGradient1610-74-9-1">
+ <stop style="stop-color:black;stop-opacity:1;" offset="0" id="stop1611-0-8-7"/>
+ <stop style="stop-color:white;stop-opacity:1;" offset="1" id="stop1612-9-3-1"/>
+ </linearGradient>
+ <linearGradient id="linearGradient58334-8-6-5">
+ <stop id="stop58336-8-9-2" offset="0.0000000" style="stop-color:#ffffff;stop-opacity:0.87628865;"/>
+ <stop id="stop58338-24-8-7" offset="1.0000000" style="stop-color:#fffffe;stop-opacity:0.0000000;"/>
+ </linearGradient>
+ <linearGradient id="linearGradient319-5-6-2">
+ <stop style="stop-color:#ffffff;stop-opacity:1;" offset="0" id="stop320-761-2-1"/>
+ <stop style="stop-color:#ffffff;stop-opacity:0;" offset="1" id="stop321-89-7-6"/>
+ </linearGradient>
+ <linearGradient id="linearGradient13973-3-7-8">
+ <stop style="stop-color:#3c4c18;stop-opacity:1;" offset="0" id="stop13975-1-8-9"/>
+ <stop style="stop-color:#9aff31;stop-opacity:0;" offset="1" id="stop13977-2-0-2"/>
+ </linearGradient>
+ <linearGradient id="linearGradient37542-3-0-7-6">
+ <stop id="stop37544-1-6-6-5" offset="0" style="stop-color:#000000;stop-opacity:1;"/>
+ <stop id="stop37546-2-1-7-0" offset="1" style="stop-color:#ffffff;stop-opacity:1;"/>
+ </linearGradient>
+ <linearGradient id="linearGradient319-34-8-7-0">
+ <stop style="stop-color:#ffffff;stop-opacity:1;" offset="0" id="stop320-11-9-8-0"/>
+ <stop style="stop-color:#ffffff;stop-opacity:0;" offset="1" id="stop321-38-3-1-6"/>
+ </linearGradient>
+ <linearGradient id="linearGradient10069-7-6-7-4">
+ <stop style="stop-color:#000000;stop-opacity:1;" offset="0" id="stop10071-81-3-2-4"/>
+ <stop style="stop-color:#000000;stop-opacity:0;" offset="1" id="stop10073-6-7-5-6"/>
+ </linearGradient>
+ <linearGradient id="linearGradient44627">
+ <stop style="stop-color:black;stop-opacity:1;" offset="0" id="stop44629"/>
+ <stop style="stop-color:white;stop-opacity:1;" offset="1" id="stop44631"/>
+ </linearGradient>
+ <linearGradient inkscape:collect="always" xlink:href="#linearGradient44627" id="linearGradient43826" gradientUnits="userSpaceOnUse" gradientTransform="matrix(-1,0,0,1,1444.9824,-215)" x1="689.47357" y1="427" x2="685.47357" y2="427"/>
+
+ <linearGradient id="linearGradient37542-7">
+ <stop id="stop37544-40" offset="0" style="stop-color:#000000;stop-opacity:1;"/>
+ <stop id="stop37546-94" offset="1" style="stop-color:#ffffff;stop-opacity:1;"/>
+ </linearGradient>
+ <linearGradient id="linearGradient37542-5">
+ <stop id="stop37544-1" offset="0" style="stop-color:#000000;stop-opacity:1;"/>
+ <stop id="stop37546-71" offset="1" style="stop-color:#ffffff;stop-opacity:1;"/>
+ </linearGradient>
+ <linearGradient id="linearGradient10069-9-71">
+ <stop style="stop-color:#000000;stop-opacity:1;" offset="0" id="stop10071-5-1"/>
+ <stop style="stop-color:#000000;stop-opacity:0;" offset="1" id="stop10073-43-5"/>
+ </linearGradient>
+ <linearGradient id="linearGradient23974-2">
+ <stop id="stop23976-2" offset="0" style="stop-color:#2561b7;stop-opacity:1;"/>
+ <stop id="stop23978-1" offset="1" style="stop-color:#f9fbff;stop-opacity:1"/>
+ </linearGradient>
+
+ <linearGradient inkscape:collect="always" xlink:href="#linearGradient23974-2" id="linearGradient28968" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1.4646688,0,0,1.4650206,168.77325,-157.03253)" x1="-38.103703" y1="266.11719" x2="-20.826464" y2="253.23859"/>
+ <linearGradient id="linearGradient319-5">
+ <stop style="stop-color:#ffffff;stop-opacity:1;" offset="0" id="stop320-761"/>
+ <stop style="stop-color:#ffffff;stop-opacity:0;" offset="1" id="stop321-8"/>
+ </linearGradient>
+ <linearGradient inkscape:collect="always" xlink:href="#linearGradient37542-7" id="linearGradient29424" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1.4646688,0,0,1.4650206,168.77325,-157.03253)" x1="-26.511335" y1="257.99881" x2="-30.075666" y2="259.87677"/>
+
+ <linearGradient id="linearGradient21327-6-8">
+ <stop style="stop-color:#1e3e70;stop-opacity:1;" offset="0" id="stop21329-3-4"/>
+ <stop style="stop-color:#1e3e70;stop-opacity:0;" offset="1" id="stop21331-4-0"/>
+ </linearGradient>
+ <linearGradient id="linearGradient28526">
+ <stop id="stop28528" offset="0" style="stop-color:#2561b7;stop-opacity:1;"/>
+ <stop id="stop28530" offset="1" style="stop-color:#f9fbff;stop-opacity:1"/>
+ </linearGradient>
+ <linearGradient id="linearGradient319-62">
+ <stop style="stop-color:#ffffff;stop-opacity:1;" offset="0" id="stop320-90"/>
+ <stop style="stop-color:#ffffff;stop-opacity:0;" offset="1" id="stop321-4"/>
+ </linearGradient>
+ <linearGradient id="linearGradient1610-52-2">
+ <stop style="stop-color:black;stop-opacity:1;" offset="0" id="stop1611-32-8"/>
+ <stop style="stop-color:white;stop-opacity:1;" offset="1" id="stop1612-46-8"/>
+ </linearGradient>
+ <linearGradient id="linearGradient319-62-8">
+ <stop style="stop-color:#ffffff;stop-opacity:1;" offset="0" id="stop320-90-6"/>
+ <stop style="stop-color:#ffffff;stop-opacity:0;" offset="1" id="stop321-4-0"/>
+ </linearGradient>
+ <radialGradient inkscape:collect="always" xlink:href="#linearGradient1610-52-2" id="radialGradient29805" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.94105289,0.01178942,-0.01073736,0.8570756,238.4669,249.70522)" cx="-30.028414" cy="19.425121" fx="-30.028414" fy="19.425121" r="7"/>
+
+
+ <radialGradient id="radialGradient16142-7" cx="20.892099" cy="64.567902" r="5.257" fx="20.892099" fy="64.567902" gradientUnits="userSpaceOnUse">
+ <stop offset="0" style="stop-color:#F0F0F0" id="stop16144-4"/>
+ <stop offset="1" style="stop-color:#474747" id="stop16146-0"/>
</radialGradient>
- <linearGradient
- id="linearGradient37542-78">
- <stop
- id="stop37544-2"
- offset="0"
- style="stop-color:#000000;stop-opacity:1;" />
- <stop
- id="stop37546-78"
- offset="1"
- style="stop-color:#ffffff;stop-opacity:1;" />
- </linearGradient>
- <linearGradient
- id="linearGradient9030-2">
- <stop
- style="stop-color:white;stop-opacity:1;"
- offset="0"
- id="stop9032-0" />
- <stop
- style="stop-color:white;stop-opacity:0;"
- offset="1"
- id="stop9034-89" />
- </linearGradient>
- <linearGradient
- id="linearGradient37542-04-82">
- <stop
- id="stop37544-9-0"
- offset="0"
- style="stop-color:#000000;stop-opacity:1;" />
- <stop
- id="stop37546-4-5"
- offset="1"
- style="stop-color:#ffffff;stop-opacity:1;" />
- </linearGradient>
- <linearGradient
- id="linearGradient9030-38-2">
- <stop
- style="stop-color:white;stop-opacity:1;"
- offset="0"
- id="stop9032-6-7" />
- <stop
- style="stop-color:white;stop-opacity:0;"
- offset="1"
- id="stop9034-9-6" />
- </linearGradient>
- <linearGradient
- id="linearGradient30752-0">
- <stop
- style="stop-color:#0c1b63;stop-opacity:1;"
- offset="0"
- id="stop30754-9" />
- <stop
- style="stop-color:#ffffff;stop-opacity:1"
- offset="1"
- id="stop30756-5" />
- </linearGradient>
- <linearGradient
- id="linearGradient37542-7409-7-7-19-1">
- <stop
- id="stop37544-48-6-1-8-9"
- offset="0"
- style="stop-color:#000000;stop-opacity:1;" />
- <stop
- id="stop37546-82-1-0-6-8"
- offset="1"
- style="stop-color:#ffffff;stop-opacity:1;" />
- </linearGradient>
- <linearGradient
- id="linearGradient44939-8-4-7-8-3-0-3">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop44941-8-5-40-2-4-2-4" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop44943-2-5-9-4-9-8-0" />
- </linearGradient>
- <linearGradient
- id="linearGradient10069-9-7-5-4-6-5-0-3">
- <stop
- style="stop-color:#000000;stop-opacity:1;"
- offset="0"
- id="stop10071-5-4-58-5-9-1-2-1" />
- <stop
- style="stop-color:#000000;stop-opacity:0;"
- offset="1"
- id="stop10073-43-0-4-0-8-0-4-9" />
- </linearGradient>
- <mask
- maskUnits="userSpaceOnUse"
- id="mask52637-8-8">
- <rect
- mask="none"
- style="fill:url(#radialGradient52641-2-8);fill-opacity:1;stroke:none;stroke-width:2.79999995000000010;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- id="rect52639-8-9"
- width="7.9918551"
- height="8.9366941"
- x="-354"
- y="458"
- rx="0"
- ry="0" />
- </mask>
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient37542-7409-7-7-0-9-9"
- id="radialGradient52641-2-8"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.39420438,-0.08239205,0.27256031,1.3040635,-361.27885,-161.73915)"
- cx="-302.79681"
- cy="462.0358"
- fx="-302.79681"
- fy="462.0358"
- r="8" />
- <linearGradient
- id="linearGradient37542-7409-7-7-0-9-9">
- <stop
- id="stop37544-48-6-1-4-1-1"
- offset="0"
- style="stop-color:#000000;stop-opacity:1;" />
- <stop
- id="stop37546-82-1-0-9-3-3"
- offset="1"
- style="stop-color:#ffffff;stop-opacity:1;" />
- </linearGradient>
- <linearGradient
- id="linearGradient319-31-8-9-1">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop320-23-2-8-4" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop321-34-4-4-2" />
- </linearGradient>
- <mask
- maskUnits="userSpaceOnUse"
- id="mask52879-0-5">
- <rect
- mask="none"
- style="fill:url(#radialGradient52883-6-8);fill-opacity:1;stroke:none;stroke-width:2.79999995000000010;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- id="rect52881-7-3"
- width="7.9918551"
- height="8.9366941"
- x="-354.95001"
- y="458"
- rx="0"
- ry="0" />
- </mask>
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient37542-7409-7-7-0-9-9"
- id="radialGradient52883-6-8"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.39420438,-0.08239205,0.27256031,1.3040635,-362.22886,-161.73912)"
- cx="-302.79681"
- cy="462.0358"
- fx="-302.79681"
- fy="462.0358"
- r="8" />
- <linearGradient
- id="linearGradient34488-1-8">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop34490-0-5-7" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop34492-4-0" />
- </linearGradient>
- <linearGradient
- id="linearGradient32877-9-6-8">
- <stop
- style="stop-color:#b3b3b3;stop-opacity:1;"
- offset="0"
- id="stop32879-8-1-1" />
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="1"
- id="stop32881-4-3-9" />
- </linearGradient>
- <linearGradient
- id="linearGradient33058-4-9-5">
- <stop
- style="stop-color:#e5250b;stop-opacity:1;"
- offset="0"
- id="stop33060-3-3-9" />
- <stop
- style="stop-color:#460000;stop-opacity:1;"
- offset="1"
- id="stop33062-9-4-7" />
- </linearGradient>
- <linearGradient
- id="linearGradient44939-8-4-8-6-8">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop44941-8-5-0-0-0" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop44943-2-5-8-6-1" />
- </linearGradient>
- <linearGradient
- id="linearGradient33058-2-7-1-7">
- <stop
- style="stop-color:#e5250b;stop-opacity:1;"
- offset="0"
- id="stop33060-1-8-8-5" />
- <stop
- style="stop-color:#460000;stop-opacity:1;"
- offset="1"
- id="stop33062-4-3-4-5" />
- </linearGradient>
- <linearGradient
- id="linearGradient4671-6-4-1-7">
- <stop
- id="stop4673-7-6-4-1"
- offset="0"
- style="stop-color:#ffd43b;stop-opacity:1;" />
- <stop
- id="stop4675-8-0-8-1"
- offset="1"
- style="stop-color:#ffe873;stop-opacity:1" />
- </linearGradient>
- <linearGradient
- id="linearGradient4689-1-6-4-2">
- <stop
- id="stop4691-6-2-6-7"
- offset="0"
- style="stop-color:#5a9fd4;stop-opacity:1;" />
- <stop
- id="stop4693-0-4-8-6"
- offset="1"
- style="stop-color:#306998;stop-opacity:1;" />
- </linearGradient>
- <linearGradient
- id="linearGradient319-12-5">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop320-34-1" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop321-81-9" />
- </linearGradient>
- <linearGradient
- id="linearGradient15425-8-7">
- <stop
- style="stop-color:#8c0000;stop-opacity:1;"
- offset="0"
- id="stop15427-5-9" />
- <stop
- style="stop-color:#c80000;stop-opacity:0;"
- offset="1"
- id="stop15429-7-2" />
- </linearGradient>
- <linearGradient
- id="linearGradient319-35-31-8">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop320-38-14-4" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop321-94-6-3" />
- </linearGradient>
- <linearGradient
- id="linearGradient319-35-08-1">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop320-38-1-0" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop321-94-1-0" />
- </linearGradient>
- <linearGradient
- id="linearGradient319-35-0">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop320-38-15" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop321-94-19" />
- </linearGradient>
- <linearGradient
- id="linearGradient18105-2-9">
- <stop
- id="stop18107-8-4"
- offset="0"
- style="stop-color:#162d50;stop-opacity:1" />
- <stop
- id="stop18109-1-4"
- offset="1"
- style="stop-color:#1e3e70;stop-opacity:0;" />
- </linearGradient>
- <linearGradient
- id="linearGradient15531-9-5">
- <stop
- style="stop-color:#20539d;stop-opacity:1"
- offset="0"
- id="stop15534-1-3" />
- <stop
- style="stop-color:#bdc9df;stop-opacity:1"
- offset="1"
- id="stop15537-7-5" />
- </linearGradient>
- <linearGradient
- id="linearGradient23974-27-5">
- <stop
- id="stop23976-25-8"
- offset="0"
- style="stop-color:#2561b7;stop-opacity:1;" />
- <stop
- id="stop23978-48-3"
- offset="1"
- style="stop-color:#f9fbff;stop-opacity:1" />
- </linearGradient>
- <linearGradient
- id="linearGradient27277-1-8">
- <stop
- id="stop27279-5-2"
- offset="0"
- style="stop-color:#444444;stop-opacity:1;" />
- <stop
- id="stop27281-4-1"
- offset="1"
- style="stop-color:#adadad;stop-opacity:1" />
- </linearGradient>
- <linearGradient
- id="linearGradient21327-63-5">
- <stop
- style="stop-color:#1e3e70;stop-opacity:1;"
- offset="0"
- id="stop21329-9-2" />
- <stop
- style="stop-color:#1e3e70;stop-opacity:0;"
- offset="1"
- id="stop21331-6-4" />
- </linearGradient>
- <linearGradient
- id="linearGradient37542-40-9">
- <stop
- id="stop37544-6-0"
- offset="0"
- style="stop-color:#2561b7;stop-opacity:1" />
- <stop
- id="stop37546-3-3"
- offset="1"
- style="stop-color:#f9fbff;stop-opacity:1" />
- </linearGradient>
- <linearGradient
- id="linearGradient319-84-1">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop320-78-7" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop321-30-96" />
- </linearGradient>
- <linearGradient
- id="linearGradient319-84-3-2">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop320-78-3-8" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop321-30-9-8" />
- </linearGradient>
- <linearGradient
- id="linearGradient15482-65">
- <stop
- id="stop15484-4"
- offset="0"
- style="stop-color:#2869ab;stop-opacity:1" />
- <stop
- id="stop15486-2"
- offset="1"
- style="stop-color:#a7c8f0;stop-opacity:1" />
- </linearGradient>
- <linearGradient
- id="linearGradient319-6-11">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop320-73-0" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop321-51-9" />
- </linearGradient>
- <linearGradient
- id="linearGradient15595-7">
- <stop
- style="stop-color:#1b4685;stop-opacity:1;"
- offset="0"
- id="stop15597-5" />
- <stop
- style="stop-color:#183e75;stop-opacity:0;"
- offset="1"
- id="stop15599-3" />
- </linearGradient>
- <linearGradient
- id="linearGradient319-6-1-5">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop320-73-4-5" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop321-51-8-0" />
- </linearGradient>
- <linearGradient
- id="linearGradient1610-64-7">
- <stop
- style="stop-color:black;stop-opacity:1;"
- offset="0"
- id="stop1611-8-1" />
- <stop
- style="stop-color:white;stop-opacity:1;"
- offset="1"
- id="stop1612-29-4" />
- </linearGradient>
- <linearGradient
- id="linearGradient15275-9">
- <stop
- id="stop15277-2"
- offset="0"
- style="stop-color:black;stop-opacity:1;" />
- <stop
- id="stop15279-1"
- offset="1"
- style="stop-color:white;stop-opacity:1;" />
- </linearGradient>
- <clipPath
- clipPathUnits="userSpaceOnUse"
- id="clipPath42711-8-1">
- <rect
- style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- id="rect42713-4-3"
- width="8.7252884"
- height="17.464855"
- x="127.4093"
- y="214.76154" />
- </clipPath>
- <linearGradient
- id="linearGradient15361-7">
- <stop
- style="stop-color:#2766a6;stop-opacity:1;"
- offset="0"
- id="stop15363-7" />
- <stop
- style="stop-color:#6ba2e5;stop-opacity:1;"
- offset="1"
- id="stop15365-9" />
- </linearGradient>
- <linearGradient
- id="linearGradient15320-0">
- <stop
- style="stop-color:#0868f5;stop-opacity:1;"
- offset="0"
- id="stop15322-3" />
- <stop
- style="stop-color:#fbfdfe;stop-opacity:1;"
- offset="1"
- id="stop15324-8" />
- </linearGradient>
- <linearGradient
- id="linearGradient23974-0-2">
- <stop
- id="stop23976-22-8"
- offset="0"
- style="stop-color:#2561b7;stop-opacity:1;" />
- <stop
- id="stop23978-4-5"
- offset="1"
- style="stop-color:#f9fbff;stop-opacity:1" />
- </linearGradient>
- <linearGradient
- id="linearGradient31320-4-3">
- <stop
- style="stop-color:white;stop-opacity:1;"
- offset="0"
- id="stop31322-9-2" />
- <stop
- style="stop-color:white;stop-opacity:0;"
- offset="1"
- id="stop31324-3-5" />
- </linearGradient>
- <linearGradient
- id="linearGradient14262-95-2">
- <stop
- id="stop14264-2-2"
- offset="0"
- style="stop-color:#2661b6;stop-opacity:1;" />
- <stop
- id="stop14266-7-2"
- offset="1"
- style="stop-color:#c1d7f8;stop-opacity:0;" />
- </linearGradient>
- <linearGradient
- id="linearGradient319-40-7">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop320-95-9" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop321-16-1" />
- </linearGradient>
- <linearGradient
- id="linearGradient23974-28-0-5">
- <stop
- id="stop23976-64-2-3"
- offset="0"
- style="stop-color:#2561b7;stop-opacity:1;" />
- <stop
- id="stop23978-5-3-7"
- offset="1"
- style="stop-color:#f9fbff;stop-opacity:1" />
- </linearGradient>
- <linearGradient
- id="linearGradient319-23-4">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop320-65-0" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop321-3-5" />
- </linearGradient>
- <linearGradient
- id="linearGradient23974-48-9">
- <stop
- id="stop23976-13-7"
- offset="0"
- style="stop-color:#2561b7;stop-opacity:1;" />
- <stop
- id="stop23978-28-3"
- offset="1"
- style="stop-color:#f9fbff;stop-opacity:1" />
- </linearGradient>
- <linearGradient
- id="linearGradient20756-2-0">
- <stop
- style="stop-color:#2968c3;stop-opacity:1;"
- offset="0"
- id="stop20758-7-2" />
- <stop
- style="stop-color:#b5ccf0;stop-opacity:1;"
- offset="1"
- id="stop20760-0-0" />
- </linearGradient>
- <linearGradient
- id="linearGradient23974-1-2">
- <stop
- id="stop23976-3-3"
- offset="0"
- style="stop-color:#3e7dd7;stop-opacity:0" />
- <stop
- style="stop-color:#8faedb;stop-opacity:1"
- offset="0.48394433"
- id="stop28407-8" />
- <stop
- id="stop23978-26-7"
- offset="1"
- style="stop-color:#f9fbff;stop-opacity:1" />
- </linearGradient>
- <linearGradient
- id="linearGradient31320-0-3">
- <stop
- style="stop-color:white;stop-opacity:1;"
- offset="0"
- id="stop31322-4-5" />
- <stop
- style="stop-color:white;stop-opacity:0;"
- offset="1"
- id="stop31324-9-8" />
- </linearGradient>
- <linearGradient
- id="linearGradient14262-97-5">
- <stop
- id="stop14264-0-6"
- offset="0"
- style="stop-color:#2661b6;stop-opacity:1;" />
- <stop
- id="stop14266-6-3"
- offset="1"
- style="stop-color:#c1d7f8;stop-opacity:0;" />
- </linearGradient>
- <linearGradient
- id="linearGradient319-406-5">
- <stop
- style="stop-color:#ffffff;stop-opacity:0"
- offset="0"
- id="stop320-76-8" />
- <stop
- style="stop-color:#ffffff;stop-opacity:1"
- offset="1"
- id="stop321-36-7" />
- </linearGradient>
- <linearGradient
- id="linearGradient38363-7">
- <stop
- id="stop38365-1"
- offset="0"
- style="stop-color:#1d4d91;stop-opacity:1" />
- <stop
- style="stop-color:#658fd4;stop-opacity:1;"
- offset="0.44217443"
- id="stop15519-3" />
- <stop
- id="stop38367-1"
- offset="1"
- style="stop-color:#c3d7ff;stop-opacity:1" />
- </linearGradient>
- <linearGradient
- id="linearGradient37542-56-4">
- <stop
- id="stop37544-88-5"
- offset="0"
- style="stop-color:#000000;stop-opacity:1;" />
- <stop
- id="stop37546-9-2"
- offset="1"
- style="stop-color:#ffffff;stop-opacity:1;" />
- </linearGradient>
- <linearGradient
- id="linearGradient319-528-2">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop320-68-7" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop321-86-7" />
- </linearGradient>
- <linearGradient
- id="linearGradient10069-24-4">
- <stop
- style="stop-color:#000000;stop-opacity:1;"
- offset="0"
- id="stop10071-3-2" />
- <stop
- style="stop-color:#000000;stop-opacity:0;"
- offset="1"
- id="stop10073-4-8" />
- </linearGradient>
- <linearGradient
- id="linearGradient1610-67-6">
- <stop
- style="stop-color:black;stop-opacity:1;"
- offset="0"
- id="stop1611-75-5" />
- <stop
- style="stop-color:white;stop-opacity:1;"
- offset="1"
- id="stop1612-31-3" />
- </linearGradient>
- <linearGradient
- id="linearGradient9030-41-5">
- <stop
- style="stop-color:white;stop-opacity:1;"
- offset="0"
- id="stop9032-2-0" />
- <stop
- style="stop-color:white;stop-opacity:0;"
- offset="1"
- id="stop9034-10-1" />
- </linearGradient>
- <linearGradient
- id="linearGradient319-76-2">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop320-3-9" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop321-18-2" />
- </linearGradient>
- <linearGradient
- id="linearGradient24679-9-1">
- <stop
- style="stop-color:#3d361a;stop-opacity:1;"
- offset="0"
- id="stop24681-7-0" />
- <stop
- id="stop24683-6-7"
- offset="0.45537567"
- style="stop-color:#d1c595;stop-opacity:1;" />
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="1"
- id="stop24685-4-8" />
- </linearGradient>
- <linearGradient
- id="linearGradient24671-1-3">
- <stop
- style="stop-color:#3d361a;stop-opacity:1;"
- offset="0"
- id="stop24673-7-4" />
- <stop
- id="stop24675-7-4"
- offset="0.29527253"
- style="stop-color:#d1c595;stop-opacity:1;" />
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="1"
- id="stop24677-5-5" />
- </linearGradient>
- <linearGradient
- id="linearGradient319-16-6">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop320-683-4" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop321-08-2" />
- </linearGradient>
- <linearGradient
- id="linearGradient37542-86-8">
- <stop
- id="stop37544-39-4"
- offset="0"
- style="stop-color:#000000;stop-opacity:1;" />
- <stop
- id="stop37546-7-6"
- offset="1"
- style="stop-color:#ffffff;stop-opacity:1;" />
- </linearGradient>
- <linearGradient
- id="linearGradient319-0-3">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop320-15-31" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop321-26-3" />
- </linearGradient>
- <linearGradient
- id="linearGradient37542-86-0-1">
- <stop
- id="stop37544-39-8-4"
- offset="0"
- style="stop-color:#000000;stop-opacity:1;" />
- <stop
- id="stop37546-7-1-1"
- offset="1"
- style="stop-color:#ffffff;stop-opacity:1;" />
- </linearGradient>
- <linearGradient
- id="linearGradient319-0-2-5">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop320-15-0-3" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop321-26-9-3" />
- </linearGradient>
- <linearGradient
- id="linearGradient37542-86-2-7">
- <stop
- id="stop37544-39-5-3"
- offset="0"
- style="stop-color:#000000;stop-opacity:1;" />
- <stop
- id="stop37546-7-2-9"
- offset="1"
- style="stop-color:#ffffff;stop-opacity:1;" />
- </linearGradient>
- <linearGradient
- id="linearGradient319-0-4-4">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop320-15-3-2" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop321-26-2-9" />
- </linearGradient>
- <linearGradient
- id="linearGradient37542-86-0-6-8">
- <stop
- id="stop37544-39-8-7-4"
- offset="0"
- style="stop-color:#000000;stop-opacity:1;" />
- <stop
- id="stop37546-7-1-5-6"
- offset="1"
- style="stop-color:#ffffff;stop-opacity:1;" />
- </linearGradient>
- <linearGradient
- id="linearGradient319-0-2-3-8">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop320-15-0-0-4" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop321-26-9-5-3" />
- </linearGradient>
- <linearGradient
- id="linearGradient10069-5-1-4-8">
- <stop
- style="stop-color:#000000;stop-opacity:1;"
- offset="0"
- id="stop10071-9-18-9-9" />
- <stop
- style="stop-color:#000000;stop-opacity:0;"
- offset="1"
- id="stop10073-8-252-1-7" />
- </linearGradient>
- <linearGradient
- id="linearGradient36273-9-4-2-3">
- <stop
- id="stop36275-9-0-3-3"
- offset="0"
- style="stop-color:#ffffff;stop-opacity:1;" />
- <stop
- id="stop36277-1-3-5-2"
- offset="1"
- style="stop-color:#ffffff;stop-opacity:1" />
- </linearGradient>
- <linearGradient
- id="linearGradient36273-9-4-22-0">
- <stop
- id="stop36275-9-0-6-7"
- offset="0"
- style="stop-color:#ffffff;stop-opacity:1;" />
- <stop
- id="stop36277-1-3-6-9"
- offset="1"
- style="stop-color:#ffffff;stop-opacity:1" />
- </linearGradient>
- <linearGradient
- id="linearGradient10069-5-1-8">
- <stop
- style="stop-color:#000000;stop-opacity:1;"
- offset="0"
- id="stop10071-9-18-3" />
- <stop
- style="stop-color:#000000;stop-opacity:0;"
- offset="1"
- id="stop10073-8-252-2" />
- </linearGradient>
- <linearGradient
- id="linearGradient36273-9-4-8">
- <stop
- id="stop36275-9-0-0"
- offset="0"
- style="stop-color:#ffffff;stop-opacity:1;" />
- <stop
- id="stop36277-1-3-8"
- offset="1"
- style="stop-color:#ffffff;stop-opacity:1" />
- </linearGradient>
- <linearGradient
- id="linearGradient10069-5-12">
- <stop
- style="stop-color:#000000;stop-opacity:1;"
- offset="0"
- id="stop10071-9-7" />
- <stop
- style="stop-color:#000000;stop-opacity:0;"
- offset="1"
- id="stop10073-8-4" />
- </linearGradient>
- <linearGradient
- id="linearGradient36273-9-9">
- <stop
- id="stop36275-9-8"
- offset="0"
- style="stop-color:#ffffff;stop-opacity:1;" />
- <stop
- id="stop36277-1-35"
- offset="1"
- style="stop-color:#ffffff;stop-opacity:1" />
- </linearGradient>
- <linearGradient
- id="linearGradient15859-1-3">
- <stop
- style="stop-color:#ff992b;stop-opacity:1"
- offset="0"
- id="stop15861-1-4" />
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="1"
- id="stop15863-7-73" />
- </linearGradient>
- <linearGradient
- id="linearGradient319-95">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop320-242" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop321-44" />
- </linearGradient>
- <linearGradient
- id="linearGradient37542-1">
- <stop
- id="stop37544-62"
- offset="0"
- style="stop-color:#000000;stop-opacity:1;" />
- <stop
- id="stop37546-4"
- offset="1"
- style="stop-color:#ffffff;stop-opacity:1;" />
- </linearGradient>
- <linearGradient
- id="linearGradient319-75">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop320-8" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop321-39" />
- </linearGradient>
- <linearGradient
- id="linearGradient1610-36-6-5">
- <stop
- style="stop-color:black;stop-opacity:1;"
- offset="0"
- id="stop1611-1-9-6" />
- <stop
- style="stop-color:white;stop-opacity:1;"
- offset="1"
- id="stop1612-5-9-8" />
- </linearGradient>
- <linearGradient
- id="linearGradient37542-96">
- <stop
- id="stop37544-7-1"
- offset="0"
- style="stop-color:#000000;stop-opacity:1;" />
- <stop
- id="stop37546-0"
- offset="1"
- style="stop-color:#ffffff;stop-opacity:1;" />
- </linearGradient>
- <linearGradient
- id="linearGradient10069-37">
- <stop
- style="stop-color:#000000;stop-opacity:1;"
- offset="0"
- id="stop10071-0" />
- <stop
- style="stop-color:#000000;stop-opacity:0;"
- offset="1"
- id="stop10073-2" />
- </linearGradient>
- <linearGradient
- id="linearGradient81143-4">
- <stop
- style="stop-color:#2561b7;stop-opacity:1"
- offset="0"
- id="stop81145-0" />
- <stop
- style="stop-color:#f9fbff;stop-opacity:1"
- offset="1"
- id="stop81147-7" />
- </linearGradient>
- <linearGradient
- id="linearGradient37542-7-8-6-0">
- <stop
- id="stop37544-40-1-3-9"
- offset="0"
- style="stop-color:#ffffff;stop-opacity:1;" />
- <stop
- id="stop37546-94-7-0-7"
- offset="1"
- style="stop-color:#030303;stop-opacity:1" />
- </linearGradient>
- <linearGradient
- id="linearGradient319-488-8-2">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop320-13-8-8" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop321-67-2-2" />
- </linearGradient>
- <linearGradient
- id="linearGradient37542-7-8-6-0-8">
- <stop
- id="stop37544-40-1-3-9-3"
- offset="0"
- style="stop-color:#ffffff;stop-opacity:1;" />
- <stop
- id="stop37546-94-7-0-7-1"
- offset="1"
- style="stop-color:#030303;stop-opacity:1" />
- </linearGradient>
- <linearGradient
- id="linearGradient106427-3">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop106429-1" />
- <stop
- style="stop-color:#030303;stop-opacity:1"
- offset="1"
- id="stop106431-0" />
- </linearGradient>
- <linearGradient
- id="linearGradient319-488-8-2-0">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop320-13-8-8-7" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop321-67-2-2-9" />
- </linearGradient>
- <linearGradient
- id="linearGradient1610-36-6-7-9">
- <stop
- style="stop-color:black;stop-opacity:1;"
- offset="0"
- id="stop1611-1-9-4-5" />
- <stop
- style="stop-color:white;stop-opacity:1;"
- offset="1"
- id="stop1612-5-9-87-3" />
- </linearGradient>
- <linearGradient
- id="linearGradient1610-36-6-7-9-4">
- <stop
- style="stop-color:black;stop-opacity:1;"
- offset="0"
- id="stop1611-1-9-4-5-0" />
- <stop
- style="stop-color:white;stop-opacity:1;"
- offset="1"
- id="stop1612-5-9-87-3-7" />
- </linearGradient>
- <linearGradient
- id="linearGradient15097-0-8">
- <stop
- style="stop-color:#c4c4c4;stop-opacity:1"
- offset="0"
- id="stop15099-1-83" />
- <stop
- style="stop-color:#868686;stop-opacity:1"
- offset="1"
- id="stop15101-9-3" />
- </linearGradient>
- <linearGradient
- id="linearGradient23974-5-2-6-6">
- <stop
- id="stop23976-9-2-7-6"
- offset="0"
- style="stop-color:#2561b7;stop-opacity:1;" />
- <stop
- id="stop23978-3-1-6-0"
- offset="1"
- style="stop-color:#f9fbff;stop-opacity:1" />
- </linearGradient>
- <linearGradient
- id="linearGradient31320-5-2-6-7">
- <stop
- style="stop-color:white;stop-opacity:1;"
- offset="0"
- id="stop31322-5-4-5-8" />
- <stop
- style="stop-color:white;stop-opacity:0;"
- offset="1"
- id="stop31324-0-8-5-8" />
- </linearGradient>
- <linearGradient
- id="linearGradient14262-9-5-9-4">
- <stop
- id="stop14264-5-2-9-0"
- offset="0"
- style="stop-color:#2661b6;stop-opacity:1;" />
- <stop
- id="stop14266-0-4-4-2"
- offset="1"
- style="stop-color:#c1d7f8;stop-opacity:0;" />
- </linearGradient>
- <linearGradient
- id="linearGradient319-92-8-5-0">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop320-40-7-9-3" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop321-93-7-0-5" />
- </linearGradient>
- <linearGradient
- id="linearGradient1610-36-6-7-9-4-3">
- <stop
- style="stop-color:black;stop-opacity:1;"
- offset="0"
- id="stop1611-1-9-4-5-0-6" />
- <stop
- style="stop-color:white;stop-opacity:1;"
- offset="1"
- id="stop1612-5-9-87-3-7-8" />
- </linearGradient>
- <mask
- maskUnits="userSpaceOnUse"
- id="mask43050-6">
- <rect
- y="-122"
- x="-24"
- height="14"
- width="16"
- id="rect43052-3"
- style="opacity:0.5;fill:url(#linearGradient43054-6);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.79999995;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
- </mask>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient44627-7"
- id="linearGradient43054-6"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.3333333,0,0,1.2727273,2.6666667,29.454545)"
- x1="-4.2231579"
- y1="-92.440941"
- x2="-18.697306"
- y2="-115.04018" />
- <linearGradient
- id="linearGradient44627-7">
- <stop
- style="stop-color:black;stop-opacity:1;"
- offset="0"
- id="stop44629-4" />
- <stop
- style="stop-color:white;stop-opacity:1;"
- offset="1"
- id="stop44631-0" />
- </linearGradient>
- <linearGradient
- id="linearGradient10069-9-5-1-8-2-5">
- <stop
- style="stop-color:#000000;stop-opacity:1;"
- offset="0"
- id="stop10071-5-43-3-0-0-4" />
- <stop
- style="stop-color:#000000;stop-opacity:0;"
- offset="1"
- id="stop10073-43-1-8-2-5-2" />
- </linearGradient>
- <linearGradient
- id="linearGradient10069-9-7-4-74-1">
- <stop
- style="stop-color:#000000;stop-opacity:1;"
- offset="0"
- id="stop10071-5-4-5-0-5" />
- <stop
- style="stop-color:#000000;stop-opacity:0;"
- offset="1"
- id="stop10073-43-0-5-9-2" />
- </linearGradient>
- <linearGradient
- id="linearGradient44939-8-5">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop44941-8-1" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop44943-2-7" />
- </linearGradient>
- <mask
- maskUnits="userSpaceOnUse"
- id="mask48816-8">
- <rect
- y="-84"
- x="-44"
- height="14"
- width="13"
- id="rect48818-4"
- style="opacity:0.85;fill:url(#radialGradient48820-9);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.89999998;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:new" />
- </mask>
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient44627-7"
- id="radialGradient48820-9"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1,0,0,1.0769231,0,5.9230769)"
- cx="-31"
- cy="-83.5"
- fx="-31"
- fy="-83.5"
- r="6.5" />
- <linearGradient
- id="linearGradient10069-9-7-4-4">
- <stop
- style="stop-color:#000000;stop-opacity:1;"
- offset="0"
- id="stop10071-5-4-5-8" />
- <stop
- style="stop-color:#000000;stop-opacity:0;"
- offset="1"
- id="stop10073-43-0-5-6" />
- </linearGradient>
- <linearGradient
- id="linearGradient44939-09">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop44941-0" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop44943-0" />
- </linearGradient>
- <mask
- maskUnits="userSpaceOnUse"
- id="mask28585-8">
- <rect
- style="opacity:0.85;fill:url(#radialGradient28589-9);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.89999998;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:new"
- id="rect28587-2"
- width="13"
- height="14"
- x="-44"
- y="-84" />
- </mask>
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient44627-7"
- id="radialGradient28589-9"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1,0,0,1.0769231,0,5.9230769)"
- cx="-30.28125"
- cy="-84.341515"
- fx="-30.28125"
- fy="-84.341515"
- r="6.5" />
- <mask
- maskUnits="userSpaceOnUse"
- id="mask43040-7">
- <rect
- style="opacity:0.5;fill:url(#linearGradient43044-5);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.79999995;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- id="rect43042-9"
- width="15"
- height="16"
- x="-45.04018"
- y="-24"
- rx="0"
- ry="0" />
- </mask>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient43760-6-4"
- id="linearGradient43044-5"
- gradientUnits="userSpaceOnUse"
- x1="-44.709698"
- y1="-8.4836445"
- x2="-37.784756"
- y2="-18.517523"
- gradientTransform="translate(-0.04018164,0)" />
- <linearGradient
- id="linearGradient43760-6-4">
- <stop
- style="stop-color:black;stop-opacity:1;"
- offset="0"
- id="stop43762-7-3" />
- <stop
- style="stop-color:white;stop-opacity:1;"
- offset="1"
- id="stop43764-8-1" />
- </linearGradient>
- <linearGradient
- id="linearGradient9030-71-3">
- <stop
- style="stop-color:white;stop-opacity:1;"
- offset="0"
- id="stop9032-15-3" />
- <stop
- style="stop-color:white;stop-opacity:0;"
- offset="1"
- id="stop9034-276-4" />
- </linearGradient>
- <linearGradient
- id="linearGradient10069-9-5-1-1">
- <stop
- style="stop-color:#000000;stop-opacity:1;"
- offset="0"
- id="stop10071-5-43-3-3" />
- <stop
- style="stop-color:#000000;stop-opacity:0;"
- offset="1"
- id="stop10073-43-1-8-8" />
- </linearGradient>
- <linearGradient
- id="linearGradient44939-2-8">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop44941-7-4" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop44943-7-0" />
- </linearGradient>
- <mask
- maskUnits="userSpaceOnUse"
- id="mask45865-7">
- <g
- id="g45867-3"
- transform="translate(-14,0)">
- <path
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="cssssssc"
- id="path45869-7"
- d="m -25.801826,-135.3217 c -0.907684,-0.32824 -0.906457,-1.55361 -0.440107,-2.23642 0.834186,-1.22138 2.593738,-1.15244 3.63669,-0.26277 1.530569,1.30563 1.388406,3.6923 0.08107,5.09763 -1.742467,1.8731 -4.73519,1.65156 -6.47424,-0.0993 -2.188413,-2.20322 -1.889457,-5.85971 0.277965,-7.95885 2.625036,-2.54234 6.931515,-2.199 9.311783,0.46129 2.764074,3.08924 2.372937,7.82808 -0.06591,10.77438"
- style="fill:none;stroke:#ffffff;stroke-width:3;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;display:inline;enable-background:new"
- mask="none" />
- <path
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="cc"
- id="path45871-2"
- d="m -19.40866,-140.32008 c 2.764074,3.08924 2.372937,7.82808 -0.06591,10.77438"
- style="fill:none;stroke:url(#linearGradient45875-0);stroke-width:3;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;display:inline;enable-background:new" />
- <path
- inkscape:connector-curvature="0"
- mask="none"
- style="fill:none;stroke:url(#radialGradient45877-1);stroke-width:3;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;display:inline;enable-background:new"
- d="m -25.801826,-135.3217 c -0.907684,-0.32824 -0.906457,-1.55361 -0.440107,-2.23642 0.834186,-1.22138 2.593738,-1.15244 3.63669,-0.26277"
- id="path45873-6"
- sodipodi:nodetypes="css" />
- </g>
- </mask>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient43760-7"
- id="linearGradient45875-0"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(14,0)"
- x1="-34.051685"
- y1="-129.32457"
- x2="-32.542458"
- y2="-139.90228" />
- <linearGradient
- id="linearGradient43760-7">
- <stop
- style="stop-color:black;stop-opacity:1;"
- offset="0"
- id="stop43762-79" />
- <stop
- style="stop-color:white;stop-opacity:1;"
- offset="1"
- id="stop43764-3" />
- </linearGradient>
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient43760-7"
- id="radialGradient45877-1"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.1099414,-0.9422316,0.4519816,0.05273803,38.220416,-152.21215)"
- cx="-25.452209"
- cy="-136.46503"
- fx="-25.452209"
- fy="-136.46503"
- r="8.0066185" />
- <mask
- maskUnits="userSpaceOnUse"
- id="mask45447-7">
- <rect
- ry="0"
- style="opacity:0.8;fill:url(#radialGradient45451-2);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.80000001;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- id="rect45449-4"
- width="15"
- height="15"
- x="216"
- y="366" />
- </mask>
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient43760-7"
- id="radialGradient45451-2"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1,0,0,0.9952162,167.99999,-60.91415)"
- cx="59.000011"
- cy="440.0191"
- fx="59.000011"
- fy="440.0191"
- r="6.5080619" />
- <linearGradient
- id="linearGradient319-42-9">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop320-32-8" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop321-21-6" />
- </linearGradient>
- <linearGradient
- id="linearGradient10069-9-7-0">
- <stop
- style="stop-color:#000000;stop-opacity:1;"
- offset="0"
- id="stop10071-5-4-2" />
- <stop
- style="stop-color:#000000;stop-opacity:0;"
- offset="1"
- id="stop10073-43-0-8" />
- </linearGradient>
- <clipPath
- clipPathUnits="userSpaceOnUse"
- id="clipPath43135-6">
- <path
- inkscape:connector-curvature="0"
- id="path43137-1"
- d="m -46,52 16,-16 -16,0 0,16 z"
- style="opacity:0.5;fill:#ffff00;fill-rule:evenodd;stroke:none" />
- </clipPath>
- <mask
- maskUnits="userSpaceOnUse"
- id="mask43188-4">
- <path
- inkscape:connector-curvature="0"
- style="opacity:0.5;fill:url(#linearGradient43192-3);fill-rule:evenodd;stroke:none"
- d="m -46,52 16,-16 -16,0 0,16 z"
- id="path43190-2" />
- </mask>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient1610-5-2"
- id="linearGradient43192-3"
- gradientUnits="userSpaceOnUse"
- x1="-47"
- y1="44"
- x2="-43"
- y2="44" />
- <linearGradient
- id="linearGradient1610-5-2">
- <stop
- style="stop-color:black;stop-opacity:1;"
- offset="0"
- id="stop1611-17-2" />
- <stop
- style="stop-color:white;stop-opacity:1;"
- offset="1"
- id="stop1612-115-1" />
- </linearGradient>
- <clipPath
- clipPathUnits="userSpaceOnUse"
- id="clipPath43178-6">
- <path
- inkscape:connector-curvature="0"
- style="opacity:0.5;fill:#ffff00;fill-rule:evenodd;stroke:none"
- d="m -30,36 -1,0 -15,15 0,1 16,0 0,-16 z"
- id="path43180-8"
- sodipodi:nodetypes="cccccc" />
- </clipPath>
- <mask
- maskUnits="userSpaceOnUse"
- id="mask43182-5">
- <path
- inkscape:connector-curvature="0"
- id="path43184-7"
- d="m -46,52 0,-1 15,-15 1,0 0,16 -16,0 z"
- style="opacity:0.5;fill:url(#linearGradient43186-6);fill-rule:evenodd;stroke:none"
- sodipodi:nodetypes="cccccc" />
- </mask>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient1610-5-2"
- id="linearGradient43186-6"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0,-1,-1,0,6,6)"
- x1="-47"
- y1="44"
- x2="-43"
- y2="44" />
- <mask
- maskUnits="userSpaceOnUse"
- id="mask25021-4">
- <rect
- style="fill:url(#radialGradient25025-8);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2.70000005;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- id="rect25023-8"
- width="13"
- height="14"
- x="26"
- y="243" />
- </mask>
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient44627-7"
- id="radialGradient25025-8"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.8918342,0,0,0.8918344,-15.699877,27.900732)"
- cx="49"
- cy="254.64285"
- fx="49"
- fy="254.64285"
- r="6.5" />
- <linearGradient
- id="linearGradient10069-9-7-5-5">
- <stop
- style="stop-color:#000000;stop-opacity:1;"
- offset="0"
- id="stop10071-5-4-58-7" />
- <stop
- style="stop-color:#000000;stop-opacity:0;"
- offset="1"
- id="stop10073-43-0-4-5" />
- </linearGradient>
- <linearGradient
- id="linearGradient319-76-2-0">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop320-142-0" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop321-32-0" />
- </linearGradient>
- <linearGradient
- id="linearGradient29761">
- <stop
- style="stop-color:#b74125;stop-opacity:1;"
- offset="0"
- id="stop29763" />
- <stop
- style="stop-color:#f9fbff;stop-opacity:1"
- offset="1"
- id="stop29765" />
- </linearGradient>
- <linearGradient
- id="linearGradient8864-1">
- <stop
- id="stop8866-0"
- offset="0"
- style="stop-color:#b43214;stop-opacity:1;" />
- <stop
- id="stop8868-1"
- offset="1"
- style="stop-color:#e86830;stop-opacity:1;" />
- </linearGradient>
- <linearGradient
- id="linearGradient1610-8-8">
- <stop
- style="stop-color:black;stop-opacity:1;"
- offset="0"
- id="stop1611-7-7" />
- <stop
- style="stop-color:white;stop-opacity:1;"
- offset="1"
- id="stop1612-4-6" />
- </linearGradient>
- <linearGradient
- id="linearGradient319-77-0">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop320-9-0" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop321-31-9" />
- </linearGradient>
- <linearGradient
- id="linearGradient1610-4">
- <stop
- style="stop-color:black;stop-opacity:1;"
- offset="0"
- id="stop1611-64" />
- <stop
- style="stop-color:white;stop-opacity:1;"
- offset="1"
- id="stop1612-20" />
- </linearGradient>
- <linearGradient
- id="linearGradient1610-4-3">
- <stop
- style="stop-color:black;stop-opacity:1;"
- offset="0"
- id="stop1611-64-0" />
- <stop
- style="stop-color:white;stop-opacity:1;"
- offset="1"
- id="stop1612-20-3" />
- </linearGradient>
- <linearGradient
- id="linearGradient16719">
- <stop
- id="stop16721"
- offset="0"
- style="stop-color:#84d458;stop-opacity:1" />
- <stop
- style="stop-color:#5894d4;stop-opacity:1"
- offset="0.30000001"
- id="stop5079" />
- <stop
- id="stop16723"
- offset="1"
- style="stop-color:#afd1f5;stop-opacity:1" />
- </linearGradient>
- <linearGradient
- id="linearGradient11820">
- <stop
- style="stop-color:#afd1f5;stop-opacity:1"
- offset="0"
- id="stop11822" />
- <stop
- id="stop11824"
- offset="0.44444144"
- style="stop-color:#5894d4;stop-opacity:1" />
- <stop
- style="stop-color:#5894d4;stop-opacity:1"
- offset="0.55555254"
- id="stop11826" />
- <stop
- style="stop-color:#ef79ef;stop-opacity:1"
- offset="1"
- id="stop11828" />
- </linearGradient>
- <linearGradient
- id="linearGradient28147-1-4">
- <stop
- id="stop28149-4-1"
- offset="0"
- style="stop-color:#afd1f5;stop-opacity:1" />
- <stop
- style="stop-color:#5894d4;stop-opacity:1"
- offset="0.18750006"
- id="stop5469" />
- <stop
- style="stop-color:#505050;stop-opacity:1"
- offset="0.40000001"
- id="stop28151-7-6" />
- <stop
- id="stop28153-8-4"
- offset="0.60000002"
- style="stop-color:#505050;stop-opacity:1" />
- <stop
- style="stop-color:#5894d4;stop-opacity:1"
- offset="0.81250006"
- id="stop5471" />
- <stop
- id="stop28155-2-6"
- offset="1"
- style="stop-color:#afd1f5;stop-opacity:1" />
- </linearGradient>
- <linearGradient
- id="linearGradient319-65-4-8-7">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop320-14-9-5-9" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop321-49-3-6-8" />
- </linearGradient>
- <linearGradient
- id="linearGradient44939-8-53">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop44941-8-7" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop44943-2-5" />
- </linearGradient>
- <linearGradient
- id="linearGradient44939-8-53-7">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop44941-8-7-6" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop44943-2-5-2" />
- </linearGradient>
- <linearGradient
- id="linearGradient319-0">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop320-22" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop321-19" />
- </linearGradient>
- <linearGradient
- id="linearGradient37542-29">
- <stop
- id="stop37544-67"
- offset="0"
- style="stop-color:#000000;stop-opacity:1;" />
- <stop
- id="stop37546-45"
- offset="1"
- style="stop-color:#ffffff;stop-opacity:1;" />
- </linearGradient>
- <linearGradient
- id="linearGradient319-36">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop320-18" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop321-390" />
- </linearGradient>
- <linearGradient
- id="linearGradient37542-29-1">
- <stop
- id="stop37544-67-8"
- offset="0"
- style="stop-color:#000000;stop-opacity:1;" />
- <stop
- id="stop37546-45-9"
- offset="1"
- style="stop-color:#ffffff;stop-opacity:1;" />
- </linearGradient>
- <linearGradient
- id="linearGradient37542-29-7">
- <stop
- id="stop37544-67-3"
- offset="0"
- style="stop-color:#000000;stop-opacity:1;" />
- <stop
- id="stop37546-45-0"
- offset="1"
- style="stop-color:#ffffff;stop-opacity:1;" />
- </linearGradient>
- <linearGradient
- id="linearGradient319-36-40">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop320-18-7" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop321-390-4" />
- </linearGradient>
- <linearGradient
- id="linearGradient37542-29-7-8">
- <stop
- id="stop37544-67-3-0"
- offset="0"
- style="stop-color:#000000;stop-opacity:1;" />
- <stop
- id="stop37546-45-0-9"
- offset="1"
- style="stop-color:#ffffff;stop-opacity:1;" />
- </linearGradient>
- <linearGradient
- id="linearGradient319-36-40-2">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop320-18-7-8" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop321-390-4-6" />
- </linearGradient>
- <linearGradient
- id="linearGradient319-36-40-2-4">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop320-18-7-8-5" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop321-390-4-6-6" />
- </linearGradient>
- <linearGradient
- id="linearGradient23974-39">
- <stop
- id="stop23976-8"
- offset="0"
- style="stop-color:#2561b7;stop-opacity:1;" />
- <stop
- id="stop23978-23"
- offset="1"
- style="stop-color:#f9fbff;stop-opacity:1" />
- </linearGradient>
- <linearGradient
- id="linearGradient31320-9">
- <stop
- style="stop-color:white;stop-opacity:1;"
- offset="0"
- id="stop31322-6" />
- <stop
- style="stop-color:white;stop-opacity:0;"
- offset="1"
- id="stop31324-2" />
- </linearGradient>
- <linearGradient
- id="linearGradient14262-6">
- <stop
- id="stop14264-29"
- offset="0"
- style="stop-color:#2661b6;stop-opacity:1;" />
- <stop
- id="stop14266-9"
- offset="1"
- style="stop-color:#c1d7f8;stop-opacity:0;" />
- </linearGradient>
- <linearGradient
- id="linearGradient319-61">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop320-47" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop321-45" />
- </linearGradient>
- <clipPath
- clipPathUnits="userSpaceOnUse"
- id="clipPath15455">
- <rect
- style="color:#000000;fill:#d8d8d8;fill-opacity:1;stroke:none;stroke-width:1.20000005;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:new"
- id="rect15457"
- width="16"
- height="16"
- x="301.96045"
- y="236.91833" />
- </clipPath>
- <mask
- maskUnits="userSpaceOnUse"
- id="mask15700">
- <path
- style="color:#000000;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1.20000005;marker:none;visibility:visible;display:inline;overflow:visible;filter:url(#filter15613);enable-background:new"
- d="m 302.9292,245.91834 -2.4375,-1.125 -0.53125,-9.84375 19.95312,-0.0469 0.0156,9.95313 -2.9375,1.09375 0,5.96875 -14,0 z"
- id="path15702"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="ccccccccc" />
- </mask>
- <filter
- color-interpolation-filters="sRGB"
- inkscape:collect="always"
- id="filter15613"
- x="-0.092011765"
- width="1.1840235"
- y="-0.097762503"
- height="1.1955251">
- <feGaussianBlur
- inkscape:collect="always"
- stdDeviation="0.65175"
- id="feGaussianBlur15615" />
+ <linearGradient id="linearGradient37542-78">
+ <stop id="stop37544-2" offset="0" style="stop-color:#000000;stop-opacity:1;"/>
+ <stop id="stop37546-78" offset="1" style="stop-color:#ffffff;stop-opacity:1;"/>
+ </linearGradient>
+ <linearGradient id="linearGradient9030-2">
+ <stop style="stop-color:white;stop-opacity:1;" offset="0" id="stop9032-0"/>
+ <stop style="stop-color:white;stop-opacity:0;" offset="1" id="stop9034-89"/>
+ </linearGradient>
+ <linearGradient id="linearGradient37542-04-82">
+ <stop id="stop37544-9-0" offset="0" style="stop-color:#000000;stop-opacity:1;"/>
+ <stop id="stop37546-4-5" offset="1" style="stop-color:#ffffff;stop-opacity:1;"/>
+ </linearGradient>
+ <linearGradient id="linearGradient9030-38-2">
+ <stop style="stop-color:white;stop-opacity:1;" offset="0" id="stop9032-6-7"/>
+ <stop style="stop-color:white;stop-opacity:0;" offset="1" id="stop9034-9-6"/>
+ </linearGradient>
+ <linearGradient id="linearGradient30752-0">
+ <stop style="stop-color:#0c1b63;stop-opacity:1;" offset="0" id="stop30754-9"/>
+ <stop style="stop-color:#ffffff;stop-opacity:1" offset="1" id="stop30756-5"/>
+ </linearGradient>
+ <linearGradient id="linearGradient37542-7409-7-7-19-1">
+ <stop id="stop37544-48-6-1-8-9" offset="0" style="stop-color:#000000;stop-opacity:1;"/>
+ <stop id="stop37546-82-1-0-6-8" offset="1" style="stop-color:#ffffff;stop-opacity:1;"/>
+ </linearGradient>
+ <linearGradient id="linearGradient44939-8-4-7-8-3-0-3">
+ <stop style="stop-color:#ffffff;stop-opacity:1;" offset="0" id="stop44941-8-5-40-2-4-2-4"/>
+ <stop style="stop-color:#ffffff;stop-opacity:0;" offset="1" id="stop44943-2-5-9-4-9-8-0"/>
+ </linearGradient>
+ <linearGradient id="linearGradient10069-9-7-5-4-6-5-0-3">
+ <stop style="stop-color:#000000;stop-opacity:1;" offset="0" id="stop10071-5-4-58-5-9-1-2-1"/>
+ <stop style="stop-color:#000000;stop-opacity:0;" offset="1" id="stop10073-43-0-4-0-8-0-4-9"/>
+ </linearGradient>
+
+ <radialGradient inkscape:collect="always" xlink:href="#linearGradient37542-7409-7-7-0-9-9" id="radialGradient52641-2-8" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.39420438,-0.08239205,0.27256031,1.3040635,-361.27885,-161.73915)" cx="-302.79681" cy="462.0358" fx="-302.79681" fy="462.0358" r="8"/>
+ <linearGradient id="linearGradient37542-7409-7-7-0-9-9">
+ <stop id="stop37544-48-6-1-4-1-1" offset="0" style="stop-color:#000000;stop-opacity:1;"/>
+ <stop id="stop37546-82-1-0-9-3-3" offset="1" style="stop-color:#ffffff;stop-opacity:1;"/>
+ </linearGradient>
+ <linearGradient id="linearGradient319-31-8-9-1">
+ <stop style="stop-color:#ffffff;stop-opacity:1;" offset="0" id="stop320-23-2-8-4"/>
+ <stop style="stop-color:#ffffff;stop-opacity:0;" offset="1" id="stop321-34-4-4-2"/>
+ </linearGradient>
+
+ <radialGradient inkscape:collect="always" xlink:href="#linearGradient37542-7409-7-7-0-9-9" id="radialGradient52883-6-8" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.39420438,-0.08239205,0.27256031,1.3040635,-362.22886,-161.73912)" cx="-302.79681" cy="462.0358" fx="-302.79681" fy="462.0358" r="8"/>
+ <linearGradient id="linearGradient34488-1-8">
+ <stop style="stop-color:#ffffff;stop-opacity:1;" offset="0" id="stop34490-0-5-7"/>
+ <stop style="stop-color:#ffffff;stop-opacity:0;" offset="1" id="stop34492-4-0"/>
+ </linearGradient>
+ <linearGradient id="linearGradient32877-9-6-8">
+ <stop style="stop-color:#b3b3b3;stop-opacity:1;" offset="0" id="stop32879-8-1-1"/>
+ <stop style="stop-color:#ffffff;stop-opacity:1;" offset="1" id="stop32881-4-3-9"/>
+ </linearGradient>
+ <linearGradient id="linearGradient33058-4-9-5">
+ <stop style="stop-color:#e5250b;stop-opacity:1;" offset="0" id="stop33060-3-3-9"/>
+ <stop style="stop-color:#460000;stop-opacity:1;" offset="1" id="stop33062-9-4-7"/>
+ </linearGradient>
+ <linearGradient id="linearGradient44939-8-4-8-6-8">
+ <stop style="stop-color:#ffffff;stop-opacity:1;" offset="0" id="stop44941-8-5-0-0-0"/>
+ <stop style="stop-color:#ffffff;stop-opacity:0;" offset="1" id="stop44943-2-5-8-6-1"/>
+ </linearGradient>
+ <linearGradient id="linearGradient33058-2-7-1-7">
+ <stop style="stop-color:#e5250b;stop-opacity:1;" offset="0" id="stop33060-1-8-8-5"/>
+ <stop style="stop-color:#460000;stop-opacity:1;" offset="1" id="stop33062-4-3-4-5"/>
+ </linearGradient>
+ <linearGradient id="linearGradient4671-6-4-1-7">
+ <stop id="stop4673-7-6-4-1" offset="0" style="stop-color:#ffd43b;stop-opacity:1;"/>
+ <stop id="stop4675-8-0-8-1" offset="1" style="stop-color:#ffe873;stop-opacity:1"/>
+ </linearGradient>
+ <linearGradient id="linearGradient4689-1-6-4-2">
+ <stop id="stop4691-6-2-6-7" offset="0" style="stop-color:#5a9fd4;stop-opacity:1;"/>
+ <stop id="stop4693-0-4-8-6" offset="1" style="stop-color:#306998;stop-opacity:1;"/>
+ </linearGradient>
+ <linearGradient id="linearGradient319-12-5">
+ <stop style="stop-color:#ffffff;stop-opacity:1;" offset="0" id="stop320-34-1"/>
+ <stop style="stop-color:#ffffff;stop-opacity:0;" offset="1" id="stop321-81-9"/>
+ </linearGradient>
+ <linearGradient id="linearGradient15425-8-7">
+ <stop style="stop-color:#8c0000;stop-opacity:1;" offset="0" id="stop15427-5-9"/>
+ <stop style="stop-color:#c80000;stop-opacity:0;" offset="1" id="stop15429-7-2"/>
+ </linearGradient>
+ <linearGradient id="linearGradient319-35-31-8">
+ <stop style="stop-color:#ffffff;stop-opacity:1;" offset="0" id="stop320-38-14-4"/>
+ <stop style="stop-color:#ffffff;stop-opacity:0;" offset="1" id="stop321-94-6-3"/>
+ </linearGradient>
+ <linearGradient id="linearGradient319-35-08-1">
+ <stop style="stop-color:#ffffff;stop-opacity:1;" offset="0" id="stop320-38-1-0"/>
+ <stop style="stop-color:#ffffff;stop-opacity:0;" offset="1" id="stop321-94-1-0"/>
+ </linearGradient>
+ <linearGradient id="linearGradient319-35-0">
+ <stop style="stop-color:#ffffff;stop-opacity:1;" offset="0" id="stop320-38-15"/>
+ <stop style="stop-color:#ffffff;stop-opacity:0;" offset="1" id="stop321-94-19"/>
+ </linearGradient>
+ <linearGradient id="linearGradient18105-2-9">
+ <stop id="stop18107-8-4" offset="0" style="stop-color:#162d50;stop-opacity:1"/>
+ <stop id="stop18109-1-4" offset="1" style="stop-color:#1e3e70;stop-opacity:0;"/>
+ </linearGradient>
+ <linearGradient id="linearGradient15531-9-5">
+ <stop style="stop-color:#20539d;stop-opacity:1" offset="0" id="stop15534-1-3"/>
+ <stop style="stop-color:#bdc9df;stop-opacity:1" offset="1" id="stop15537-7-5"/>
+ </linearGradient>
+ <linearGradient id="linearGradient23974-27-5">
+ <stop id="stop23976-25-8" offset="0" style="stop-color:#2561b7;stop-opacity:1;"/>
+ <stop id="stop23978-48-3" offset="1" style="stop-color:#f9fbff;stop-opacity:1"/>
+ </linearGradient>
+ <linearGradient id="linearGradient27277-1-8">
+ <stop id="stop27279-5-2" offset="0" style="stop-color:#444444;stop-opacity:1;"/>
+ <stop id="stop27281-4-1" offset="1" style="stop-color:#adadad;stop-opacity:1"/>
+ </linearGradient>
+ <linearGradient id="linearGradient21327-63-5">
+ <stop style="stop-color:#1e3e70;stop-opacity:1;" offset="0" id="stop21329-9-2"/>
+ <stop style="stop-color:#1e3e70;stop-opacity:0;" offset="1" id="stop21331-6-4"/>
+ </linearGradient>
+ <linearGradient id="linearGradient37542-40-9">
+ <stop id="stop37544-6-0" offset="0" style="stop-color:#2561b7;stop-opacity:1"/>
+ <stop id="stop37546-3-3" offset="1" style="stop-color:#f9fbff;stop-opacity:1"/>
+ </linearGradient>
+ <linearGradient id="linearGradient319-84-1">
+ <stop style="stop-color:#ffffff;stop-opacity:1;" offset="0" id="stop320-78-7"/>
+ <stop style="stop-color:#ffffff;stop-opacity:0;" offset="1" id="stop321-30-96"/>
+ </linearGradient>
+ <linearGradient id="linearGradient319-84-3-2">
+ <stop style="stop-color:#ffffff;stop-opacity:1;" offset="0" id="stop320-78-3-8"/>
+ <stop style="stop-color:#ffffff;stop-opacity:0;" offset="1" id="stop321-30-9-8"/>
+ </linearGradient>
+ <linearGradient id="linearGradient15482-65">
+ <stop id="stop15484-4" offset="0" style="stop-color:#2869ab;stop-opacity:1"/>
+ <stop id="stop15486-2" offset="1" style="stop-color:#a7c8f0;stop-opacity:1"/>
+ </linearGradient>
+ <linearGradient id="linearGradient319-6-11">
+ <stop style="stop-color:#ffffff;stop-opacity:1;" offset="0" id="stop320-73-0"/>
+ <stop style="stop-color:#ffffff;stop-opacity:0;" offset="1" id="stop321-51-9"/>
+ </linearGradient>
+ <linearGradient id="linearGradient15595-7">
+ <stop style="stop-color:#1b4685;stop-opacity:1;" offset="0" id="stop15597-5"/>
+ <stop style="stop-color:#183e75;stop-opacity:0;" offset="1" id="stop15599-3"/>
+ </linearGradient>
+ <linearGradient id="linearGradient319-6-1-5">
+ <stop style="stop-color:#ffffff;stop-opacity:1;" offset="0" id="stop320-73-4-5"/>
+ <stop style="stop-color:#ffffff;stop-opacity:0;" offset="1" id="stop321-51-8-0"/>
+ </linearGradient>
+ <linearGradient id="linearGradient1610-64-7">
+ <stop style="stop-color:black;stop-opacity:1;" offset="0" id="stop1611-8-1"/>
+ <stop style="stop-color:white;stop-opacity:1;" offset="1" id="stop1612-29-4"/>
+ </linearGradient>
+ <linearGradient id="linearGradient15275-9">
+ <stop id="stop15277-2" offset="0" style="stop-color:black;stop-opacity:1;"/>
+ <stop id="stop15279-1" offset="1" style="stop-color:white;stop-opacity:1;"/>
+ </linearGradient>
+
+ <linearGradient id="linearGradient15361-7">
+ <stop style="stop-color:#2766a6;stop-opacity:1;" offset="0" id="stop15363-7"/>
+ <stop style="stop-color:#6ba2e5;stop-opacity:1;" offset="1" id="stop15365-9"/>
+ </linearGradient>
+ <linearGradient id="linearGradient15320-0">
+ <stop style="stop-color:#0868f5;stop-opacity:1;" offset="0" id="stop15322-3"/>
+ <stop style="stop-color:#fbfdfe;stop-opacity:1;" offset="1" id="stop15324-8"/>
+ </linearGradient>
+ <linearGradient id="linearGradient23974-0-2">
+ <stop id="stop23976-22-8" offset="0" style="stop-color:#2561b7;stop-opacity:1;"/>
+ <stop id="stop23978-4-5" offset="1" style="stop-color:#f9fbff;stop-opacity:1"/>
+ </linearGradient>
+ <linearGradient id="linearGradient31320-4-3">
+ <stop style="stop-color:white;stop-opacity:1;" offset="0" id="stop31322-9-2"/>
+ <stop style="stop-color:white;stop-opacity:0;" offset="1" id="stop31324-3-5"/>
+ </linearGradient>
+ <linearGradient id="linearGradient14262-95-2">
+ <stop id="stop14264-2-2" offset="0" style="stop-color:#2661b6;stop-opacity:1;"/>
+ <stop id="stop14266-7-2" offset="1" style="stop-color:#c1d7f8;stop-opacity:0;"/>
+ </linearGradient>
+ <linearGradient id="linearGradient319-40-7">
+ <stop style="stop-color:#ffffff;stop-opacity:1;" offset="0" id="stop320-95-9"/>
+ <stop style="stop-color:#ffffff;stop-opacity:0;" offset="1" id="stop321-16-1"/>
+ </linearGradient>
+ <linearGradient id="linearGradient23974-28-0-5">
+ <stop id="stop23976-64-2-3" offset="0" style="stop-color:#2561b7;stop-opacity:1;"/>
+ <stop id="stop23978-5-3-7" offset="1" style="stop-color:#f9fbff;stop-opacity:1"/>
+ </linearGradient>
+ <linearGradient id="linearGradient319-23-4">
+ <stop style="stop-color:#ffffff;stop-opacity:1;" offset="0" id="stop320-65-0"/>
+ <stop style="stop-color:#ffffff;stop-opacity:0;" offset="1" id="stop321-3-5"/>
+ </linearGradient>
+ <linearGradient id="linearGradient23974-48-9">
+ <stop id="stop23976-13-7" offset="0" style="stop-color:#2561b7;stop-opacity:1;"/>
+ <stop id="stop23978-28-3" offset="1" style="stop-color:#f9fbff;stop-opacity:1"/>
+ </linearGradient>
+ <linearGradient id="linearGradient20756-2-0">
+ <stop style="stop-color:#2968c3;stop-opacity:1;" offset="0" id="stop20758-7-2"/>
+ <stop style="stop-color:#b5ccf0;stop-opacity:1;" offset="1" id="stop20760-0-0"/>
+ </linearGradient>
+ <linearGradient id="linearGradient23974-1-2">
+ <stop id="stop23976-3-3" offset="0" style="stop-color:#3e7dd7;stop-opacity:0"/>
+ <stop style="stop-color:#8faedb;stop-opacity:1" offset="0.48394433" id="stop28407-8"/>
+ <stop id="stop23978-26-7" offset="1" style="stop-color:#f9fbff;stop-opacity:1"/>
+ </linearGradient>
+ <linearGradient id="linearGradient31320-0-3">
+ <stop style="stop-color:white;stop-opacity:1;" offset="0" id="stop31322-4-5"/>
+ <stop style="stop-color:white;stop-opacity:0;" offset="1" id="stop31324-9-8"/>
+ </linearGradient>
+ <linearGradient id="linearGradient14262-97-5">
+ <stop id="stop14264-0-6" offset="0" style="stop-color:#2661b6;stop-opacity:1;"/>
+ <stop id="stop14266-6-3" offset="1" style="stop-color:#c1d7f8;stop-opacity:0;"/>
+ </linearGradient>
+ <linearGradient id="linearGradient319-406-5">
+ <stop style="stop-color:#ffffff;stop-opacity:0" offset="0" id="stop320-76-8"/>
+ <stop style="stop-color:#ffffff;stop-opacity:1" offset="1" id="stop321-36-7"/>
+ </linearGradient>
+ <linearGradient id="linearGradient38363-7">
+ <stop id="stop38365-1" offset="0" style="stop-color:#1d4d91;stop-opacity:1"/>
+ <stop style="stop-color:#658fd4;stop-opacity:1;" offset="0.44217443" id="stop15519-3"/>
+ <stop id="stop38367-1" offset="1" style="stop-color:#c3d7ff;stop-opacity:1"/>
+ </linearGradient>
+ <linearGradient id="linearGradient37542-56-4">
+ <stop id="stop37544-88-5" offset="0" style="stop-color:#000000;stop-opacity:1;"/>
+ <stop id="stop37546-9-2" offset="1" style="stop-color:#ffffff;stop-opacity:1;"/>
+ </linearGradient>
+ <linearGradient id="linearGradient319-528-2">
+ <stop style="stop-color:#ffffff;stop-opacity:1;" offset="0" id="stop320-68-7"/>
+ <stop style="stop-color:#ffffff;stop-opacity:0;" offset="1" id="stop321-86-7"/>
+ </linearGradient>
+ <linearGradient id="linearGradient10069-24-4">
+ <stop style="stop-color:#000000;stop-opacity:1;" offset="0" id="stop10071-3-2"/>
+ <stop style="stop-color:#000000;stop-opacity:0;" offset="1" id="stop10073-4-8"/>
+ </linearGradient>
+ <linearGradient id="linearGradient1610-67-6">
+ <stop style="stop-color:black;stop-opacity:1;" offset="0" id="stop1611-75-5"/>
+ <stop style="stop-color:white;stop-opacity:1;" offset="1" id="stop1612-31-3"/>
+ </linearGradient>
+ <linearGradient id="linearGradient9030-41-5">
+ <stop style="stop-color:white;stop-opacity:1;" offset="0" id="stop9032-2-0"/>
+ <stop style="stop-color:white;stop-opacity:0;" offset="1" id="stop9034-10-1"/>
+ </linearGradient>
+ <linearGradient id="linearGradient319-76-2">
+ <stop style="stop-color:#ffffff;stop-opacity:1;" offset="0" id="stop320-3-9"/>
+ <stop style="stop-color:#ffffff;stop-opacity:0;" offset="1" id="stop321-18-2"/>
+ </linearGradient>
+ <linearGradient id="linearGradient24679-9-1">
+ <stop style="stop-color:#3d361a;stop-opacity:1;" offset="0" id="stop24681-7-0"/>
+ <stop id="stop24683-6-7" offset="0.45537567" style="stop-color:#d1c595;stop-opacity:1;"/>
+ <stop style="stop-color:#ffffff;stop-opacity:1;" offset="1" id="stop24685-4-8"/>
+ </linearGradient>
+ <linearGradient id="linearGradient24671-1-3">
+ <stop style="stop-color:#3d361a;stop-opacity:1;" offset="0" id="stop24673-7-4"/>
+ <stop id="stop24675-7-4" offset="0.29527253" style="stop-color:#d1c595;stop-opacity:1;"/>
+ <stop style="stop-color:#ffffff;stop-opacity:1;" offset="1" id="stop24677-5-5"/>
+ </linearGradient>
+ <linearGradient id="linearGradient319-16-6">
+ <stop style="stop-color:#ffffff;stop-opacity:1;" offset="0" id="stop320-683-4"/>
+ <stop style="stop-color:#ffffff;stop-opacity:0;" offset="1" id="stop321-08-2"/>
+ </linearGradient>
+ <linearGradient id="linearGradient37542-86-8">
+ <stop id="stop37544-39-4" offset="0" style="stop-color:#000000;stop-opacity:1;"/>
+ <stop id="stop37546-7-6" offset="1" style="stop-color:#ffffff;stop-opacity:1;"/>
+ </linearGradient>
+ <linearGradient id="linearGradient319-0-3">
+ <stop style="stop-color:#ffffff;stop-opacity:1;" offset="0" id="stop320-15-31"/>
+ <stop style="stop-color:#ffffff;stop-opacity:0;" offset="1" id="stop321-26-3"/>
+ </linearGradient>
+ <linearGradient id="linearGradient37542-86-0-1">
+ <stop id="stop37544-39-8-4" offset="0" style="stop-color:#000000;stop-opacity:1;"/>
+ <stop id="stop37546-7-1-1" offset="1" style="stop-color:#ffffff;stop-opacity:1;"/>
+ </linearGradient>
+ <linearGradient id="linearGradient319-0-2-5">
+ <stop style="stop-color:#ffffff;stop-opacity:1;" offset="0" id="stop320-15-0-3"/>
+ <stop style="stop-color:#ffffff;stop-opacity:0;" offset="1" id="stop321-26-9-3"/>
+ </linearGradient>
+ <linearGradient id="linearGradient37542-86-2-7">
+ <stop id="stop37544-39-5-3" offset="0" style="stop-color:#000000;stop-opacity:1;"/>
+ <stop id="stop37546-7-2-9" offset="1" style="stop-color:#ffffff;stop-opacity:1;"/>
+ </linearGradient>
+ <linearGradient id="linearGradient319-0-4-4">
+ <stop style="stop-color:#ffffff;stop-opacity:1;" offset="0" id="stop320-15-3-2"/>
+ <stop style="stop-color:#ffffff;stop-opacity:0;" offset="1" id="stop321-26-2-9"/>
+ </linearGradient>
+ <linearGradient id="linearGradient37542-86-0-6-8">
+ <stop id="stop37544-39-8-7-4" offset="0" style="stop-color:#000000;stop-opacity:1;"/>
+ <stop id="stop37546-7-1-5-6" offset="1" style="stop-color:#ffffff;stop-opacity:1;"/>
+ </linearGradient>
+ <linearGradient id="linearGradient319-0-2-3-8">
+ <stop style="stop-color:#ffffff;stop-opacity:1;" offset="0" id="stop320-15-0-0-4"/>
+ <stop style="stop-color:#ffffff;stop-opacity:0;" offset="1" id="stop321-26-9-5-3"/>
+ </linearGradient>
+ <linearGradient id="linearGradient10069-5-1-4-8">
+ <stop style="stop-color:#000000;stop-opacity:1;" offset="0" id="stop10071-9-18-9-9"/>
+ <stop style="stop-color:#000000;stop-opacity:0;" offset="1" id="stop10073-8-252-1-7"/>
+ </linearGradient>
+ <linearGradient id="linearGradient36273-9-4-2-3">
+ <stop id="stop36275-9-0-3-3" offset="0" style="stop-color:#ffffff;stop-opacity:1;"/>
+ <stop id="stop36277-1-3-5-2" offset="1" style="stop-color:#ffffff;stop-opacity:1"/>
+ </linearGradient>
+ <linearGradient id="linearGradient36273-9-4-22-0">
+ <stop id="stop36275-9-0-6-7" offset="0" style="stop-color:#ffffff;stop-opacity:1;"/>
+ <stop id="stop36277-1-3-6-9" offset="1" style="stop-color:#ffffff;stop-opacity:1"/>
+ </linearGradient>
+ <linearGradient id="linearGradient10069-5-1-8">
+ <stop style="stop-color:#000000;stop-opacity:1;" offset="0" id="stop10071-9-18-3"/>
+ <stop style="stop-color:#000000;stop-opacity:0;" offset="1" id="stop10073-8-252-2"/>
+ </linearGradient>
+ <linearGradient id="linearGradient36273-9-4-8">
+ <stop id="stop36275-9-0-0" offset="0" style="stop-color:#ffffff;stop-opacity:1;"/>
+ <stop id="stop36277-1-3-8" offset="1" style="stop-color:#ffffff;stop-opacity:1"/>
+ </linearGradient>
+ <linearGradient id="linearGradient10069-5-12">
+ <stop style="stop-color:#000000;stop-opacity:1;" offset="0" id="stop10071-9-7"/>
+ <stop style="stop-color:#000000;stop-opacity:0;" offset="1" id="stop10073-8-4"/>
+ </linearGradient>
+ <linearGradient id="linearGradient36273-9-9">
+ <stop id="stop36275-9-8" offset="0" style="stop-color:#ffffff;stop-opacity:1;"/>
+ <stop id="stop36277-1-35" offset="1" style="stop-color:#ffffff;stop-opacity:1"/>
+ </linearGradient>
+ <linearGradient id="linearGradient15859-1-3">
+ <stop style="stop-color:#ff992b;stop-opacity:1" offset="0" id="stop15861-1-4"/>
+ <stop style="stop-color:#ffffff;stop-opacity:1;" offset="1" id="stop15863-7-73"/>
+ </linearGradient>
+ <linearGradient id="linearGradient319-95">
+ <stop style="stop-color:#ffffff;stop-opacity:1;" offset="0" id="stop320-242"/>
+ <stop style="stop-color:#ffffff;stop-opacity:0;" offset="1" id="stop321-44"/>
+ </linearGradient>
+ <linearGradient id="linearGradient37542-1">
+ <stop id="stop37544-62" offset="0" style="stop-color:#000000;stop-opacity:1;"/>
+ <stop id="stop37546-4" offset="1" style="stop-color:#ffffff;stop-opacity:1;"/>
+ </linearGradient>
+ <linearGradient id="linearGradient319-75">
+ <stop style="stop-color:#ffffff;stop-opacity:1;" offset="0" id="stop320-8"/>
+ <stop style="stop-color:#ffffff;stop-opacity:0;" offset="1" id="stop321-39"/>
+ </linearGradient>
+ <linearGradient id="linearGradient1610-36-6-5">
+ <stop style="stop-color:black;stop-opacity:1;" offset="0" id="stop1611-1-9-6"/>
+ <stop style="stop-color:white;stop-opacity:1;" offset="1" id="stop1612-5-9-8"/>
+ </linearGradient>
+ <linearGradient id="linearGradient37542-96">
+ <stop id="stop37544-7-1" offset="0" style="stop-color:#000000;stop-opacity:1;"/>
+ <stop id="stop37546-0" offset="1" style="stop-color:#ffffff;stop-opacity:1;"/>
+ </linearGradient>
+ <linearGradient id="linearGradient10069-37">
+ <stop style="stop-color:#000000;stop-opacity:1;" offset="0" id="stop10071-0"/>
+ <stop style="stop-color:#000000;stop-opacity:0;" offset="1" id="stop10073-2"/>
+ </linearGradient>
+ <linearGradient id="linearGradient81143-4">
+ <stop style="stop-color:#2561b7;stop-opacity:1" offset="0" id="stop81145-0"/>
+ <stop style="stop-color:#f9fbff;stop-opacity:1" offset="1" id="stop81147-7"/>
+ </linearGradient>
+ <linearGradient id="linearGradient37542-7-8-6-0">
+ <stop id="stop37544-40-1-3-9" offset="0" style="stop-color:#ffffff;stop-opacity:1;"/>
+ <stop id="stop37546-94-7-0-7" offset="1" style="stop-color:#030303;stop-opacity:1"/>
+ </linearGradient>
+ <linearGradient id="linearGradient319-488-8-2">
+ <stop style="stop-color:#ffffff;stop-opacity:1;" offset="0" id="stop320-13-8-8"/>
+ <stop style="stop-color:#ffffff;stop-opacity:0;" offset="1" id="stop321-67-2-2"/>
+ </linearGradient>
+ <linearGradient id="linearGradient37542-7-8-6-0-8">
+ <stop id="stop37544-40-1-3-9-3" offset="0" style="stop-color:#ffffff;stop-opacity:1;"/>
+ <stop id="stop37546-94-7-0-7-1" offset="1" style="stop-color:#030303;stop-opacity:1"/>
+ </linearGradient>
+ <linearGradient id="linearGradient106427-3">
+ <stop style="stop-color:#ffffff;stop-opacity:1;" offset="0" id="stop106429-1"/>
+ <stop style="stop-color:#030303;stop-opacity:1" offset="1" id="stop106431-0"/>
+ </linearGradient>
+ <linearGradient id="linearGradient319-488-8-2-0">
+ <stop style="stop-color:#ffffff;stop-opacity:1;" offset="0" id="stop320-13-8-8-7"/>
+ <stop style="stop-color:#ffffff;stop-opacity:0;" offset="1" id="stop321-67-2-2-9"/>
+ </linearGradient>
+ <linearGradient id="linearGradient1610-36-6-7-9">
+ <stop style="stop-color:black;stop-opacity:1;" offset="0" id="stop1611-1-9-4-5"/>
+ <stop style="stop-color:white;stop-opacity:1;" offset="1" id="stop1612-5-9-87-3"/>
+ </linearGradient>
+ <linearGradient id="linearGradient1610-36-6-7-9-4">
+ <stop style="stop-color:black;stop-opacity:1;" offset="0" id="stop1611-1-9-4-5-0"/>
+ <stop style="stop-color:white;stop-opacity:1;" offset="1" id="stop1612-5-9-87-3-7"/>
+ </linearGradient>
+ <linearGradient id="linearGradient15097-0-8">
+ <stop style="stop-color:#c4c4c4;stop-opacity:1" offset="0" id="stop15099-1-83"/>
+ <stop style="stop-color:#868686;stop-opacity:1" offset="1" id="stop15101-9-3"/>
+ </linearGradient>
+ <linearGradient id="linearGradient23974-5-2-6-6">
+ <stop id="stop23976-9-2-7-6" offset="0" style="stop-color:#2561b7;stop-opacity:1;"/>
+ <stop id="stop23978-3-1-6-0" offset="1" style="stop-color:#f9fbff;stop-opacity:1"/>
+ </linearGradient>
+ <linearGradient id="linearGradient31320-5-2-6-7">
+ <stop style="stop-color:white;stop-opacity:1;" offset="0" id="stop31322-5-4-5-8"/>
+ <stop style="stop-color:white;stop-opacity:0;" offset="1" id="stop31324-0-8-5-8"/>
+ </linearGradient>
+ <linearGradient id="linearGradient14262-9-5-9-4">
+ <stop id="stop14264-5-2-9-0" offset="0" style="stop-color:#2661b6;stop-opacity:1;"/>
+ <stop id="stop14266-0-4-4-2" offset="1" style="stop-color:#c1d7f8;stop-opacity:0;"/>
+ </linearGradient>
+ <linearGradient id="linearGradient319-92-8-5-0">
+ <stop style="stop-color:#ffffff;stop-opacity:1;" offset="0" id="stop320-40-7-9-3"/>
+ <stop style="stop-color:#ffffff;stop-opacity:0;" offset="1" id="stop321-93-7-0-5"/>
+ </linearGradient>
+ <linearGradient id="linearGradient1610-36-6-7-9-4-3">
+ <stop style="stop-color:black;stop-opacity:1;" offset="0" id="stop1611-1-9-4-5-0-6"/>
+ <stop style="stop-color:white;stop-opacity:1;" offset="1" id="stop1612-5-9-87-3-7-8"/>
+ </linearGradient>
+
+ <linearGradient inkscape:collect="always" xlink:href="#linearGradient44627-7" id="linearGradient43054-6" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1.3333333,0,0,1.2727273,2.6666667,29.454545)" x1="-4.2231579" y1="-92.440941" x2="-18.697306" y2="-115.04018"/>
+ <linearGradient id="linearGradient44627-7">
+ <stop style="stop-color:black;stop-opacity:1;" offset="0" id="stop44629-4"/>
+ <stop style="stop-color:white;stop-opacity:1;" offset="1" id="stop44631-0"/>
+ </linearGradient>
+ <linearGradient id="linearGradient10069-9-5-1-8-2-5">
+ <stop style="stop-color:#000000;stop-opacity:1;" offset="0" id="stop10071-5-43-3-0-0-4"/>
+ <stop style="stop-color:#000000;stop-opacity:0;" offset="1" id="stop10073-43-1-8-2-5-2"/>
+ </linearGradient>
+ <linearGradient id="linearGradient10069-9-7-4-74-1">
+ <stop style="stop-color:#000000;stop-opacity:1;" offset="0" id="stop10071-5-4-5-0-5"/>
+ <stop style="stop-color:#000000;stop-opacity:0;" offset="1" id="stop10073-43-0-5-9-2"/>
+ </linearGradient>
+ <linearGradient id="linearGradient44939-8-5">
+ <stop style="stop-color:#ffffff;stop-opacity:1;" offset="0" id="stop44941-8-1"/>
+ <stop style="stop-color:#ffffff;stop-opacity:0;" offset="1" id="stop44943-2-7"/>
+ </linearGradient>
+
+ <radialGradient inkscape:collect="always" xlink:href="#linearGradient44627-7" id="radialGradient48820-9" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1,0,0,1.0769231,0,5.9230769)" cx="-31" cy="-83.5" fx="-31" fy="-83.5" r="6.5"/>
+ <linearGradient id="linearGradient10069-9-7-4-4">
+ <stop style="stop-color:#000000;stop-opacity:1;" offset="0" id="stop10071-5-4-5-8"/>
+ <stop style="stop-color:#000000;stop-opacity:0;" offset="1" id="stop10073-43-0-5-6"/>
+ </linearGradient>
+ <linearGradient id="linearGradient44939-09">
+ <stop style="stop-color:#ffffff;stop-opacity:1;" offset="0" id="stop44941-0"/>
+ <stop style="stop-color:#ffffff;stop-opacity:0;" offset="1" id="stop44943-0"/>
+ </linearGradient>
+
+ <radialGradient inkscape:collect="always" xlink:href="#linearGradient44627-7" id="radialGradient28589-9" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1,0,0,1.0769231,0,5.9230769)" cx="-30.28125" cy="-84.341515" fx="-30.28125" fy="-84.341515" r="6.5"/>
+
+ <linearGradient inkscape:collect="always" xlink:href="#linearGradient43760-6-4" id="linearGradient43044-5" gradientUnits="userSpaceOnUse" x1="-44.709698" y1="-8.4836445" x2="-37.784756" y2="-18.517523" gradientTransform="translate(-0.04018164,0)"/>
+ <linearGradient id="linearGradient43760-6-4">
+ <stop style="stop-color:black;stop-opacity:1;" offset="0" id="stop43762-7-3"/>
+ <stop style="stop-color:white;stop-opacity:1;" offset="1" id="stop43764-8-1"/>
+ </linearGradient>
+ <linearGradient id="linearGradient9030-71-3">
+ <stop style="stop-color:white;stop-opacity:1;" offset="0" id="stop9032-15-3"/>
+ <stop style="stop-color:white;stop-opacity:0;" offset="1" id="stop9034-276-4"/>
+ </linearGradient>
+ <linearGradient id="linearGradient10069-9-5-1-1">
+ <stop style="stop-color:#000000;stop-opacity:1;" offset="0" id="stop10071-5-43-3-3"/>
+ <stop style="stop-color:#000000;stop-opacity:0;" offset="1" id="stop10073-43-1-8-8"/>
+ </linearGradient>
+ <linearGradient id="linearGradient44939-2-8">
+ <stop style="stop-color:#ffffff;stop-opacity:1;" offset="0" id="stop44941-7-4"/>
+ <stop style="stop-color:#ffffff;stop-opacity:0;" offset="1" id="stop44943-7-0"/>
+ </linearGradient>
+
+ <linearGradient inkscape:collect="always" xlink:href="#linearGradient43760-7" id="linearGradient45875-0" gradientUnits="userSpaceOnUse" gradientTransform="translate(14,0)" x1="-34.051685" y1="-129.32457" x2="-32.542458" y2="-139.90228"/>
+ <linearGradient id="linearGradient43760-7">
+ <stop style="stop-color:black;stop-opacity:1;" offset="0" id="stop43762-79"/>
+ <stop style="stop-color:white;stop-opacity:1;" offset="1" id="stop43764-3"/>
+ </linearGradient>
+ <radialGradient inkscape:collect="always" xlink:href="#linearGradient43760-7" id="radialGradient45877-1" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1099414,-0.9422316,0.4519816,0.05273803,38.220416,-152.21215)" cx="-25.452209" cy="-136.46503" fx="-25.452209" fy="-136.46503" r="8.0066185"/>
+
+ <radialGradient inkscape:collect="always" xlink:href="#linearGradient43760-7" id="radialGradient45451-2" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1,0,0,0.9952162,167.99999,-60.91415)" cx="59.000011" cy="440.0191" fx="59.000011" fy="440.0191" r="6.5080619"/>
+ <linearGradient id="linearGradient319-42-9">
+ <stop style="stop-color:#ffffff;stop-opacity:1;" offset="0" id="stop320-32-8"/>
+ <stop style="stop-color:#ffffff;stop-opacity:0;" offset="1" id="stop321-21-6"/>
+ </linearGradient>
+ <linearGradient id="linearGradient10069-9-7-0">
+ <stop style="stop-color:#000000;stop-opacity:1;" offset="0" id="stop10071-5-4-2"/>
+ <stop style="stop-color:#000000;stop-opacity:0;" offset="1" id="stop10073-43-0-8"/>
+ </linearGradient>
+
+
+ <linearGradient inkscape:collect="always" xlink:href="#linearGradient1610-5-2" id="linearGradient43192-3" gradientUnits="userSpaceOnUse" x1="-47" y1="44" x2="-43" y2="44"/>
+ <linearGradient id="linearGradient1610-5-2">
+ <stop style="stop-color:black;stop-opacity:1;" offset="0" id="stop1611-17-2"/>
+ <stop style="stop-color:white;stop-opacity:1;" offset="1" id="stop1612-115-1"/>
+ </linearGradient>
+
+
+ <linearGradient inkscape:collect="always" xlink:href="#linearGradient1610-5-2" id="linearGradient43186-6" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0,-1,-1,0,6,6)" x1="-47" y1="44" x2="-43" y2="44"/>
+
+ <radialGradient inkscape:collect="always" xlink:href="#linearGradient44627-7" id="radialGradient25025-8" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.8918342,0,0,0.8918344,-15.699877,27.900732)" cx="49" cy="254.64285" fx="49" fy="254.64285" r="6.5"/>
+ <linearGradient id="linearGradient10069-9-7-5-5">
+ <stop style="stop-color:#000000;stop-opacity:1;" offset="0" id="stop10071-5-4-58-7"/>
+ <stop style="stop-color:#000000;stop-opacity:0;" offset="1" id="stop10073-43-0-4-5"/>
+ </linearGradient>
+ <linearGradient id="linearGradient319-76-2-0">
+ <stop style="stop-color:#ffffff;stop-opacity:1;" offset="0" id="stop320-142-0"/>
+ <stop style="stop-color:#ffffff;stop-opacity:0;" offset="1" id="stop321-32-0"/>
+ </linearGradient>
+ <linearGradient id="linearGradient29761">
+ <stop style="stop-color:#b74125;stop-opacity:1;" offset="0" id="stop29763"/>
+ <stop style="stop-color:#f9fbff;stop-opacity:1" offset="1" id="stop29765"/>
+ </linearGradient>
+ <linearGradient id="linearGradient8864-1">
+ <stop id="stop8866-0" offset="0" style="stop-color:#b43214;stop-opacity:1;"/>
+ <stop id="stop8868-1" offset="1" style="stop-color:#e86830;stop-opacity:1;"/>
+ </linearGradient>
+ <linearGradient id="linearGradient1610-8-8">
+ <stop style="stop-color:black;stop-opacity:1;" offset="0" id="stop1611-7-7"/>
+ <stop style="stop-color:white;stop-opacity:1;" offset="1" id="stop1612-4-6"/>
+ </linearGradient>
+ <linearGradient id="linearGradient319-77-0">
+ <stop style="stop-color:#ffffff;stop-opacity:1;" offset="0" id="stop320-9-0"/>
+ <stop style="stop-color:#ffffff;stop-opacity:0;" offset="1" id="stop321-31-9"/>
+ </linearGradient>
+ <linearGradient id="linearGradient1610-4">
+ <stop style="stop-color:black;stop-opacity:1;" offset="0" id="stop1611-64"/>
+ <stop style="stop-color:white;stop-opacity:1;" offset="1" id="stop1612-20"/>
+ </linearGradient>
+ <linearGradient id="linearGradient1610-4-3">
+ <stop style="stop-color:black;stop-opacity:1;" offset="0" id="stop1611-64-0"/>
+ <stop style="stop-color:white;stop-opacity:1;" offset="1" id="stop1612-20-3"/>
+ </linearGradient>
+ <linearGradient id="linearGradient16719">
+ <stop id="stop16721" offset="0" style="stop-color:#84d458;stop-opacity:1"/>
+ <stop style="stop-color:#5894d4;stop-opacity:1" offset="0.30000001" id="stop5079"/>
+ <stop id="stop16723" offset="1" style="stop-color:#afd1f5;stop-opacity:1"/>
+ </linearGradient>
+ <linearGradient id="linearGradient11820">
+ <stop style="stop-color:#afd1f5;stop-opacity:1" offset="0" id="stop11822"/>
+ <stop id="stop11824" offset="0.44444144" style="stop-color:#5894d4;stop-opacity:1"/>
+ <stop style="stop-color:#5894d4;stop-opacity:1" offset="0.55555254" id="stop11826"/>
+ <stop style="stop-color:#ef79ef;stop-opacity:1" offset="1" id="stop11828"/>
+ </linearGradient>
+ <linearGradient id="linearGradient28147-1-4">
+ <stop id="stop28149-4-1" offset="0" style="stop-color:#afd1f5;stop-opacity:1"/>
+ <stop style="stop-color:#5894d4;stop-opacity:1" offset="0.18750006" id="stop5469"/>
+ <stop style="stop-color:#505050;stop-opacity:1" offset="0.40000001" id="stop28151-7-6"/>
+ <stop id="stop28153-8-4" offset="0.60000002" style="stop-color:#505050;stop-opacity:1"/>
+ <stop style="stop-color:#5894d4;stop-opacity:1" offset="0.81250006" id="stop5471"/>
+ <stop id="stop28155-2-6" offset="1" style="stop-color:#afd1f5;stop-opacity:1"/>
+ </linearGradient>
+ <linearGradient id="linearGradient319-65-4-8-7">
+ <stop style="stop-color:#ffffff;stop-opacity:1;" offset="0" id="stop320-14-9-5-9"/>
+ <stop style="stop-color:#ffffff;stop-opacity:0;" offset="1" id="stop321-49-3-6-8"/>
+ </linearGradient>
+ <linearGradient id="linearGradient44939-8-53">
+ <stop style="stop-color:#ffffff;stop-opacity:1;" offset="0" id="stop44941-8-7"/>
+ <stop style="stop-color:#ffffff;stop-opacity:0;" offset="1" id="stop44943-2-5"/>
+ </linearGradient>
+ <linearGradient id="linearGradient44939-8-53-7">
+ <stop style="stop-color:#ffffff;stop-opacity:1;" offset="0" id="stop44941-8-7-6"/>
+ <stop style="stop-color:#ffffff;stop-opacity:0;" offset="1" id="stop44943-2-5-2"/>
+ </linearGradient>
+ <linearGradient id="linearGradient319-0">
+ <stop style="stop-color:#ffffff;stop-opacity:1;" offset="0" id="stop320-22"/>
+ <stop style="stop-color:#ffffff;stop-opacity:0;" offset="1" id="stop321-19"/>
+ </linearGradient>
+ <linearGradient id="linearGradient37542-29">
+ <stop id="stop37544-67" offset="0" style="stop-color:#000000;stop-opacity:1;"/>
+ <stop id="stop37546-45" offset="1" style="stop-color:#ffffff;stop-opacity:1;"/>
+ </linearGradient>
+ <linearGradient id="linearGradient319-36">
+ <stop style="stop-color:#ffffff;stop-opacity:1;" offset="0" id="stop320-18"/>
+ <stop style="stop-color:#ffffff;stop-opacity:0;" offset="1" id="stop321-390"/>
+ </linearGradient>
+ <linearGradient id="linearGradient37542-29-1">
+ <stop id="stop37544-67-8" offset="0" style="stop-color:#000000;stop-opacity:1;"/>
+ <stop id="stop37546-45-9" offset="1" style="stop-color:#ffffff;stop-opacity:1;"/>
+ </linearGradient>
+ <linearGradient id="linearGradient37542-29-7">
+ <stop id="stop37544-67-3" offset="0" style="stop-color:#000000;stop-opacity:1;"/>
+ <stop id="stop37546-45-0" offset="1" style="stop-color:#ffffff;stop-opacity:1;"/>
+ </linearGradient>
+ <linearGradient id="linearGradient319-36-40">
+ <stop style="stop-color:#ffffff;stop-opacity:1;" offset="0" id="stop320-18-7"/>
+ <stop style="stop-color:#ffffff;stop-opacity:0;" offset="1" id="stop321-390-4"/>
+ </linearGradient>
+ <linearGradient id="linearGradient37542-29-7-8">
+ <stop id="stop37544-67-3-0" offset="0" style="stop-color:#000000;stop-opacity:1;"/>
+ <stop id="stop37546-45-0-9" offset="1" style="stop-color:#ffffff;stop-opacity:1;"/>
+ </linearGradient>
+ <linearGradient id="linearGradient319-36-40-2">
+ <stop style="stop-color:#ffffff;stop-opacity:1;" offset="0" id="stop320-18-7-8"/>
+ <stop style="stop-color:#ffffff;stop-opacity:0;" offset="1" id="stop321-390-4-6"/>
+ </linearGradient>
+ <linearGradient id="linearGradient319-36-40-2-4">
+ <stop style="stop-color:#ffffff;stop-opacity:1;" offset="0" id="stop320-18-7-8-5"/>
+ <stop style="stop-color:#ffffff;stop-opacity:0;" offset="1" id="stop321-390-4-6-6"/>
+ </linearGradient>
+ <linearGradient id="linearGradient23974-39">
+ <stop id="stop23976-8" offset="0" style="stop-color:#2561b7;stop-opacity:1;"/>
+ <stop id="stop23978-23" offset="1" style="stop-color:#f9fbff;stop-opacity:1"/>
+ </linearGradient>
+ <linearGradient id="linearGradient31320-9">
+ <stop style="stop-color:white;stop-opacity:1;" offset="0" id="stop31322-6"/>
+ <stop style="stop-color:white;stop-opacity:0;" offset="1" id="stop31324-2"/>
+ </linearGradient>
+ <linearGradient id="linearGradient14262-6">
+ <stop id="stop14264-29" offset="0" style="stop-color:#2661b6;stop-opacity:1;"/>
+ <stop id="stop14266-9" offset="1" style="stop-color:#c1d7f8;stop-opacity:0;"/>
+ </linearGradient>
+ <linearGradient id="linearGradient319-61">
+ <stop style="stop-color:#ffffff;stop-opacity:1;" offset="0" id="stop320-47"/>
+ <stop style="stop-color:#ffffff;stop-opacity:0;" offset="1" id="stop321-45"/>
+ </linearGradient>
+
+
+ <filter color-interpolation-filters="sRGB" inkscape:collect="always" id="filter15613" x="-0.092011765" width="1.1840235" y="-0.097762503" height="1.1955251">
+ <feGaussianBlur inkscape:collect="always" stdDeviation="0.65175" id="feGaussianBlur15615"/>
</filter>
- <linearGradient
- id="linearGradient37542-55">
- <stop
- id="stop37544-61"
- offset="0"
- style="stop-color:#000000;stop-opacity:1;" />
- <stop
- id="stop37546-03"
- offset="1"
- style="stop-color:#ffffff;stop-opacity:1;" />
- </linearGradient>
- <linearGradient
- id="linearGradient319-74">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop320-42" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop321-67" />
- </linearGradient>
- <linearGradient
- id="linearGradient21609-6">
- <stop
- id="stop21611-3"
- offset="0"
- style="stop-color:black;stop-opacity:1" />
- <stop
- id="stop21613-0"
- offset="1"
- style="stop-color:white;stop-opacity:1;" />
- </linearGradient>
- <clipPath
- clipPathUnits="userSpaceOnUse"
- id="clipPath15455-9">
- <rect
- style="color:#000000;fill:#d8d8d8;fill-opacity:1;stroke:none;stroke-width:1.20000005;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:new"
- id="rect15457-6"
- width="16"
- height="16"
- x="301.96045"
- y="236.91833" />
- </clipPath>
- <mask
- maskUnits="userSpaceOnUse"
- id="mask15700-4">
- <path
- style="color:#000000;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1.20000005000000010;marker:none;visibility:visible;display:inline;overflow:visible;filter:url(#filter15613-8);enable-background:new"
- d="m 302.9292,245.91834 -2.4375,-1.125 -0.53125,-9.84375 19.95312,-0.0469 0.0156,9.95313 -2.9375,1.09375 0,5.96875 -14,0 z"
- id="path15702-5"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="ccccccccc" />
- </mask>
- <filter
- color-interpolation-filters="sRGB"
- inkscape:collect="always"
- id="filter15613-8"
- x="-0.092011765"
- width="1.1840235"
- y="-0.097762503"
- height="1.1955251">
- <feGaussianBlur
- inkscape:collect="always"
- stdDeviation="0.65175"
- id="feGaussianBlur15615-1" />
+ <linearGradient id="linearGradient37542-55">
+ <stop id="stop37544-61" offset="0" style="stop-color:#000000;stop-opacity:1;"/>
+ <stop id="stop37546-03" offset="1" style="stop-color:#ffffff;stop-opacity:1;"/>
+ </linearGradient>
+ <linearGradient id="linearGradient319-74">
+ <stop style="stop-color:#ffffff;stop-opacity:1;" offset="0" id="stop320-42"/>
+ <stop style="stop-color:#ffffff;stop-opacity:0;" offset="1" id="stop321-67"/>
+ </linearGradient>
+ <linearGradient id="linearGradient21609-6">
+ <stop id="stop21611-3" offset="0" style="stop-color:black;stop-opacity:1"/>
+ <stop id="stop21613-0" offset="1" style="stop-color:white;stop-opacity:1;"/>
+ </linearGradient>
+
+
+ <filter color-interpolation-filters="sRGB" inkscape:collect="always" id="filter15613-8" x="-0.092011765" width="1.1840235" y="-0.097762503" height="1.1955251">
+ <feGaussianBlur inkscape:collect="always" stdDeviation="0.65175" id="feGaussianBlur15615-1"/>
</filter>
- <filter
- color-interpolation-filters="sRGB"
- inkscape:label="Greyscale"
- id="filter15388">
- <feColorMatrix
- values="0.21 0.72 0.072 0 0 0.21 0.72 0.072 0 0 0.21 0.72 0.072 0 0 0 0 0 1 0 "
- id="feColorMatrix15390"
- result="fbSourceGraphic" />
- <feColorMatrix
- result="fbSourceGraphicAlpha"
- in="fbSourceGraphic"
- values="0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0"
- id="feColorMatrix15392" />
- <feColorMatrix
- id="feColorMatrix15394"
- values="0.21 0.72 0.072 0 0 0.21 0.72 0.072 0 0 0.21 0.72 0.072 0 0 0 0 0 1 0 "
- in="fbSourceGraphic" />
+ <filter color-interpolation-filters="sRGB" inkscape:label="Greyscale" id="filter15388">
+
+
+
</filter>
- <linearGradient
- id="linearGradient37542-91">
- <stop
- id="stop37544-81"
- offset="0"
- style="stop-color:#000000;stop-opacity:1;" />
- <stop
- id="stop37546-75"
- offset="1"
- style="stop-color:#ffffff;stop-opacity:1;" />
- </linearGradient>
- <linearGradient
- id="linearGradient319-223">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop320-84" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop321-34" />
- </linearGradient>
- <linearGradient
- id="linearGradient21609-3">
- <stop
- id="stop21611-9"
- offset="0"
- style="stop-color:black;stop-opacity:1" />
- <stop
- id="stop21613-8"
- offset="1"
- style="stop-color:white;stop-opacity:1;" />
- </linearGradient>
- <filter
- inkscape:label="Opacity"
- style="color-interpolation-filters:sRGB"
- id="filter17385">
- <feColorMatrix
- values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 5 -1 "
- result="colormatrix"
- id="feColorMatrix17387" />
- <feComposite
- k4="0"
- k3="0"
- k1="0"
- in2="colormatrix"
- operator="arithmetic"
- k2="0.24"
- result="composite"
- id="feComposite17389" />
+ <linearGradient id="linearGradient37542-91">
+ <stop id="stop37544-81" offset="0" style="stop-color:#000000;stop-opacity:1;"/>
+ <stop id="stop37546-75" offset="1" style="stop-color:#ffffff;stop-opacity:1;"/>
+ </linearGradient>
+ <linearGradient id="linearGradient319-223">
+ <stop style="stop-color:#ffffff;stop-opacity:1;" offset="0" id="stop320-84"/>
+ <stop style="stop-color:#ffffff;stop-opacity:0;" offset="1" id="stop321-34"/>
+ </linearGradient>
+ <linearGradient id="linearGradient21609-3">
+ <stop id="stop21611-9" offset="0" style="stop-color:black;stop-opacity:1"/>
+ <stop id="stop21613-8" offset="1" style="stop-color:white;stop-opacity:1;"/>
+ </linearGradient>
+ <filter inkscape:label="Opacity" style="color-interpolation-filters:sRGB" id="filter17385">
+
+
</filter>
- <linearGradient
- id="linearGradient1610-2">
- <stop
- id="stop1611-8-9"
- offset="0"
- style="stop-color:black;stop-opacity:1;" />
- <stop
- style="stop-color:#000000;stop-opacity:1;"
- offset="0.5"
- id="stop6596" />
- <stop
- id="stop1612-0-6"
- offset="1"
- style="stop-color:#c8c8c8;stop-opacity:1;" />
- </linearGradient>
- <clipPath
- id="clipPath13106-5"
- clipPathUnits="userSpaceOnUse">
- <path
- inkscape:connector-curvature="0"
- inkscape:export-ydpi="90"
- inkscape:export-xdpi="90"
- inkscape:export-filename="C:\Documents and Settings\Tata\Pulpit\BLENDER ICONSET\Kopia blender\.blender\icons\jendrzych's iconset.png"
- sodipodi:nodetypes="cccccc"
- id="path34850-6-6"
- d="m 125.5,433.5 23,0 0,41 -33,0 0,-31 10,-10 z"
- style="display:inline;fill:url(#linearGradient13110);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;marker:none" />
- </clipPath>
- <linearGradient
- id="linearGradient18821-1-16">
- <stop
- id="stop20589"
- offset="0"
- style="stop-color:#e3604f;stop-opacity:1;" />
- <stop
- id="stop20591"
- offset="1"
- style="stop-color:#e3604f;stop-opacity:0;" />
- </linearGradient>
- <linearGradient
- id="linearGradient39155-0-813">
- <stop
- style="stop-color:#e6e6e6;stop-opacity:1;"
- offset="0"
- id="stop20595" />
- <stop
- style="stop-color:#c4c4c4;stop-opacity:1;"
- offset="1"
- id="stop20597" />
- </linearGradient>
- <clipPath
- id="clipPath13106-9-2-9-9-4"
- clipPathUnits="userSpaceOnUse">
- <path
- inkscape:export-ydpi="90"
- inkscape:export-xdpi="90"
- inkscape:export-filename="C:\Documents and Settings\Tata\Pulpit\BLENDER ICONSET\Kopia blender\.blender\icons\jendrzych's iconset.png"
- sodipodi:nodetypes="cccccc"
- id="path34850-4-7-0-4-0"
- d="m 125.5,433.5 23,0 0,41 -33,0 0,-31 10,-10 z"
- style="display:inline;fill:url(#linearGradient13110);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;marker:none"
- inkscape:connector-curvature="0" />
- </clipPath>
- <filter
- style="color-interpolation-filters:sRGB"
- inkscape:label="Drop Shadow"
- id="filter6146"
- x="-0.30000001"
- width="1.35"
- y="-0.15000001"
- height="1.4">
- <feFlood
- flood-opacity="0.40000000000000002"
- flood-color="rgb(0,0,0)"
- result="flood"
- id="feFlood6148" />
- <feComposite
- in="flood"
- in2="SourceGraphic"
- operator="in"
- result="composite1"
- id="feComposite6150" />
- <feGaussianBlur
- in="composite1"
- stdDeviation="1.5"
- result="blur"
- id="feGaussianBlur6152" />
- <feOffset
- dx="-2"
- dy="2"
- result="offset"
- id="feOffset6154" />
- <feComposite
- in="SourceGraphic"
- in2="offset"
- operator="over"
- result="composite2"
- id="feComposite6156" />
+ <linearGradient id="linearGradient1610-2">
+ <stop id="stop1611-8-9" offset="0" style="stop-color:black;stop-opacity:1;"/>
+ <stop style="stop-color:#000000;stop-opacity:1;" offset="0.5" id="stop6596"/>
+ <stop id="stop1612-0-6" offset="1" style="stop-color:#c8c8c8;stop-opacity:1;"/>
+ </linearGradient>
+
+ <linearGradient id="linearGradient18821-1-16">
+ <stop id="stop20589" offset="0" style="stop-color:#e3604f;stop-opacity:1;"/>
+ <stop id="stop20591" offset="1" style="stop-color:#e3604f;stop-opacity:0;"/>
+ </linearGradient>
+ <linearGradient id="linearGradient39155-0-813">
+ <stop style="stop-color:#e6e6e6;stop-opacity:1;" offset="0" id="stop20595"/>
+ <stop style="stop-color:#c4c4c4;stop-opacity:1;" offset="1" id="stop20597"/>
+ </linearGradient>
+
+ <filter style="color-interpolation-filters:sRGB" inkscape:label="Drop Shadow" id="filter6146" x="-0.30000001" width="1.35" y="-0.15000001" height="1.4">
+
+
+ <feGaussianBlur in="composite1" stdDeviation="1.5" result="blur" id="feGaussianBlur6152"/>
+
+
</filter>
- <filter
- style="color-interpolation-filters:sRGB"
- inkscape:label="Drop Shadow"
- id="filter6078"
- x="-0.30000001"
- width="1.35"
- height="1.4"
- y="-0.15000001">
- <feFlood
- flood-opacity="0.40000000000000002"
- flood-color="rgb(0,0,0)"
- result="flood"
- id="feFlood6080" />
- <feComposite
- in="flood"
- in2="SourceGraphic"
- operator="in"
- result="composite1"
- id="feComposite6082" />
- <feGaussianBlur
- in="composite1"
- stdDeviation="1.5"
- result="blur"
- id="feGaussianBlur6084" />
- <feOffset
- dx="-2"
- dy="2"
- result="offset"
- id="feOffset6086" />
- <feComposite
- in="SourceGraphic"
- in2="offset"
- operator="over"
- result="composite2"
- id="feComposite6088" />
+ <filter style="color-interpolation-filters:sRGB" inkscape:label="Drop Shadow" id="filter6078" x="-0.30000001" width="1.35" height="1.4" y="-0.15000001">
+
+
+ <feGaussianBlur in="composite1" stdDeviation="1.5" result="blur" id="feGaussianBlur6084"/>
+
+
</filter>
- <clipPath
- id="clipPath13106-7"
- clipPathUnits="userSpaceOnUse">
- <path
- inkscape:connector-curvature="0"
- inkscape:export-ydpi="90"
- inkscape:export-xdpi="90"
- inkscape:export-filename="C:\Documents and Settings\Tata\Pulpit\BLENDER ICONSET\Kopia blender\.blender\icons\jendrzych's iconset.png"
- sodipodi:nodetypes="cccccc"
- id="path34850-1"
- d="m 125.5,433.5 23,0 0,41 -33,0 0,-31 10,-10 z"
- style="display:inline;fill:url(#linearGradient13110);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;marker:none" />
- </clipPath>
- <clipPath
- id="clipPath23877-4"
- clipPathUnits="userSpaceOnUse">
- <rect
- style="display:inline;overflow:visible;visibility:visible;fill:#ff0000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.80000001;marker:none;enable-background:accumulate"
- id="rect23879-6"
- width="15"
- height="6"
- x="952"
- y="-540"
- transform="scale(1,-1)" />
- </clipPath>
- <clipPath
- id="clipPath20586-3"
- clipPathUnits="userSpaceOnUse">
- <ellipse
- ry="2.25"
- rx="4.5"
- cy="554"
- cx="53"
- transform="matrix(1.870472,0.1894819,-0.6587894,2.4281336,319.59052,-798.11661)"
- id="path34889-5"
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;enable-background:accumulate" />
- </clipPath>
- <radialGradient
- gradientUnits="userSpaceOnUse"
- fy="114.5684"
- fx="20.892099"
- r="5.256"
- cy="114.5684"
- cx="20.892099"
- id="aigrd2-3">
- <stop
- id="stop15566-9"
- style="stop-color:#F0F0F0"
- offset="0" />
- <stop
- id="stop15568-7"
- style="stop-color:#9a9a9a;stop-opacity:1.0000000;"
- offset="1.0000000" />
+
+
+
+ <radialGradient gradientUnits="userSpaceOnUse" fy="114.5684" fx="20.892099" r="5.256" cy="114.5684" cx="20.892099" id="aigrd2-3">
+ <stop id="stop15566-9" style="stop-color:#F0F0F0" offset="0"/>
+ <stop id="stop15568-7" style="stop-color:#9a9a9a;stop-opacity:1.0000000;" offset="1.0000000"/>
</radialGradient>
- <linearGradient
- id="linearGradient319-367">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop320-53" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop321-562" />
- </linearGradient>
- <mask
- maskUnits="userSpaceOnUse"
- id="mask43822-1">
- <rect
- y="208"
- x="754"
- height="9"
- width="12"
- id="rect43824-2"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.93999993;fill:url(#linearGradient43826);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:new" />
- </mask>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient18134"
- id="linearGradient12353"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(21,-39)"
- x1="19"
- y1="550"
- x2="-1.8890873"
- y2="529.28772" />
- <mask
- maskUnits="userSpaceOnUse"
- id="mask12349-3">
- <rect
- y="498"
- x="27"
- height="14"
- width="14.25"
- id="rect12351-8"
- style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:url(#linearGradient12353);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
- </mask>
- <linearGradient
- id="linearGradient319-95-2-7-1-2">
- <stop
- style="stop-color:#ffffff;stop-opacity:0.75675678;"
- offset="0"
- id="stop320-43-7-3-3-3" />
- <stop
- style="stop-color:#915515;stop-opacity:0;"
- offset="1"
- id="stop321-12-7-4-1-9" />
- </linearGradient>
- <linearGradient
- id="linearGradient10069-8-3-3-0-3">
- <stop
- style="stop-color:#764511;stop-opacity:1;"
- offset="0"
- id="stop10071-9-8-7-1-8" />
- <stop
- style="stop-color:#915515;stop-opacity:0;"
- offset="1"
- id="stop10073-2-7-1-0-5" />
- </linearGradient>
- <linearGradient
- id="linearGradient13998-7-0">
- <stop
- id="stop14000-1-1"
- offset="0"
- style="stop-color:#f57d07;stop-opacity:1;" />
- <stop
- id="stop14002-0-0"
- offset="1"
- style="stop-color:white;stop-opacity:1;" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient11146"
- id="linearGradient11162"
- gradientUnits="userSpaceOnUse"
- x1="16.5"
- y1="686.50714"
- x2="6"
- y2="697" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient11146"
- id="linearGradient11184"
- gradientUnits="userSpaceOnUse"
- x1="16.5"
- y1="686.50714"
- x2="6"
- y2="697"
- gradientTransform="translate(231,-399.00712)" />
- <mask
- maskUnits="userSpaceOnUse"
- id="mask11180">
- <rect
- style="opacity:1;vector-effect:none;fill:url(#linearGradient11184);fill-opacity:1;stroke:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke"
- id="rect11182"
- width="16"
- height="16"
- x="236"
- y="282.99289" />
- </mask>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient11146"
- id="linearGradient11190"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(21)"
- x1="16.5"
- y1="686.50714"
- x2="6"
- y2="697" />
- <mask
- maskUnits="userSpaceOnUse"
- id="mask11186">
- <rect
- y="682"
- x="26"
- height="16"
- width="16"
- id="rect11188"
- style="opacity:1;vector-effect:none;fill:url(#linearGradient11190);fill-opacity:1;stroke:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke" />
- </mask>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient11146"
- id="linearGradient11196"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(42)"
- x1="16.5"
- y1="686.50714"
- x2="6"
- y2="697" />
- <mask
- maskUnits="userSpaceOnUse"
- id="mask11192">
- <rect
- style="opacity:1;vector-effect:none;fill:url(#linearGradient11196);fill-opacity:1;stroke:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke"
- id="rect11194"
- width="16"
- height="16"
- x="47"
- y="682" />
- </mask>
- <mask
- maskUnits="userSpaceOnUse"
- id="mask11186-8">
- <rect
- y="682"
- x="26"
- height="16"
- width="16"
- id="rect11188-6"
- style="opacity:1;vector-effect:none;fill:url(#linearGradient11190);fill-opacity:1;stroke:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke" />
- </mask>
- <mask
- maskUnits="userSpaceOnUse"
- id="mask11192-0">
- <rect
- style="opacity:1;vector-effect:none;fill:url(#linearGradient11196);fill-opacity:1;stroke:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke"
- id="rect11194-8"
- width="16"
- height="16"
- x="47"
- y="682" />
- </mask>
- <mask
- maskUnits="userSpaceOnUse"
- id="mask11180-3">
- <rect
- style="opacity:1;vector-effect:none;fill:url(#linearGradient11184);fill-opacity:1;stroke:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke"
- id="rect11182-3"
- width="16"
- height="16"
- x="236"
- y="282.99289" />
- </mask>
- <mask
- maskUnits="userSpaceOnUse"
- id="mask12349-3-2">
- <rect
- y="498"
- x="27"
- height="14"
- width="14.25"
- id="rect12351-8-5"
- style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:url(#linearGradient12353);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
- </mask>
- <pattern
- y="0"
- x="0"
- height="6"
- width="6"
- patternUnits="userSpaceOnUse"
- id="EMFhbasepattern" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient16595"
- id="radialGradient21517-3"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.891843,0,0,0.909224,-173.10957,172.3592)"
- cx="350.5"
- cy="14.5"
- fx="350.5"
- fy="14.5"
- r="6.9000001" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient11146"
- id="linearGradient31019"
- gradientUnits="userSpaceOnUse"
- gradientTransform="rotate(-45,271.82331,-251.06972)"
- x1="85.548706"
- y1="100.22395"
- x2="85.347076"
- y2="113.09817" />
- <linearGradient
- id="linearGradient30958">
- <stop
- id="stop30960"
- offset="0"
- style="stop-color:#fff9cf;stop-opacity:1;" />
- <stop
- id="stop30962"
- offset="1"
- style="stop-color:#c7bc52;stop-opacity:1;" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient18495"
- id="linearGradient14207"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0,-0.9569715,-1,0,322,353.18743)"
- x1="347.6467"
- y1="216.75188"
- x2="345.98633"
- y2="243.92201" />
- <linearGradient
- gradientTransform="matrix(-1,0,0,1,194,-21)"
- inkscape:collect="always"
- xlink:href="#linearGradient35411"
- id="linearGradient35446-0"
- gradientUnits="userSpaceOnUse"
- x1="31"
- y1="60.000004"
- x2="34"
- y2="54.000004" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient11146"
- id="linearGradient14238"
- gradientUnits="userSpaceOnUse"
- x1="132"
- y1="120.4313"
- x2="93.029579"
- y2="78.9655" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient319"
- id="linearGradient14413"
- gradientUnits="userSpaceOnUse"
- x1="132"
- y1="120.4313"
- x2="93.029579"
- y2="78.9655"
- gradientTransform="translate(-5e-8,-7.9962027e-6)" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient319"
- id="linearGradient14478"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(0,-8e-6)"
- x1="132"
- y1="120.4313"
- x2="93.029579"
- y2="78.9655" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient319"
- id="linearGradient13559"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-1.0000001e-7,-8.5e-6)"
- x1="132"
- y1="120.4313"
- x2="93.029579"
- y2="78.9655" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient319"
- id="linearGradient14293"
- gradientUnits="userSpaceOnUse"
- x1="132"
- y1="120.4313"
- x2="93.029579"
- y2="78.9655" />
- <radialGradient
- id="radialGradient16824-1"
- cx="20.892099"
- cy="64.567902"
- r="5.257"
- fx="20.892099"
- fy="64.567902"
- gradientUnits="userSpaceOnUse">
- <stop
- offset="0"
- style="stop-color:#b7b7b7;stop-opacity:1;"
- id="stop16826-5" />
- <stop
- id="stop16828-2"
- style="stop-color:#646464;stop-opacity:1;"
- offset="0.50338405" />
- <stop
- offset="1"
- style="stop-color:#b7b7b7;stop-opacity:1;"
- id="stop16830-7" />
+ <linearGradient id="linearGradient319-367">
+ <stop style="stop-color:#ffffff;stop-opacity:1;" offset="0" id="stop320-53"/>
+ <stop style="stop-color:#ffffff;stop-opacity:0;" offset="1" id="stop321-562"/>
+ </linearGradient>
+
+ <linearGradient inkscape:collect="always" xlink:href="#linearGradient18134" id="linearGradient12353" gradientUnits="userSpaceOnUse" gradientTransform="translate(21,-39)" x1="19" y1="550" x2="-1.8890873" y2="529.28772"/>
+
+ <linearGradient id="linearGradient319-95-2-7-1-2">
+ <stop style="stop-color:#ffffff;stop-opacity:0.75675678;" offset="0" id="stop320-43-7-3-3-3"/>
+ <stop style="stop-color:#915515;stop-opacity:0;" offset="1" id="stop321-12-7-4-1-9"/>
+ </linearGradient>
+ <linearGradient id="linearGradient10069-8-3-3-0-3">
+ <stop style="stop-color:#764511;stop-opacity:1;" offset="0" id="stop10071-9-8-7-1-8"/>
+ <stop style="stop-color:#915515;stop-opacity:0;" offset="1" id="stop10073-2-7-1-0-5"/>
+ </linearGradient>
+ <linearGradient id="linearGradient13998-7-0">
+ <stop id="stop14000-1-1" offset="0" style="stop-color:#f57d07;stop-opacity:1;"/>
+ <stop id="stop14002-0-0" offset="1" style="stop-color:white;stop-opacity:1;"/>
+ </linearGradient>
+ <linearGradient inkscape:collect="always" xlink:href="#linearGradient11146" id="linearGradient11162" gradientUnits="userSpaceOnUse" x1="16.5" y1="686.50714" x2="6" y2="697"/>
+ <linearGradient inkscape:collect="always" xlink:href="#linearGradient11146" id="linearGradient11184" gradientUnits="userSpaceOnUse" x1="16.5" y1="686.50714" x2="6" y2="697" gradientTransform="translate(231,-399.00712)"/>
+
+ <linearGradient inkscape:collect="always" xlink:href="#linearGradient11146" id="linearGradient11190" gradientUnits="userSpaceOnUse" gradientTransform="translate(21)" x1="16.5" y1="686.50714" x2="6" y2="697"/>
+
+ <linearGradient inkscape:collect="always" xlink:href="#linearGradient11146" id="linearGradient11196" gradientUnits="userSpaceOnUse" gradientTransform="translate(42)" x1="16.5" y1="686.50714" x2="6" y2="697"/>
+
+
+
+
+
+
+ <radialGradient inkscape:collect="always" xlink:href="#linearGradient16595" id="radialGradient21517-3" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.891843,0,0,0.909224,-173.10957,172.3592)" cx="350.5" cy="14.5" fx="350.5" fy="14.5" r="6.9000001"/>
+ <linearGradient inkscape:collect="always" xlink:href="#linearGradient11146" id="linearGradient31019" gradientUnits="userSpaceOnUse" gradientTransform="rotate(-45,271.82331,-251.06972)" x1="85.548706" y1="100.22395" x2="85.347076" y2="113.09817"/>
+ <linearGradient id="linearGradient30958">
+ <stop id="stop30960" offset="0" style="stop-color:#fff9cf;stop-opacity:1;"/>
+ <stop id="stop30962" offset="1" style="stop-color:#c7bc52;stop-opacity:1;"/>
+ </linearGradient>
+ <linearGradient inkscape:collect="always" xlink:href="#linearGradient18495" id="linearGradient14207" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0,-0.9569715,-1,0,322,353.18743)" x1="347.6467" y1="216.75188" x2="345.98633" y2="243.92201"/>
+ <linearGradient gradientTransform="matrix(-1,0,0,1,194,-21)" inkscape:collect="always" xlink:href="#linearGradient35411" id="linearGradient35446-0" gradientUnits="userSpaceOnUse" x1="31" y1="60.000004" x2="34" y2="54.000004"/>
+ <linearGradient inkscape:collect="always" xlink:href="#linearGradient11146" id="linearGradient14238" gradientUnits="userSpaceOnUse" x1="132" y1="120.4313" x2="93.029579" y2="78.9655"/>
+ <linearGradient inkscape:collect="always" xlink:href="#linearGradient319" id="linearGradient14413" gradientUnits="userSpaceOnUse" x1="132" y1="120.4313" x2="93.029579" y2="78.9655" gradientTransform="translate(-5e-8,-7.9962027e-6)"/>
+ <linearGradient inkscape:collect="always" xlink:href="#linearGradient319" id="linearGradient14478" gradientUnits="userSpaceOnUse" gradientTransform="translate(0,-8e-6)" x1="132" y1="120.4313" x2="93.029579" y2="78.9655"/>
+ <linearGradient inkscape:collect="always" xlink:href="#linearGradient319" id="linearGradient13559" gradientUnits="userSpaceOnUse" gradientTransform="translate(-1.0000001e-7,-8.5e-6)" x1="132" y1="120.4313" x2="93.029579" y2="78.9655"/>
+ <linearGradient inkscape:collect="always" xlink:href="#linearGradient319" id="linearGradient14293" gradientUnits="userSpaceOnUse" x1="132" y1="120.4313" x2="93.029579" y2="78.9655"/>
+ <radialGradient id="radialGradient16824-1" cx="20.892099" cy="64.567902" r="5.257" fx="20.892099" fy="64.567902" gradientUnits="userSpaceOnUse">
+ <stop offset="0" style="stop-color:#b7b7b7;stop-opacity:1;" id="stop16826-5"/>
+ <stop id="stop16828-2" style="stop-color:#646464;stop-opacity:1;" offset="0.50338405"/>
+ <stop offset="1" style="stop-color:#b7b7b7;stop-opacity:1;" id="stop16830-7"/>
</radialGradient>
- <linearGradient
- id="linearGradient16850-5">
- <stop
- style="stop-color:#e9e9e9;stop-opacity:0;"
- offset="0"
- id="stop16852-5" />
- <stop
- id="stop16854-1"
- offset="0.38177863"
- style="stop-color:#e9e9e9;stop-opacity:1;" />
- <stop
- style="stop-color:#e9e9e9;stop-opacity:0;"
- offset="1"
- id="stop16856-7" />
- </linearGradient>
- <linearGradient
- id="linearGradient20756-2-8">
- <stop
- style="stop-color:#00327d;stop-opacity:1;"
- offset="0"
- id="stop20758-7-8" />
- <stop
- style="stop-color:#65a1fb;stop-opacity:1;"
- offset="1"
- id="stop20760-7-2" />
- </linearGradient>
- <linearGradient
- id="linearGradient43009-7">
- <stop
- style="stop-color:#e9e9e9;stop-opacity:1;"
- offset="0"
- id="stop43011-4" />
- <stop
- id="stop16834-0"
- offset="0.30847755"
- style="stop-color:#e9e9e9;stop-opacity:0.49803922;" />
- <stop
- style="stop-color:#e9e9e9;stop-opacity:0;"
- offset="1"
- id="stop43013-9" />
- </linearGradient>
- <mask
- maskUnits="userSpaceOnUse"
- id="mask13041">
- <rect
- style="display:inline;overflow:visible;visibility:visible;fill:url(#linearGradient13046);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.80000001;marker:none;enable-background:accumulate"
- id="rect13043"
- width="7"
- height="8"
- x="276"
- y="-12" />
- </mask>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient16595"
- id="linearGradient13046"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(360,-161.99999)"
- x1="-80"
- y1="151"
- x2="-80"
- y2="152.24998" />
- <mask
- maskUnits="userSpaceOnUse"
- id="mask13052">
- <rect
- y="4.0625"
- x="276"
- height="8"
- width="7"
- id="rect13054"
- style="display:inline;overflow:visible;visibility:visible;fill:url(#linearGradient13056);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.80000001;marker:none;enable-background:accumulate"
- transform="scale(1,-1)" />
- </mask>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient16595"
- id="linearGradient13056"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(360,-145.93749)"
- x1="-80"
- y1="151"
- x2="-80"
- y2="152.24998" />
- <linearGradient
- id="linearGradient18344">
- <stop
- style="stop-color:#6c6c6c;stop-opacity:1;"
- offset="0"
- id="stop18346" />
- <stop
- style="stop-color:#f0f0f0;stop-opacity:1;"
- offset="1"
- id="stop18348" />
- </linearGradient>
- <clipPath
- clipPathUnits="userSpaceOnUse"
- id="clipPath17188">
- <path
- inkscape:connector-curvature="0"
- style="display:inline;overflow:visible;visibility:visible;fill:#d3d7cf;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.80000001;marker:none;enable-background:accumulate"
- d="m 240.5,-19.90625 c -1.87005,0 -3.40625,1.536202 -3.40625,3.40625 v 2 c 0,1.87005 1.53621,3.40625 3.40625,3.40625 v -2.8125 c -0.33932,0 -0.59375,-0.254431 -0.59375,-0.59375 v -2 c 0,-0.339319 0.25443,-0.59375 0.59375,-0.59375 z"
- id="path17190-4" />
- </clipPath>
- <clipPath
- id="clipPath13106-5-7"
- clipPathUnits="userSpaceOnUse">
- <path
- inkscape:connector-curvature="0"
- inkscape:export-ydpi="90"
- inkscape:export-xdpi="90"
- inkscape:export-filename="C:\Documents and Settings\Tata\Pulpit\BLENDER ICONSET\Kopia blender\.blender\icons\jendrzych's iconset.png"
- sodipodi:nodetypes="cccccc"
- id="path34850-6-6-0"
- d="m 125.5,433.5 h 23 v 41 h -33 v -31 z"
- style="display:inline;fill:url(#linearGradient13110);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;marker:none" />
- </clipPath>
- <clipPath
- id="clipPath13484"
- clipPathUnits="userSpaceOnUse">
- <path
- inkscape:connector-curvature="0"
- inkscape:export-ydpi="90"
- inkscape:export-xdpi="90"
- inkscape:export-filename="C:\Documents and Settings\Tata\Pulpit\BLENDER ICONSET\Kopia blender\.blender\icons\jendrzych's iconset.png"
- sodipodi:nodetypes="cccccc"
- id="path13482"
- d="m 125.5,433.5 h 23 v 41 h -33 v -31 z"
- style="display:inline;fill:url(#linearGradient13110);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;marker:none" />
- </clipPath>
- <clipPath
- id="clipPath13106-9-2-9-9-4-8"
- clipPathUnits="userSpaceOnUse">
- <path
- inkscape:export-ydpi="90"
- inkscape:export-xdpi="90"
- inkscape:export-filename="C:\Documents and Settings\Tata\Pulpit\BLENDER ICONSET\Kopia blender\.blender\icons\jendrzych's iconset.png"
- sodipodi:nodetypes="cccccc"
- id="path34850-4-7-0-4-0-5"
- d="m 125.5,433.5 h 23 v 41 h -33 v -31 z"
- style="display:inline;fill:url(#linearGradient13110);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;marker:none"
- inkscape:connector-curvature="0" />
- </clipPath>
- <clipPath
- id="clipPath13526"
- clipPathUnits="userSpaceOnUse">
- <path
- inkscape:export-ydpi="90"
- inkscape:export-xdpi="90"
- inkscape:export-filename="C:\Documents and Settings\Tata\Pulpit\BLENDER ICONSET\Kopia blender\.blender\icons\jendrzych's iconset.png"
- sodipodi:nodetypes="cccccc"
- id="path13524"
- d="m 125.5,433.5 h 23 v 41 h -33 v -31 z"
- style="display:inline;fill:url(#linearGradient13110);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;marker:none"
- inkscape:connector-curvature="0" />
- </clipPath>
- <filter
- style="color-interpolation-filters:sRGB"
- inkscape:label="Drop Shadow"
- id="filter6146-3"
- x="-0.30000001"
- width="1.35"
- y="-0.15000001"
- height="1.4">
- <feFlood
- flood-opacity="0.40000000000000002"
- flood-color="rgb(0,0,0)"
- result="flood"
- id="feFlood6148-3" />
- <feComposite
- in="flood"
- in2="SourceGraphic"
- operator="in"
- result="composite1"
- id="feComposite6150-7" />
- <feGaussianBlur
- in="composite1"
- stdDeviation="1.5"
- result="blur"
- id="feGaussianBlur6152-3" />
- <feOffset
- dx="-2"
- dy="2"
- result="offset"
- id="feOffset6154-2" />
- <feComposite
- in="SourceGraphic"
- in2="offset"
- operator="over"
- result="composite2"
- id="feComposite6156-7" />
+ <linearGradient id="linearGradient16850-5">
+ <stop style="stop-color:#e9e9e9;stop-opacity:0;" offset="0" id="stop16852-5"/>
+ <stop id="stop16854-1" offset="0.38177863" style="stop-color:#e9e9e9;stop-opacity:1;"/>
+ <stop style="stop-color:#e9e9e9;stop-opacity:0;" offset="1" id="stop16856-7"/>
+ </linearGradient>
+ <linearGradient id="linearGradient20756-2-8">
+ <stop style="stop-color:#00327d;stop-opacity:1;" offset="0" id="stop20758-7-8"/>
+ <stop style="stop-color:#65a1fb;stop-opacity:1;" offset="1" id="stop20760-7-2"/>
+ </linearGradient>
+ <linearGradient id="linearGradient43009-7">
+ <stop style="stop-color:#e9e9e9;stop-opacity:1;" offset="0" id="stop43011-4"/>
+ <stop id="stop16834-0" offset="0.30847755" style="stop-color:#e9e9e9;stop-opacity:0.49803922;"/>
+ <stop style="stop-color:#e9e9e9;stop-opacity:0;" offset="1" id="stop43013-9"/>
+ </linearGradient>
+
+ <linearGradient inkscape:collect="always" xlink:href="#linearGradient16595" id="linearGradient13046" gradientUnits="userSpaceOnUse" gradientTransform="translate(360,-161.99999)" x1="-80" y1="151" x2="-80" y2="152.24998"/>
+
+ <linearGradient inkscape:collect="always" xlink:href="#linearGradient16595" id="linearGradient13056" gradientUnits="userSpaceOnUse" gradientTransform="translate(360,-145.93749)" x1="-80" y1="151" x2="-80" y2="152.24998"/>
+ <linearGradient id="linearGradient18344">
+ <stop style="stop-color:#6c6c6c;stop-opacity:1;" offset="0" id="stop18346"/>
+ <stop style="stop-color:#f0f0f0;stop-opacity:1;" offset="1" id="stop18348"/>
+ </linearGradient>
+
+
+
+
+
+ <filter style="color-interpolation-filters:sRGB" inkscape:label="Drop Shadow" id="filter6146-3" x="-0.30000001" width="1.35" y="-0.15000001" height="1.4">
+
+
+ <feGaussianBlur in="composite1" stdDeviation="1.5" result="blur" id="feGaussianBlur6152-3"/>
+
+
</filter>
- <filter
- style="color-interpolation-filters:sRGB"
- inkscape:label="Drop Shadow"
- id="filter6078-7"
- x="-0.30000001"
- width="1.35"
- height="1.4"
- y="-0.15000001">
- <feFlood
- flood-opacity="0.40000000000000002"
- flood-color="rgb(0,0,0)"
- result="flood"
- id="feFlood6080-2" />
- <feComposite
- in="flood"
- in2="SourceGraphic"
- operator="in"
- result="composite1"
- id="feComposite6082-8" />
- <feGaussianBlur
- in="composite1"
- stdDeviation="1.5"
- result="blur"
- id="feGaussianBlur6084-6" />
- <feOffset
- dx="-2"
- dy="2"
- result="offset"
- id="feOffset6086-4" />
- <feComposite
- in="SourceGraphic"
- in2="offset"
- operator="over"
- result="composite2"
- id="feComposite6088-9" />
+ <filter style="color-interpolation-filters:sRGB" inkscape:label="Drop Shadow" id="filter6078-7" x="-0.30000001" width="1.35" height="1.4" y="-0.15000001">
+
+
+ <feGaussianBlur in="composite1" stdDeviation="1.5" result="blur" id="feGaussianBlur6084-6"/>
+
+
</filter>
- <clipPath
- id="clipPath13106-7-0"
- clipPathUnits="userSpaceOnUse">
- <path
- inkscape:connector-curvature="0"
- inkscape:export-ydpi="90"
- inkscape:export-xdpi="90"
- inkscape:export-filename="C:\Documents and Settings\Tata\Pulpit\BLENDER ICONSET\Kopia blender\.blender\icons\jendrzych's iconset.png"
- sodipodi:nodetypes="cccccc"
- id="path34850-1-9"
- d="m 125.5,433.5 h 23 v 41 h -33 v -31 z"
- style="display:inline;fill:url(#linearGradient13110);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;marker:none" />
- </clipPath>
- <clipPath
- id="clipPath13716"
- clipPathUnits="userSpaceOnUse">
- <path
- inkscape:connector-curvature="0"
- inkscape:export-ydpi="90"
- inkscape:export-xdpi="90"
- inkscape:export-filename="C:\Documents and Settings\Tata\Pulpit\BLENDER ICONSET\Kopia blender\.blender\icons\jendrzych's iconset.png"
- sodipodi:nodetypes="cccccc"
- id="path13714"
- d="m 125.5,433.5 h 23 v 41 h -33 v -31 z"
- style="display:inline;fill:url(#linearGradient13110);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;marker:none" />
- </clipPath>
- <clipPath
- id="clipPath13753"
- clipPathUnits="userSpaceOnUse">
- <path
- inkscape:connector-curvature="0"
- inkscape:export-ydpi="90"
- inkscape:export-xdpi="90"
- inkscape:export-filename="C:\Documents and Settings\Tata\Pulpit\BLENDER ICONSET\Kopia blender\.blender\icons\jendrzych's iconset.png"
- sodipodi:nodetypes="cccccc"
- id="path13751"
- d="m 125.5,433.5 h 23 v 41 h -33 v -31 z"
- style="display:inline;fill:url(#linearGradient13110);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;marker:none" />
- </clipPath>
- <clipPath
- id="clipPath13768"
- clipPathUnits="userSpaceOnUse">
- <path
- inkscape:connector-curvature="0"
- inkscape:export-ydpi="90"
- inkscape:export-xdpi="90"
- inkscape:export-filename="C:\Documents and Settings\Tata\Pulpit\BLENDER ICONSET\Kopia blender\.blender\icons\jendrzych's iconset.png"
- sodipodi:nodetypes="cccccc"
- id="path13766"
- d="m 125.5,433.5 h 23 v 41 h -33 v -31 z"
- style="display:inline;fill:url(#linearGradient13110);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;marker:none" />
- </clipPath>
- <clipPath
- id="clipPath23877-4-8"
- clipPathUnits="userSpaceOnUse">
- <rect
- style="display:inline;overflow:visible;visibility:visible;fill:#ff0000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.80000001;marker:none;enable-background:accumulate"
- id="rect23879-6-5"
- width="15"
- height="6"
- x="952"
- y="-540"
- transform="scale(1,-1)" />
- </clipPath>
- <clipPath
- id="clipPath13803"
- clipPathUnits="userSpaceOnUse">
- <path
- inkscape:connector-curvature="0"
- inkscape:export-ydpi="90"
- inkscape:export-xdpi="90"
- inkscape:export-filename="C:\Documents and Settings\Tata\Pulpit\BLENDER ICONSET\Kopia blender\.blender\icons\jendrzych's iconset.png"
- sodipodi:nodetypes="cccccc"
- id="path13801"
- d="m 125.5,433.5 h 23 v 41 h -33 v -31 z"
- style="display:inline;fill:url(#linearGradient13110);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;marker:none" />
- </clipPath>
- <clipPath
- id="clipPath13818"
- clipPathUnits="userSpaceOnUse">
- <path
- inkscape:connector-curvature="0"
- inkscape:export-ydpi="90"
- inkscape:export-xdpi="90"
- inkscape:export-filename="C:\Documents and Settings\Tata\Pulpit\BLENDER ICONSET\Kopia blender\.blender\icons\jendrzych's iconset.png"
- sodipodi:nodetypes="cccccc"
- id="path13816-7"
- d="m 125.5,433.5 h 23 v 41 h -33 v -31 z"
- style="display:inline;fill:url(#linearGradient13110);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;marker:none" />
- </clipPath>
- <clipPath
- id="clipPath20586-3-3"
- clipPathUnits="userSpaceOnUse">
- <ellipse
- ry="2.25"
- rx="4.5"
- cy="554"
- cx="53"
- transform="matrix(1.870472,0.1894819,-0.6587894,2.4281336,319.59052,-798.11661)"
- id="path34889-5-5"
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;enable-background:accumulate" />
- </clipPath>
- <clipPath
- id="clipPath13830"
- clipPathUnits="userSpaceOnUse">
- <ellipse
- ry="2.25"
- rx="4.5"
- cy="554"
- cx="53"
- transform="matrix(1.870472,0.1894819,-0.6587894,2.4281336,319.59052,-798.11661)"
- id="ellipse13828"
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;enable-background:accumulate" />
- </clipPath>
- <clipPath
- id="clipPath13845"
- clipPathUnits="userSpaceOnUse">
- <path
- inkscape:connector-curvature="0"
- inkscape:export-ydpi="90"
- inkscape:export-xdpi="90"
- inkscape:export-filename="C:\Documents and Settings\Tata\Pulpit\BLENDER ICONSET\Kopia blender\.blender\icons\jendrzych's iconset.png"
- sodipodi:nodetypes="cccccc"
- id="path13843"
- d="m 125.5,433.5 h 23 v 41 h -33 v -31 z"
- style="display:inline;fill:url(#linearGradient13110);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;marker:none" />
- </clipPath>
- <clipPath
- id="clipPath13860"
- clipPathUnits="userSpaceOnUse">
- <path
- inkscape:connector-curvature="0"
- inkscape:export-ydpi="90"
- inkscape:export-xdpi="90"
- inkscape:export-filename="C:\Documents and Settings\Tata\Pulpit\BLENDER ICONSET\Kopia blender\.blender\icons\jendrzych's iconset.png"
- sodipodi:nodetypes="cccccc"
- id="path13858"
- d="m 125.5,433.5 h 23 v 41 h -33 v -31 z"
- style="display:inline;fill:url(#linearGradient13110);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;marker:none" />
- </clipPath>
- <clipPath
- id="clipPath13875"
- clipPathUnits="userSpaceOnUse">
- <path
- inkscape:connector-curvature="0"
- inkscape:export-ydpi="90"
- inkscape:export-xdpi="90"
- inkscape:export-filename="C:\Documents and Settings\Tata\Pulpit\BLENDER ICONSET\Kopia blender\.blender\icons\jendrzych's iconset.png"
- sodipodi:nodetypes="cccccc"
- id="path13873"
- d="m 125.5,433.5 h 23 v 41 h -33 v -31 z"
- style="display:inline;fill:url(#linearGradient13110);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;marker:none" />
- </clipPath>
- <clipPath
- id="clipPath13890"
- clipPathUnits="userSpaceOnUse">
- <path
- inkscape:connector-curvature="0"
- inkscape:export-ydpi="90"
- inkscape:export-xdpi="90"
- inkscape:export-filename="C:\Documents and Settings\Tata\Pulpit\BLENDER ICONSET\Kopia blender\.blender\icons\jendrzych's iconset.png"
- sodipodi:nodetypes="cccccc"
- id="path13888"
- d="m 125.5,433.5 h 23 v 41 h -33 v -31 z"
- style="display:inline;fill:url(#linearGradient13110);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;marker:none" />
- </clipPath>
- <radialGradient
- gradientUnits="userSpaceOnUse"
- fy="114.5684"
- fx="20.892099"
- r="5.256"
- cy="114.5684"
- cx="20.892099"
- id="aigrd2-3-0">
- <stop
- id="stop15566-9-5"
- style="stop-color:#F0F0F0"
- offset="0" />
- <stop
- id="stop15568-7-7"
- style="stop-color:#9a9a9a;stop-opacity:1.0000000;"
- offset="1.0000000" />
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <radialGradient gradientUnits="userSpaceOnUse" fy="114.5684" fx="20.892099" r="5.256" cy="114.5684" cx="20.892099" id="aigrd2-3-0">
+ <stop id="stop15566-9-5" style="stop-color:#F0F0F0" offset="0"/>
+ <stop id="stop15568-7-7" style="stop-color:#9a9a9a;stop-opacity:1.0000000;" offset="1.0000000"/>
</radialGradient>
- <radialGradient
- gradientUnits="userSpaceOnUse"
- fy="114.5684"
- fx="20.892099"
- r="5.256"
- cy="114.5684"
- cx="20.892099"
- id="radialGradient13905">
- <stop
- id="stop13901"
- style="stop-color:#F0F0F0"
- offset="0" />
- <stop
- id="stop13903"
- style="stop-color:#9a9a9a;stop-opacity:1.0000000;"
- offset="1.0000000" />
+ <radialGradient gradientUnits="userSpaceOnUse" fy="114.5684" fx="20.892099" r="5.256" cy="114.5684" cx="20.892099" id="radialGradient13905">
+ <stop id="stop13901" style="stop-color:#F0F0F0" offset="0"/>
+ <stop id="stop13903" style="stop-color:#9a9a9a;stop-opacity:1.0000000;" offset="1.0000000"/>
</radialGradient>
- <clipPath
- id="clipPath13916"
- clipPathUnits="userSpaceOnUse">
- <path
- inkscape:connector-curvature="0"
- inkscape:export-ydpi="90"
- inkscape:export-xdpi="90"
- inkscape:export-filename="C:\Documents and Settings\Tata\Pulpit\BLENDER ICONSET\Kopia blender\.blender\icons\jendrzych's iconset.png"
- sodipodi:nodetypes="cccccc"
- id="path13914"
- d="m 125.5,433.5 h 23 v 41 h -33 v -31 z"
- style="display:inline;fill:url(#linearGradient13110);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;marker:none" />
- </clipPath>
- <clipPath
- id="clipPath13931"
- clipPathUnits="userSpaceOnUse">
- <path
- inkscape:connector-curvature="0"
- inkscape:export-ydpi="90"
- inkscape:export-xdpi="90"
- inkscape:export-filename="C:\Documents and Settings\Tata\Pulpit\BLENDER ICONSET\Kopia blender\.blender\icons\jendrzych's iconset.png"
- sodipodi:nodetypes="cccccc"
- id="path13929-3"
- d="m 125.5,433.5 h 23 v 41 h -33 v -31 z"
- style="display:inline;fill:url(#linearGradient13110);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;marker:none" />
- </clipPath>
- <clipPath
- id="clipPath13946"
- clipPathUnits="userSpaceOnUse">
- <path
- inkscape:connector-curvature="0"
- inkscape:export-ydpi="90"
- inkscape:export-xdpi="90"
- inkscape:export-filename="C:\Documents and Settings\Tata\Pulpit\BLENDER ICONSET\Kopia blender\.blender\icons\jendrzych's iconset.png"
- sodipodi:nodetypes="cccccc"
- id="path13944"
- d="m 125.5,433.5 h 23 v 41 h -33 v -31 z"
- style="display:inline;fill:url(#linearGradient13110);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;marker:none" />
- </clipPath>
- <clipPath
- id="clipPath13961"
- clipPathUnits="userSpaceOnUse">
- <path
- inkscape:connector-curvature="0"
- inkscape:export-ydpi="90"
- inkscape:export-xdpi="90"
- inkscape:export-filename="C:\Documents and Settings\Tata\Pulpit\BLENDER ICONSET\Kopia blender\.blender\icons\jendrzych's iconset.png"
- sodipodi:nodetypes="cccccc"
- id="path13959"
- d="m 125.5,433.5 h 23 v 41 h -33 v -31 z"
- style="display:inline;fill:url(#linearGradient13110);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;marker:none" />
- </clipPath>
- <mask
- maskUnits="userSpaceOnUse"
- id="mask29801-1">
- <rect
- style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:0.35;fill:url(#radialGradient29805-5);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.71217775;marker:none;enable-background:new"
- id="rect29803-5"
- width="15"
- height="16"
- x="204"
- y="257" />
- </mask>
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient16595"
- id="radialGradient29805-5"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.94105289,0.01178942,-0.01073736,0.8570756,238.4669,249.70522)"
- cx="-30.028414"
- cy="19.425121"
- fx="-30.028414"
- fy="19.425121"
- r="7" />
- <mask
- maskUnits="userSpaceOnUse"
- id="mask40306-1">
- <path
- inkscape:connector-curvature="0"
- id="path40308-8"
- d="m 195,11.00001 v 14 h 0.5 l 13.5,-13.5 v -0.5 z"
- style="fill:#ffffff;fill-rule:evenodd;stroke:none"
- sodipodi:nodetypes="cccccc" />
- </mask>
- <mask
- maskUnits="userSpaceOnUse"
- id="mask17570-5">
- <path
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="cccc"
- style="fill:#ffffff;fill-rule:evenodd;stroke:none"
- d="m -44,358 v 14 l 14,-14 z"
- id="path17572-2" />
- </mask>
- <linearGradient
- id="linearGradient17555">
- <stop
- style="stop-color:#000000;stop-opacity:0.49803922;"
- offset="0"
- id="stop17557" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0.49803922;"
- offset="1"
- id="stop17559" />
- </linearGradient>
- <linearGradient
- id="linearGradient17549">
- <stop
- id="stop17551"
- offset="0"
- style="stop-color:#7f7f7f;stop-opacity:1;" />
- <stop
- id="stop17553"
- offset="1"
- style="stop-color:#7f7f7f;stop-opacity:0;" />
- </linearGradient>
- <linearGradient
- id="linearGradient40455-7-1-6-0">
- <stop
- id="stop40457-6-6-8-7"
- offset="0"
- style="stop-color:#fff991;stop-opacity:1;" />
- <stop
- id="stop40459-1-8-7-9"
- offset="1"
- style="stop-color:#fffbb9;stop-opacity:0;" />
- </linearGradient>
- <linearGradient
- id="linearGradient14829">
- <stop
- id="stop14831"
- offset="0"
- style="stop-color:#000000;stop-opacity:1;" />
- <stop
- id="stop14833"
- offset="1"
- style="stop-color:#757575;stop-opacity:1;" />
- </linearGradient>
- <linearGradient
- id="linearGradient14605">
- <stop
- style="stop-color:#ffffff;stop-opacity:0.56485355;"
- offset="0"
- id="stop14607" />
- <stop
- style="stop-color:#fffffe;stop-opacity:0;"
- offset="1"
- id="stop14609" />
- </linearGradient>
- <clipPath
- clipPathUnits="userSpaceOnUse"
- id="clipPath22590-7">
- <rect
- style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.20000005;marker:none;enable-background:accumulate"
- id="rect22592-5-0"
- width="12"
- height="14"
- x="-30"
- y="490.00012" />
- </clipPath>
- <linearGradient
- id="linearGradient10069-9-7-5-4-6-5-0-3-6">
- <stop
- style="stop-color:#252525;stop-opacity:1"
- offset="0"
- id="stop10071-5-4-58-5-9-1-2-1-9" />
- <stop
- style="stop-color:#000000;stop-opacity:0;"
- offset="1"
- id="stop10073-43-0-4-0-8-0-4-9-3" />
- </linearGradient>
- <radialGradient
- id="radialGradient16142-7-6"
- cx="20.892099"
- cy="64.567902"
- r="5.257"
- fx="20.892099"
- fy="64.567902"
- gradientUnits="userSpaceOnUse">
- <stop
- offset="0"
- style="stop-color:#F0F0F0"
- id="stop16144-4-6" />
- <stop
- offset="1"
- style="stop-color:#474747"
- id="stop16146-0-8" />
+
+
+
+
+
+ <radialGradient inkscape:collect="always" xlink:href="#linearGradient16595" id="radialGradient29805-5" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.94105289,0.01178942,-0.01073736,0.8570756,238.4669,249.70522)" cx="-30.028414" cy="19.425121" fx="-30.028414" fy="19.425121" r="7"/>
+
+
+ <linearGradient id="linearGradient17555">
+ <stop style="stop-color:#000000;stop-opacity:0.49803922;" offset="0" id="stop17557"/>
+ <stop style="stop-color:#ffffff;stop-opacity:0.49803922;" offset="1" id="stop17559"/>
+ </linearGradient>
+ <linearGradient id="linearGradient17549">
+ <stop id="stop17551" offset="0" style="stop-color:#7f7f7f;stop-opacity:1;"/>
+ <stop id="stop17553" offset="1" style="stop-color:#7f7f7f;stop-opacity:0;"/>
+ </linearGradient>
+ <linearGradient id="linearGradient40455-7-1-6-0">
+ <stop id="stop40457-6-6-8-7" offset="0" style="stop-color:#fff991;stop-opacity:1;"/>
+ <stop id="stop40459-1-8-7-9" offset="1" style="stop-color:#fffbb9;stop-opacity:0;"/>
+ </linearGradient>
+ <linearGradient id="linearGradient14829">
+ <stop id="stop14831" offset="0" style="stop-color:#000000;stop-opacity:1;"/>
+ <stop id="stop14833" offset="1" style="stop-color:#757575;stop-opacity:1;"/>
+ </linearGradient>
+ <linearGradient id="linearGradient14605">
+ <stop style="stop-color:#ffffff;stop-opacity:0.56485355;" offset="0" id="stop14607"/>
+ <stop style="stop-color:#fffffe;stop-opacity:0;" offset="1" id="stop14609"/>
+ </linearGradient>
+
+ <linearGradient id="linearGradient10069-9-7-5-4-6-5-0-3-6">
+ <stop style="stop-color:#252525;stop-opacity:1" offset="0" id="stop10071-5-4-58-5-9-1-2-1-9"/>
+ <stop style="stop-color:#000000;stop-opacity:0;" offset="1" id="stop10073-43-0-4-0-8-0-4-9-3"/>
+ </linearGradient>
+ <radialGradient id="radialGradient16142-7-6" cx="20.892099" cy="64.567902" r="5.257" fx="20.892099" fy="64.567902" gradientUnits="userSpaceOnUse">
+ <stop offset="0" style="stop-color:#F0F0F0" id="stop16144-4-6"/>
+ <stop offset="1" style="stop-color:#474747" id="stop16146-0-8"/>
</radialGradient>
- <clipPath
- clipPathUnits="userSpaceOnUse"
- id="clipPath50172-0-6">
- <path
- inkscape:connector-curvature="0"
- id="path50174-8-6"
- d="m -177.34375,498 a 1.001098,1.001098 0 1 0 0.0937,2 h 3.65625 l -4.25,5.9375 a 1.0001,1.0001 0 0 0 -0.1875,0.59375 v 0.5 a 1.0001,1.0001 0 0 0 1,1 L -171.75,508 a 1.0001,1.0001 0 1 0 0,-2 l -3.6875,0.0312 4.25,-5.9375 A 1.0001,1.0001 0 0 0 -171,499.5 V 499 a 1.0001,1.0001 0 0 0 -1,-1 h -5.25 a 1.0001,1.0001 0 0 0 -0.0937,0 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:'Bitstream Vera Sans';-inkscape-font-specification:'Bitstream Vera Sans';text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-anchor:start;display:inline;overflow:visible;visibility:visible;fill:#ff0000;fill-opacity:1;stroke:none;stroke-width:2;marker:none;enable-background:accumulate" />
- </clipPath>
- <radialGradient
- gradientUnits="userSpaceOnUse"
- fy="64.567902"
- fx="20.892099"
- r="5.257"
- cy="64.567902"
- cx="20.892099"
- id="radialGradient16142">
- <stop
- id="stop16144"
- style="stop-color:#F0F0F0"
- offset="0" />
- <stop
- id="stop16146"
- style="stop-color:#474747"
- offset="1" />
+
+ <radialGradient gradientUnits="userSpaceOnUse" fy="64.567902" fx="20.892099" r="5.257" cy="64.567902" cx="20.892099" id="radialGradient16142">
+ <stop id="stop16144" style="stop-color:#F0F0F0" offset="0"/>
+ <stop id="stop16146" style="stop-color:#474747" offset="1"/>
</radialGradient>
- <clipPath
- clipPathUnits="userSpaceOnUse"
- id="clipPath22590">
- <rect
- style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.20000005;marker:none;enable-background:accumulate"
- id="rect22592"
- width="12"
- height="14"
- x="-30"
- y="490.00012" />
- </clipPath>
- <clipPath
- clipPathUnits="userSpaceOnUse"
- id="clipPath20586">
- <ellipse
- ry="2.25"
- rx="4.5"
- cy="554"
- cx="53"
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;enable-background:accumulate"
- id="path34889"
- transform="matrix(1.870472,0.1894819,-0.6587894,2.4281336,319.59052,-798.11661)" />
- </clipPath>
- <mask
- maskUnits="userSpaceOnUse"
- id="mask23591">
- <rect
- mask="none"
- style="display:inline;overflow:visible;visibility:visible;fill:url(#linearGradient23595);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- id="rect23593"
- width="11"
- height="14"
- x="30"
- y="768" />
- </mask>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient16595"
- id="linearGradient23595"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1,0,0,1.1666667,-737,357.33333)"
- x1="771.0965"
- y1="354.28479"
- x2="772"
- y2="358.85715" />
- <linearGradient
- id="linearGradient23647">
- <stop
- style="stop-color:white;stop-opacity:1;"
- offset="0"
- id="stop23649" />
- <stop
- style="stop-color:black;stop-opacity:1;"
- offset="1"
- id="stop23651" />
- </linearGradient>
- <linearGradient
- id="linearGradient48327-1">
- <stop
- style="stop-color:black;stop-opacity:0;"
- offset="0"
- id="stop48329-23" />
- <stop
- style="stop-color:black;stop-opacity:1;"
- offset="1"
- id="stop48331-3" />
- </linearGradient>
- <linearGradient
- id="linearGradient15425-4-9-8">
- <stop
- style="stop-color:#960000;stop-opacity:1;"
- offset="0"
- id="stop15427-5-8-24" />
- <stop
- style="stop-color:#c80000;stop-opacity:0;"
- offset="1"
- id="stop15429-8-2-5" />
- </linearGradient>
- <mask
- maskUnits="userSpaceOnUse"
- id="mask13041-1">
- <rect
- style="display:inline;overflow:visible;visibility:visible;fill:url(#linearGradient13046);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.80000001;marker:none;enable-background:accumulate"
- id="rect13043-7"
- width="7"
- height="8"
- x="276"
- y="-12" />
- </mask>
- <mask
- maskUnits="userSpaceOnUse"
- id="mask13052-5">
- <rect
- y="4.0625"
- x="276"
- height="8"
- width="7"
- id="rect13054-4"
- style="display:inline;overflow:visible;visibility:visible;fill:url(#linearGradient13056);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.80000001;marker:none;enable-background:accumulate"
- transform="scale(1,-1)" />
- </mask>
- <clipPath
- clipPathUnits="userSpaceOnUse"
- id="clipPath17188-1">
- <path
- inkscape:connector-curvature="0"
- style="display:inline;overflow:visible;visibility:visible;fill:#d3d7cf;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.80000001;marker:none;enable-background:accumulate"
- d="m 240.5,-19.90625 c -1.87005,0 -3.40625,1.536202 -3.40625,3.40625 v 2 c 0,1.87005 1.53621,3.40625 3.40625,3.40625 v -2.8125 c -0.33932,0 -0.59375,-0.254431 -0.59375,-0.59375 v -2 c 0,-0.339319 0.25443,-0.59375 0.59375,-0.59375 z"
- id="path17190-3" />
- </clipPath>
- <mask
- maskUnits="userSpaceOnUse"
- id="mask18666-3">
- <rect
- y="6"
- x="62.921577"
- height="14.000001"
- width="15.098035"
- id="rect18668-3"
- style="display:inline;overflow:visible;visibility:visible;fill:url(#linearGradient18670);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.5;marker:none;enable-background:accumulate" />
- </mask>
- <clipPath
- clipPathUnits="userSpaceOnUse"
- id="clipPath40897">
- <rect
- y="198"
- x="-41"
- height="16"
- width="15"
- id="rect40899"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.45;fill:#80b3ff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3.29999995;marker:none;enable-background:accumulate"
- transform="scale(-1,1)" />
- </clipPath>
- <clipPath
- clipPathUnits="userSpaceOnUse"
- id="clipPath40902">
- <rect
- y="197"
- x="-22"
- height="17"
- width="15"
- id="rect40904"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.45;fill:#80b3ff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3.29999995;marker:none;enable-background:accumulate"
- transform="scale(-1,1)" />
- </clipPath>
- <mask
- maskUnits="userSpaceOnUse"
- id="mask25561">
- <g
- transform="translate(-21,-21)"
- id="g25563">
- <path
- inkscape:connector-curvature="0"
- inkscape:transform-center-x="4"
- sodipodi:nodetypes="cccc"
- id="path25565"
- d="m 341,302 8,8 -8,8 z"
- style="fill:url(#linearGradient25573);fill-rule:evenodd;stroke:none" />
- <path
- inkscape:connector-curvature="0"
- style="fill:url(#linearGradient25575);fill-rule:evenodd;stroke:none"
- d="m 357,302 -8,8 -8,-8 z"
- id="path25567"
- sodipodi:nodetypes="cccc"
- inkscape:transform-center-y="-4" />
- <path
- inkscape:connector-curvature="0"
- style="fill:url(#linearGradient25577);fill-rule:evenodd;stroke:none"
- d="m 357,318 -8,-8 8,-8 z"
- id="path25569"
- sodipodi:nodetypes="cccc"
- inkscape:transform-center-x="-4" />
- <path
- inkscape:connector-curvature="0"
- style="fill:url(#linearGradient25579);fill-rule:evenodd;stroke:none"
- d="m 341,318 8,-8 8,8 z"
- id="path25571"
- sodipodi:nodetypes="cccc"
- inkscape:transform-center-y="4" />
- </g>
- </mask>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient16595"
- id="linearGradient25573"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-1,21)"
- x1="342"
- y1="288.5"
- x2="344.01321"
- y2="288.5" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient16595"
- id="linearGradient25575"
- gradientUnits="userSpaceOnUse"
- gradientTransform="rotate(90,339,299)"
- x1="342"
- y1="288.5"
- x2="344.5"
- y2="288.5" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient16595"
- id="linearGradient25577"
- gradientUnits="userSpaceOnUse"
- gradientTransform="rotate(180,349.5,299.5)"
- x1="342"
- y1="288.5"
- x2="344.5"
- y2="288.5" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient16595"
- id="linearGradient25579"
- gradientUnits="userSpaceOnUse"
- gradientTransform="rotate(-90,360,300)"
- x1="342"
- y1="288.5"
- x2="344.5"
- y2="288.5" />
- <mask
- maskUnits="userSpaceOnUse"
- id="mask25369-8">
- <g
- id="g25371-1"
- transform="translate(-21,-21)">
- <path
- inkscape:connector-curvature="0"
- style="fill:url(#linearGradient25381);fill-rule:evenodd;stroke:none"
- d="m 341,302 8,8 -8,8 z"
- id="path25373-3"
- sodipodi:nodetypes="cccc"
- inkscape:transform-center-x="4" />
- <path
- inkscape:connector-curvature="0"
- inkscape:transform-center-y="-4"
- sodipodi:nodetypes="cccc"
- id="path25375-1"
- d="m 357,302 -8,8 -8,-8 z"
- style="fill:url(#linearGradient25575);fill-rule:evenodd;stroke:none" />
- <path
- inkscape:connector-curvature="0"
- inkscape:transform-center-x="-4"
- sodipodi:nodetypes="cccc"
- id="path25377-7"
- d="m 357,318 -8,-8 8,-8 z"
- style="fill:url(#linearGradient25577);fill-rule:evenodd;stroke:none" />
- <path
- inkscape:connector-curvature="0"
- inkscape:transform-center-y="4"
- sodipodi:nodetypes="cccc"
- id="path25379-8"
- d="m 341,318 8,-8 8,8 z"
- style="fill:url(#linearGradient25579);fill-rule:evenodd;stroke:none" />
- </g>
- </mask>
- <linearGradient
- id="linearGradient31356">
- <stop
- id="stop31358"
- offset="0"
- style="stop-color:#1a1a1a;stop-opacity:1" />
- <stop
- id="stop31360"
- offset="1"
- style="stop-color:#1a1a1a;stop-opacity:0;" />
- </linearGradient>
- <clipPath
- clipPathUnits="userSpaceOnUse"
- id="clipPath42711-8-1-7">
- <rect
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;marker:none;enable-background:accumulate"
- id="rect42713-4-3-0"
- width="8.7252884"
- height="17.464855"
- x="127.4093"
- y="214.76154" />
- </clipPath>
- <clipPath
- clipPathUnits="userSpaceOnUse"
- id="clipPath42711-8">
- <rect
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;marker:none;enable-background:accumulate"
- id="rect42713-6"
- width="8.7252884"
- height="17.464855"
- x="127.4093"
- y="214.76154" />
- </clipPath>
- <clipPath
- clipPathUnits="userSpaceOnUse"
- id="clipPath28964-6">
- <path
- inkscape:connector-curvature="0"
- inkscape:export-ydpi="90"
- inkscape:export-xdpi="90"
- inkscape:export-filename="C:\Documents and Settings\Tata\Pulpit\4.png"
- sodipodi:nodetypes="ccccc"
- style="display:inline;fill:url(#linearGradient28968);fill-opacity:1;fill-rule:evenodd;stroke:none;enable-background:new"
- d="m 117.50984,228.63415 v -15.01646 l 11.71735,5.49383 v 15.38271 z"
- id="path28966-9" />
- </clipPath>
- <mask
- maskUnits="userSpaceOnUse"
- id="mask29419-2">
- <path
- inkscape:connector-curvature="0"
- id="path29422-4"
- d="m 117.50984,229.00041 v -15.38272 l 11.71735,5.49383 v 15.74897 z"
- style="display:inline;opacity:0.5;fill:url(#linearGradient29424);fill-opacity:1;fill-rule:evenodd;stroke:none;enable-background:new"
- sodipodi:nodetypes="ccccc"
- inkscape:export-filename="C:\Documents and Settings\Tata\Pulpit\4.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90" />
- </mask>
- <clipPath
- clipPathUnits="userSpaceOnUse"
- id="clipPath45147">
- <path
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="ccccccccccccccccccccccc"
- id="path45149"
- d="m 5,261 h 13 v 1 h -1 v 1 h 1 v 1 h -1 v 1 h -1 v 2 h 2 v -1 h 1 v -1 h 1 v 1 h 1 v -1 h 1 v 13 H 5 Z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.2;fill:#3771c8;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.0999999;marker:none;enable-background:accumulate" />
- </clipPath>
- <clipPath
- clipPathUnits="userSpaceOnUse"
- id="clipPath24168-2">
- <path
- inkscape:connector-curvature="0"
- style="fill:#808080;fill-rule:evenodd;stroke:none"
- d="m 134.27489,222.11125 c -3.9249,-6.46418 -7.61892,6.46419 -11.54381,0 v 0 h -1.61614 v 8.77283 h 14.77608 v -8.77283 z"
- id="path24170-0"
- sodipodi:nodetypes="cccccccc" />
- </clipPath>
- <linearGradient
- gradientUnits="userSpaceOnUse"
- y2="91.058184"
- x2="56.916232"
- y1="91.058184"
- x1="45.115946"
- gradientTransform="matrix(0.99964634,0,0,1.0003538,-3.0966264e-8,-3.9490267e-6)"
- id="linearGradient23512">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop23508" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop23510" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient17073"
- id="linearGradient23615"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.728189,0,0,1.727271,-142.53857,-4.802156)"
- x1="110.16959"
- y1="57.061836"
- x2="117.55341"
- y2="64.995972" />
- <mask
- maskUnits="userSpaceOnUse"
- id="mask52637-8-8-5">
- <rect
- mask="none"
- style="display:inline;overflow:visible;visibility:visible;fill:url(#radialGradient52641-2-8-6);fill-opacity:1;stroke:none;stroke-width:2.79999995;marker:none;enable-background:accumulate"
- id="rect52639-8-9-0"
- width="7.9918551"
- height="8.9366941"
- x="-354"
- y="458"
- rx="0"
- ry="0" />
- </mask>
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient16595"
- id="radialGradient52641-2-8-6"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.39420438,-0.08239205,0.27256031,1.3040635,-361.27885,-161.73915)"
- cx="-302.79681"
- cy="462.0358"
- fx="-302.79681"
- fy="462.0358"
- r="8" />
- <mask
- maskUnits="userSpaceOnUse"
- id="mask52879-0-5-1">
- <rect
- mask="none"
- style="display:inline;overflow:visible;visibility:visible;fill:url(#radialGradient52883-6-8-3);fill-opacity:1;stroke:none;stroke-width:2.79999995;marker:none;enable-background:accumulate"
- id="rect52881-7-3-3"
- width="7.9918551"
- height="8.9366941"
- x="-354.95001"
- y="458"
- rx="0"
- ry="0" />
- </mask>
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient16595"
- id="radialGradient52883-6-8-3"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.39420438,-0.08239205,0.27256031,1.3040635,-362.22886,-161.73912)"
- cx="-302.79681"
- cy="462.0358"
- fx="-302.79681"
- fy="462.0358"
- r="8" />
- <clipPath
- clipPathUnits="userSpaceOnUse"
- id="clipPath15455-4">
- <rect
- style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#d8d8d8;fill-opacity:1;stroke:none;stroke-width:1.20000005;marker:none;enable-background:new"
- id="rect15457-68"
- width="16"
- height="16"
- x="301.96045"
- y="236.91833" />
- </clipPath>
- <mask
- maskUnits="userSpaceOnUse"
- id="mask15700-40">
- <path
- style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1.20000005;marker:none;filter:url(#filter15613-7);enable-background:new"
- d="m 302.9292,245.91834 -2.4375,-1.125 -0.53125,-9.84375 19.95312,-0.0469 0.0156,9.95313 -2.9375,1.09375 v 5.96875 h -14 z"
- id="path15702-9"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="ccccccccc" />
- </mask>
- <filter
- style="color-interpolation-filters:sRGB"
- inkscape:collect="always"
- id="filter15613-7"
- x="-0.092011765"
- width="1.1840235"
- y="-0.097762503"
- height="1.1955251">
- <feGaussianBlur
- inkscape:collect="always"
- stdDeviation="0.65175"
- id="feGaussianBlur15615-4" />
+
+
+
+ <linearGradient inkscape:collect="always" xlink:href="#linearGradient16595" id="linearGradient23595" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1,0,0,1.1666667,-737,357.33333)" x1="771.0965" y1="354.28479" x2="772" y2="358.85715"/>
+ <linearGradient id="linearGradient23647">
+ <stop style="stop-color:white;stop-opacity:1;" offset="0" id="stop23649"/>
+ <stop style="stop-color:black;stop-opacity:1;" offset="1" id="stop23651"/>
+ </linearGradient>
+ <linearGradient id="linearGradient48327-1">
+ <stop style="stop-color:black;stop-opacity:0;" offset="0" id="stop48329-23"/>
+ <stop style="stop-color:black;stop-opacity:1;" offset="1" id="stop48331-3"/>
+ </linearGradient>
+ <linearGradient id="linearGradient15425-4-9-8">
+ <stop style="stop-color:#960000;stop-opacity:1;" offset="0" id="stop15427-5-8-24"/>
+ <stop style="stop-color:#c80000;stop-opacity:0;" offset="1" id="stop15429-8-2-5"/>
+ </linearGradient>
+
+
+
+
+
+
+
+ <linearGradient inkscape:collect="always" xlink:href="#linearGradient16595" id="linearGradient25573" gradientUnits="userSpaceOnUse" gradientTransform="translate(-1,21)" x1="342" y1="288.5" x2="344.01321" y2="288.5"/>
+ <linearGradient inkscape:collect="always" xlink:href="#linearGradient16595" id="linearGradient25575" gradientUnits="userSpaceOnUse" gradientTransform="rotate(90,339,299)" x1="342" y1="288.5" x2="344.5" y2="288.5"/>
+ <linearGradient inkscape:collect="always" xlink:href="#linearGradient16595" id="linearGradient25577" gradientUnits="userSpaceOnUse" gradientTransform="rotate(180,349.5,299.5)" x1="342" y1="288.5" x2="344.5" y2="288.5"/>
+ <linearGradient inkscape:collect="always" xlink:href="#linearGradient16595" id="linearGradient25579" gradientUnits="userSpaceOnUse" gradientTransform="rotate(-90,360,300)" x1="342" y1="288.5" x2="344.5" y2="288.5"/>
+
+ <linearGradient id="linearGradient31356">
+ <stop id="stop31358" offset="0" style="stop-color:#1a1a1a;stop-opacity:1"/>
+ <stop id="stop31360" offset="1" style="stop-color:#1a1a1a;stop-opacity:0;"/>
+ </linearGradient>
+
+
+
+
+
+
+ <linearGradient gradientUnits="userSpaceOnUse" y2="91.058184" x2="56.916232" y1="91.058184" x1="45.115946" gradientTransform="matrix(0.99964634,0,0,1.0003538,-3.0966264e-8,-3.9490267e-6)" id="linearGradient23512">
+ <stop style="stop-color:#ffffff;stop-opacity:1;" offset="0" id="stop23508"/>
+ <stop style="stop-color:#ffffff;stop-opacity:0;" offset="1" id="stop23510"/>
+ </linearGradient>
+ <linearGradient inkscape:collect="always" xlink:href="#linearGradient17073" id="linearGradient23615" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1.728189,0,0,1.727271,-142.53857,-4.802156)" x1="110.16959" y1="57.061836" x2="117.55341" y2="64.995972"/>
+
+ <radialGradient inkscape:collect="always" xlink:href="#linearGradient16595" id="radialGradient52641-2-8-6" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.39420438,-0.08239205,0.27256031,1.3040635,-361.27885,-161.73915)" cx="-302.79681" cy="462.0358" fx="-302.79681" fy="462.0358" r="8"/>
+
+ <radialGradient inkscape:collect="always" xlink:href="#linearGradient16595" id="radialGradient52883-6-8-3" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.39420438,-0.08239205,0.27256031,1.3040635,-362.22886,-161.73912)" cx="-302.79681" cy="462.0358" fx="-302.79681" fy="462.0358" r="8"/>
+
+
+ <filter style="color-interpolation-filters:sRGB" inkscape:collect="always" id="filter15613-7" x="-0.092011765" width="1.1840235" y="-0.097762503" height="1.1955251">
+ <feGaussianBlur inkscape:collect="always" stdDeviation="0.65175" id="feGaussianBlur15615-4"/>
</filter>
- <clipPath
- clipPathUnits="userSpaceOnUse"
- id="clipPath15455-9-6">
- <rect
- style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#d8d8d8;fill-opacity:1;stroke:none;stroke-width:1.20000005;marker:none;enable-background:new"
- id="rect15457-6-0"
- width="16"
- height="16"
- x="301.96045"
- y="236.91833" />
- </clipPath>
- <mask
- maskUnits="userSpaceOnUse"
- id="mask15700-4-5">
- <path
- style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1.20000005;marker:none;filter:url(#filter15613-8-8);enable-background:new"
- d="m 302.9292,245.91834 -2.4375,-1.125 -0.53125,-9.84375 19.95312,-0.0469 0.0156,9.95313 -2.9375,1.09375 v 5.96875 h -14 z"
- id="path15702-5-7"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="ccccccccc" />
- </mask>
- <filter
- style="color-interpolation-filters:sRGB"
- inkscape:collect="always"
- id="filter15613-8-8"
- x="-0.092011765"
- width="1.1840235"
- y="-0.097762503"
- height="1.1955251">
- <feGaussianBlur
- inkscape:collect="always"
- stdDeviation="0.65175"
- id="feGaussianBlur15615-1-5" />
+
+
+ <filter style="color-interpolation-filters:sRGB" inkscape:collect="always" id="filter15613-8-8" x="-0.092011765" width="1.1840235" y="-0.097762503" height="1.1955251">
+ <feGaussianBlur inkscape:collect="always" stdDeviation="0.65175" id="feGaussianBlur15615-1-5"/>
</filter>
- <filter
- style="color-interpolation-filters:sRGB"
- inkscape:label="Greyscale"
- id="filter15388-0">
- <feColorMatrix
- values="0.21 0.72 0.072 0 0 0.21 0.72 0.072 0 0 0.21 0.72 0.072 0 0 0 0 0 1 0 "
- id="feColorMatrix15390-7"
- result="fbSourceGraphic" />
- <feColorMatrix
- result="fbSourceGraphicAlpha"
- in="fbSourceGraphic"
- values="0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0"
- id="feColorMatrix15392-5" />
- <feColorMatrix
- id="feColorMatrix15394-7"
- values="0.21 0.72 0.072 0 0 0.21 0.72 0.072 0 0 0.21 0.72 0.072 0 0 0 0 0 1 0 "
- in="fbSourceGraphic" />
+ <filter style="color-interpolation-filters:sRGB" inkscape:label="Greyscale" id="filter15388-0">
+
+
+
</filter>
- <filter
- inkscape:label="Opacity"
- style="color-interpolation-filters:sRGB"
- id="filter17385-7">
- <feColorMatrix
- values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 5 -1 "
- result="colormatrix"
- id="feColorMatrix17387-2" />
- <feComposite
- k4="0"
- k3="0"
- k1="0"
- in2="colormatrix"
- operator="arithmetic"
- k2="0.24"
- result="composite"
- id="feComposite17389-3" />
+ <filter inkscape:label="Opacity" style="color-interpolation-filters:sRGB" id="filter17385-7">
+
+
</filter>
- <mask
- maskUnits="userSpaceOnUse"
- id="mask43050-6-3">
- <rect
- y="-122"
- x="-24"
- height="14"
- width="16"
- id="rect43052-3-0"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.5;fill:url(#linearGradient43054-6);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.79999995;marker:none;enable-background:accumulate" />
- </mask>
- <mask
- maskUnits="userSpaceOnUse"
- id="mask48816-8-2">
- <rect
- y="-84"
- x="-44"
- height="14"
- width="13"
- id="rect48818-4-9"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.85;fill:url(#radialGradient48820-9-2);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.89999998;marker:none;enable-background:new" />
- </mask>
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient16595"
- id="radialGradient48820-9-2"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1,0,0,1.0769231,0,5.9230769)"
- cx="-31"
- cy="-83.5"
- fx="-31"
- fy="-83.5"
- r="6.5" />
- <mask
- maskUnits="userSpaceOnUse"
- id="mask24835">
- <rect
- y="-84"
- x="-44"
- height="14"
- width="13"
- id="rect24833"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.85;fill:url(#radialGradient48820-9-2);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.89999998;marker:none;enable-background:new" />
- </mask>
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient16595"
- id="radialGradient24837"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1,0,0,1.0769231,0,5.9230769)"
- cx="-31"
- cy="-83.5"
- fx="-31"
- fy="-83.5"
- r="6.5" />
- <mask
- maskUnits="userSpaceOnUse"
- id="mask28585-8-0">
- <rect
- style="display:inline;overflow:visible;visibility:visible;opacity:0.85;fill:url(#radialGradient28589-9-2);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.89999998;marker:none;enable-background:new"
- id="rect28587-2-1"
- width="13"
- height="14"
- x="-44"
- y="-84" />
- </mask>
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient16595"
- id="radialGradient28589-9-2"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1,0,0,1.0769231,0,5.9230769)"
- cx="-30.28125"
- cy="-84.341515"
- fx="-30.28125"
- fy="-84.341515"
- r="6.5" />
- <mask
- maskUnits="userSpaceOnUse"
- id="mask43040-7-4">
- <rect
- style="display:inline;overflow:visible;visibility:visible;opacity:0.5;fill:url(#linearGradient43044-5);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.79999995;marker:none;enable-background:accumulate"
- id="rect43042-9-7"
- width="15"
- height="16"
- x="-45.04018"
- y="-24"
- rx="0"
- ry="0" />
- </mask>
- <mask
- maskUnits="userSpaceOnUse"
- id="mask45865-7-8">
- <g
- id="g45867-3-2"
- transform="translate(-14)">
- <path
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="cssssssc"
- id="path45869-7-4"
- d="m -25.801826,-135.3217 c -0.907684,-0.32824 -0.906457,-1.55361 -0.440107,-2.23642 0.834186,-1.22138 2.593738,-1.15244 3.63669,-0.26277 1.530569,1.30563 1.388406,3.6923 0.08107,5.09763 -1.742467,1.8731 -4.73519,1.65156 -6.47424,-0.0993 -2.188413,-2.20322 -1.889457,-5.85971 0.277965,-7.95885 2.625036,-2.54234 6.931515,-2.199 9.311783,0.46129 2.764074,3.08924 2.372937,7.82808 -0.06591,10.77438"
- style="display:inline;fill:none;stroke:#ffffff;stroke-width:3;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;enable-background:new"
- mask="none" />
- <path
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="cc"
- id="path45871-2-6"
- d="m -19.40866,-140.32008 c 2.764074,3.08924 2.372937,7.82808 -0.06591,10.77438"
- style="display:inline;fill:none;stroke:url(#linearGradient45875-0);stroke-width:3;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;enable-background:new" />
- <path
- inkscape:connector-curvature="0"
- mask="none"
- style="display:inline;fill:none;stroke:url(#radialGradient45877-1-9);stroke-width:3;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;enable-background:new"
- d="m -25.801826,-135.3217 c -0.907684,-0.32824 -0.906457,-1.55361 -0.440107,-2.23642 0.834186,-1.22138 2.593738,-1.15244 3.63669,-0.26277"
- id="path45873-6-5"
- sodipodi:nodetypes="css" />
- </g>
- </mask>
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient16595"
- id="radialGradient45877-1-9"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.1099414,-0.9422316,0.4519816,0.05273803,38.220416,-152.21215)"
- cx="-25.452209"
- cy="-136.46503"
- fx="-25.452209"
- fy="-136.46503"
- r="8.0066185" />
- <mask
- maskUnits="userSpaceOnUse"
- id="mask45447-7-9">
- <rect
- ry="0"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.8;fill:url(#radialGradient45451-2-8);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.80000001;marker:none;enable-background:accumulate"
- id="rect45449-4-7"
- width="15"
- height="15"
- x="216"
- y="366" />
- </mask>
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient16595"
- id="radialGradient45451-2-8"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1,0,0,0.9952162,167.99999,-60.91415)"
- cx="59.000011"
- cy="440.0191"
- fx="59.000011"
- fy="440.0191"
- r="6.5080619" />
- <clipPath
- clipPathUnits="userSpaceOnUse"
- id="clipPath43135-6-7">
- <path
- inkscape:connector-curvature="0"
- id="path43137-1-6"
- d="M -46,52 -30,36 H -46 Z"
- style="opacity:0.5;fill:#ffff00;fill-rule:evenodd;stroke:none" />
- </clipPath>
- <mask
- maskUnits="userSpaceOnUse"
- id="mask43188-4-7">
- <path
- inkscape:connector-curvature="0"
- style="opacity:0.5;fill:url(#linearGradient43192-3);fill-rule:evenodd;stroke:none"
- d="M -46,52 -30,36 H -46 Z"
- id="path43190-2-2" />
- </mask>
- <clipPath
- clipPathUnits="userSpaceOnUse"
- id="clipPath43178-6-7">
- <path
- inkscape:connector-curvature="0"
- style="opacity:0.5;fill:#ffff00;fill-rule:evenodd;stroke:none"
- d="m -30,36 h -1 l -15,15 v 1 h 16 z"
- id="path43180-8-7"
- sodipodi:nodetypes="cccccc" />
- </clipPath>
- <mask
- maskUnits="userSpaceOnUse"
- id="mask43182-5-7">
- <path
- inkscape:connector-curvature="0"
- id="path43184-7-3"
- d="m -46,52 v -1 l 15,-15 h 1 v 16 z"
- style="opacity:0.5;fill:url(#linearGradient43186-6);fill-rule:evenodd;stroke:none"
- sodipodi:nodetypes="cccccc" />
- </mask>
- <clipPath
- clipPathUnits="userSpaceOnUse"
- id="clipPath25077">
- <path
- inkscape:connector-curvature="0"
- style="opacity:0.5;fill:#ffff00;fill-rule:evenodd;stroke:none"
- d="m -30,36 h -1 l -15,15 v 1 h 16 z"
- id="path25075"
- sodipodi:nodetypes="cccccc" />
- </clipPath>
- <mask
- maskUnits="userSpaceOnUse"
- id="mask25081">
- <path
- inkscape:connector-curvature="0"
- id="path25079"
- d="m -46,52 v -1 l 15,-15 h 1 v 16 z"
- style="opacity:0.5;fill:url(#linearGradient43186-6);fill-rule:evenodd;stroke:none"
- sodipodi:nodetypes="cccccc" />
- </mask>
- <clipPath
- clipPathUnits="userSpaceOnUse"
- id="clipPath25093">
- <path
- inkscape:connector-curvature="0"
- id="path25091"
- d="M -46,52 -30,36 H -46 Z"
- style="opacity:0.5;fill:#ffff00;fill-rule:evenodd;stroke:none" />
- </clipPath>
- <mask
- maskUnits="userSpaceOnUse"
- id="mask25097">
- <path
- inkscape:connector-curvature="0"
- style="opacity:0.5;fill:url(#linearGradient43192-3);fill-rule:evenodd;stroke:none"
- d="M -46,52 -30,36 H -46 Z"
- id="path25095" />
- </mask>
- <mask
- maskUnits="userSpaceOnUse"
- id="mask25021-4-6">
- <rect
- style="display:inline;overflow:visible;visibility:visible;fill:url(#radialGradient25025-8-0);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2.70000005;marker:none;enable-background:accumulate"
- id="rect25023-8-6"
- width="13"
- height="14"
- x="26"
- y="243" />
- </mask>
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient16595"
- id="radialGradient25025-8-0"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.8918342,0,0,0.8918344,-15.699877,27.900732)"
- cx="49"
- cy="254.64285"
- fx="49"
- fy="254.64285"
- r="6.5" />
- <clipPath
- clipPathUnits="userSpaceOnUse"
- id="clipPath31849">
- <path
- inkscape:connector-curvature="0"
- style="display:inline;overflow:visible;visibility:visible;fill:#ff0000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:5;marker:none;enable-background:accumulate"
- d="m 232.13187,93.950853 h 4.84276 l 4.23742,4.237465 v 4.842822 h -9.08018 v -9.080287 z"
- id="path31851"
- sodipodi:nodetypes="cccccc" />
- </clipPath>
- <mask
- maskUnits="userSpaceOnUse"
- id="mask31861">
- <circle
- r="11"
- cy="58"
- cx="202"
- style="display:inline;overflow:visible;visibility:visible;fill:url(#radialGradient31865);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- id="path31863" />
- </mask>
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient16595"
- id="radialGradient31865"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.986122,0,0,0.986122,2.8033684,0.804927)"
- cx="202"
- cy="58"
- fx="202"
- fy="58"
- r="7" />
- <mask
- maskUnits="userSpaceOnUse"
- id="mask25369-1-6">
- <g
- id="g25371-3-4"
- transform="translate(-21,-21)">
- <path
- inkscape:connector-curvature="0"
- style="fill:url(#linearGradient25381);fill-rule:evenodd;stroke:none"
- d="m 341,302 8,8 -8,8 z"
- id="path25373-1-0"
- sodipodi:nodetypes="cccc"
- inkscape:transform-center-x="4" />
- <path
- inkscape:connector-curvature="0"
- inkscape:transform-center-y="-4"
- sodipodi:nodetypes="cccc"
- id="path25375-1-0"
- d="m 357,302 -8,8 -8,-8 z"
- style="fill:url(#linearGradient25575);fill-rule:evenodd;stroke:none" />
- <path
- inkscape:connector-curvature="0"
- inkscape:transform-center-x="-4"
- sodipodi:nodetypes="cccc"
- id="path25377-0-4"
- d="m 357,318 -8,-8 8,-8 z"
- style="fill:url(#linearGradient25577);fill-rule:evenodd;stroke:none" />
- <path
- inkscape:connector-curvature="0"
- inkscape:transform-center-y="4"
- sodipodi:nodetypes="cccc"
- id="path25379-3-6"
- d="m 341,318 8,-8 8,8 z"
- style="fill:url(#linearGradient25579);fill-rule:evenodd;stroke:none" />
- </g>
- </mask>
- <mask
- maskUnits="userSpaceOnUse"
- id="mask25369-1">
- <g
- id="g25371-3"
- transform="translate(-21,-21)">
- <path
- inkscape:connector-curvature="0"
- style="fill:url(#linearGradient25381);fill-rule:evenodd;stroke:none"
- d="m 341,302 8,8 -8,8 z"
- id="path25373-1"
- sodipodi:nodetypes="cccc"
- inkscape:transform-center-x="4" />
- <path
- inkscape:connector-curvature="0"
- inkscape:transform-center-y="-4"
- sodipodi:nodetypes="cccc"
- id="path25375-1-2"
- d="m 357,302 -8,8 -8,-8 z"
- style="fill:url(#linearGradient25575);fill-rule:evenodd;stroke:none" />
- <path
- inkscape:connector-curvature="0"
- inkscape:transform-center-x="-4"
- sodipodi:nodetypes="cccc"
- id="path25377-0"
- d="m 357,318 -8,-8 8,-8 z"
- style="fill:url(#linearGradient25577);fill-rule:evenodd;stroke:none" />
- <path
- inkscape:connector-curvature="0"
- inkscape:transform-center-y="4"
- sodipodi:nodetypes="cccc"
- id="path25379-3"
- d="m 341,318 8,-8 8,8 z"
- style="fill:url(#linearGradient25579);fill-rule:evenodd;stroke:none" />
- </g>
- </mask>
- <linearGradient
- id="linearGradient23974-3-78-2">
- <stop
- id="stop23976-6-5-7"
- offset="0"
- style="stop-color:#a3a3a3;stop-opacity:1" />
- <stop
- id="stop23978-2-4-4"
- offset="1"
- style="stop-color:#ffffff;stop-opacity:1" />
- </linearGradient>
- <linearGradient
- id="linearGradient23705">
- <stop
- id="stop23707"
- offset="0"
- style="stop-color:#d4d2bf;stop-opacity:1;" />
- <stop
- id="stop23709"
- offset="1"
- style="stop-color:#857f5d;stop-opacity:1;" />
- </linearGradient>
- <linearGradient
- id="linearGradient24168">
- <stop
- id="stop24170"
- offset="0"
- style="stop-color:#182437;stop-opacity:1;" />
- <stop
- id="stop24172"
- offset="1"
- style="stop-color:#2b4163;stop-opacity:0;" />
- </linearGradient>
- <linearGradient
- id="linearGradient18906">
- <stop
- id="stop18904"
- offset="0"
- style="stop-color:#ffb36b;stop-opacity:1" />
- <stop
- style="stop-color:#ff982a;stop-opacity:1;"
- offset="0.6832175"
- id="stop18902" />
- <stop
- id="stop18900"
- offset="1"
- style="stop-color:#b45d00;stop-opacity:1;" />
- </linearGradient>
- <linearGradient
- id="linearGradient17438">
- <stop
- style="stop-color:#ff9f37;stop-opacity:1"
- offset="0"
- id="stop17440" />
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="1"
- id="stop17442" />
- </linearGradient>
- <linearGradient
- id="linearGradient17596">
- <stop
- style="stop-color:#ee7b00;stop-opacity:1"
- offset="0"
- id="stop17598" />
- <stop
- style="stop-color:#ffc280;stop-opacity:1"
- offset="1"
- id="stop17600" />
- </linearGradient>
- <linearGradient
- id="linearGradient17602">
- <stop
- id="stop17604"
- offset="0"
- style="stop-color:#592e00;stop-opacity:1" />
- <stop
- id="stop17606"
- offset="1"
- style="stop-color:#9e5200;stop-opacity:0.57431373" />
- </linearGradient>
- <linearGradient
- id="linearGradient37925">
- <stop
- id="stop37927"
- offset="0"
- style="stop-color:#e7cbab;stop-opacity:1;" />
- <stop
- id="stop37929"
- offset="1"
- style="stop-color:#af7333;stop-opacity:1;" />
- </linearGradient>
- <linearGradient
- id="linearGradient23906">
- <stop
- id="stop23908"
- offset="0"
- style="stop-color:#ff921d;stop-opacity:1;" />
- <stop
- id="stop23910"
- offset="1"
- style="stop-color:#ffa751;stop-opacity:0;" />
- </linearGradient>
- <linearGradient
- id="linearGradient24101">
- <stop
- style="stop-color:#643400;stop-opacity:1;"
- offset="0"
- id="stop24103" />
- <stop
- id="stop24105"
- offset="0.22606115"
- style="stop-color:#ed983d;stop-opacity:1;" />
- <stop
- style="stop-color:#fff0d5;stop-opacity:1;"
- offset="1"
- id="stop24107" />
- </linearGradient>
- <linearGradient
- id="linearGradient23302">
- <stop
- id="stop23304"
- offset="0"
- style="stop-color:#b45d00;stop-opacity:1;" />
- <stop
- style="stop-color:#ff982a;stop-opacity:1;"
- offset="0.39332664"
- id="stop23306" />
- <stop
- id="stop23308"
- offset="1"
- style="stop-color:#ffedd5;stop-opacity:1;" />
- </linearGradient>
- <linearGradient
- id="linearGradient24081">
- <stop
- id="stop24083"
- offset="0"
- style="stop-color:#b45d00;stop-opacity:1;" />
- <stop
- style="stop-color:#ff982a;stop-opacity:1;"
- offset="0.3167825"
- id="stop24085" />
- <stop
- id="stop24087"
- offset="1"
- style="stop-color:#ffedd5;stop-opacity:1;" />
- </linearGradient>
- <linearGradient
- id="linearGradient20324">
- <stop
- id="stop20326"
- offset="0"
- style="stop-color:#35241b;stop-opacity:1;" />
- <stop
- style="stop-color:#69390e;stop-opacity:0.8392157;"
- offset="0.17637014"
- id="stop20328" />
- <stop
- style="stop-color:#6c5b15;stop-opacity:0.67843139;"
- offset="0.35274029"
- id="stop20330" />
- <stop
- id="stop20332"
- offset="1"
- style="stop-color:#947b15;stop-opacity:0;" />
- </linearGradient>
- <linearGradient
- id="linearGradient35391">
- <stop
- id="stop35393"
- offset="0"
- style="stop-color:#322800;stop-opacity:1;" />
- <stop
- id="stop35395"
- offset="1"
- style="stop-color:#6e4800;stop-opacity:0;" />
- </linearGradient>
- <linearGradient
- id="linearGradient14219">
- <stop
- id="stop14221"
- offset="0"
- style="stop-color:#ff8605;stop-opacity:1;" />
- <stop
- id="stop14223"
- offset="1"
- style="stop-color:#9c6700;stop-opacity:0;" />
- </linearGradient>
- <mask
- maskUnits="userSpaceOnUse"
- id="mask43822-7-6">
- <rect
- y="208"
- x="754"
- height="9"
- width="12"
- id="rect43824-6-2"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.93999993;fill:url(#linearGradient43826);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:new" />
- </mask>
- <mask
- maskUnits="userSpaceOnUse"
- id="mask43822-5">
- <rect
- y="208"
- x="754"
- height="9"
- width="12"
- id="rect43824-61"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.93999993;fill:url(#linearGradient43826);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:new" />
- </mask>
- <mask
- maskUnits="userSpaceOnUse"
- id="mask43822-7">
- <rect
- y="208"
- x="754"
- height="9"
- width="12"
- id="rect43824-6"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.93999993;fill:url(#linearGradient43826);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:new" />
- </mask>
- <radialGradient
- id="radialGradient16824-1-2"
- cx="20.892099"
- cy="64.567902"
- r="5.257"
- fx="20.892099"
- fy="64.567902"
- gradientUnits="userSpaceOnUse">
- <stop
- offset="0"
- style="stop-color:#b7b7b7;stop-opacity:1;"
- id="stop16826-5-7" />
- <stop
- id="stop16828-2-0"
- style="stop-color:#646464;stop-opacity:1;"
- offset="0.50338405" />
- <stop
- offset="1"
- style="stop-color:#b7b7b7;stop-opacity:1;"
- id="stop16830-7-0" />
+
+
+ <radialGradient inkscape:collect="always" xlink:href="#linearGradient16595" id="radialGradient48820-9-2" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1,0,0,1.0769231,0,5.9230769)" cx="-31" cy="-83.5" fx="-31" fy="-83.5" r="6.5"/>
+
+ <radialGradient inkscape:collect="always" xlink:href="#linearGradient16595" id="radialGradient24837" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1,0,0,1.0769231,0,5.9230769)" cx="-31" cy="-83.5" fx="-31" fy="-83.5" r="6.5"/>
+
+ <radialGradient inkscape:collect="always" xlink:href="#linearGradient16595" id="radialGradient28589-9-2" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1,0,0,1.0769231,0,5.9230769)" cx="-30.28125" cy="-84.341515" fx="-30.28125" fy="-84.341515" r="6.5"/>
+
+
+ <radialGradient inkscape:collect="always" xlink:href="#linearGradient16595" id="radialGradient45877-1-9" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1099414,-0.9422316,0.4519816,0.05273803,38.220416,-152.21215)" cx="-25.452209" cy="-136.46503" fx="-25.452209" fy="-136.46503" r="8.0066185"/>
+
+ <radialGradient inkscape:collect="always" xlink:href="#linearGradient16595" id="radialGradient45451-2-8" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1,0,0,0.9952162,167.99999,-60.91415)" cx="59.000011" cy="440.0191" fx="59.000011" fy="440.0191" r="6.5080619"/>
+
+
+
+
+
+
+
+
+
+ <radialGradient inkscape:collect="always" xlink:href="#linearGradient16595" id="radialGradient25025-8-0" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.8918342,0,0,0.8918344,-15.699877,27.900732)" cx="49" cy="254.64285" fx="49" fy="254.64285" r="6.5"/>
+
+
+ <radialGradient inkscape:collect="always" xlink:href="#linearGradient16595" id="radialGradient31865" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.986122,0,0,0.986122,2.8033684,0.804927)" cx="202" cy="58" fx="202" fy="58" r="7"/>
+
+
+ <linearGradient id="linearGradient23974-3-78-2">
+ <stop id="stop23976-6-5-7" offset="0" style="stop-color:#a3a3a3;stop-opacity:1"/>
+ <stop id="stop23978-2-4-4" offset="1" style="stop-color:#ffffff;stop-opacity:1"/>
+ </linearGradient>
+ <linearGradient id="linearGradient23705">
+ <stop id="stop23707" offset="0" style="stop-color:#d4d2bf;stop-opacity:1;"/>
+ <stop id="stop23709" offset="1" style="stop-color:#857f5d;stop-opacity:1;"/>
+ </linearGradient>
+ <linearGradient id="linearGradient24168">
+ <stop id="stop24170" offset="0" style="stop-color:#182437;stop-opacity:1;"/>
+ <stop id="stop24172" offset="1" style="stop-color:#2b4163;stop-opacity:0;"/>
+ </linearGradient>
+ <linearGradient id="linearGradient18906">
+ <stop id="stop18904" offset="0" style="stop-color:#ffb36b;stop-opacity:1"/>
+ <stop style="stop-color:#ff982a;stop-opacity:1;" offset="0.6832175" id="stop18902"/>
+ <stop id="stop18900" offset="1" style="stop-color:#b45d00;stop-opacity:1;"/>
+ </linearGradient>
+ <linearGradient id="linearGradient17438">
+ <stop style="stop-color:#ff9f37;stop-opacity:1" offset="0" id="stop17440"/>
+ <stop style="stop-color:#ffffff;stop-opacity:1;" offset="1" id="stop17442"/>
+ </linearGradient>
+ <linearGradient id="linearGradient17596">
+ <stop style="stop-color:#ee7b00;stop-opacity:1" offset="0" id="stop17598"/>
+ <stop style="stop-color:#ffc280;stop-opacity:1" offset="1" id="stop17600"/>
+ </linearGradient>
+ <linearGradient id="linearGradient17602">
+ <stop id="stop17604" offset="0" style="stop-color:#592e00;stop-opacity:1"/>
+ <stop id="stop17606" offset="1" style="stop-color:#9e5200;stop-opacity:0.57431373"/>
+ </linearGradient>
+ <linearGradient id="linearGradient37925">
+ <stop id="stop37927" offset="0" style="stop-color:#e7cbab;stop-opacity:1;"/>
+ <stop id="stop37929" offset="1" style="stop-color:#af7333;stop-opacity:1;"/>
+ </linearGradient>
+ <linearGradient id="linearGradient23906">
+ <stop id="stop23908" offset="0" style="stop-color:#ff921d;stop-opacity:1;"/>
+ <stop id="stop23910" offset="1" style="stop-color:#ffa751;stop-opacity:0;"/>
+ </linearGradient>
+ <linearGradient id="linearGradient24101">
+ <stop style="stop-color:#643400;stop-opacity:1;" offset="0" id="stop24103"/>
+ <stop id="stop24105" offset="0.22606115" style="stop-color:#ed983d;stop-opacity:1;"/>
+ <stop style="stop-color:#fff0d5;stop-opacity:1;" offset="1" id="stop24107"/>
+ </linearGradient>
+ <linearGradient id="linearGradient23302">
+ <stop id="stop23304" offset="0" style="stop-color:#b45d00;stop-opacity:1;"/>
+ <stop style="stop-color:#ff982a;stop-opacity:1;" offset="0.39332664" id="stop23306"/>
+ <stop id="stop23308" offset="1" style="stop-color:#ffedd5;stop-opacity:1;"/>
+ </linearGradient>
+ <linearGradient id="linearGradient24081">
+ <stop id="stop24083" offset="0" style="stop-color:#b45d00;stop-opacity:1;"/>
+ <stop style="stop-color:#ff982a;stop-opacity:1;" offset="0.3167825" id="stop24085"/>
+ <stop id="stop24087" offset="1" style="stop-color:#ffedd5;stop-opacity:1;"/>
+ </linearGradient>
+ <linearGradient id="linearGradient20324">
+ <stop id="stop20326" offset="0" style="stop-color:#35241b;stop-opacity:1;"/>
+ <stop style="stop-color:#69390e;stop-opacity:0.8392157;" offset="0.17637014" id="stop20328"/>
+ <stop style="stop-color:#6c5b15;stop-opacity:0.67843139;" offset="0.35274029" id="stop20330"/>
+ <stop id="stop20332" offset="1" style="stop-color:#947b15;stop-opacity:0;"/>
+ </linearGradient>
+ <linearGradient id="linearGradient35391">
+ <stop id="stop35393" offset="0" style="stop-color:#322800;stop-opacity:1;"/>
+ <stop id="stop35395" offset="1" style="stop-color:#6e4800;stop-opacity:0;"/>
+ </linearGradient>
+ <linearGradient id="linearGradient14219">
+ <stop id="stop14221" offset="0" style="stop-color:#ff8605;stop-opacity:1;"/>
+ <stop id="stop14223" offset="1" style="stop-color:#9c6700;stop-opacity:0;"/>
+ </linearGradient>
+
+
+
+ <radialGradient id="radialGradient16824-1-2" cx="20.892099" cy="64.567902" r="5.257" fx="20.892099" fy="64.567902" gradientUnits="userSpaceOnUse">
+ <stop offset="0" style="stop-color:#b7b7b7;stop-opacity:1;" id="stop16826-5-7"/>
+ <stop id="stop16828-2-0" style="stop-color:#646464;stop-opacity:1;" offset="0.50338405"/>
+ <stop offset="1" style="stop-color:#b7b7b7;stop-opacity:1;" id="stop16830-7-0"/>
</radialGradient>
- <mask
- maskUnits="userSpaceOnUse"
- id="mask43822-9">
- <rect
- y="208"
- x="754"
- height="9"
- width="12"
- id="rect43824-4"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.93999993;fill:url(#linearGradient43826);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:new" />
- </mask>
- <clipPath
- clipPathUnits="userSpaceOnUse"
- id="clipPath43368-7-3">
- <rect
- style="display:inline;overflow:visible;visibility:visible;fill:#999999;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.79999995;marker:none;enable-background:accumulate"
- id="rect43370-1-6"
- width="16"
- height="16"
- x="-79"
- y="26" />
- </clipPath>
- <linearGradient
- id="linearGradient24143-0">
- <stop
- id="stop24145-0"
- offset="0"
- style="stop-color:#2c2c2c;stop-opacity:1;" />
- <stop
- style="stop-color:#b3b3b3;stop-opacity:1;"
- offset="0.5"
- id="stop24669-1" />
- <stop
- id="stop24147-4"
- offset="1"
- style="stop-color:#ffffff;stop-opacity:1;" />
- </linearGradient>
- <linearGradient
- id="linearGradient40809">
- <stop
- style="stop-color:#0059d7;stop-opacity:1;"
- offset="0"
- id="stop40811" />
- <stop
- style="stop-color:#b7d4ff;stop-opacity:1;"
- offset="1"
- id="stop40813" />
- </linearGradient>
- <linearGradient
- id="linearGradient38796-7-9">
- <stop
- style="stop-color:#fc9694;stop-opacity:1;"
- offset="0"
- id="stop38798-6-8" />
- <stop
- style="stop-color:#e71609;stop-opacity:1;"
- offset="1"
- id="stop38800-1-8" />
- </linearGradient>
- <clipPath
- clipPathUnits="userSpaceOnUse"
- id="clipPath43368-1">
- <rect
- style="display:inline;overflow:visible;visibility:visible;fill:#999999;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.79999995;marker:none;enable-background:accumulate"
- id="rect43370-7"
- width="16"
- height="16"
- x="-79"
- y="26" />
- </clipPath>
- <linearGradient
- id="linearGradient35407">
- <stop
- id="stop35409"
- offset="0"
- style="stop-color:#a17306;stop-opacity:1;" />
- <stop
- style="stop-color:#cca649;stop-opacity:1;"
- offset="0.43277758"
- id="stop35411" />
- <stop
- id="stop35413"
- offset="1"
- style="stop-color:#f9f5e9;stop-opacity:1;" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient16595"
- id="linearGradient14472"
- gradientUnits="userSpaceOnUse"
- x1="80.768944"
- y1="504.67188"
- x2="76.885078"
- y2="501.58331" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient11146"
- id="linearGradient14474"
- gradientUnits="userSpaceOnUse"
- x1="89.526657"
- y1="511.42972"
- x2="78.000008"
- y2="501.04794" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient11146"
- id="radialGradient14476"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.4624192,0,0,1.4467089,-36.975824,-224.99718)"
- cx="79.959885"
- cy="503.81497"
- fx="79.959885"
- fy="503.81497"
- r="2.9089756" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient14262"
- id="radialGradient14478"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.8886193,0.8021825,-0.8051059,0.8972684,411.80247,-8.668512)"
- cx="74.518959"
- cy="499.99969"
- fx="74.518959"
- fy="499.99969"
- r="3.1650217" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient11146"
- id="radialGradient28864"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.4624192,0,0,1.4467089,-36.975824,-224.99718)"
- cx="79.959885"
- cy="503.81497"
- fx="79.959885"
- fy="503.81497"
- r="2.9089756" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient14262"
- id="radialGradient28872"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.8886193,0.8021825,-0.8051059,0.8972684,411.80247,-8.668512)"
- cx="74.518959"
- cy="499.99969"
- fx="74.518959"
- fy="499.99969"
- r="3.1650217" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient11146"
- id="radialGradient28896"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.4624192,0,0,1.4467089,-36.975824,-224.99718)"
- cx="79.959885"
- cy="503.81497"
- fx="79.959885"
- fy="503.81497"
- r="2.9089756" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient14262"
- id="radialGradient28904"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.8886193,0.8021825,-0.8051059,0.8972684,411.80247,-8.668512)"
- cx="74.518959"
- cy="499.99969"
- fx="74.518959"
- fy="499.99969"
- r="3.1650217" />
- <mask
- maskUnits="userSpaceOnUse"
- id="mask43822-3">
- <rect
- y="208"
- x="754"
- height="9"
- width="12"
- id="rect43824-5"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.93999993;fill:url(#linearGradient43826);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:new" />
- </mask>
- <linearGradient
- id="linearGradient39080">
- <stop
- style="stop-color:#1a2a3d;stop-opacity:1;"
- offset="0"
- id="stop39082" />
- <stop
- id="stop39084"
- offset="0.5"
- style="stop-color:#95b0d1;stop-opacity:1;" />
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="1"
- id="stop39086" />
- </linearGradient>
- <linearGradient
- id="linearGradient37623">
- <stop
- id="stop37625"
- offset="0"
- style="stop-color:#e5e1ca;stop-opacity:1;" />
- <stop
- id="stop37627"
- offset="1"
- style="stop-color:#d6ca22;stop-opacity:0;" />
- </linearGradient>
- <linearGradient
- id="linearGradient19625">
- <stop
- id="stop19627"
- offset="0"
- style="stop-color:#2258a6;stop-opacity:1;" />
- <stop
- id="stop19629"
- offset="1"
- style="stop-color:#c1d7f8;stop-opacity:1;" />
- </linearGradient>
- <linearGradient
- id="linearGradient12678">
- <stop
- id="stop12680"
- offset="0"
- style="stop-color:#d40000;stop-opacity:1" />
- <stop
- id="stop12682"
- offset="1"
- style="stop-color:#000000;stop-opacity:0;" />
- </linearGradient>
- <linearGradient
- id="linearGradient71814">
- <stop
- style="stop-color:#6e0d00;stop-opacity:1;"
- offset="0"
- id="stop71816" />
- <stop
- style="stop-color:#6f2913;stop-opacity:0;"
- offset="1"
- id="stop71818" />
- </linearGradient>
- <mask
- maskUnits="userSpaceOnUse"
- id="mask57450-1">
- <rect
- y="154.99899"
- x="326.00305"
- height="15"
- width="15"
- id="rect57452-3"
- style="display:inline;overflow:visible;visibility:visible;fill:url(#linearGradient57454);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.80000001;marker:none;enable-background:accumulate" />
- </mask>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient16595"
- id="linearGradient57454"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(258.00306,-231.00101)"
- x1="75.25"
- y1="393.25"
- x2="73.5"
- y2="391.5" />
- <mask
- maskUnits="userSpaceOnUse"
- id="mask32294-8">
- <rect
- y="323"
- x="134"
- height="16"
- width="9"
- id="rect32296-9"
- style="display:inline;overflow:visible;visibility:visible;fill:url(#linearGradient32298);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;marker:none;enable-background:accumulate" />
- </mask>
- <mask
- maskUnits="userSpaceOnUse"
- id="mask57450">
- <rect
- y="154.99899"
- x="326.00305"
- height="15"
- width="15"
- id="rect57452"
- style="display:inline;overflow:visible;visibility:visible;fill:url(#linearGradient57454);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.80000001;marker:none;enable-background:accumulate" />
- </mask>
- <mask
- maskUnits="userSpaceOnUse"
- id="mask38474">
- <rect
- style="display:inline;overflow:visible;visibility:visible;fill:url(#linearGradient38478);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- id="rect38476"
- width="15"
- height="15"
- x="343.01611"
- y="174.99901" />
- </mask>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient16595"
- id="linearGradient38478"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(254.01612,-211.00101)"
- x1="96.824379"
- y1="393.90298"
- x2="94.246101"
- y2="391.21976" />
- <linearGradient
- id="linearGradient4138">
- <stop
- style="stop-color:#6c432f;stop-opacity:1;"
- offset="0"
- id="stop4140" />
- <stop
- style="stop-color:#c0966d;stop-opacity:1;"
- offset="1"
- id="stop4142" />
- </linearGradient>
- <linearGradient
- id="linearGradient38831">
- <stop
- style="stop-color:#182b42;stop-opacity:1;"
- offset="0"
- id="stop38833" />
- <stop
- id="stop38836"
- offset="0.38971797"
- style="stop-color:#598ac7;stop-opacity:1;" />
- <stop
- style="stop-color:#f1f1f1;stop-opacity:1;"
- offset="1"
- id="stop38838" />
- </linearGradient>
- <mask
- maskUnits="userSpaceOnUse"
- id="mask20957-5">
- <rect
- y="101"
- x="162"
- height="5"
- width="8"
- id="rect20959-8"
- style="display:inline;overflow:visible;visibility:visible;fill:url(#linearGradient20961);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.29999995;marker:none;enable-background:accumulate" />
- </mask>
- <linearGradient
- id="linearGradient18056">
- <stop
- id="stop18058"
- offset="0"
- style="stop-color:#162d50;stop-opacity:1" />
- <stop
- id="stop18060"
- offset="1"
- style="stop-color:#295498;stop-opacity:0.34057972;" />
- </linearGradient>
- <mask
- maskUnits="userSpaceOnUse"
- id="mask23189">
- <g
- transform="translate(-28,49)"
- id="g23193">
- <rect
- y="237"
- x="22"
- height="16"
- width="9"
- id="rect23195"
- style="display:inline;overflow:visible;visibility:visible;fill:url(#linearGradient23199);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.79999995;marker:none;enable-background:accumulate" />
- <rect
- transform="scale(-1,1)"
- style="display:inline;overflow:visible;visibility:visible;fill:url(#linearGradient23201);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.79999995;marker:none;enable-background:accumulate"
- id="rect23197"
- width="9"
- height="16"
- x="-38"
- y="237" />
- </g>
- </mask>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient16595"
- id="linearGradient23199"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-1)"
- x1="22.75"
- y1="245"
- x2="24.5"
- y2="245" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient16595"
- id="linearGradient23201"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-61)"
- x1="22.75"
- y1="245"
- x2="24.25"
- y2="245" />
- <linearGradient
- id="linearGradient24695">
- <stop
- style="stop-color:#3d361a;stop-opacity:1;"
- offset="0"
- id="stop24697" />
- <stop
- id="stop24699"
- offset="0.60401857"
- style="stop-color:#d1c595;stop-opacity:1;" />
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="1"
- id="stop24701" />
- </linearGradient>
- <linearGradient
- id="linearGradient22556">
- <stop
- id="stop22558"
- offset="0"
- style="stop-color:#6a9bef;stop-opacity:1" />
- <stop
- style="stop-color:#bccee8;stop-opacity:0.58450705;"
- offset="0.77941167"
- id="stop22568" />
- <stop
- id="stop22560"
- offset="1"
- style="stop-color:#ccdaed;stop-opacity:0;" />
- </linearGradient>
- <mask
- maskUnits="userSpaceOnUse"
- id="mask20957-7">
- <rect
- y="101"
- x="162"
- height="5"
- width="8"
- id="rect20959-85"
- style="display:inline;overflow:visible;visibility:visible;fill:url(#linearGradient20961);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.29999995;marker:none;enable-background:accumulate" />
- </mask>
- <linearGradient
- id="linearGradient4343-1-1-9-1">
- <stop
- id="stop4345-2-9-5-6"
- offset="0"
- style="stop-color:white;stop-opacity:1;" />
- <stop
- id="stop4347-1-5-5-1"
- offset="1"
- style="stop-color:#fff9f9;stop-opacity:0;" />
- </linearGradient>
- <mask
- maskUnits="userSpaceOnUse"
- id="mask38956-7">
- <rect
- style="display:inline;overflow:visible;visibility:visible;fill:url(#linearGradient38961);stroke:none;stroke-width:2.79999995;marker:none;enable-background:accumulate"
- id="rect38958-9"
- width="16"
- height="12"
- x="488"
- y="560"
- rx="0"
- ry="0" />
- </mask>
- <clipPath
- clipPathUnits="userSpaceOnUse"
- id="clipPath28964-6-5">
- <path
- inkscape:connector-curvature="0"
- inkscape:export-ydpi="90"
- inkscape:export-xdpi="90"
- inkscape:export-filename="C:\Documents and Settings\Tata\Pulpit\4.png"
- sodipodi:nodetypes="ccccc"
- style="display:inline;fill:url(#linearGradient28968);fill-opacity:1;fill-rule:evenodd;stroke:none;enable-background:new"
- d="m 117.50984,228.63415 v -15.01646 l 11.71735,5.49383 v 15.38271 z"
- id="path28966-9-9" />
- </clipPath>
- <mask
- maskUnits="userSpaceOnUse"
- id="mask29419-2-7">
- <path
- inkscape:connector-curvature="0"
- id="path29422-4-5"
- d="m 117.50984,229.00041 v -15.38272 l 11.71735,5.49383 v 15.74897 z"
- style="display:inline;opacity:0.5;fill:url(#linearGradient29424);fill-opacity:1;fill-rule:evenodd;stroke:none;enable-background:new"
- sodipodi:nodetypes="ccccc"
- inkscape:export-filename="C:\Documents and Settings\Tata\Pulpit\4.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90" />
- </mask>
- <clipPath
- clipPathUnits="userSpaceOnUse"
- id="clipPath24168-2-8">
- <path
- inkscape:connector-curvature="0"
- style="fill:#808080;fill-rule:evenodd;stroke:none"
- d="m 134.27489,222.11125 c -3.9249,-6.46418 -7.61892,6.46419 -11.54381,0 v 0 h -1.61614 v 8.77283 h 14.77608 v -8.77283 z"
- id="path24170-0-1"
- sodipodi:nodetypes="cccccccc" />
- </clipPath>
- <linearGradient
- gradientUnits="userSpaceOnUse"
- y2="91.058182"
- x2="56.916233"
- y1="91.058182"
- x1="45.115948"
- gradientTransform="matrix(0.99964634,0,0,1.0003538,-3.0966264e-8,-8.1179537e-6)"
- id="linearGradient23512-7">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop23508-4" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop23510-3" />
- </linearGradient>
- <clipPath
- clipPathUnits="userSpaceOnUse"
- id="clipPath42711-8-1-7-8">
- <rect
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;marker:none;enable-background:accumulate"
- id="rect42713-4-3-0-3"
- width="8.7252884"
- height="17.464855"
- x="127.4093"
- y="214.76154" />
- </clipPath>
- <clipPath
- clipPathUnits="userSpaceOnUse"
- id="clipPath42711-8-6">
- <rect
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;marker:none;enable-background:accumulate"
- id="rect42713-6-8"
- width="8.7252884"
- height="17.464855"
- x="127.4093"
- y="214.76154" />
- </clipPath>
- <mask
- maskUnits="userSpaceOnUse"
- id="mask43050-6-3-1">
- <rect
- y="-122"
- x="-24"
- height="14"
- width="16"
- id="rect43052-3-0-7"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.5;fill:url(#linearGradient43054-6);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.79999995;marker:none;enable-background:accumulate" />
- </mask>
- <mask
- maskUnits="userSpaceOnUse"
- id="mask48816-8-2-1">
- <rect
- y="-84"
- x="-44"
- height="14"
- width="13"
- id="rect48818-4-9-3"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.85;fill:url(#radialGradient48820-9-2-1);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.89999998;marker:none;enable-background:new" />
- </mask>
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient16595"
- id="radialGradient48820-9-2-1"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1,0,0,1.0769231,0,5.9230769)"
- cx="-31"
- cy="-83.5"
- fx="-31"
- fy="-83.5"
- r="6.5" />
- <mask
- maskUnits="userSpaceOnUse"
- id="mask55618">
- <rect
- y="-84"
- x="-44"
- height="14"
- width="13"
- id="rect55616"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.85;fill:url(#radialGradient48820-9-2-1);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.89999998;marker:none;enable-background:new" />
- </mask>
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient16595"
- id="radialGradient55620"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1,0,0,1.0769231,0,5.9230769)"
- cx="-31"
- cy="-83.5"
- fx="-31"
- fy="-83.5"
- r="6.5" />
- <mask
- maskUnits="userSpaceOnUse"
- id="mask28585-8-0-2">
- <rect
- style="display:inline;overflow:visible;visibility:visible;opacity:0.85;fill:url(#radialGradient28589-9-2-0);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.89999998;marker:none;enable-background:new"
- id="rect28587-2-1-4"
- width="13"
- height="14"
- x="-44"
- y="-84" />
- </mask>
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient16595"
- id="radialGradient28589-9-2-0"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1,0,0,1.0769231,0,5.9230769)"
- cx="-30.28125"
- cy="-84.341515"
- fx="-30.28125"
- fy="-84.341515"
- r="6.5" />
- <mask
- maskUnits="userSpaceOnUse"
- id="mask43040-7-4-4">
- <rect
- style="display:inline;overflow:visible;visibility:visible;opacity:0.5;fill:url(#linearGradient43044-5);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.79999995;marker:none;enable-background:accumulate"
- id="rect43042-9-7-6"
- width="15"
- height="16"
- x="-45.04018"
- y="-24"
- rx="0"
- ry="0" />
- </mask>
- <mask
- maskUnits="userSpaceOnUse"
- id="mask45865-7-8-2">
- <g
- id="g45867-3-2-8"
- transform="translate(-14)">
- <path
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="cssssssc"
- id="path45869-7-4-7"
- d="m -25.801826,-135.3217 c -0.907684,-0.32824 -0.906457,-1.55361 -0.440107,-2.23642 0.834186,-1.22138 2.593738,-1.15244 3.63669,-0.26277 1.530569,1.30563 1.388406,3.6923 0.08107,5.09763 -1.742467,1.8731 -4.73519,1.65156 -6.47424,-0.0993 -2.188413,-2.20322 -1.889457,-5.85971 0.277965,-7.95885 2.625036,-2.54234 6.931515,-2.199 9.311783,0.46129 2.764074,3.08924 2.372937,7.82808 -0.06591,10.77438"
- style="display:inline;fill:none;stroke:#ffffff;stroke-width:3;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;enable-background:new"
- mask="none" />
- <path
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="cc"
- id="path45871-2-6-9"
- d="m -19.40866,-140.32008 c 2.764074,3.08924 2.372937,7.82808 -0.06591,10.77438"
- style="display:inline;fill:none;stroke:url(#linearGradient45875-0);stroke-width:3;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;enable-background:new" />
- <path
- inkscape:connector-curvature="0"
- mask="none"
- style="display:inline;fill:none;stroke:url(#radialGradient45877-1-9-2);stroke-width:3;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;enable-background:new"
- d="m -25.801826,-135.3217 c -0.907684,-0.32824 -0.906457,-1.55361 -0.440107,-2.23642 0.834186,-1.22138 2.593738,-1.15244 3.63669,-0.26277"
- id="path45873-6-5-0"
- sodipodi:nodetypes="css" />
- </g>
- </mask>
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient16595"
- id="radialGradient45877-1-9-2"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.1099414,-0.9422316,0.4519816,0.05273803,38.220416,-152.21215)"
- cx="-25.452209"
- cy="-136.46503"
- fx="-25.452209"
- fy="-136.46503"
- r="8.0066185" />
- <mask
- maskUnits="userSpaceOnUse"
- id="mask45447-7-9-1">
- <rect
- ry="0"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.8;fill:url(#radialGradient45451-2-8-4);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.80000001;marker:none;enable-background:accumulate"
- id="rect45449-4-7-7"
- width="15"
- height="15"
- x="216"
- y="366" />
- </mask>
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient16595"
- id="radialGradient45451-2-8-4"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1,0,0,0.9952162,167.99999,-60.91415)"
- cx="59.000011"
- cy="440.0191"
- fx="59.000011"
- fy="440.0191"
- r="6.5080619" />
- <clipPath
- clipPathUnits="userSpaceOnUse"
- id="clipPath43135-6-7-4">
- <path
- inkscape:connector-curvature="0"
- id="path43137-1-6-7"
- d="M -46,52 -30,36 H -46 Z"
- style="opacity:0.5;fill:#ffff00;fill-rule:evenodd;stroke:none" />
- </clipPath>
- <mask
- maskUnits="userSpaceOnUse"
- id="mask43188-4-7-7">
- <path
- inkscape:connector-curvature="0"
- style="opacity:0.5;fill:url(#linearGradient43192-3);fill-rule:evenodd;stroke:none"
- d="M -46,52 -30,36 H -46 Z"
- id="path43190-2-2-9" />
- </mask>
- <clipPath
- clipPathUnits="userSpaceOnUse"
- id="clipPath43178-6-7-6">
- <path
- inkscape:connector-curvature="0"
- style="opacity:0.5;fill:#ffff00;fill-rule:evenodd;stroke:none"
- d="m -30,36 h -1 l -15,15 v 1 h 16 z"
- id="path43180-8-7-3"
- sodipodi:nodetypes="cccccc" />
- </clipPath>
- <mask
- maskUnits="userSpaceOnUse"
- id="mask43182-5-7-1">
- <path
- inkscape:connector-curvature="0"
- id="path43184-7-3-4"
- d="m -46,52 v -1 l 15,-15 h 1 v 16 z"
- style="opacity:0.5;fill:url(#linearGradient43186-6);fill-rule:evenodd;stroke:none"
- sodipodi:nodetypes="cccccc" />
- </mask>
- <clipPath
- clipPathUnits="userSpaceOnUse"
- id="clipPath55878">
- <path
- inkscape:connector-curvature="0"
- style="opacity:0.5;fill:#ffff00;fill-rule:evenodd;stroke:none"
- d="m -30,36 h -1 l -15,15 v 1 h 16 z"
- id="path55876"
- sodipodi:nodetypes="cccccc" />
- </clipPath>
- <mask
- maskUnits="userSpaceOnUse"
- id="mask55882">
- <path
- inkscape:connector-curvature="0"
- id="path55880"
- d="m -46,52 v -1 l 15,-15 h 1 v 16 z"
- style="opacity:0.5;fill:url(#linearGradient43186-6);fill-rule:evenodd;stroke:none"
- sodipodi:nodetypes="cccccc" />
- </mask>
- <clipPath
- clipPathUnits="userSpaceOnUse"
- id="clipPath55894">
- <path
- inkscape:connector-curvature="0"
- id="path55892"
- d="M -46,52 -30,36 H -46 Z"
- style="opacity:0.5;fill:#ffff00;fill-rule:evenodd;stroke:none" />
- </clipPath>
- <mask
- maskUnits="userSpaceOnUse"
- id="mask55898">
- <path
- inkscape:connector-curvature="0"
- style="opacity:0.5;fill:url(#linearGradient43192-3);fill-rule:evenodd;stroke:none"
- d="M -46,52 -30,36 H -46 Z"
- id="path55896" />
- </mask>
- <mask
- maskUnits="userSpaceOnUse"
- id="mask25021-4-6-2">
- <rect
- style="display:inline;overflow:visible;visibility:visible;fill:url(#radialGradient25025-8-0-1);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2.70000005;marker:none;enable-background:accumulate"
- id="rect25023-8-6-4"
- width="13"
- height="14"
- x="26"
- y="243" />
- </mask>
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient16595"
- id="radialGradient25025-8-0-1"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.8918342,0,0,0.8918344,-15.699877,27.900732)"
- cx="49"
- cy="254.64285"
- fx="49"
- fy="254.64285"
- r="6.5" />
- <mask
- maskUnits="userSpaceOnUse"
- id="mask52637-8-8-5-0">
- <rect
- mask="none"
- style="display:inline;overflow:visible;visibility:visible;fill:url(#radialGradient52641-2-8-6-3);fill-opacity:1;stroke:none;stroke-width:2.79999995;marker:none;enable-background:accumulate"
- id="rect52639-8-9-0-4"
- width="7.9918551"
- height="8.9366941"
- x="-354"
- y="458"
- rx="0"
- ry="0" />
- </mask>
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient16595"
- id="radialGradient52641-2-8-6-3"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.39420438,-0.08239205,0.27256031,1.3040635,-361.27885,-161.73915)"
- cx="-302.79681"
- cy="462.0358"
- fx="-302.79681"
- fy="462.0358"
- r="8" />
- <mask
- maskUnits="userSpaceOnUse"
- id="mask52879-0-5-1-2">
- <rect
- mask="none"
- style="display:inline;overflow:visible;visibility:visible;fill:url(#radialGradient52883-6-8-3-0);fill-opacity:1;stroke:none;stroke-width:2.79999995;marker:none;enable-background:accumulate"
- id="rect52881-7-3-3-5"
- width="7.9918551"
- height="8.9366941"
- x="-354.95001"
- y="458"
- rx="0"
- ry="0" />
- </mask>
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient16595"
- id="radialGradient52883-6-8-3-0"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.39420438,-0.08239205,0.27256031,1.3040635,-362.22886,-161.73912)"
- cx="-302.79681"
- cy="462.0358"
- fx="-302.79681"
- fy="462.0358"
- r="8" />
- <mask
- maskUnits="userSpaceOnUse"
- id="mask20957-5-3">
- <rect
- y="101"
- x="162"
- height="5"
- width="8"
- id="rect20959-8-5"
- style="display:inline;overflow:visible;visibility:visible;fill:url(#linearGradient20961);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.29999995;marker:none;enable-background:accumulate" />
- </mask>
- <mask
- maskUnits="userSpaceOnUse"
- id="mask32294-8-1">
- <rect
- y="323"
- x="134"
- height="16"
- width="9"
- id="rect32296-9-9"
- style="display:inline;overflow:visible;visibility:visible;fill:url(#linearGradient32298);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;marker:none;enable-background:accumulate" />
- </mask>
- <mask
- maskUnits="userSpaceOnUse"
- id="mask57450-1-2">
- <rect
- y="154.99899"
- x="326.00305"
- height="15"
- width="15"
- id="rect57452-3-0"
- style="display:inline;overflow:visible;visibility:visible;fill:url(#linearGradient57454);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.80000001;marker:none;enable-background:accumulate" />
- </mask>
- <mask
- maskUnits="userSpaceOnUse"
- id="mask43822-7-6-3">
- <rect
- y="208"
- x="754"
- height="9"
- width="12"
- id="rect43824-6-2-8"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.93999993;fill:url(#linearGradient43826);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:new" />
- </mask>
- <mask
- maskUnits="userSpaceOnUse"
- id="mask43822-5-0">
- <rect
- y="208"
- x="754"
- height="9"
- width="12"
- id="rect43824-61-1"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.93999993;fill:url(#linearGradient43826);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:new" />
- </mask>
- <mask
- maskUnits="userSpaceOnUse"
- id="mask38956-7-3">
- <rect
- style="display:inline;overflow:visible;visibility:visible;fill:url(#linearGradient38961);stroke:none;stroke-width:2.79999995;marker:none;enable-background:accumulate"
- id="rect38958-9-4"
- width="16"
- height="12"
- x="488"
- y="560"
- rx="0"
- ry="0" />
- </mask>
- <mask
- maskUnits="userSpaceOnUse"
- id="mask20957-7-5">
- <rect
- y="101"
- x="162"
- height="5"
- width="8"
- id="rect20959-85-8"
- style="display:inline;overflow:visible;visibility:visible;fill:url(#linearGradient20961);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.29999995;marker:none;enable-background:accumulate" />
- </mask>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient16595"
- id="linearGradient34189-1"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.695652,0,0,0.869703,170.06515,482.33642)"
- x1="188.77448"
- y1="259.745"
- x2="164.0939"
- y2="242.22473" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient11146"
- id="linearGradient34191-9"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(572.00001,970)"
- x1="-287.75"
- y1="-276.75"
- x2="-276"
- y2="-264.875" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient16595"
- id="linearGradient40879-9-8-1-3"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.608695,0,0,0.760996,188.8695,512.23032)"
- x1="130.70929"
- y1="210.78392"
- x2="171.50414"
- y2="248.54021" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient11146"
- id="linearGradient34193-9"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(576.00001,973)"
- x1="-283"
- y1="-272"
- x2="-277.01501"
- y2="-267.26749" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient18495"
- id="radialGradient40883-4-0-3-9"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-0.06118084,-0.8594818,2.4629674,-0.1753088,-44.40057,787.15309)"
- cx="77.721619"
- cy="104.09358"
- fx="77.721619"
- fy="104.09358"
- r="3.9999998" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient16595"
- id="radialGradient24562"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.0474269,0.00526965,-0.00503098,0.9999873,209.98584,104.8287)"
- cx="27.411026"
- cy="255.58899"
- fx="27.411026"
- fy="255.58899"
- r="5.9250002" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient16595"
- id="radialGradient22563"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.0474269,0.00526965,-0.00503098,0.9999873,209.98584,104.8287)"
- cx="27.411026"
- cy="255.58899"
- fx="27.411026"
- fy="255.58899"
- r="5.9250002" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient16595"
- id="radialGradient22577"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.0474269,0.00526965,-0.00503098,0.9999873,209.98584,104.8287)"
- cx="27.411026"
- cy="255.58899"
- fx="27.411026"
- fy="255.58899"
- r="5.9250002" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient11146"
- id="linearGradient22732-4"
- gradientUnits="userSpaceOnUse"
- x1="496.49335"
- y1="537.78113"
- x2="498.40021"
- y2="540.13623"
- gradientTransform="translate(42.000001,63)" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient11146"
- id="linearGradient22781"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-0.99999997,0,0,0.99999996,-2.7720701e-6,20.999999)"
- x1="496.49335"
- y1="537.78113"
- x2="498.40021"
- y2="540.13623" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient11146"
- id="linearGradient22785"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(21,42)"
- x1="496.49335"
- y1="537.78113"
- x2="498.40021"
- y2="540.13623" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient11146"
- id="linearGradient22785-7"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(21,42)"
- x1="496.49335"
- y1="537.78113"
- x2="498.40021"
- y2="540.13623" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient11146"
- id="linearGradient22939"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(21,42)"
- x1="496.49335"
- y1="537.78113"
- x2="498.40021"
- y2="540.13623" />
- <pattern
- y="0"
- x="0"
- height="6"
- width="6"
- patternUnits="userSpaceOnUse"
- id="EMFhbasepattern-9" />
+
+
+ <linearGradient id="linearGradient24143-0">
+ <stop id="stop24145-0" offset="0" style="stop-color:#2c2c2c;stop-opacity:1;"/>
+ <stop style="stop-color:#b3b3b3;stop-opacity:1;" offset="0.5" id="stop24669-1"/>
+ <stop id="stop24147-4" offset="1" style="stop-color:#ffffff;stop-opacity:1;"/>
+ </linearGradient>
+ <linearGradient id="linearGradient40809">
+ <stop style="stop-color:#0059d7;stop-opacity:1;" offset="0" id="stop40811"/>
+ <stop style="stop-color:#b7d4ff;stop-opacity:1;" offset="1" id="stop40813"/>
+ </linearGradient>
+ <linearGradient id="linearGradient38796-7-9">
+ <stop style="stop-color:#fc9694;stop-opacity:1;" offset="0" id="stop38798-6-8"/>
+ <stop style="stop-color:#e71609;stop-opacity:1;" offset="1" id="stop38800-1-8"/>
+ </linearGradient>
+
+ <linearGradient id="linearGradient35407">
+ <stop id="stop35409" offset="0" style="stop-color:#a17306;stop-opacity:1;"/>
+ <stop style="stop-color:#cca649;stop-opacity:1;" offset="0.43277758" id="stop35411"/>
+ <stop id="stop35413" offset="1" style="stop-color:#f9f5e9;stop-opacity:1;"/>
+ </linearGradient>
+ <linearGradient inkscape:collect="always" xlink:href="#linearGradient16595" id="linearGradient14472" gradientUnits="userSpaceOnUse" x1="80.768944" y1="504.67188" x2="76.885078" y2="501.58331"/>
+ <linearGradient inkscape:collect="always" xlink:href="#linearGradient11146" id="linearGradient14474" gradientUnits="userSpaceOnUse" x1="89.526657" y1="511.42972" x2="78.000008" y2="501.04794"/>
+ <radialGradient inkscape:collect="always" xlink:href="#linearGradient11146" id="radialGradient14476" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1.4624192,0,0,1.4467089,-36.975824,-224.99718)" cx="79.959885" cy="503.81497" fx="79.959885" fy="503.81497" r="2.9089756"/>
+ <radialGradient inkscape:collect="always" xlink:href="#linearGradient14262" id="radialGradient14478" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.8886193,0.8021825,-0.8051059,0.8972684,411.80247,-8.668512)" cx="74.518959" cy="499.99969" fx="74.518959" fy="499.99969" r="3.1650217"/>
+ <radialGradient inkscape:collect="always" xlink:href="#linearGradient11146" id="radialGradient28864" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1.4624192,0,0,1.4467089,-36.975824,-224.99718)" cx="79.959885" cy="503.81497" fx="79.959885" fy="503.81497" r="2.9089756"/>
+ <radialGradient inkscape:collect="always" xlink:href="#linearGradient14262" id="radialGradient28872" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.8886193,0.8021825,-0.8051059,0.8972684,411.80247,-8.668512)" cx="74.518959" cy="499.99969" fx="74.518959" fy="499.99969" r="3.1650217"/>
+ <radialGradient inkscape:collect="always" xlink:href="#linearGradient11146" id="radialGradient28896" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1.4624192,0,0,1.4467089,-36.975824,-224.99718)" cx="79.959885" cy="503.81497" fx="79.959885" fy="503.81497" r="2.9089756"/>
+ <radialGradient inkscape:collect="always" xlink:href="#linearGradient14262" id="radialGradient28904" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.8886193,0.8021825,-0.8051059,0.8972684,411.80247,-8.668512)" cx="74.518959" cy="499.99969" fx="74.518959" fy="499.99969" r="3.1650217"/>
+
+ <linearGradient id="linearGradient39080">
+ <stop style="stop-color:#1a2a3d;stop-opacity:1;" offset="0" id="stop39082"/>
+ <stop id="stop39084" offset="0.5" style="stop-color:#95b0d1;stop-opacity:1;"/>
+ <stop style="stop-color:#ffffff;stop-opacity:1;" offset="1" id="stop39086"/>
+ </linearGradient>
+ <linearGradient id="linearGradient37623">
+ <stop id="stop37625" offset="0" style="stop-color:#e5e1ca;stop-opacity:1;"/>
+ <stop id="stop37627" offset="1" style="stop-color:#d6ca22;stop-opacity:0;"/>
+ </linearGradient>
+ <linearGradient id="linearGradient19625">
+ <stop id="stop19627" offset="0" style="stop-color:#2258a6;stop-opacity:1;"/>
+ <stop id="stop19629" offset="1" style="stop-color:#c1d7f8;stop-opacity:1;"/>
+ </linearGradient>
+ <linearGradient id="linearGradient12678">
+ <stop id="stop12680" offset="0" style="stop-color:#d40000;stop-opacity:1"/>
+ <stop id="stop12682" offset="1" style="stop-color:#000000;stop-opacity:0;"/>
+ </linearGradient>
+ <linearGradient id="linearGradient71814">
+ <stop style="stop-color:#6e0d00;stop-opacity:1;" offset="0" id="stop71816"/>
+ <stop style="stop-color:#6f2913;stop-opacity:0;" offset="1" id="stop71818"/>
+ </linearGradient>
+
+ <linearGradient inkscape:collect="always" xlink:href="#linearGradient16595" id="linearGradient57454" gradientUnits="userSpaceOnUse" gradientTransform="translate(258.00306,-231.00101)" x1="75.25" y1="393.25" x2="73.5" y2="391.5"/>
+
+
+
+ <linearGradient inkscape:collect="always" xlink:href="#linearGradient16595" id="linearGradient38478" gradientUnits="userSpaceOnUse" gradientTransform="translate(254.01612,-211.00101)" x1="96.824379" y1="393.90298" x2="94.246101" y2="391.21976"/>
+ <linearGradient id="linearGradient4138">
+ <stop style="stop-color:#6c432f;stop-opacity:1;" offset="0" id="stop4140"/>
+ <stop style="stop-color:#c0966d;stop-opacity:1;" offset="1" id="stop4142"/>
+ </linearGradient>
+ <linearGradient id="linearGradient38831">
+ <stop style="stop-color:#182b42;stop-opacity:1;" offset="0" id="stop38833"/>
+ <stop id="stop38836" offset="0.38971797" style="stop-color:#598ac7;stop-opacity:1;"/>
+ <stop style="stop-color:#f1f1f1;stop-opacity:1;" offset="1" id="stop38838"/>
+ </linearGradient>
+
+ <linearGradient id="linearGradient18056">
+ <stop id="stop18058" offset="0" style="stop-color:#162d50;stop-opacity:1"/>
+ <stop id="stop18060" offset="1" style="stop-color:#295498;stop-opacity:0.34057972;"/>
+ </linearGradient>
+
+ <linearGradient inkscape:collect="always" xlink:href="#linearGradient16595" id="linearGradient23199" gradientUnits="userSpaceOnUse" gradientTransform="translate(-1)" x1="22.75" y1="245" x2="24.5" y2="245"/>
+ <linearGradient inkscape:collect="always" xlink:href="#linearGradient16595" id="linearGradient23201" gradientUnits="userSpaceOnUse" gradientTransform="translate(-61)" x1="22.75" y1="245" x2="24.25" y2="245"/>
+ <linearGradient id="linearGradient24695">
+ <stop style="stop-color:#3d361a;stop-opacity:1;" offset="0" id="stop24697"/>
+ <stop id="stop24699" offset="0.60401857" style="stop-color:#d1c595;stop-opacity:1;"/>
+ <stop style="stop-color:#ffffff;stop-opacity:1;" offset="1" id="stop24701"/>
+ </linearGradient>
+ <linearGradient id="linearGradient22556">
+ <stop id="stop22558" offset="0" style="stop-color:#6a9bef;stop-opacity:1"/>
+ <stop style="stop-color:#bccee8;stop-opacity:0.58450705;" offset="0.77941167" id="stop22568"/>
+ <stop id="stop22560" offset="1" style="stop-color:#ccdaed;stop-opacity:0;"/>
+ </linearGradient>
+
+ <linearGradient id="linearGradient4343-1-1-9-1">
+ <stop id="stop4345-2-9-5-6" offset="0" style="stop-color:white;stop-opacity:1;"/>
+ <stop id="stop4347-1-5-5-1" offset="1" style="stop-color:#fff9f9;stop-opacity:0;"/>
+ </linearGradient>
+
+
+
+
+ <linearGradient gradientUnits="userSpaceOnUse" y2="91.058182" x2="56.916233" y1="91.058182" x1="45.115948" gradientTransform="matrix(0.99964634,0,0,1.0003538,-3.0966264e-8,-8.1179537e-6)" id="linearGradient23512-7">
+ <stop style="stop-color:#ffffff;stop-opacity:1;" offset="0" id="stop23508-4"/>
+ <stop style="stop-color:#ffffff;stop-opacity:0;" offset="1" id="stop23510-3"/>
+ </linearGradient>
+
+
+
+
+ <radialGradient inkscape:collect="always" xlink:href="#linearGradient16595" id="radialGradient48820-9-2-1" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1,0,0,1.0769231,0,5.9230769)" cx="-31" cy="-83.5" fx="-31" fy="-83.5" r="6.5"/>
+
+ <radialGradient inkscape:collect="always" xlink:href="#linearGradient16595" id="radialGradient55620" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1,0,0,1.0769231,0,5.9230769)" cx="-31" cy="-83.5" fx="-31" fy="-83.5" r="6.5"/>
+
+ <radialGradient inkscape:collect="always" xlink:href="#linearGradient16595" id="radialGradient28589-9-2-0" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1,0,0,1.0769231,0,5.9230769)" cx="-30.28125" cy="-84.341515" fx="-30.28125" fy="-84.341515" r="6.5"/>
+
+
+ <radialGradient inkscape:collect="always" xlink:href="#linearGradient16595" id="radialGradient45877-1-9-2" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1099414,-0.9422316,0.4519816,0.05273803,38.220416,-152.21215)" cx="-25.452209" cy="-136.46503" fx="-25.452209" fy="-136.46503" r="8.0066185"/>
+
+ <radialGradient inkscape:collect="always" xlink:href="#linearGradient16595" id="radialGradient45451-2-8-4" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1,0,0,0.9952162,167.99999,-60.91415)" cx="59.000011" cy="440.0191" fx="59.000011" fy="440.0191" r="6.5080619"/>
+
+
+
+
+
+
+
+
+
+ <radialGradient inkscape:collect="always" xlink:href="#linearGradient16595" id="radialGradient25025-8-0-1" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.8918342,0,0,0.8918344,-15.699877,27.900732)" cx="49" cy="254.64285" fx="49" fy="254.64285" r="6.5"/>
+
+ <radialGradient inkscape:collect="always" xlink:href="#linearGradient16595" id="radialGradient52641-2-8-6-3" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.39420438,-0.08239205,0.27256031,1.3040635,-361.27885,-161.73915)" cx="-302.79681" cy="462.0358" fx="-302.79681" fy="462.0358" r="8"/>
+
+ <radialGradient inkscape:collect="always" xlink:href="#linearGradient16595" id="radialGradient52883-6-8-3-0" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.39420438,-0.08239205,0.27256031,1.3040635,-362.22886,-161.73912)" cx="-302.79681" cy="462.0358" fx="-302.79681" fy="462.0358" r="8"/>
+
+
+
+
+
+
+
+ <linearGradient inkscape:collect="always" xlink:href="#linearGradient16595" id="linearGradient34189-1" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.695652,0,0,0.869703,170.06515,482.33642)" x1="188.77448" y1="259.745" x2="164.0939" y2="242.22473"/>
+ <linearGradient inkscape:collect="always" xlink:href="#linearGradient11146" id="linearGradient34191-9" gradientUnits="userSpaceOnUse" gradientTransform="translate(572.00001,970)" x1="-287.75" y1="-276.75" x2="-276" y2="-264.875"/>
+ <linearGradient inkscape:collect="always" xlink:href="#linearGradient16595" id="linearGradient40879-9-8-1-3" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.608695,0,0,0.760996,188.8695,512.23032)" x1="130.70929" y1="210.78392" x2="171.50414" y2="248.54021"/>
+ <linearGradient inkscape:collect="always" xlink:href="#linearGradient11146" id="linearGradient34193-9" gradientUnits="userSpaceOnUse" gradientTransform="translate(576.00001,973)" x1="-283" y1="-272" x2="-277.01501" y2="-267.26749"/>
+ <radialGradient inkscape:collect="always" xlink:href="#linearGradient18495" id="radialGradient40883-4-0-3-9" gradientUnits="userSpaceOnUse" gradientTransform="matrix(-0.06118084,-0.8594818,2.4629674,-0.1753088,-44.40057,787.15309)" cx="77.721619" cy="104.09358" fx="77.721619" fy="104.09358" r="3.9999998"/>
+ <radialGradient inkscape:collect="always" xlink:href="#linearGradient16595" id="radialGradient24562" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1.0474269,0.00526965,-0.00503098,0.9999873,209.98584,104.8287)" cx="27.411026" cy="255.58899" fx="27.411026" fy="255.58899" r="5.9250002"/>
+ <radialGradient inkscape:collect="always" xlink:href="#linearGradient16595" id="radialGradient22563" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1.0474269,0.00526965,-0.00503098,0.9999873,209.98584,104.8287)" cx="27.411026" cy="255.58899" fx="27.411026" fy="255.58899" r="5.9250002"/>
+ <radialGradient inkscape:collect="always" xlink:href="#linearGradient16595" id="radialGradient22577" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1.0474269,0.00526965,-0.00503098,0.9999873,209.98584,104.8287)" cx="27.411026" cy="255.58899" fx="27.411026" fy="255.58899" r="5.9250002"/>
+ <linearGradient inkscape:collect="always" xlink:href="#linearGradient11146" id="linearGradient22732-4" gradientUnits="userSpaceOnUse" x1="496.49335" y1="537.78113" x2="498.40021" y2="540.13623" gradientTransform="translate(42.000001,63)"/>
+ <linearGradient inkscape:collect="always" xlink:href="#linearGradient11146" id="linearGradient22781" gradientUnits="userSpaceOnUse" gradientTransform="matrix(-0.99999997,0,0,0.99999996,-2.7720701e-6,20.999999)" x1="496.49335" y1="537.78113" x2="498.40021" y2="540.13623"/>
+ <linearGradient inkscape:collect="always" xlink:href="#linearGradient11146" id="linearGradient22785" gradientUnits="userSpaceOnUse" gradientTransform="translate(21,42)" x1="496.49335" y1="537.78113" x2="498.40021" y2="540.13623"/>
+ <linearGradient inkscape:collect="always" xlink:href="#linearGradient11146" id="linearGradient22785-7" gradientUnits="userSpaceOnUse" gradientTransform="translate(21,42)" x1="496.49335" y1="537.78113" x2="498.40021" y2="540.13623"/>
+ <linearGradient inkscape:collect="always" xlink:href="#linearGradient11146" id="linearGradient22939" gradientUnits="userSpaceOnUse" gradientTransform="translate(21,42)" x1="496.49335" y1="537.78113" x2="498.40021" y2="540.13623"/>
+
</defs>
- <sodipodi:namedview
- id="base"
- pagecolor="#515151"
- bordercolor="#323232"
- borderopacity="1"
- gridtolerance="10"
- guidetolerance="10"
- objecttolerance="10"
- inkscape:pageopacity="0"
- inkscape:pageshadow="2"
- inkscape:zoom="2.8284271"
- inkscape:cx="96.895184"
- inkscape:cy="497.95432"
- inkscape:document-units="px"
- inkscape:current-layer="layer8"
- showgrid="false"
- inkscape:window-width="1920"
- inkscape:window-height="1051"
- inkscape:window-x="-9"
- inkscape:window-y="-9"
- inkscape:snap-nodes="true"
- inkscape:snap-bbox="true"
- showguides="false"
- inkscape:guide-bbox="true"
- inkscape:object-nodes="true"
- inkscape:object-paths="true"
- inkscape:snap-intersection-line-segments="true"
- inkscape:snap-intersection-grid-guide="false"
- inkscape:window-maximized="1"
- inkscape:bbox-paths="true"
- inkscape:snap-global="true"
- inkscape:snap-bbox-midpoints="true"
- inkscape:snap-grids="true"
- inkscape:snap-to-guides="true"
- inkscape:snap-page="true"
- units="pt"
- inkscape:snap-center="true"
- inkscape:snap-object-midpoints="false"
- inkscape:snap-midpoints="true"
- inkscape:snap-others="true"
- inkscape:bbox-nodes="true"
- inkscape:snap-intersection-paths="true"
- inkscape:snap-smooth-nodes="true"
- inkscape:measure-start="0,0"
- inkscape:measure-end="0,0"
- inkscape:snap-bbox-edge-midpoints="true"
- inkscape:snap-text-baseline="false"
- inkscape:pagecheckerboard="false"
- inkscape:showpageshadow="true"
- inkscape:lockguides="false">
- <inkscape:grid
- type="xygrid"
- id="grid17394"
- visible="true"
- enabled="true"
- spacingx="0.25"
- spacingy="0.25"
- empspacing="4"
- color="#000000"
- opacity="0.09803922"
- dotted="false"
- empcolor="#000000"
- empopacity="0.25098039"
- snapvisiblegridlinesonly="true"
- originx="0"
- originy="-2.7755576e-17" />
- </sodipodi:namedview>
- <metadata
- id="metadata7">
- <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>Blender icons v. 2.5.08</dc:title>
- <dc:date>21.05.2012</dc:date>
- <dc:creator>
- <cc:Agent>
- <dc:title>Andrzej Ambroż</dc:title>
- </cc:Agent>
- </dc:creator>
- <dc:rights>
- <cc:Agent>
- <dc:title>Andrzej Ambroż</dc:title>
- </cc:Agent>
- </dc:rights>
- <dc:publisher>
- <cc:Agent>
- <dc:title>Andrzej Ambroż</dc:title>
- </cc:Agent>
- </dc:publisher>
- <dc:coverage />
- <cc:license
- rdf:resource="http://www.gnu.org/licenses/old-licenses/gpl-2.0.html" />
- <dc:description>GNU General Public License, version 2 or later.</dc:description>
- </cc:Work>
- </rdf:RDF>
- </metadata>
- <path
- style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#1a1a1a;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- id="path23417"
- sodipodi:nodetypes="cc"
- d="" />
- <path
- style="fill:none;stroke:#ffffff;stroke-width:1.79999995;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
- id="path23347"
- sodipodi:nodetypes="cc"
- d="" />
- <g
- inkscape:groupmode="layer"
- id="layer5"
- inkscape:label="grid"
- style="display:inline;opacity:0.3"
- sodipodi:insensitive="true">
- <g
- id="g40174"
- transform="translate(0,2)">
- <g
- id="g22995">
- <rect
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- id="rect22955"
- width="1"
- height="7"
- x="422"
- y="0"
- rx="0"
- ry="0" />
- <rect
- ry="0"
- rx="0"
- y="0"
- x="401"
- height="7"
- width="1"
- id="rect22957"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" />
- <rect
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- id="rect22959"
- width="1"
- height="7"
- x="380"
- y="0"
- rx="0"
- ry="0" />
- <rect
- ry="0"
- rx="0"
- y="0"
- x="359"
- height="7"
- width="1"
- id="rect22961"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" />
- <rect
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- id="rect22963"
- width="1"
- height="7"
- x="338"
- y="0"
- rx="0"
- ry="0" />
- <rect
- ry="0"
- rx="0"
- y="0"
- x="317"
- height="7"
- width="1"
- id="rect22965"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" />
- <rect
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- id="rect22967"
- width="1"
- height="7"
- x="296"
- y="0"
- rx="0"
- ry="0" />
- <rect
- ry="0"
- rx="0"
- y="0"
- x="275"
- height="7"
- width="1"
- id="rect22969"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" />
- <rect
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- id="rect22971"
- width="1"
- height="7"
- x="254"
- y="0"
- rx="0"
- ry="0" />
- <rect
- ry="0"
- rx="0"
- y="0"
- x="233"
- height="7"
- width="1"
- id="rect22973"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" />
- <rect
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- id="rect22975"
- width="1"
- height="7"
- x="212"
- y="0"
- rx="0"
- ry="0" />
- <rect
- ry="0"
- rx="0"
- y="0"
- x="191"
- height="7"
- width="1"
- id="rect22977"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" />
- <rect
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- id="rect22979"
- width="1"
- height="7"
- x="170"
- y="0"
- rx="0"
- ry="0" />
- <rect
- ry="0"
- rx="0"
- y="0"
- x="149"
- height="7"
- width="1"
- id="rect22981"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" />
- <rect
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- id="rect22983"
- width="1"
- height="7"
- x="128"
- y="0"
- rx="0"
- ry="0" />
- <rect
- ry="0"
- rx="0"
- y="0"
- x="107"
- height="7"
- width="1"
- id="rect22985"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" />
- <rect
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- id="rect22987"
- width="1"
- height="7"
- x="86"
- y="0"
- rx="0"
- ry="0" />
- <rect
- ry="0"
- rx="0"
- y="0"
- x="65"
- height="7"
- width="1"
- id="rect22989"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" />
- <rect
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- id="rect22991"
- width="1"
- height="7"
- x="44"
- y="0"
- rx="0"
- ry="0" />
- <rect
- ry="0"
- rx="0"
- y="0"
- x="23"
- height="7"
- width="1"
- id="rect22993"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" />
- <rect
- ry="0"
- rx="0"
- y="0"
- x="506"
- height="7"
- width="1"
- id="rect23024"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" />
- <rect
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- id="rect23026"
- width="1"
- height="7"
- x="485"
- y="0"
- rx="0"
- ry="0" />
- <rect
- ry="0"
- rx="0"
- y="0"
- x="464"
- height="7"
- width="1"
- id="rect23028"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" />
- <rect
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- id="rect23030"
- width="1"
- height="7"
- x="443"
- y="0"
- rx="0"
- ry="0" />
- <rect
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- id="rect10985"
- width="1"
- height="7"
- x="527"
- y="0"
- rx="0"
- ry="0" />
- </g>
- <g
- id="g24954">
- <g
- id="g23711"
- transform="translate(0,462)">
- <rect
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- id="rect23713"
- width="6"
- height="1"
- x="0"
- y="26"
- rx="0"
- ry="0" />
- <g
- id="g23715">
- <path
- id="path23717"
- d="m 506,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 485,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path23719"
- inkscape:connector-curvature="0" />
- <path
- id="path23721"
- d="m 464,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 443,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path23723"
- inkscape:connector-curvature="0" />
- <path
- id="path23725"
- d="m 422,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 401,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path23727"
- inkscape:connector-curvature="0" />
- <path
- id="path23729"
- d="m 380,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 359,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path23731"
- inkscape:connector-curvature="0" />
- <path
- id="path23733"
- d="m 338,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 317,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path23735"
- inkscape:connector-curvature="0" />
- <path
- id="path23737"
- d="m 296,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 275,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path23739"
- inkscape:connector-curvature="0" />
- <path
- id="path23741"
- d="m 254,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 233,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path23743"
- inkscape:connector-curvature="0" />
- <path
- id="path23745"
- d="m 212,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 191,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path23747"
- inkscape:connector-curvature="0" />
- <path
- id="path23749"
- d="m 170,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 149,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path23751"
- inkscape:connector-curvature="0" />
- <path
- id="path23753"
- d="m 128,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 107,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path23755"
- inkscape:connector-curvature="0" />
- <path
- id="path23757"
- d="m 86,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 65,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path23759"
- inkscape:connector-curvature="0" />
- <path
- id="path23761"
- d="m 44,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 23,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path23763"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 527,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path10987"
- inkscape:connector-curvature="0" />
+
+
+ <path style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#1a1a1a;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" id="path23417" sodipodi:nodetypes="cc" d=""/>
+ <path style="fill:none;stroke:#ffffff;stroke-width:1.79999995;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" id="path23347" sodipodi:nodetypes="cc" d=""/>
+ <g inkscape:groupmode="layer" id="layer5" inkscape:label="grid" style="display:inline;opacity:0.3" sodipodi:insensitive="true">
+ <g id="g40174" transform="translate(0,2)">
+ <g id="g22995">
+ <rect style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" id="rect22955" width="1" height="7" x="422" y="0" rx="0" ry="0"/>
+ <rect ry="0" rx="0" y="0" x="401" height="7" width="1" id="rect22957" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"/>
+ <rect style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" id="rect22959" width="1" height="7" x="380" y="0" rx="0" ry="0"/>
+ <rect ry="0" rx="0" y="0" x="359" height="7" width="1" id="rect22961" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"/>
+ <rect style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" id="rect22963" width="1" height="7" x="338" y="0" rx="0" ry="0"/>
+ <rect ry="0" rx="0" y="0" x="317" height="7" width="1" id="rect22965" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"/>
+ <rect style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" id="rect22967" width="1" height="7" x="296" y="0" rx="0" ry="0"/>
+ <rect ry="0" rx="0" y="0" x="275" height="7" width="1" id="rect22969" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"/>
+ <rect style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" id="rect22971" width="1" height="7" x="254" y="0" rx="0" ry="0"/>
+ <rect ry="0" rx="0" y="0" x="233" height="7" width="1" id="rect22973" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"/>
+ <rect style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" id="rect22975" width="1" height="7" x="212" y="0" rx="0" ry="0"/>
+ <rect ry="0" rx="0" y="0" x="191" height="7" width="1" id="rect22977" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"/>
+ <rect style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" id="rect22979" width="1" height="7" x="170" y="0" rx="0" ry="0"/>
+ <rect ry="0" rx="0" y="0" x="149" height="7" width="1" id="rect22981" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"/>
+ <rect style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" id="rect22983" width="1" height="7" x="128" y="0" rx="0" ry="0"/>
+ <rect ry="0" rx="0" y="0" x="107" height="7" width="1" id="rect22985" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"/>
+ <rect style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" id="rect22987" width="1" height="7" x="86" y="0" rx="0" ry="0"/>
+ <rect ry="0" rx="0" y="0" x="65" height="7" width="1" id="rect22989" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"/>
+ <rect style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" id="rect22991" width="1" height="7" x="44" y="0" rx="0" ry="0"/>
+ <rect ry="0" rx="0" y="0" x="23" height="7" width="1" id="rect22993" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"/>
+ <rect ry="0" rx="0" y="0" x="506" height="7" width="1" id="rect23024" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"/>
+ <rect style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" id="rect23026" width="1" height="7" x="485" y="0" rx="0" ry="0"/>
+ <rect ry="0" rx="0" y="0" x="464" height="7" width="1" id="rect23028" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"/>
+ <rect style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" id="rect23030" width="1" height="7" x="443" y="0" rx="0" ry="0"/>
+ <rect style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" id="rect10985" width="1" height="7" x="527" y="0" rx="0" ry="0"/>
+ </g>
+ <g id="g24954">
+ <g id="g23711" transform="translate(0,462)">
+ <rect style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" id="rect23713" width="6" height="1" x="0" y="26" rx="0" ry="0"/>
+ <g id="g23715">
+ <path id="path23717" d="m 506,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 485,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path23719" inkscape:connector-curvature="0"/>
+ <path id="path23721" d="m 464,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 443,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path23723" inkscape:connector-curvature="0"/>
+ <path id="path23725" d="m 422,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 401,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path23727" inkscape:connector-curvature="0"/>
+ <path id="path23729" d="m 380,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 359,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path23731" inkscape:connector-curvature="0"/>
+ <path id="path23733" d="m 338,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 317,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path23735" inkscape:connector-curvature="0"/>
+ <path id="path23737" d="m 296,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 275,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path23739" inkscape:connector-curvature="0"/>
+ <path id="path23741" d="m 254,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 233,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path23743" inkscape:connector-curvature="0"/>
+ <path id="path23745" d="m 212,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 191,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path23747" inkscape:connector-curvature="0"/>
+ <path id="path23749" d="m 170,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 149,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path23751" inkscape:connector-curvature="0"/>
+ <path id="path23753" d="m 128,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 107,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path23755" inkscape:connector-curvature="0"/>
+ <path id="path23757" d="m 86,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 65,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path23759" inkscape:connector-curvature="0"/>
+ <path id="path23761" d="m 44,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 23,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path23763" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 527,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path10987" inkscape:connector-curvature="0"/>
</g>
</g>
- <g
- id="g23765"
- transform="translate(0,441)">
- <rect
- ry="0"
- rx="0"
- y="26"
- x="0"
- height="1"
- width="6"
- id="rect23767"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" />
- <g
- id="g23769">
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 506,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path23771"
- inkscape:connector-curvature="0" />
- <path
- id="path23773"
- d="m 485,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 464,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path23775"
- inkscape:connector-curvature="0" />
- <path
- id="path23777"
- d="m 443,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 422,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path23779"
- inkscape:connector-curvature="0" />
- <path
- id="path23781"
- d="m 401,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 380,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path23783"
- inkscape:connector-curvature="0" />
- <path
- id="path23785"
- d="m 359,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 338,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path23787"
- inkscape:connector-curvature="0" />
- <path
- id="path23789"
- d="m 317,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 296,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path23791"
- inkscape:connector-curvature="0" />
- <path
- id="path23793"
- d="m 275,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 254,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path23795"
- inkscape:connector-curvature="0" />
- <path
- id="path23797"
- d="m 233,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 212,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path23799"
- inkscape:connector-curvature="0" />
- <path
- id="path23801"
- d="m 191,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 170,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path23803"
- inkscape:connector-curvature="0" />
- <path
- id="path23805"
- d="m 149,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 128,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path23807"
- inkscape:connector-curvature="0" />
- <path
- id="path23809"
- d="m 107,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 86,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path23811"
- inkscape:connector-curvature="0" />
- <path
- id="path23813"
- d="m 65,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 44,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path23815"
- inkscape:connector-curvature="0" />
- <path
- id="path23817"
- d="m 23,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- id="path10990"
- d="m 527,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
+ <g id="g23765" transform="translate(0,441)">
+ <rect ry="0" rx="0" y="26" x="0" height="1" width="6" id="rect23767" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"/>
+ <g id="g23769">
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 506,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path23771" inkscape:connector-curvature="0"/>
+ <path id="path23773" d="m 485,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 464,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path23775" inkscape:connector-curvature="0"/>
+ <path id="path23777" d="m 443,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 422,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path23779" inkscape:connector-curvature="0"/>
+ <path id="path23781" d="m 401,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 380,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path23783" inkscape:connector-curvature="0"/>
+ <path id="path23785" d="m 359,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 338,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path23787" inkscape:connector-curvature="0"/>
+ <path id="path23789" d="m 317,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 296,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path23791" inkscape:connector-curvature="0"/>
+ <path id="path23793" d="m 275,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 254,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path23795" inkscape:connector-curvature="0"/>
+ <path id="path23797" d="m 233,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 212,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path23799" inkscape:connector-curvature="0"/>
+ <path id="path23801" d="m 191,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 170,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path23803" inkscape:connector-curvature="0"/>
+ <path id="path23805" d="m 149,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 128,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path23807" inkscape:connector-curvature="0"/>
+ <path id="path23809" d="m 107,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 86,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path23811" inkscape:connector-curvature="0"/>
+ <path id="path23813" d="m 65,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 44,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path23815" inkscape:connector-curvature="0"/>
+ <path id="path23817" d="m 23,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path id="path10990" d="m 527,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
</g>
</g>
- <g
- id="g23819"
- transform="translate(0,420)">
- <rect
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- id="rect23821"
- width="6"
- height="1"
- x="0"
- y="26"
- rx="0"
- ry="0" />
- <g
- id="g23823">
- <path
- id="path23825"
- d="m 506,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 485,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path23827"
- inkscape:connector-curvature="0" />
- <path
- id="path23829"
- d="m 464,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 443,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path23831"
- inkscape:connector-curvature="0" />
- <path
- id="path23833"
- d="m 422,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 401,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path23835"
- inkscape:connector-curvature="0" />
- <path
- id="path23837"
- d="m 380,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 359,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path23839"
- inkscape:connector-curvature="0" />
- <path
- id="path23841"
- d="m 338,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 317,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path23843"
- inkscape:connector-curvature="0" />
- <path
- id="path23845"
- d="m 296,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 275,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path23847"
- inkscape:connector-curvature="0" />
- <path
- id="path23849"
- d="m 254,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 233,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path23851"
- inkscape:connector-curvature="0" />
- <path
- id="path23853"
- d="m 212,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 191,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path23855"
- inkscape:connector-curvature="0" />
- <path
- id="path23857"
- d="m 170,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 149,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path23859"
- inkscape:connector-curvature="0" />
- <path
- id="path23861"
- d="m 128,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 107,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path23863"
- inkscape:connector-curvature="0" />
- <path
- id="path23865"
- d="m 86,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 65,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path23867"
- inkscape:connector-curvature="0" />
- <path
- id="path23869"
- d="m 44,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 23,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path23871"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 527,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path10992"
- inkscape:connector-curvature="0" />
+ <g id="g23819" transform="translate(0,420)">
+ <rect style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" id="rect23821" width="6" height="1" x="0" y="26" rx="0" ry="0"/>
+ <g id="g23823">
+ <path id="path23825" d="m 506,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 485,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path23827" inkscape:connector-curvature="0"/>
+ <path id="path23829" d="m 464,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 443,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path23831" inkscape:connector-curvature="0"/>
+ <path id="path23833" d="m 422,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 401,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path23835" inkscape:connector-curvature="0"/>
+ <path id="path23837" d="m 380,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 359,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path23839" inkscape:connector-curvature="0"/>
+ <path id="path23841" d="m 338,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 317,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path23843" inkscape:connector-curvature="0"/>
+ <path id="path23845" d="m 296,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 275,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path23847" inkscape:connector-curvature="0"/>
+ <path id="path23849" d="m 254,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 233,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path23851" inkscape:connector-curvature="0"/>
+ <path id="path23853" d="m 212,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 191,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path23855" inkscape:connector-curvature="0"/>
+ <path id="path23857" d="m 170,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 149,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path23859" inkscape:connector-curvature="0"/>
+ <path id="path23861" d="m 128,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 107,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path23863" inkscape:connector-curvature="0"/>
+ <path id="path23865" d="m 86,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 65,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path23867" inkscape:connector-curvature="0"/>
+ <path id="path23869" d="m 44,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 23,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path23871" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 527,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path10992" inkscape:connector-curvature="0"/>
</g>
</g>
- <g
- id="g23873"
- transform="translate(0,399)">
- <rect
- ry="0"
- rx="0"
- y="26"
- x="0"
- height="1"
- width="6"
- id="rect23875"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" />
- <g
- id="g23877">
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 506,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path23879"
- inkscape:connector-curvature="0" />
- <path
- id="path23881"
- d="m 485,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 464,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path23883"
- inkscape:connector-curvature="0" />
- <path
- id="path23885"
- d="m 443,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 422,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path23887"
- inkscape:connector-curvature="0" />
- <path
- id="path23889"
- d="m 401,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 380,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path23891"
- inkscape:connector-curvature="0" />
- <path
- id="path23893"
- d="m 359,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 338,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path23895"
- inkscape:connector-curvature="0" />
- <path
- id="path23897"
- d="m 317,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 296,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path23899"
- inkscape:connector-curvature="0" />
- <path
- id="path23901"
- d="m 275,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 254,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path23903"
- inkscape:connector-curvature="0" />
- <path
- id="path23905"
- d="m 233,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 212,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path23907"
- inkscape:connector-curvature="0" />
- <path
- id="path23909"
- d="m 191,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 170,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path23911"
- inkscape:connector-curvature="0" />
- <path
- id="path23913"
- d="m 149,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 128,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path23915"
- inkscape:connector-curvature="0" />
- <path
- id="path23917"
- d="m 107,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 86,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path23919"
- inkscape:connector-curvature="0" />
- <path
- id="path23921"
- d="m 65,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 44,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path23923"
- inkscape:connector-curvature="0" />
- <path
- id="path23925"
- d="m 23,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- id="path10994"
- d="m 527,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
+ <g id="g23873" transform="translate(0,399)">
+ <rect ry="0" rx="0" y="26" x="0" height="1" width="6" id="rect23875" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"/>
+ <g id="g23877">
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 506,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path23879" inkscape:connector-curvature="0"/>
+ <path id="path23881" d="m 485,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 464,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path23883" inkscape:connector-curvature="0"/>
+ <path id="path23885" d="m 443,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 422,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path23887" inkscape:connector-curvature="0"/>
+ <path id="path23889" d="m 401,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 380,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path23891" inkscape:connector-curvature="0"/>
+ <path id="path23893" d="m 359,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 338,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path23895" inkscape:connector-curvature="0"/>
+ <path id="path23897" d="m 317,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 296,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path23899" inkscape:connector-curvature="0"/>
+ <path id="path23901" d="m 275,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 254,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path23903" inkscape:connector-curvature="0"/>
+ <path id="path23905" d="m 233,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 212,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path23907" inkscape:connector-curvature="0"/>
+ <path id="path23909" d="m 191,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 170,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path23911" inkscape:connector-curvature="0"/>
+ <path id="path23913" d="m 149,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 128,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path23915" inkscape:connector-curvature="0"/>
+ <path id="path23917" d="m 107,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 86,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path23919" inkscape:connector-curvature="0"/>
+ <path id="path23921" d="m 65,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 44,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path23923" inkscape:connector-curvature="0"/>
+ <path id="path23925" d="m 23,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path id="path10994" d="m 527,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
</g>
</g>
- <g
- id="g23927"
- transform="translate(0,378)">
- <rect
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- id="rect23929"
- width="6"
- height="1"
- x="0"
- y="26"
- rx="0"
- ry="0" />
- <g
- id="g23931">
- <path
- id="path23933"
- d="m 506,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 485,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path23935"
- inkscape:connector-curvature="0" />
- <path
- id="path23937"
- d="m 464,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 443,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path23939"
- inkscape:connector-curvature="0" />
- <path
- id="path23941"
- d="m 422,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 401,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path23943"
- inkscape:connector-curvature="0" />
- <path
- id="path23945"
- d="m 380,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 359,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path23947"
- inkscape:connector-curvature="0" />
- <path
- id="path23949"
- d="m 338,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 317,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path23951"
- inkscape:connector-curvature="0" />
- <path
- id="path23953"
- d="m 296,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 275,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path23955"
- inkscape:connector-curvature="0" />
- <path
- id="path23957"
- d="m 254,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 233,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path23959"
- inkscape:connector-curvature="0" />
- <path
- id="path23961"
- d="m 212,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 191,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path23963"
- inkscape:connector-curvature="0" />
- <path
- id="path23965"
- d="m 170,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 149,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path23967"
- inkscape:connector-curvature="0" />
- <path
- id="path23969"
- d="m 128,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 107,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path23971"
- inkscape:connector-curvature="0" />
- <path
- id="path23973"
- d="m 86,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 65,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path23975"
- inkscape:connector-curvature="0" />
- <path
- id="path23977"
- d="m 44,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 23,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path23979"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 527,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path10996"
- inkscape:connector-curvature="0" />
+ <g id="g23927" transform="translate(0,378)">
+ <rect style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" id="rect23929" width="6" height="1" x="0" y="26" rx="0" ry="0"/>
+ <g id="g23931">
+ <path id="path23933" d="m 506,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 485,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path23935" inkscape:connector-curvature="0"/>
+ <path id="path23937" d="m 464,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 443,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path23939" inkscape:connector-curvature="0"/>
+ <path id="path23941" d="m 422,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 401,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path23943" inkscape:connector-curvature="0"/>
+ <path id="path23945" d="m 380,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 359,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path23947" inkscape:connector-curvature="0"/>
+ <path id="path23949" d="m 338,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 317,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path23951" inkscape:connector-curvature="0"/>
+ <path id="path23953" d="m 296,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 275,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path23955" inkscape:connector-curvature="0"/>
+ <path id="path23957" d="m 254,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 233,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path23959" inkscape:connector-curvature="0"/>
+ <path id="path23961" d="m 212,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 191,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path23963" inkscape:connector-curvature="0"/>
+ <path id="path23965" d="m 170,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 149,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path23967" inkscape:connector-curvature="0"/>
+ <path id="path23969" d="m 128,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 107,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path23971" inkscape:connector-curvature="0"/>
+ <path id="path23973" d="m 86,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 65,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path23975" inkscape:connector-curvature="0"/>
+ <path id="path23977" d="m 44,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 23,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path23979" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 527,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path10996" inkscape:connector-curvature="0"/>
</g>
</g>
- <g
- id="g23981"
- transform="translate(0,357)">
- <rect
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- id="rect23983"
- width="6"
- height="1"
- x="0"
- y="26"
- rx="0"
- ry="0" />
- <g
- id="g23985">
- <path
- id="path23987"
- d="m 506,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 485,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path23989"
- inkscape:connector-curvature="0" />
- <path
- id="path23991"
- d="m 464,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 443,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path23993"
- inkscape:connector-curvature="0" />
- <path
- id="path23995"
- d="m 422,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 401,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path23997"
- inkscape:connector-curvature="0" />
- <path
- id="path23999"
- d="m 380,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 359,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24001"
- inkscape:connector-curvature="0" />
- <path
- id="path24003"
- d="m 338,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 317,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24005"
- inkscape:connector-curvature="0" />
- <path
- id="path24007"
- d="m 296,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 275,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24009"
- inkscape:connector-curvature="0" />
- <path
- id="path24011"
- d="m 254,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 233,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24013"
- inkscape:connector-curvature="0" />
- <path
- id="path24015"
- d="m 212,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 191,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24017"
- inkscape:connector-curvature="0" />
- <path
- id="path24019"
- d="m 170,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 149,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24021"
- inkscape:connector-curvature="0" />
- <path
- id="path24023"
- d="m 128,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 107,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24025"
- inkscape:connector-curvature="0" />
- <path
- id="path24027"
- d="m 86,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 65,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24029"
- inkscape:connector-curvature="0" />
- <path
- id="path24031"
- d="m 44,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 23,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24033"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 527,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path10998"
- inkscape:connector-curvature="0" />
+ <g id="g23981" transform="translate(0,357)">
+ <rect style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" id="rect23983" width="6" height="1" x="0" y="26" rx="0" ry="0"/>
+ <g id="g23985">
+ <path id="path23987" d="m 506,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 485,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path23989" inkscape:connector-curvature="0"/>
+ <path id="path23991" d="m 464,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 443,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path23993" inkscape:connector-curvature="0"/>
+ <path id="path23995" d="m 422,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 401,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path23997" inkscape:connector-curvature="0"/>
+ <path id="path23999" d="m 380,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 359,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24001" inkscape:connector-curvature="0"/>
+ <path id="path24003" d="m 338,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 317,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24005" inkscape:connector-curvature="0"/>
+ <path id="path24007" d="m 296,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 275,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24009" inkscape:connector-curvature="0"/>
+ <path id="path24011" d="m 254,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 233,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24013" inkscape:connector-curvature="0"/>
+ <path id="path24015" d="m 212,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 191,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24017" inkscape:connector-curvature="0"/>
+ <path id="path24019" d="m 170,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 149,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24021" inkscape:connector-curvature="0"/>
+ <path id="path24023" d="m 128,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 107,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24025" inkscape:connector-curvature="0"/>
+ <path id="path24027" d="m 86,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 65,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24029" inkscape:connector-curvature="0"/>
+ <path id="path24031" d="m 44,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 23,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24033" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 527,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path10998" inkscape:connector-curvature="0"/>
</g>
</g>
- <g
- id="g24035"
- transform="translate(0,336)">
- <rect
- ry="0"
- rx="0"
- y="26"
- x="0"
- height="1"
- width="6"
- id="rect24037"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" />
- <g
- id="g24039">
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 506,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24041"
- inkscape:connector-curvature="0" />
- <path
- id="path24043"
- d="m 485,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 464,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24045"
- inkscape:connector-curvature="0" />
- <path
- id="path24047"
- d="m 443,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 422,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24049"
- inkscape:connector-curvature="0" />
- <path
- id="path24051"
- d="m 401,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 380,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24053"
- inkscape:connector-curvature="0" />
- <path
- id="path24055"
- d="m 359,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 338,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24057"
- inkscape:connector-curvature="0" />
- <path
- id="path24059"
- d="m 317,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 296,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24061"
- inkscape:connector-curvature="0" />
- <path
- id="path24063"
- d="m 275,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 254,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24065"
- inkscape:connector-curvature="0" />
- <path
- id="path24067"
- d="m 233,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 212,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24069"
- inkscape:connector-curvature="0" />
- <path
- id="path24071"
- d="m 191,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 170,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24073"
- inkscape:connector-curvature="0" />
- <path
- id="path24075"
- d="m 149,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 128,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24077"
- inkscape:connector-curvature="0" />
- <path
- id="path24079"
- d="m 107,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 86,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24081"
- inkscape:connector-curvature="0" />
- <path
- id="path24083"
- d="m 65,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 44,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24085"
- inkscape:connector-curvature="0" />
- <path
- id="path24087"
- d="m 23,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- id="path11000"
- d="m 527,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
+ <g id="g24035" transform="translate(0,336)">
+ <rect ry="0" rx="0" y="26" x="0" height="1" width="6" id="rect24037" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"/>
+ <g id="g24039">
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 506,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24041" inkscape:connector-curvature="0"/>
+ <path id="path24043" d="m 485,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 464,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24045" inkscape:connector-curvature="0"/>
+ <path id="path24047" d="m 443,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 422,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24049" inkscape:connector-curvature="0"/>
+ <path id="path24051" d="m 401,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 380,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24053" inkscape:connector-curvature="0"/>
+ <path id="path24055" d="m 359,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 338,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24057" inkscape:connector-curvature="0"/>
+ <path id="path24059" d="m 317,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 296,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24061" inkscape:connector-curvature="0"/>
+ <path id="path24063" d="m 275,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 254,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24065" inkscape:connector-curvature="0"/>
+ <path id="path24067" d="m 233,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 212,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24069" inkscape:connector-curvature="0"/>
+ <path id="path24071" d="m 191,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 170,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24073" inkscape:connector-curvature="0"/>
+ <path id="path24075" d="m 149,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 128,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24077" inkscape:connector-curvature="0"/>
+ <path id="path24079" d="m 107,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 86,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24081" inkscape:connector-curvature="0"/>
+ <path id="path24083" d="m 65,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 44,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24085" inkscape:connector-curvature="0"/>
+ <path id="path24087" d="m 23,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path id="path11000" d="m 527,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
</g>
</g>
- <g
- id="g24089"
- transform="translate(0,315)">
- <rect
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- id="rect24091"
- width="6"
- height="1"
- x="0"
- y="26"
- rx="0"
- ry="0" />
- <g
- id="g24093">
- <path
- id="path24095"
- d="m 506,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 485,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24097"
- inkscape:connector-curvature="0" />
- <path
- id="path24099"
- d="m 464,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 443,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24101"
- inkscape:connector-curvature="0" />
- <path
- id="path24103"
- d="m 422,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 401,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24105"
- inkscape:connector-curvature="0" />
- <path
- id="path24107"
- d="m 380,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 359,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24109"
- inkscape:connector-curvature="0" />
- <path
- id="path24111"
- d="m 338,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 317,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24113"
- inkscape:connector-curvature="0" />
- <path
- id="path24115"
- d="m 296,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 275,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24117"
- inkscape:connector-curvature="0" />
- <path
- id="path24119"
- d="m 254,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 233,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24121"
- inkscape:connector-curvature="0" />
- <path
- id="path24123"
- d="m 212,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 191,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24125"
- inkscape:connector-curvature="0" />
- <path
- id="path24127"
- d="m 170,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 149,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24129"
- inkscape:connector-curvature="0" />
- <path
- id="path24131"
- d="m 128,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 107,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24133"
- inkscape:connector-curvature="0" />
- <path
- id="path24135"
- d="m 86,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 65,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24137"
- inkscape:connector-curvature="0" />
- <path
- id="path24139"
- d="m 44,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 23,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24141"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 527,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path11002"
- inkscape:connector-curvature="0" />
+ <g id="g24089" transform="translate(0,315)">
+ <rect style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" id="rect24091" width="6" height="1" x="0" y="26" rx="0" ry="0"/>
+ <g id="g24093">
+ <path id="path24095" d="m 506,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 485,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24097" inkscape:connector-curvature="0"/>
+ <path id="path24099" d="m 464,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 443,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24101" inkscape:connector-curvature="0"/>
+ <path id="path24103" d="m 422,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 401,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24105" inkscape:connector-curvature="0"/>
+ <path id="path24107" d="m 380,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 359,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24109" inkscape:connector-curvature="0"/>
+ <path id="path24111" d="m 338,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 317,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24113" inkscape:connector-curvature="0"/>
+ <path id="path24115" d="m 296,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 275,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24117" inkscape:connector-curvature="0"/>
+ <path id="path24119" d="m 254,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 233,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24121" inkscape:connector-curvature="0"/>
+ <path id="path24123" d="m 212,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 191,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24125" inkscape:connector-curvature="0"/>
+ <path id="path24127" d="m 170,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 149,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24129" inkscape:connector-curvature="0"/>
+ <path id="path24131" d="m 128,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 107,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24133" inkscape:connector-curvature="0"/>
+ <path id="path24135" d="m 86,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 65,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24137" inkscape:connector-curvature="0"/>
+ <path id="path24139" d="m 44,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 23,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24141" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 527,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path11002" inkscape:connector-curvature="0"/>
</g>
</g>
- <g
- id="g24143"
- transform="translate(0,294)">
- <rect
- ry="0"
- rx="0"
- y="26"
- x="0"
- height="1"
- width="6"
- id="rect24145"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" />
- <g
- id="g24147">
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 506,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24149"
- inkscape:connector-curvature="0" />
- <path
- id="path24151"
- d="m 485,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 464,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24153"
- inkscape:connector-curvature="0" />
- <path
- id="path24155"
- d="m 443,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 422,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24157"
- inkscape:connector-curvature="0" />
- <path
- id="path24159"
- d="m 401,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 380,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24161"
- inkscape:connector-curvature="0" />
- <path
- id="path24163"
- d="m 359,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 338,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24165"
- inkscape:connector-curvature="0" />
- <path
- id="path24167"
- d="m 317,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 296,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24169"
- inkscape:connector-curvature="0" />
- <path
- id="path24171"
- d="m 275,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 254,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24173"
- inkscape:connector-curvature="0" />
- <path
- id="path24175"
- d="m 233,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 212,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24177"
- inkscape:connector-curvature="0" />
- <path
- id="path24179"
- d="m 191,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 170,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24181"
- inkscape:connector-curvature="0" />
- <path
- id="path24183"
- d="m 149,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 128,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24185"
- inkscape:connector-curvature="0" />
- <path
- id="path24187"
- d="m 107,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 86,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24189"
- inkscape:connector-curvature="0" />
- <path
- id="path24191"
- d="m 65,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 44,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24193"
- inkscape:connector-curvature="0" />
- <path
- id="path24195"
- d="m 23,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- id="path11004"
- d="m 527,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
+ <g id="g24143" transform="translate(0,294)">
+ <rect ry="0" rx="0" y="26" x="0" height="1" width="6" id="rect24145" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"/>
+ <g id="g24147">
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 506,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24149" inkscape:connector-curvature="0"/>
+ <path id="path24151" d="m 485,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 464,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24153" inkscape:connector-curvature="0"/>
+ <path id="path24155" d="m 443,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 422,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24157" inkscape:connector-curvature="0"/>
+ <path id="path24159" d="m 401,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 380,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24161" inkscape:connector-curvature="0"/>
+ <path id="path24163" d="m 359,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 338,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24165" inkscape:connector-curvature="0"/>
+ <path id="path24167" d="m 317,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 296,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24169" inkscape:connector-curvature="0"/>
+ <path id="path24171" d="m 275,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 254,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24173" inkscape:connector-curvature="0"/>
+ <path id="path24175" d="m 233,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 212,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24177" inkscape:connector-curvature="0"/>
+ <path id="path24179" d="m 191,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 170,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24181" inkscape:connector-curvature="0"/>
+ <path id="path24183" d="m 149,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 128,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24185" inkscape:connector-curvature="0"/>
+ <path id="path24187" d="m 107,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 86,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24189" inkscape:connector-curvature="0"/>
+ <path id="path24191" d="m 65,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 44,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24193" inkscape:connector-curvature="0"/>
+ <path id="path24195" d="m 23,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path id="path11004" d="m 527,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
</g>
</g>
- <g
- id="g24197"
- transform="translate(0,273)">
- <rect
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- id="rect24199"
- width="6"
- height="1"
- x="0"
- y="26"
- rx="0"
- ry="0" />
- <g
- id="g24201">
- <path
- id="path24203"
- d="m 506,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 485,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24205"
- inkscape:connector-curvature="0" />
- <path
- id="path24207"
- d="m 464,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 443,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24209"
- inkscape:connector-curvature="0" />
- <path
- id="path24211"
- d="m 422,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 401,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24213"
- inkscape:connector-curvature="0" />
- <path
- id="path24215"
- d="m 380,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 359,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24217"
- inkscape:connector-curvature="0" />
- <path
- id="path24219"
- d="m 338,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 317,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24221"
- inkscape:connector-curvature="0" />
- <path
- id="path24223"
- d="m 296,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 275,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24225"
- inkscape:connector-curvature="0" />
- <path
- id="path24227"
- d="m 254,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 233,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24229"
- inkscape:connector-curvature="0" />
- <path
- id="path24231"
- d="m 212,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 191,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24233"
- inkscape:connector-curvature="0" />
- <path
- id="path24235"
- d="m 170,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 149,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24237"
- inkscape:connector-curvature="0" />
- <path
- id="path24239"
- d="m 128,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 107,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24241"
- inkscape:connector-curvature="0" />
- <path
- id="path24243"
- d="m 86,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 65,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24245"
- inkscape:connector-curvature="0" />
- <path
- id="path24247"
- d="m 44,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 23,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24249"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 527,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path11006"
- inkscape:connector-curvature="0" />
+ <g id="g24197" transform="translate(0,273)">
+ <rect style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" id="rect24199" width="6" height="1" x="0" y="26" rx="0" ry="0"/>
+ <g id="g24201">
+ <path id="path24203" d="m 506,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 485,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24205" inkscape:connector-curvature="0"/>
+ <path id="path24207" d="m 464,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 443,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24209" inkscape:connector-curvature="0"/>
+ <path id="path24211" d="m 422,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 401,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24213" inkscape:connector-curvature="0"/>
+ <path id="path24215" d="m 380,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 359,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24217" inkscape:connector-curvature="0"/>
+ <path id="path24219" d="m 338,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 317,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24221" inkscape:connector-curvature="0"/>
+ <path id="path24223" d="m 296,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 275,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24225" inkscape:connector-curvature="0"/>
+ <path id="path24227" d="m 254,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 233,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24229" inkscape:connector-curvature="0"/>
+ <path id="path24231" d="m 212,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 191,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24233" inkscape:connector-curvature="0"/>
+ <path id="path24235" d="m 170,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 149,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24237" inkscape:connector-curvature="0"/>
+ <path id="path24239" d="m 128,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 107,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24241" inkscape:connector-curvature="0"/>
+ <path id="path24243" d="m 86,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 65,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24245" inkscape:connector-curvature="0"/>
+ <path id="path24247" d="m 44,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 23,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24249" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 527,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path11006" inkscape:connector-curvature="0"/>
</g>
</g>
- <g
- id="g24251"
- transform="translate(0,252)">
- <rect
- ry="0"
- rx="0"
- y="26"
- x="0"
- height="1"
- width="6"
- id="rect24253"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" />
- <g
- id="g24255">
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 506,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24257"
- inkscape:connector-curvature="0" />
- <path
- id="path24259"
- d="m 485,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 464,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24261"
- inkscape:connector-curvature="0" />
- <path
- id="path24263"
- d="m 443,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 422,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24265"
- inkscape:connector-curvature="0" />
- <path
- id="path24267"
- d="m 401,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 380,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24269"
- inkscape:connector-curvature="0" />
- <path
- id="path24271"
- d="m 359,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 338,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24273"
- inkscape:connector-curvature="0" />
- <path
- id="path24275"
- d="m 317,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 296,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24277"
- inkscape:connector-curvature="0" />
- <path
- id="path24279"
- d="m 275,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 254,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24281"
- inkscape:connector-curvature="0" />
- <path
- id="path24283"
- d="m 233,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 212,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24285"
- inkscape:connector-curvature="0" />
- <path
- id="path24287"
- d="m 191,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 170,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24289"
- inkscape:connector-curvature="0" />
- <path
- id="path24291"
- d="m 149,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 128,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24293"
- inkscape:connector-curvature="0" />
- <path
- id="path24295"
- d="m 107,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 86,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24297"
- inkscape:connector-curvature="0" />
- <path
- id="path24299"
- d="m 65,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 44,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24301"
- inkscape:connector-curvature="0" />
- <path
- id="path24303"
- d="m 23,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- id="path11008"
- d="m 527,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
+ <g id="g24251" transform="translate(0,252)">
+ <rect ry="0" rx="0" y="26" x="0" height="1" width="6" id="rect24253" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"/>
+ <g id="g24255">
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 506,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24257" inkscape:connector-curvature="0"/>
+ <path id="path24259" d="m 485,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 464,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24261" inkscape:connector-curvature="0"/>
+ <path id="path24263" d="m 443,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 422,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24265" inkscape:connector-curvature="0"/>
+ <path id="path24267" d="m 401,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 380,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24269" inkscape:connector-curvature="0"/>
+ <path id="path24271" d="m 359,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 338,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24273" inkscape:connector-curvature="0"/>
+ <path id="path24275" d="m 317,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 296,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24277" inkscape:connector-curvature="0"/>
+ <path id="path24279" d="m 275,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 254,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24281" inkscape:connector-curvature="0"/>
+ <path id="path24283" d="m 233,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 212,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24285" inkscape:connector-curvature="0"/>
+ <path id="path24287" d="m 191,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 170,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24289" inkscape:connector-curvature="0"/>
+ <path id="path24291" d="m 149,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 128,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24293" inkscape:connector-curvature="0"/>
+ <path id="path24295" d="m 107,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 86,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24297" inkscape:connector-curvature="0"/>
+ <path id="path24299" d="m 65,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 44,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24301" inkscape:connector-curvature="0"/>
+ <path id="path24303" d="m 23,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path id="path11008" d="m 527,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
</g>
</g>
- <g
- id="g24305"
- transform="translate(0,231)">
- <rect
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- id="rect24307"
- width="6"
- height="1"
- x="0"
- y="26"
- rx="0"
- ry="0" />
- <g
- id="g24309">
- <path
- id="path24311"
- d="m 506,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 485,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24313"
- inkscape:connector-curvature="0" />
- <path
- id="path24315"
- d="m 464,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 443,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24317"
- inkscape:connector-curvature="0" />
- <path
- id="path24319"
- d="m 422,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 401,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24321"
- inkscape:connector-curvature="0" />
- <path
- id="path24323"
- d="m 380,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 359,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24325"
- inkscape:connector-curvature="0" />
- <path
- id="path24327"
- d="m 338,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 317,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24329"
- inkscape:connector-curvature="0" />
- <path
- id="path24331"
- d="m 296,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 275,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24333"
- inkscape:connector-curvature="0" />
- <path
- id="path24335"
- d="m 254,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 233,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24337"
- inkscape:connector-curvature="0" />
- <path
- id="path24339"
- d="m 212,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 191,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24341"
- inkscape:connector-curvature="0" />
- <path
- id="path24343"
- d="m 170,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 149,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24345"
- inkscape:connector-curvature="0" />
- <path
- id="path24347"
- d="m 128,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 107,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24349"
- inkscape:connector-curvature="0" />
- <path
- id="path24351"
- d="m 86,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 65,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24353"
- inkscape:connector-curvature="0" />
- <path
- id="path24355"
- d="m 44,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 23,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24357"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 527,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path11010"
- inkscape:connector-curvature="0" />
+ <g id="g24305" transform="translate(0,231)">
+ <rect style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" id="rect24307" width="6" height="1" x="0" y="26" rx="0" ry="0"/>
+ <g id="g24309">
+ <path id="path24311" d="m 506,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 485,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24313" inkscape:connector-curvature="0"/>
+ <path id="path24315" d="m 464,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 443,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24317" inkscape:connector-curvature="0"/>
+ <path id="path24319" d="m 422,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 401,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24321" inkscape:connector-curvature="0"/>
+ <path id="path24323" d="m 380,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 359,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24325" inkscape:connector-curvature="0"/>
+ <path id="path24327" d="m 338,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 317,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24329" inkscape:connector-curvature="0"/>
+ <path id="path24331" d="m 296,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 275,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24333" inkscape:connector-curvature="0"/>
+ <path id="path24335" d="m 254,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 233,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24337" inkscape:connector-curvature="0"/>
+ <path id="path24339" d="m 212,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 191,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24341" inkscape:connector-curvature="0"/>
+ <path id="path24343" d="m 170,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 149,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24345" inkscape:connector-curvature="0"/>
+ <path id="path24347" d="m 128,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 107,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24349" inkscape:connector-curvature="0"/>
+ <path id="path24351" d="m 86,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 65,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24353" inkscape:connector-curvature="0"/>
+ <path id="path24355" d="m 44,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 23,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24357" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 527,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path11010" inkscape:connector-curvature="0"/>
</g>
</g>
- <g
- id="g24359"
- transform="translate(0,210)">
- <rect
- ry="0"
- rx="0"
- y="26"
- x="0"
- height="1"
- width="6"
- id="rect24361"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" />
- <g
- id="g24363">
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 506,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24365"
- inkscape:connector-curvature="0" />
- <path
- id="path24367"
- d="m 485,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 464,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24369"
- inkscape:connector-curvature="0" />
- <path
- id="path24371"
- d="m 443,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 422,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24373"
- inkscape:connector-curvature="0" />
- <path
- id="path24375"
- d="m 401,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 380,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24377"
- inkscape:connector-curvature="0" />
- <path
- id="path24379"
- d="m 359,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 338,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24381"
- inkscape:connector-curvature="0" />
- <path
- id="path24383"
- d="m 317,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 296,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24385"
- inkscape:connector-curvature="0" />
- <path
- id="path24387"
- d="m 275,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 254,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24389"
- inkscape:connector-curvature="0" />
- <path
- id="path24391"
- d="m 233,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 212,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24393"
- inkscape:connector-curvature="0" />
- <path
- id="path24395"
- d="m 191,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 170,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24397"
- inkscape:connector-curvature="0" />
- <path
- id="path24399"
- d="m 149,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 128,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24401"
- inkscape:connector-curvature="0" />
- <path
- id="path24403"
- d="m 107,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 86,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24405"
- inkscape:connector-curvature="0" />
- <path
- id="path24407"
- d="m 65,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 44,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24409"
- inkscape:connector-curvature="0" />
- <path
- id="path24411"
- d="m 23,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- id="path11012"
- d="m 527,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
+ <g id="g24359" transform="translate(0,210)">
+ <rect ry="0" rx="0" y="26" x="0" height="1" width="6" id="rect24361" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"/>
+ <g id="g24363">
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 506,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24365" inkscape:connector-curvature="0"/>
+ <path id="path24367" d="m 485,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 464,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24369" inkscape:connector-curvature="0"/>
+ <path id="path24371" d="m 443,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 422,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24373" inkscape:connector-curvature="0"/>
+ <path id="path24375" d="m 401,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 380,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24377" inkscape:connector-curvature="0"/>
+ <path id="path24379" d="m 359,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 338,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24381" inkscape:connector-curvature="0"/>
+ <path id="path24383" d="m 317,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 296,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24385" inkscape:connector-curvature="0"/>
+ <path id="path24387" d="m 275,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 254,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24389" inkscape:connector-curvature="0"/>
+ <path id="path24391" d="m 233,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 212,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24393" inkscape:connector-curvature="0"/>
+ <path id="path24395" d="m 191,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 170,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24397" inkscape:connector-curvature="0"/>
+ <path id="path24399" d="m 149,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 128,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24401" inkscape:connector-curvature="0"/>
+ <path id="path24403" d="m 107,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 86,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24405" inkscape:connector-curvature="0"/>
+ <path id="path24407" d="m 65,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 44,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24409" inkscape:connector-curvature="0"/>
+ <path id="path24411" d="m 23,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path id="path11012" d="m 527,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
</g>
</g>
- <g
- id="g24413"
- transform="translate(0,189)">
- <rect
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- id="rect24415"
- width="6"
- height="1"
- x="0"
- y="26"
- rx="0"
- ry="0" />
- <g
- id="g24417">
- <path
- id="path24419"
- d="m 506,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 485,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24421"
- inkscape:connector-curvature="0" />
- <path
- id="path24423"
- d="m 464,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 443,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24425"
- inkscape:connector-curvature="0" />
- <path
- id="path24427"
- d="m 422,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 401,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24429"
- inkscape:connector-curvature="0" />
- <path
- id="path24431"
- d="m 380,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 359,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24433"
- inkscape:connector-curvature="0" />
- <path
- id="path24435"
- d="m 338,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 317,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24437"
- inkscape:connector-curvature="0" />
- <path
- id="path24439"
- d="m 296,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 275,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24441"
- inkscape:connector-curvature="0" />
- <path
- id="path24443"
- d="m 254,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 233,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24445"
- inkscape:connector-curvature="0" />
- <path
- id="path24447"
- d="m 212,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 191,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24449"
- inkscape:connector-curvature="0" />
- <path
- id="path24451"
- d="m 170,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 149,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24453"
- inkscape:connector-curvature="0" />
- <path
- id="path24455"
- d="m 128,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 107,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24457"
- inkscape:connector-curvature="0" />
- <path
- id="path24459"
- d="m 86,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 65,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24461"
- inkscape:connector-curvature="0" />
- <path
- id="path24463"
- d="m 44,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 23,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24465"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 527,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path11014"
- inkscape:connector-curvature="0" />
+ <g id="g24413" transform="translate(0,189)">
+ <rect style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" id="rect24415" width="6" height="1" x="0" y="26" rx="0" ry="0"/>
+ <g id="g24417">
+ <path id="path24419" d="m 506,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 485,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24421" inkscape:connector-curvature="0"/>
+ <path id="path24423" d="m 464,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 443,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24425" inkscape:connector-curvature="0"/>
+ <path id="path24427" d="m 422,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 401,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24429" inkscape:connector-curvature="0"/>
+ <path id="path24431" d="m 380,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 359,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24433" inkscape:connector-curvature="0"/>
+ <path id="path24435" d="m 338,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 317,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24437" inkscape:connector-curvature="0"/>
+ <path id="path24439" d="m 296,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 275,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24441" inkscape:connector-curvature="0"/>
+ <path id="path24443" d="m 254,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 233,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24445" inkscape:connector-curvature="0"/>
+ <path id="path24447" d="m 212,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 191,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24449" inkscape:connector-curvature="0"/>
+ <path id="path24451" d="m 170,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 149,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24453" inkscape:connector-curvature="0"/>
+ <path id="path24455" d="m 128,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 107,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24457" inkscape:connector-curvature="0"/>
+ <path id="path24459" d="m 86,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 65,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24461" inkscape:connector-curvature="0"/>
+ <path id="path24463" d="m 44,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 23,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24465" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 527,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path11014" inkscape:connector-curvature="0"/>
</g>
</g>
- <g
- id="g24467"
- transform="translate(0,168)">
- <rect
- ry="0"
- rx="0"
- y="26"
- x="0"
- height="1"
- width="6"
- id="rect24469"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" />
- <g
- id="g24471">
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 506,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24473"
- inkscape:connector-curvature="0" />
- <path
- id="path24475"
- d="m 485,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 464,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24477"
- inkscape:connector-curvature="0" />
- <path
- id="path24479"
- d="m 443,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 422,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24481"
- inkscape:connector-curvature="0" />
- <path
- id="path24483"
- d="m 401,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 380,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24485"
- inkscape:connector-curvature="0" />
- <path
- id="path24487"
- d="m 359,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 338,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24489"
- inkscape:connector-curvature="0" />
- <path
- id="path24491"
- d="m 317,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 296,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24493"
- inkscape:connector-curvature="0" />
- <path
- id="path24495"
- d="m 275,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 254,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24497"
- inkscape:connector-curvature="0" />
- <path
- id="path24499"
- d="m 233,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 212,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24501"
- inkscape:connector-curvature="0" />
- <path
- id="path24503"
- d="m 191,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 170,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24505"
- inkscape:connector-curvature="0" />
- <path
- id="path24507"
- d="m 149,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 128,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24509"
- inkscape:connector-curvature="0" />
- <path
- id="path24511"
- d="m 107,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 86,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24513"
- inkscape:connector-curvature="0" />
- <path
- id="path24515"
- d="m 65,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 44,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24517"
- inkscape:connector-curvature="0" />
- <path
- id="path24519"
- d="m 23,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- id="path11016"
- d="m 527,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
+ <g id="g24467" transform="translate(0,168)">
+ <rect ry="0" rx="0" y="26" x="0" height="1" width="6" id="rect24469" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"/>
+ <g id="g24471">
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 506,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24473" inkscape:connector-curvature="0"/>
+ <path id="path24475" d="m 485,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 464,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24477" inkscape:connector-curvature="0"/>
+ <path id="path24479" d="m 443,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 422,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24481" inkscape:connector-curvature="0"/>
+ <path id="path24483" d="m 401,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 380,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24485" inkscape:connector-curvature="0"/>
+ <path id="path24487" d="m 359,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 338,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24489" inkscape:connector-curvature="0"/>
+ <path id="path24491" d="m 317,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 296,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24493" inkscape:connector-curvature="0"/>
+ <path id="path24495" d="m 275,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 254,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24497" inkscape:connector-curvature="0"/>
+ <path id="path24499" d="m 233,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 212,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24501" inkscape:connector-curvature="0"/>
+ <path id="path24503" d="m 191,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 170,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24505" inkscape:connector-curvature="0"/>
+ <path id="path24507" d="m 149,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 128,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24509" inkscape:connector-curvature="0"/>
+ <path id="path24511" d="m 107,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 86,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24513" inkscape:connector-curvature="0"/>
+ <path id="path24515" d="m 65,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 44,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24517" inkscape:connector-curvature="0"/>
+ <path id="path24519" d="m 23,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path id="path11016" d="m 527,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
</g>
</g>
- <g
- id="g24521"
- transform="translate(0,147)">
- <rect
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- id="rect24523"
- width="6"
- height="1"
- x="0"
- y="26"
- rx="0"
- ry="0" />
- <g
- id="g24525">
- <path
- id="path24527"
- d="m 506,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 485,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24529"
- inkscape:connector-curvature="0" />
- <path
- id="path24531"
- d="m 464,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 443,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24533"
- inkscape:connector-curvature="0" />
- <path
- id="path24535"
- d="m 422,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 401,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24537"
- inkscape:connector-curvature="0" />
- <path
- id="path24539"
- d="m 380,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 359,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24541"
- inkscape:connector-curvature="0" />
- <path
- id="path24543"
- d="m 338,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 317,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24545"
- inkscape:connector-curvature="0" />
- <path
- id="path24547"
- d="m 296,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 275,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24549"
- inkscape:connector-curvature="0" />
- <path
- id="path24551"
- d="m 254,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 233,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24553"
- inkscape:connector-curvature="0" />
- <path
- id="path24555"
- d="m 212,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 191,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24557"
- inkscape:connector-curvature="0" />
- <path
- id="path24559"
- d="m 170,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 149,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24561"
- inkscape:connector-curvature="0" />
- <path
- id="path24563"
- d="m 128,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 107,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24565"
- inkscape:connector-curvature="0" />
- <path
- id="path24567"
- d="m 86,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 65,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24569"
- inkscape:connector-curvature="0" />
- <path
- id="path24571"
- d="m 44,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 23,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24573"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 527,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path11018"
- inkscape:connector-curvature="0" />
+ <g id="g24521" transform="translate(0,147)">
+ <rect style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" id="rect24523" width="6" height="1" x="0" y="26" rx="0" ry="0"/>
+ <g id="g24525">
+ <path id="path24527" d="m 506,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 485,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24529" inkscape:connector-curvature="0"/>
+ <path id="path24531" d="m 464,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 443,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24533" inkscape:connector-curvature="0"/>
+ <path id="path24535" d="m 422,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 401,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24537" inkscape:connector-curvature="0"/>
+ <path id="path24539" d="m 380,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 359,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24541" inkscape:connector-curvature="0"/>
+ <path id="path24543" d="m 338,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 317,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24545" inkscape:connector-curvature="0"/>
+ <path id="path24547" d="m 296,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 275,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24549" inkscape:connector-curvature="0"/>
+ <path id="path24551" d="m 254,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 233,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24553" inkscape:connector-curvature="0"/>
+ <path id="path24555" d="m 212,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 191,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24557" inkscape:connector-curvature="0"/>
+ <path id="path24559" d="m 170,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 149,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24561" inkscape:connector-curvature="0"/>
+ <path id="path24563" d="m 128,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 107,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24565" inkscape:connector-curvature="0"/>
+ <path id="path24567" d="m 86,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 65,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24569" inkscape:connector-curvature="0"/>
+ <path id="path24571" d="m 44,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 23,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24573" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 527,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path11018" inkscape:connector-curvature="0"/>
</g>
</g>
- <g
- id="g24575"
- transform="translate(0,126)">
- <rect
- ry="0"
- rx="0"
- y="26"
- x="0"
- height="1"
- width="6"
- id="rect24577"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" />
- <g
- id="g24579">
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 506,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24581"
- inkscape:connector-curvature="0" />
- <path
- id="path24583"
- d="m 485,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 464,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24585"
- inkscape:connector-curvature="0" />
- <path
- id="path24587"
- d="m 443,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 422,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24589"
- inkscape:connector-curvature="0" />
- <path
- id="path24591"
- d="m 401,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 380,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24593"
- inkscape:connector-curvature="0" />
- <path
- id="path24595"
- d="m 359,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 338,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24597"
- inkscape:connector-curvature="0" />
- <path
- id="path24599"
- d="m 317,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 296,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24601"
- inkscape:connector-curvature="0" />
- <path
- id="path24603"
- d="m 275,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 254,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24605"
- inkscape:connector-curvature="0" />
- <path
- id="path24607"
- d="m 233,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 212,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24609"
- inkscape:connector-curvature="0" />
- <path
- id="path24611"
- d="m 191,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 170,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24613"
- inkscape:connector-curvature="0" />
- <path
- id="path24615"
- d="m 149,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 128,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24617"
- inkscape:connector-curvature="0" />
- <path
- id="path24619"
- d="m 107,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 86,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24621"
- inkscape:connector-curvature="0" />
- <path
- id="path24623"
- d="m 65,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 44,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24625"
- inkscape:connector-curvature="0" />
- <path
- id="path24627"
- d="m 23,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- id="path11020"
- d="m 527,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
+ <g id="g24575" transform="translate(0,126)">
+ <rect ry="0" rx="0" y="26" x="0" height="1" width="6" id="rect24577" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"/>
+ <g id="g24579">
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 506,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24581" inkscape:connector-curvature="0"/>
+ <path id="path24583" d="m 485,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 464,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24585" inkscape:connector-curvature="0"/>
+ <path id="path24587" d="m 443,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 422,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24589" inkscape:connector-curvature="0"/>
+ <path id="path24591" d="m 401,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 380,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24593" inkscape:connector-curvature="0"/>
+ <path id="path24595" d="m 359,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 338,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24597" inkscape:connector-curvature="0"/>
+ <path id="path24599" d="m 317,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 296,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24601" inkscape:connector-curvature="0"/>
+ <path id="path24603" d="m 275,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 254,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24605" inkscape:connector-curvature="0"/>
+ <path id="path24607" d="m 233,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 212,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24609" inkscape:connector-curvature="0"/>
+ <path id="path24611" d="m 191,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 170,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24613" inkscape:connector-curvature="0"/>
+ <path id="path24615" d="m 149,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 128,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24617" inkscape:connector-curvature="0"/>
+ <path id="path24619" d="m 107,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 86,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24621" inkscape:connector-curvature="0"/>
+ <path id="path24623" d="m 65,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 44,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24625" inkscape:connector-curvature="0"/>
+ <path id="path24627" d="m 23,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path id="path11020" d="m 527,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
</g>
</g>
- <g
- id="g24630"
- transform="translate(0,105)">
- <rect
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- id="rect24632"
- width="6"
- height="1"
- x="0"
- y="26"
- rx="0"
- ry="0" />
- <g
- id="g24634">
- <path
- id="path24636"
- d="m 506,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 485,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24638"
- inkscape:connector-curvature="0" />
- <path
- id="path24640"
- d="m 464,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 443,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24642"
- inkscape:connector-curvature="0" />
- <path
- id="path24644"
- d="m 422,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 401,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24646"
- inkscape:connector-curvature="0" />
- <path
- id="path24648"
- d="m 380,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 359,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24650"
- inkscape:connector-curvature="0" />
- <path
- id="path24652"
- d="m 338,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 317,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24654"
- inkscape:connector-curvature="0" />
- <path
- id="path24656"
- d="m 296,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 275,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24658"
- inkscape:connector-curvature="0" />
- <path
- id="path24660"
- d="m 254,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 233,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24662"
- inkscape:connector-curvature="0" />
- <path
- id="path24664"
- d="m 212,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 191,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24666"
- inkscape:connector-curvature="0" />
- <path
- id="path24668"
- d="m 170,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 149,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24670"
- inkscape:connector-curvature="0" />
- <path
- id="path24672"
- d="m 128,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 107,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24674"
- inkscape:connector-curvature="0" />
- <path
- id="path24676"
- d="m 86,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 65,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24678"
- inkscape:connector-curvature="0" />
- <path
- id="path24680"
- d="m 44,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 23,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24682"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 527,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path11022"
- inkscape:connector-curvature="0" />
+ <g id="g24630" transform="translate(0,105)">
+ <rect style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" id="rect24632" width="6" height="1" x="0" y="26" rx="0" ry="0"/>
+ <g id="g24634">
+ <path id="path24636" d="m 506,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 485,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24638" inkscape:connector-curvature="0"/>
+ <path id="path24640" d="m 464,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 443,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24642" inkscape:connector-curvature="0"/>
+ <path id="path24644" d="m 422,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 401,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24646" inkscape:connector-curvature="0"/>
+ <path id="path24648" d="m 380,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 359,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24650" inkscape:connector-curvature="0"/>
+ <path id="path24652" d="m 338,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 317,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24654" inkscape:connector-curvature="0"/>
+ <path id="path24656" d="m 296,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 275,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24658" inkscape:connector-curvature="0"/>
+ <path id="path24660" d="m 254,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 233,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24662" inkscape:connector-curvature="0"/>
+ <path id="path24664" d="m 212,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 191,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24666" inkscape:connector-curvature="0"/>
+ <path id="path24668" d="m 170,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 149,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24670" inkscape:connector-curvature="0"/>
+ <path id="path24672" d="m 128,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 107,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24674" inkscape:connector-curvature="0"/>
+ <path id="path24676" d="m 86,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 65,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24678" inkscape:connector-curvature="0"/>
+ <path id="path24680" d="m 44,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 23,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24682" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 527,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path11022" inkscape:connector-curvature="0"/>
</g>
</g>
- <g
- id="g24684"
- transform="translate(0,84)">
- <rect
- ry="0"
- rx="0"
- y="26"
- x="0"
- height="1"
- width="6"
- id="rect24686"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" />
- <g
- id="g24688">
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 506,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24690"
- inkscape:connector-curvature="0" />
- <path
- id="path24692"
- d="m 485,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 464,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24694"
- inkscape:connector-curvature="0" />
- <path
- id="path24696"
- d="m 443,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 422,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24698"
- inkscape:connector-curvature="0" />
- <path
- id="path24700"
- d="m 401,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 380,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24702"
- inkscape:connector-curvature="0" />
- <path
- id="path24704"
- d="m 359,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 338,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24706"
- inkscape:connector-curvature="0" />
- <path
- id="path24708"
- d="m 317,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 296,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24710"
- inkscape:connector-curvature="0" />
- <path
- id="path24712"
- d="m 275,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 254,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24714"
- inkscape:connector-curvature="0" />
- <path
- id="path24716"
- d="m 233,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 212,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24718"
- inkscape:connector-curvature="0" />
- <path
- id="path24720"
- d="m 191,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 170,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24722"
- inkscape:connector-curvature="0" />
- <path
- id="path24724"
- d="m 149,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 128,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24726"
- inkscape:connector-curvature="0" />
- <path
- id="path24728"
- d="m 107,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 86,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24730"
- inkscape:connector-curvature="0" />
- <path
- id="path24732"
- d="m 65,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 44,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24734"
- inkscape:connector-curvature="0" />
- <path
- id="path24736"
- d="m 23,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- id="path11024"
- d="m 527,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
+ <g id="g24684" transform="translate(0,84)">
+ <rect ry="0" rx="0" y="26" x="0" height="1" width="6" id="rect24686" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"/>
+ <g id="g24688">
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 506,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24690" inkscape:connector-curvature="0"/>
+ <path id="path24692" d="m 485,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 464,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24694" inkscape:connector-curvature="0"/>
+ <path id="path24696" d="m 443,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 422,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24698" inkscape:connector-curvature="0"/>
+ <path id="path24700" d="m 401,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 380,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24702" inkscape:connector-curvature="0"/>
+ <path id="path24704" d="m 359,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 338,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24706" inkscape:connector-curvature="0"/>
+ <path id="path24708" d="m 317,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 296,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24710" inkscape:connector-curvature="0"/>
+ <path id="path24712" d="m 275,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 254,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24714" inkscape:connector-curvature="0"/>
+ <path id="path24716" d="m 233,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 212,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24718" inkscape:connector-curvature="0"/>
+ <path id="path24720" d="m 191,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 170,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24722" inkscape:connector-curvature="0"/>
+ <path id="path24724" d="m 149,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 128,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24726" inkscape:connector-curvature="0"/>
+ <path id="path24728" d="m 107,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 86,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24730" inkscape:connector-curvature="0"/>
+ <path id="path24732" d="m 65,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 44,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24734" inkscape:connector-curvature="0"/>
+ <path id="path24736" d="m 23,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path id="path11024" d="m 527,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
</g>
</g>
- <g
- id="g24738"
- transform="translate(0,63)">
- <rect
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- id="rect24740"
- width="6"
- height="1"
- x="0"
- y="26"
- rx="0"
- ry="0" />
- <g
- id="g24742">
- <path
- id="path24744"
- d="m 506,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 485,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24746"
- inkscape:connector-curvature="0" />
- <path
- id="path24748"
- d="m 464,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 443,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24750"
- inkscape:connector-curvature="0" />
- <path
- id="path24752"
- d="m 422,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 401,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24754"
- inkscape:connector-curvature="0" />
- <path
- id="path24756"
- d="m 380,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 359,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24758"
- inkscape:connector-curvature="0" />
- <path
- id="path24760"
- d="m 338,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 317,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24762"
- inkscape:connector-curvature="0" />
- <path
- id="path24764"
- d="m 296,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 275,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24766"
- inkscape:connector-curvature="0" />
- <path
- id="path24768"
- d="m 254,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 233,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24770"
- inkscape:connector-curvature="0" />
- <path
- id="path24772"
- d="m 212,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 191,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24774"
- inkscape:connector-curvature="0" />
- <path
- id="path24776"
- d="m 170,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 149,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24778"
- inkscape:connector-curvature="0" />
- <path
- id="path24780"
- d="m 128,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 107,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24782"
- inkscape:connector-curvature="0" />
- <path
- id="path24784"
- d="m 86,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 65,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24786"
- inkscape:connector-curvature="0" />
- <path
- id="path24788"
- d="m 44,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 23,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24790"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 527,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path11026"
- inkscape:connector-curvature="0" />
+ <g id="g24738" transform="translate(0,63)">
+ <rect style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" id="rect24740" width="6" height="1" x="0" y="26" rx="0" ry="0"/>
+ <g id="g24742">
+ <path id="path24744" d="m 506,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 485,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24746" inkscape:connector-curvature="0"/>
+ <path id="path24748" d="m 464,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 443,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24750" inkscape:connector-curvature="0"/>
+ <path id="path24752" d="m 422,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 401,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24754" inkscape:connector-curvature="0"/>
+ <path id="path24756" d="m 380,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 359,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24758" inkscape:connector-curvature="0"/>
+ <path id="path24760" d="m 338,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 317,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24762" inkscape:connector-curvature="0"/>
+ <path id="path24764" d="m 296,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 275,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24766" inkscape:connector-curvature="0"/>
+ <path id="path24768" d="m 254,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 233,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24770" inkscape:connector-curvature="0"/>
+ <path id="path24772" d="m 212,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 191,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24774" inkscape:connector-curvature="0"/>
+ <path id="path24776" d="m 170,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 149,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24778" inkscape:connector-curvature="0"/>
+ <path id="path24780" d="m 128,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 107,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24782" inkscape:connector-curvature="0"/>
+ <path id="path24784" d="m 86,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 65,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24786" inkscape:connector-curvature="0"/>
+ <path id="path24788" d="m 44,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 23,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24790" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 527,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path11026" inkscape:connector-curvature="0"/>
</g>
</g>
- <g
- id="g24792"
- transform="translate(0,42)">
- <rect
- ry="0"
- rx="0"
- y="26"
- x="0"
- height="1"
- width="6"
- id="rect24794"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" />
- <g
- id="g24796">
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 506,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24798"
- inkscape:connector-curvature="0" />
- <path
- id="path24800"
- d="m 485,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 464,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24802"
- inkscape:connector-curvature="0" />
- <path
- id="path24804"
- d="m 443,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 422,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24806"
- inkscape:connector-curvature="0" />
- <path
- id="path24808"
- d="m 401,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 380,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24810"
- inkscape:connector-curvature="0" />
- <path
- id="path24812"
- d="m 359,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 338,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24814"
- inkscape:connector-curvature="0" />
- <path
- id="path24816"
- d="m 317,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 296,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24818"
- inkscape:connector-curvature="0" />
- <path
- id="path24820"
- d="m 275,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 254,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24822"
- inkscape:connector-curvature="0" />
- <path
- id="path24824"
- d="m 233,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 212,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24826"
- inkscape:connector-curvature="0" />
- <path
- id="path24828"
- d="m 191,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 170,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24830"
- inkscape:connector-curvature="0" />
- <path
- id="path24832"
- d="m 149,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 128,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24834"
- inkscape:connector-curvature="0" />
- <path
- id="path24836"
- d="m 107,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 86,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24838"
- inkscape:connector-curvature="0" />
- <path
- id="path24840"
- d="m 65,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 44,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24842"
- inkscape:connector-curvature="0" />
- <path
- id="path24844"
- d="m 23,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- id="path11028"
- d="m 527,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
+ <g id="g24792" transform="translate(0,42)">
+ <rect ry="0" rx="0" y="26" x="0" height="1" width="6" id="rect24794" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"/>
+ <g id="g24796">
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 506,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24798" inkscape:connector-curvature="0"/>
+ <path id="path24800" d="m 485,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 464,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24802" inkscape:connector-curvature="0"/>
+ <path id="path24804" d="m 443,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 422,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24806" inkscape:connector-curvature="0"/>
+ <path id="path24808" d="m 401,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 380,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24810" inkscape:connector-curvature="0"/>
+ <path id="path24812" d="m 359,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 338,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24814" inkscape:connector-curvature="0"/>
+ <path id="path24816" d="m 317,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 296,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24818" inkscape:connector-curvature="0"/>
+ <path id="path24820" d="m 275,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 254,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24822" inkscape:connector-curvature="0"/>
+ <path id="path24824" d="m 233,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 212,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24826" inkscape:connector-curvature="0"/>
+ <path id="path24828" d="m 191,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 170,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24830" inkscape:connector-curvature="0"/>
+ <path id="path24832" d="m 149,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 128,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24834" inkscape:connector-curvature="0"/>
+ <path id="path24836" d="m 107,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 86,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24838" inkscape:connector-curvature="0"/>
+ <path id="path24840" d="m 65,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 44,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24842" inkscape:connector-curvature="0"/>
+ <path id="path24844" d="m 23,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path id="path11028" d="m 527,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
</g>
</g>
- <g
- id="g24846"
- transform="translate(0,21)">
- <rect
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- id="rect24848"
- width="6"
- height="1"
- x="0"
- y="26"
- rx="0"
- ry="0" />
- <g
- id="g24850">
- <path
- id="path24852"
- d="m 506,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 485,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24854"
- inkscape:connector-curvature="0" />
- <path
- id="path24856"
- d="m 464,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 443,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24858"
- inkscape:connector-curvature="0" />
- <path
- id="path24860"
- d="m 422,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 401,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24862"
- inkscape:connector-curvature="0" />
- <path
- id="path24864"
- d="m 380,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 359,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24866"
- inkscape:connector-curvature="0" />
- <path
- id="path24868"
- d="m 338,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 317,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24870"
- inkscape:connector-curvature="0" />
- <path
- id="path24872"
- d="m 296,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 275,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24874"
- inkscape:connector-curvature="0" />
- <path
- id="path24876"
- d="m 254,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 233,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24878"
- inkscape:connector-curvature="0" />
- <path
- id="path24880"
- d="m 212,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 191,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24882"
- inkscape:connector-curvature="0" />
- <path
- id="path24884"
- d="m 170,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 149,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24886"
- inkscape:connector-curvature="0" />
- <path
- id="path24888"
- d="m 128,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 107,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24890"
- inkscape:connector-curvature="0" />
- <path
- id="path24892"
- d="m 86,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 65,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24894"
- inkscape:connector-curvature="0" />
- <path
- id="path24896"
- d="m 44,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 23,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24898"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 527,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path11030"
- inkscape:connector-curvature="0" />
+ <g id="g24846" transform="translate(0,21)">
+ <rect style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" id="rect24848" width="6" height="1" x="0" y="26" rx="0" ry="0"/>
+ <g id="g24850">
+ <path id="path24852" d="m 506,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 485,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24854" inkscape:connector-curvature="0"/>
+ <path id="path24856" d="m 464,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 443,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24858" inkscape:connector-curvature="0"/>
+ <path id="path24860" d="m 422,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 401,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24862" inkscape:connector-curvature="0"/>
+ <path id="path24864" d="m 380,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 359,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24866" inkscape:connector-curvature="0"/>
+ <path id="path24868" d="m 338,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 317,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24870" inkscape:connector-curvature="0"/>
+ <path id="path24872" d="m 296,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 275,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24874" inkscape:connector-curvature="0"/>
+ <path id="path24876" d="m 254,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 233,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24878" inkscape:connector-curvature="0"/>
+ <path id="path24880" d="m 212,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 191,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24882" inkscape:connector-curvature="0"/>
+ <path id="path24884" d="m 170,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 149,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24886" inkscape:connector-curvature="0"/>
+ <path id="path24888" d="m 128,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 107,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24890" inkscape:connector-curvature="0"/>
+ <path id="path24892" d="m 86,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 65,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24894" inkscape:connector-curvature="0"/>
+ <path id="path24896" d="m 44,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 23,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24898" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 527,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path11030" inkscape:connector-curvature="0"/>
</g>
</g>
- <g
- id="g24900">
- <rect
- ry="0"
- rx="0"
- y="26"
- x="0"
- height="1"
- width="6"
- id="rect24902"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" />
- <g
- id="g24904">
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 506,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24906"
- inkscape:connector-curvature="0" />
- <path
- id="path24908"
- d="m 485,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 464,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24910"
- inkscape:connector-curvature="0" />
- <path
- id="path24912"
- d="m 443,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 422,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24914"
- inkscape:connector-curvature="0" />
- <path
- id="path24916"
- d="m 401,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 380,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24918"
- inkscape:connector-curvature="0" />
- <path
- id="path24920"
- d="m 359,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 338,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24922"
- inkscape:connector-curvature="0" />
- <path
- id="path24924"
- d="m 317,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 296,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24926"
- inkscape:connector-curvature="0" />
- <path
- id="path24928"
- d="m 275,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 254,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24930"
- inkscape:connector-curvature="0" />
- <path
- id="path24932"
- d="m 233,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 212,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24934"
- inkscape:connector-curvature="0" />
- <path
- id="path24936"
- d="m 191,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 170,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24938"
- inkscape:connector-curvature="0" />
- <path
- id="path24940"
- d="m 149,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 128,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24942"
- inkscape:connector-curvature="0" />
- <path
- id="path24944"
- d="m 107,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 86,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24946"
- inkscape:connector-curvature="0" />
- <path
- id="path24948"
- d="m 65,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 44,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path24950"
- inkscape:connector-curvature="0" />
- <path
- id="path24952"
- d="m 23,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- id="path11032"
- d="m 527,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
+ <g id="g24900">
+ <rect ry="0" rx="0" y="26" x="0" height="1" width="6" id="rect24902" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"/>
+ <g id="g24904">
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 506,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24906" inkscape:connector-curvature="0"/>
+ <path id="path24908" d="m 485,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 464,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24910" inkscape:connector-curvature="0"/>
+ <path id="path24912" d="m 443,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 422,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24914" inkscape:connector-curvature="0"/>
+ <path id="path24916" d="m 401,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 380,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24918" inkscape:connector-curvature="0"/>
+ <path id="path24920" d="m 359,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 338,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24922" inkscape:connector-curvature="0"/>
+ <path id="path24924" d="m 317,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 296,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24926" inkscape:connector-curvature="0"/>
+ <path id="path24928" d="m 275,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 254,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24930" inkscape:connector-curvature="0"/>
+ <path id="path24932" d="m 233,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 212,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24934" inkscape:connector-curvature="0"/>
+ <path id="path24936" d="m 191,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 170,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24938" inkscape:connector-curvature="0"/>
+ <path id="path24940" d="m 149,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 128,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24942" inkscape:connector-curvature="0"/>
+ <path id="path24944" d="m 107,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 86,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24946" inkscape:connector-curvature="0"/>
+ <path id="path24948" d="m 65,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 44,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path24950" inkscape:connector-curvature="0"/>
+ <path id="path24952" d="m 23,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path id="path11032" d="m 527,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
</g>
</g>
- <g
- transform="translate(0,483)"
- id="g39833">
- <rect
- ry="0"
- rx="0"
- y="26"
- x="0"
- height="1"
- width="6"
- id="rect39835"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" />
- <g
- id="g39837">
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 506,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path39840"
- inkscape:connector-curvature="0" />
- <path
- id="path39842"
- d="m 485,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 464,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path39844"
- inkscape:connector-curvature="0" />
- <path
- id="path39846"
- d="m 443,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 422,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path39848"
- inkscape:connector-curvature="0" />
- <path
- id="path39850"
- d="m 401,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 380,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path39852"
- inkscape:connector-curvature="0" />
- <path
- id="path39854"
- d="m 359,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 338,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path39856"
- inkscape:connector-curvature="0" />
- <path
- id="path39858"
- d="m 317,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 296,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path39860"
- inkscape:connector-curvature="0" />
- <path
- id="path39862"
- d="m 275,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 254,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path39864"
- inkscape:connector-curvature="0" />
- <path
- id="path39866"
- d="m 233,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 212,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path39868"
- inkscape:connector-curvature="0" />
- <path
- id="path39870"
- d="m 191,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 170,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path39872"
- inkscape:connector-curvature="0" />
- <path
- id="path39874"
- d="m 149,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 128,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path39876"
- inkscape:connector-curvature="0" />
- <path
- id="path39878"
- d="m 107,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 86,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path39880"
- inkscape:connector-curvature="0" />
- <path
- id="path39882"
- d="m 65,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 44,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path39884"
- inkscape:connector-curvature="0" />
- <path
- id="path39888"
- d="m 23,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- id="path39890"
- d="m 527,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
+ <g transform="translate(0,483)" id="g39833">
+ <rect ry="0" rx="0" y="26" x="0" height="1" width="6" id="rect39835" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"/>
+ <g id="g39837">
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 506,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path39840" inkscape:connector-curvature="0"/>
+ <path id="path39842" d="m 485,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 464,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path39844" inkscape:connector-curvature="0"/>
+ <path id="path39846" d="m 443,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 422,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path39848" inkscape:connector-curvature="0"/>
+ <path id="path39850" d="m 401,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 380,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path39852" inkscape:connector-curvature="0"/>
+ <path id="path39854" d="m 359,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 338,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path39856" inkscape:connector-curvature="0"/>
+ <path id="path39858" d="m 317,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 296,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path39860" inkscape:connector-curvature="0"/>
+ <path id="path39862" d="m 275,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 254,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path39864" inkscape:connector-curvature="0"/>
+ <path id="path39866" d="m 233,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 212,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path39868" inkscape:connector-curvature="0"/>
+ <path id="path39870" d="m 191,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 170,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path39872" inkscape:connector-curvature="0"/>
+ <path id="path39874" d="m 149,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 128,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path39876" inkscape:connector-curvature="0"/>
+ <path id="path39878" d="m 107,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 86,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path39880" inkscape:connector-curvature="0"/>
+ <path id="path39882" d="m 65,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 44,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path39884" inkscape:connector-curvature="0"/>
+ <path id="path39888" d="m 23,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path id="path39890" d="m 527,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
</g>
</g>
- <g
- id="g39892"
- transform="translate(0,504)">
- <rect
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- id="rect39894"
- width="6"
- height="1"
- x="0"
- y="26"
- rx="0"
- ry="0" />
- <g
- id="g39896">
- <path
- id="path39898"
- d="m 506,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 485,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path39900"
- inkscape:connector-curvature="0" />
- <path
- id="path39902"
- d="m 464,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 443,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path39904"
- inkscape:connector-curvature="0" />
- <path
- id="path39907"
- d="m 422,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 401,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path39909"
- inkscape:connector-curvature="0" />
- <path
- id="path39911"
- d="m 380,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 359,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path39913"
- inkscape:connector-curvature="0" />
- <path
- id="path39915"
- d="m 338,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 317,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path39917"
- inkscape:connector-curvature="0" />
- <path
- id="path39919"
- d="m 296,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 275,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path39921"
- inkscape:connector-curvature="0" />
- <path
- id="path39923"
- d="m 254,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 233,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path39925"
- inkscape:connector-curvature="0" />
- <path
- id="path39927"
- d="m 212,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 191,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path39929"
- inkscape:connector-curvature="0" />
- <path
- id="path39931"
- d="m 170,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 149,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path39933"
- inkscape:connector-curvature="0" />
- <path
- id="path39935"
- d="m 128,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 107,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path39937"
- inkscape:connector-curvature="0" />
- <path
- id="path39939"
- d="m 86,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 65,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path39941"
- inkscape:connector-curvature="0" />
- <path
- id="path39943"
- d="m 44,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 23,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path39945"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 527,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path39947"
- inkscape:connector-curvature="0" />
+ <g id="g39892" transform="translate(0,504)">
+ <rect style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" id="rect39894" width="6" height="1" x="0" y="26" rx="0" ry="0"/>
+ <g id="g39896">
+ <path id="path39898" d="m 506,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 485,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path39900" inkscape:connector-curvature="0"/>
+ <path id="path39902" d="m 464,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 443,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path39904" inkscape:connector-curvature="0"/>
+ <path id="path39907" d="m 422,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 401,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path39909" inkscape:connector-curvature="0"/>
+ <path id="path39911" d="m 380,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 359,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path39913" inkscape:connector-curvature="0"/>
+ <path id="path39915" d="m 338,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 317,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path39917" inkscape:connector-curvature="0"/>
+ <path id="path39919" d="m 296,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 275,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path39921" inkscape:connector-curvature="0"/>
+ <path id="path39923" d="m 254,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 233,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path39925" inkscape:connector-curvature="0"/>
+ <path id="path39927" d="m 212,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 191,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path39929" inkscape:connector-curvature="0"/>
+ <path id="path39931" d="m 170,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 149,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path39933" inkscape:connector-curvature="0"/>
+ <path id="path39935" d="m 128,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 107,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path39937" inkscape:connector-curvature="0"/>
+ <path id="path39939" d="m 86,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 65,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path39941" inkscape:connector-curvature="0"/>
+ <path id="path39943" d="m 44,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 23,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path39945" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 527,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path39947" inkscape:connector-curvature="0"/>
</g>
</g>
- <g
- transform="translate(0,525)"
- id="g39949">
- <rect
- ry="0"
- rx="0"
- y="26"
- x="0"
- height="1"
- width="6"
- id="rect39951"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" />
- <g
- id="g39953">
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 506,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path39955"
- inkscape:connector-curvature="0" />
- <path
- id="path39957"
- d="m 485,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 464,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path39959"
- inkscape:connector-curvature="0" />
- <path
- id="path39961"
- d="m 443,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 422,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path39963"
- inkscape:connector-curvature="0" />
- <path
- id="path39965"
- d="m 401,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 380,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path39967"
- inkscape:connector-curvature="0" />
- <path
- id="path39969"
- d="m 359,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 338,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path39971"
- inkscape:connector-curvature="0" />
- <path
- id="path39973"
- d="m 317,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 296,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path39975"
- inkscape:connector-curvature="0" />
- <path
- id="path39977"
- d="m 275,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 254,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path39979"
- inkscape:connector-curvature="0" />
- <path
- id="path39981"
- d="m 233,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 212,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path39983"
- inkscape:connector-curvature="0" />
- <path
- id="path39985"
- d="m 191,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 170,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path39987"
- inkscape:connector-curvature="0" />
- <path
- id="path39989"
- d="m 149,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 128,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path39991"
- inkscape:connector-curvature="0" />
- <path
- id="path39993"
- d="m 107,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 86,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path39995"
- inkscape:connector-curvature="0" />
- <path
- id="path39997"
- d="m 65,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 44,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path39999"
- inkscape:connector-curvature="0" />
- <path
- id="path40001"
- d="m 23,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- id="path40003"
- d="m 527,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
+ <g transform="translate(0,525)" id="g39949">
+ <rect ry="0" rx="0" y="26" x="0" height="1" width="6" id="rect39951" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"/>
+ <g id="g39953">
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 506,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path39955" inkscape:connector-curvature="0"/>
+ <path id="path39957" d="m 485,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 464,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path39959" inkscape:connector-curvature="0"/>
+ <path id="path39961" d="m 443,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 422,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path39963" inkscape:connector-curvature="0"/>
+ <path id="path39965" d="m 401,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 380,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path39967" inkscape:connector-curvature="0"/>
+ <path id="path39969" d="m 359,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 338,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path39971" inkscape:connector-curvature="0"/>
+ <path id="path39973" d="m 317,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 296,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path39975" inkscape:connector-curvature="0"/>
+ <path id="path39977" d="m 275,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 254,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path39979" inkscape:connector-curvature="0"/>
+ <path id="path39981" d="m 233,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 212,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path39983" inkscape:connector-curvature="0"/>
+ <path id="path39985" d="m 191,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 170,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path39987" inkscape:connector-curvature="0"/>
+ <path id="path39989" d="m 149,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 128,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path39991" inkscape:connector-curvature="0"/>
+ <path id="path39993" d="m 107,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 86,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path39995" inkscape:connector-curvature="0"/>
+ <path id="path39997" d="m 65,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 44,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path39999" inkscape:connector-curvature="0"/>
+ <path id="path40001" d="m 23,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path id="path40003" d="m 527,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
</g>
</g>
- <g
- id="g40005"
- transform="translate(0,546)">
- <rect
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- id="rect40007"
- width="6"
- height="1"
- x="0"
- y="26"
- rx="0"
- ry="0" />
- <g
- id="g40009">
- <path
- id="path40011"
- d="m 506,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 485,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path40013"
- inkscape:connector-curvature="0" />
- <path
- id="path40015"
- d="m 464,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 443,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path40017"
- inkscape:connector-curvature="0" />
- <path
- id="path40019"
- d="m 422,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 401,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path40021"
- inkscape:connector-curvature="0" />
- <path
- id="path40023"
- d="m 380,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 359,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path40025"
- inkscape:connector-curvature="0" />
- <path
- id="path40027"
- d="m 338,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 317,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path40029"
- inkscape:connector-curvature="0" />
- <path
- id="path40031"
- d="m 296,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 275,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path40033"
- inkscape:connector-curvature="0" />
- <path
- id="path40035"
- d="m 254,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 233,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path40038"
- inkscape:connector-curvature="0" />
- <path
- id="path40040"
- d="m 212,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 191,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path40042"
- inkscape:connector-curvature="0" />
- <path
- id="path40044"
- d="m 170,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 149,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path40046"
- inkscape:connector-curvature="0" />
- <path
- id="path40048"
- d="m 128,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 107,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path40050"
- inkscape:connector-curvature="0" />
- <path
- id="path40052"
- d="m 86,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 65,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path40054"
- inkscape:connector-curvature="0" />
- <path
- id="path40056"
- d="m 44,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 23,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path40058"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 527,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path40060"
- inkscape:connector-curvature="0" />
+ <g id="g40005" transform="translate(0,546)">
+ <rect style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" id="rect40007" width="6" height="1" x="0" y="26" rx="0" ry="0"/>
+ <g id="g40009">
+ <path id="path40011" d="m 506,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 485,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path40013" inkscape:connector-curvature="0"/>
+ <path id="path40015" d="m 464,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 443,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path40017" inkscape:connector-curvature="0"/>
+ <path id="path40019" d="m 422,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 401,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path40021" inkscape:connector-curvature="0"/>
+ <path id="path40023" d="m 380,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 359,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path40025" inkscape:connector-curvature="0"/>
+ <path id="path40027" d="m 338,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 317,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path40029" inkscape:connector-curvature="0"/>
+ <path id="path40031" d="m 296,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 275,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path40033" inkscape:connector-curvature="0"/>
+ <path id="path40035" d="m 254,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 233,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path40038" inkscape:connector-curvature="0"/>
+ <path id="path40040" d="m 212,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 191,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path40042" inkscape:connector-curvature="0"/>
+ <path id="path40044" d="m 170,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 149,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path40046" inkscape:connector-curvature="0"/>
+ <path id="path40048" d="m 128,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 107,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path40050" inkscape:connector-curvature="0"/>
+ <path id="path40052" d="m 86,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 65,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path40054" inkscape:connector-curvature="0"/>
+ <path id="path40056" d="m 44,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 23,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path40058" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 527,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path40060" inkscape:connector-curvature="0"/>
</g>
</g>
- <g
- transform="translate(0,567)"
- id="g40062">
- <rect
- ry="0"
- rx="0"
- y="26"
- x="0"
- height="1"
- width="6"
- id="rect40064"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" />
- <g
- id="g40066">
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 506,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path40068"
- inkscape:connector-curvature="0" />
- <path
- id="path40070"
- d="m 485,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 464,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path40072"
- inkscape:connector-curvature="0" />
- <path
- id="path40074"
- d="m 443,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 422,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path40076"
- inkscape:connector-curvature="0" />
- <path
- id="path40078"
- d="m 401,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 380,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path40080"
- inkscape:connector-curvature="0" />
- <path
- id="path40082"
- d="m 359,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 338,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path40084"
- inkscape:connector-curvature="0" />
- <path
- id="path40086"
- d="m 317,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 296,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path40088"
- inkscape:connector-curvature="0" />
- <path
- id="path40090"
- d="m 275,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 254,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path40092"
- inkscape:connector-curvature="0" />
- <path
- id="path40094"
- d="m 233,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 212,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path40096"
- inkscape:connector-curvature="0" />
- <path
- id="path40098"
- d="m 191,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 170,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path40100"
- inkscape:connector-curvature="0" />
- <path
- id="path40102"
- d="m 149,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 128,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path40104"
- inkscape:connector-curvature="0" />
- <path
- id="path40106"
- d="m 107,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 86,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path40108"
- inkscape:connector-curvature="0" />
- <path
- id="path40110"
- d="m 65,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 44,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path40112"
- inkscape:connector-curvature="0" />
- <path
- id="path40114"
- d="m 23,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- id="path40116"
- d="m 527,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
+ <g transform="translate(0,567)" id="g40062">
+ <rect ry="0" rx="0" y="26" x="0" height="1" width="6" id="rect40064" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"/>
+ <g id="g40066">
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 506,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path40068" inkscape:connector-curvature="0"/>
+ <path id="path40070" d="m 485,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 464,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path40072" inkscape:connector-curvature="0"/>
+ <path id="path40074" d="m 443,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 422,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path40076" inkscape:connector-curvature="0"/>
+ <path id="path40078" d="m 401,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 380,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path40080" inkscape:connector-curvature="0"/>
+ <path id="path40082" d="m 359,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 338,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path40084" inkscape:connector-curvature="0"/>
+ <path id="path40086" d="m 317,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 296,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path40088" inkscape:connector-curvature="0"/>
+ <path id="path40090" d="m 275,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 254,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path40092" inkscape:connector-curvature="0"/>
+ <path id="path40094" d="m 233,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 212,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path40096" inkscape:connector-curvature="0"/>
+ <path id="path40098" d="m 191,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 170,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path40100" inkscape:connector-curvature="0"/>
+ <path id="path40102" d="m 149,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 128,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path40104" inkscape:connector-curvature="0"/>
+ <path id="path40106" d="m 107,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 86,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path40108" inkscape:connector-curvature="0"/>
+ <path id="path40110" d="m 65,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 44,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path40112" inkscape:connector-curvature="0"/>
+ <path id="path40114" d="m 23,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path id="path40116" d="m 527,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
</g>
</g>
- <g
- id="g40118"
- transform="translate(0,588)">
- <rect
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- id="rect40120"
- width="6"
- height="1"
- x="0"
- y="26"
- rx="0"
- ry="0" />
- <g
- id="g40122">
- <path
- id="path40124"
- d="m 506,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 485,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path40126"
- inkscape:connector-curvature="0" />
- <path
- id="path40128"
- d="m 464,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 443,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path40130"
- inkscape:connector-curvature="0" />
- <path
- id="path40132"
- d="m 422,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 401,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path40134"
- inkscape:connector-curvature="0" />
- <path
- id="path40136"
- d="m 380,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 359,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path40138"
- inkscape:connector-curvature="0" />
- <path
- id="path40140"
- d="m 338,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 317,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path40142"
- inkscape:connector-curvature="0" />
- <path
- id="path40144"
- d="m 296,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 275,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path40146"
- inkscape:connector-curvature="0" />
- <path
- id="path40148"
- d="m 254,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 233,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path40150"
- inkscape:connector-curvature="0" />
- <path
- id="path40152"
- d="m 212,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 191,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path40154"
- inkscape:connector-curvature="0" />
- <path
- id="path40156"
- d="m 170,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 149,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path40158"
- inkscape:connector-curvature="0" />
- <path
- id="path40160"
- d="m 128,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 107,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path40162"
- inkscape:connector-curvature="0" />
- <path
- id="path40164"
- d="m 86,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 65,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path40166"
- inkscape:connector-curvature="0" />
- <path
- id="path40168"
- d="m 44,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 23,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path40170"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- d="m 527,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z"
- id="path40172"
- inkscape:connector-curvature="0" />
+ <g id="g40118" transform="translate(0,588)">
+ <rect style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" id="rect40120" width="6" height="1" x="0" y="26" rx="0" ry="0"/>
+ <g id="g40122">
+ <path id="path40124" d="m 506,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 485,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path40126" inkscape:connector-curvature="0"/>
+ <path id="path40128" d="m 464,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 443,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path40130" inkscape:connector-curvature="0"/>
+ <path id="path40132" d="m 422,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 401,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path40134" inkscape:connector-curvature="0"/>
+ <path id="path40136" d="m 380,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 359,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path40138" inkscape:connector-curvature="0"/>
+ <path id="path40140" d="m 338,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 317,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path40142" inkscape:connector-curvature="0"/>
+ <path id="path40144" d="m 296,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 275,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path40146" inkscape:connector-curvature="0"/>
+ <path id="path40148" d="m 254,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 233,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path40150" inkscape:connector-curvature="0"/>
+ <path id="path40152" d="m 212,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 191,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path40154" inkscape:connector-curvature="0"/>
+ <path id="path40156" d="m 170,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 149,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path40158" inkscape:connector-curvature="0"/>
+ <path id="path40160" d="m 128,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 107,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path40162" inkscape:connector-curvature="0"/>
+ <path id="path40164" d="m 86,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 65,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path40166" inkscape:connector-curvature="0"/>
+ <path id="path40168" d="m 44,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 23,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path40170" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" d="m 527,20 v 6 h -6 v 1 h 6 v 6 h 1 v -6 h 6 v -1 h -6 v -6 z" id="path40172" inkscape:connector-curvature="0"/>
</g>
</g>
</g>
- <g
- transform="translate(0,633)"
- id="g25954">
- <rect
- ry="0"
- rx="0"
- y="0"
- x="422"
- height="7"
- width="1"
- id="rect25956"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" />
- <rect
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- id="rect25958"
- width="1"
- height="7"
- x="401"
- y="0"
- rx="0"
- ry="0" />
- <rect
- ry="0"
- rx="0"
- y="0"
- x="380"
- height="7"
- width="1"
- id="rect25960"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" />
- <rect
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- id="rect25962"
- width="1"
- height="7"
- x="359"
- y="0"
- rx="0"
- ry="0" />
- <rect
- ry="0"
- rx="0"
- y="0"
- x="338"
- height="7"
- width="1"
- id="rect25964"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" />
- <rect
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- id="rect25966"
- width="1"
- height="7"
- x="317"
- y="0"
- rx="0"
- ry="0" />
- <rect
- ry="0"
- rx="0"
- y="0"
- x="296"
- height="7"
- width="1"
- id="rect25968"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" />
- <rect
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- id="rect25970"
- width="1"
- height="7"
- x="275"
- y="0"
- rx="0"
- ry="0" />
- <rect
- ry="0"
- rx="0"
- y="0"
- x="254"
- height="7"
- width="1"
- id="rect25972"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" />
- <rect
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- id="rect25974"
- width="1"
- height="7"
- x="233"
- y="0"
- rx="0"
- ry="0" />
- <rect
- ry="0"
- rx="0"
- y="0"
- x="212"
- height="7"
- width="1"
- id="rect25976"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" />
- <rect
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- id="rect25978"
- width="1"
- height="7"
- x="191"
- y="0"
- rx="0"
- ry="0" />
- <rect
- ry="0"
- rx="0"
- y="0"
- x="170"
- height="7"
- width="1"
- id="rect25980"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" />
- <rect
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- id="rect25982"
- width="1"
- height="7"
- x="149"
- y="0"
- rx="0"
- ry="0" />
- <rect
- ry="0"
- rx="0"
- y="0"
- x="128"
- height="7"
- width="1"
- id="rect25984"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" />
- <rect
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- id="rect25986"
- width="1"
- height="7"
- x="107"
- y="0"
- rx="0"
- ry="0" />
- <rect
- ry="0"
- rx="0"
- y="0"
- x="86"
- height="7"
- width="1"
- id="rect25988"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" />
- <rect
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- id="rect25990"
- width="1"
- height="7"
- x="65"
- y="0"
- rx="0"
- ry="0" />
- <rect
- ry="0"
- rx="0"
- y="0"
- x="44"
- height="7"
- width="1"
- id="rect25992"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" />
- <rect
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- id="rect25994"
- width="1"
- height="7"
- x="23"
- y="0"
- rx="0"
- ry="0" />
- <rect
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- id="rect25996"
- width="1"
- height="7"
- x="506"
- y="0"
- rx="0"
- ry="0" />
- <rect
- ry="0"
- rx="0"
- y="0"
- x="485"
- height="7"
- width="1"
- id="rect25998"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" />
- <rect
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- id="rect26000"
- width="1"
- height="7"
- x="464"
- y="0"
- rx="0"
- ry="0" />
- <rect
- ry="0"
- rx="0"
- y="0"
- x="443"
- height="7"
- width="1"
- id="rect26002"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" />
- <rect
- ry="0"
- rx="0"
- y="0"
- x="527"
- height="7"
- width="1"
- id="rect11034"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" />
- </g>
- </g>
- <g
- id="g30515"
- transform="translate(-121.95685,2)">
- <rect
- ry="0"
- rx="0"
- y="488"
- x="665.95685"
- height="1"
- width="6"
- id="rect26734"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" />
- <rect
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- id="rect26788"
- width="6"
- height="1"
- x="665.95685"
- y="467"
- rx="0"
- ry="0" />
- <rect
- ry="0"
- rx="0"
- y="446"
- x="665.95685"
- height="1"
- width="6"
- id="rect26842"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" />
- <rect
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- id="rect26896"
- width="6"
- height="1"
- x="665.95685"
- y="425"
- rx="0"
- ry="0" />
- <rect
- ry="0"
- rx="0"
- y="404"
- x="665.95685"
- height="1"
- width="6"
- id="rect26950"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" />
- <rect
- ry="0"
- rx="0"
- y="383"
- x="665.95685"
- height="1"
- width="6"
- id="rect27004"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" />
- <rect
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- id="rect27058"
- width="6"
- height="1"
- x="665.95685"
- y="362"
- rx="0"
- ry="0" />
- <rect
- ry="0"
- rx="0"
- y="341"
- x="665.95685"
- height="1"
- width="6"
- id="rect27112"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" />
- <rect
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- id="rect27166"
- width="6"
- height="1"
- x="665.95685"
- y="320"
- rx="0"
- ry="0" />
- <rect
- ry="0"
- rx="0"
- y="299"
- x="665.95685"
- height="1"
- width="6"
- id="rect27220"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" />
- <rect
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- id="rect27274"
- width="6"
- height="1"
- x="665.95685"
- y="278"
- rx="0"
- ry="0" />
- <rect
- ry="0"
- rx="0"
- y="257"
- x="665.95685"
- height="1"
- width="6"
- id="rect27328"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" />
- <rect
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- id="rect27382"
- width="6"
- height="1"
- x="665.95685"
- y="236"
- rx="0"
- ry="0" />
- <rect
- ry="0"
- rx="0"
- y="215"
- x="665.95685"
- height="1"
- width="6"
- id="rect27436"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" />
- <rect
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- id="rect27490"
- width="6"
- height="1"
- x="665.95685"
- y="194"
- rx="0"
- ry="0" />
- <rect
- ry="0"
- rx="0"
- y="173"
- x="665.95685"
- height="1"
- width="6"
- id="rect27544"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" />
- <rect
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- id="rect27598"
- width="6"
- height="1"
- x="665.95685"
- y="152"
- rx="0"
- ry="0" />
- <rect
- ry="0"
- rx="0"
- y="131"
- x="665.95685"
- height="1"
- width="6"
- id="rect27652"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" />
- <rect
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- id="rect27706"
- width="6"
- height="1"
- x="665.95685"
- y="110"
- rx="0"
- ry="0" />
- <rect
- ry="0"
- rx="0"
- y="89"
- x="665.95685"
- height="1"
- width="6"
- id="rect27760"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" />
- <rect
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- id="rect27814"
- width="6"
- height="1"
- x="665.95685"
- y="68"
- rx="0"
- ry="0" />
- <rect
- ry="0"
- rx="0"
- y="47"
- x="665.95685"
- height="1"
- width="6"
- id="rect27868"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" />
- <rect
- style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"
- id="rect27922"
- width="6"
- height="1"
- x="665.95685"
- y="26"
- rx="0"
- ry="0" />
- </g>
- <rect
- style="display:inline;overflow:visible;visibility:visible;fill:#ff0000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- id="rect28448"
- width="0"
- height="0"
- x="217.25"
- y="263.5" />
+ <g transform="translate(0,633)" id="g25954">
+ <rect ry="0" rx="0" y="0" x="422" height="7" width="1" id="rect25956" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"/>
+ <rect style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" id="rect25958" width="1" height="7" x="401" y="0" rx="0" ry="0"/>
+ <rect ry="0" rx="0" y="0" x="380" height="7" width="1" id="rect25960" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"/>
+ <rect style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" id="rect25962" width="1" height="7" x="359" y="0" rx="0" ry="0"/>
+ <rect ry="0" rx="0" y="0" x="338" height="7" width="1" id="rect25964" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"/>
+ <rect style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" id="rect25966" width="1" height="7" x="317" y="0" rx="0" ry="0"/>
+ <rect ry="0" rx="0" y="0" x="296" height="7" width="1" id="rect25968" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"/>
+ <rect style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" id="rect25970" width="1" height="7" x="275" y="0" rx="0" ry="0"/>
+ <rect ry="0" rx="0" y="0" x="254" height="7" width="1" id="rect25972" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"/>
+ <rect style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" id="rect25974" width="1" height="7" x="233" y="0" rx="0" ry="0"/>
+ <rect ry="0" rx="0" y="0" x="212" height="7" width="1" id="rect25976" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"/>
+ <rect style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" id="rect25978" width="1" height="7" x="191" y="0" rx="0" ry="0"/>
+ <rect ry="0" rx="0" y="0" x="170" height="7" width="1" id="rect25980" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"/>
+ <rect style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" id="rect25982" width="1" height="7" x="149" y="0" rx="0" ry="0"/>
+ <rect ry="0" rx="0" y="0" x="128" height="7" width="1" id="rect25984" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"/>
+ <rect style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" id="rect25986" width="1" height="7" x="107" y="0" rx="0" ry="0"/>
+ <rect ry="0" rx="0" y="0" x="86" height="7" width="1" id="rect25988" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"/>
+ <rect style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" id="rect25990" width="1" height="7" x="65" y="0" rx="0" ry="0"/>
+ <rect ry="0" rx="0" y="0" x="44" height="7" width="1" id="rect25992" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"/>
+ <rect style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" id="rect25994" width="1" height="7" x="23" y="0" rx="0" ry="0"/>
+ <rect style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" id="rect25996" width="1" height="7" x="506" y="0" rx="0" ry="0"/>
+ <rect ry="0" rx="0" y="0" x="485" height="7" width="1" id="rect25998" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"/>
+ <rect style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" id="rect26000" width="1" height="7" x="464" y="0" rx="0" ry="0"/>
+ <rect ry="0" rx="0" y="0" x="443" height="7" width="1" id="rect26002" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"/>
+ <rect ry="0" rx="0" y="0" x="527" height="7" width="1" id="rect11034" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"/>
+ </g>
+ </g>
+ <g id="g30515" transform="translate(-121.95685,2)">
+ <rect ry="0" rx="0" y="488" x="665.95685" height="1" width="6" id="rect26734" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"/>
+ <rect style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" id="rect26788" width="6" height="1" x="665.95685" y="467" rx="0" ry="0"/>
+ <rect ry="0" rx="0" y="446" x="665.95685" height="1" width="6" id="rect26842" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"/>
+ <rect style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" id="rect26896" width="6" height="1" x="665.95685" y="425" rx="0" ry="0"/>
+ <rect ry="0" rx="0" y="404" x="665.95685" height="1" width="6" id="rect26950" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"/>
+ <rect ry="0" rx="0" y="383" x="665.95685" height="1" width="6" id="rect27004" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"/>
+ <rect style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" id="rect27058" width="6" height="1" x="665.95685" y="362" rx="0" ry="0"/>
+ <rect ry="0" rx="0" y="341" x="665.95685" height="1" width="6" id="rect27112" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"/>
+ <rect style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" id="rect27166" width="6" height="1" x="665.95685" y="320" rx="0" ry="0"/>
+ <rect ry="0" rx="0" y="299" x="665.95685" height="1" width="6" id="rect27220" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"/>
+ <rect style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" id="rect27274" width="6" height="1" x="665.95685" y="278" rx="0" ry="0"/>
+ <rect ry="0" rx="0" y="257" x="665.95685" height="1" width="6" id="rect27328" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"/>
+ <rect style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" id="rect27382" width="6" height="1" x="665.95685" y="236" rx="0" ry="0"/>
+ <rect ry="0" rx="0" y="215" x="665.95685" height="1" width="6" id="rect27436" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"/>
+ <rect style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" id="rect27490" width="6" height="1" x="665.95685" y="194" rx="0" ry="0"/>
+ <rect ry="0" rx="0" y="173" x="665.95685" height="1" width="6" id="rect27544" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"/>
+ <rect style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" id="rect27598" width="6" height="1" x="665.95685" y="152" rx="0" ry="0"/>
+ <rect ry="0" rx="0" y="131" x="665.95685" height="1" width="6" id="rect27652" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"/>
+ <rect style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" id="rect27706" width="6" height="1" x="665.95685" y="110" rx="0" ry="0"/>
+ <rect ry="0" rx="0" y="89" x="665.95685" height="1" width="6" id="rect27760" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"/>
+ <rect style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" id="rect27814" width="6" height="1" x="665.95685" y="68" rx="0" ry="0"/>
+ <rect ry="0" rx="0" y="47" x="665.95685" height="1" width="6" id="rect27868" style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate"/>
+ <rect style="display:inline;overflow:visible;visibility:visible;opacity:0.9;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.70000005;marker:none;enable-background:accumulate" id="rect27922" width="6" height="1" x="665.95685" y="26" rx="0" ry="0"/>
+ </g>
+ <rect style="display:inline;overflow:visible;visibility:visible;fill:#ff0000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" id="rect28448" width="0" height="0" x="217.25" y="263.5"/>
</g>
- <g
- inkscape:groupmode="layer"
- id="layer4"
- inkscape:label="sheet layout"
- style="display:inline"
- sodipodi:insensitive="true">
- <g
- style="display:inline;opacity:0.3;fill:#000000;stroke:#ffffff;stroke-width:2;stroke-miterlimit:4;stroke-dasharray:none;enable-background:new"
- transform="translate(21)"
- id="g28552-1">
- <path
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
- d="m 536,14 v 0.75 h -1 v 1.5 h 1 V 17 h 1 v 1 h -2 v 1 h 2 v -0.75 h 1 v -1.5 h -1 V 16 h -1 v -1 h 1.5 v -1 z"
- id="path28554-7"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
- d="m 539,14 v 5 h 1 2 v -1 h -2 v -1 h 1 v -1 h -1 v -1 h 2 v -1 h -2 z"
- id="path28556-4"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
- d="m 544,14 v 1 h 2 v -1 z m 2,1 v 3 h 1 v -3 z m 0,3 h -2 v 1 h 2 z m 0,1 v 1 h 1 v -1 z m -2,-1 v -3 h -1 v 3 z"
- id="path28558-0"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
- d="m 553,14 v 1.75 h -1 V 17 h -1 v 2 h 1 v -1.75 h 1 V 16 h 1 v -2 z"
- id="path28560-9"
- inkscape:connector-curvature="0" />
- <rect
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
- id="rect28562-4"
- width="1"
- height="1"
- x="548"
- y="18" />
- <rect
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
- id="rect28564-8"
- width="1"
- height="5"
- x="557"
- y="14" />
- <path
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
- d="m 559,14 v 5 h 1 v -3 h 1 v -1 h -1 v -1 z m 2,2 v 1 h 1 v -1 z m 1,0 h 1 v 3 h 1 v -5 h -1 v 1 h -1 z"
- id="path28566-8"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
- d="m 565.75,14 v 1 H 565 v 4 h 1 v -2 h 1 v 2 h 1 v -4 h -0.75 v -1 z m 0.25,1 h 1 v 1 h -1 z"
- id="path28568-2"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
- d="m 570,14 v 0.75 h -1 v 3.5 h 1 V 19 h 2 v -1 -1.25 h -1 V 18 h -1 v -3 h 2 v -1 z"
- id="path28570-4"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
- d="m 573,14 v 5 h 1 2 v -1 h -2 v -1 h 1 v -1 h -1 v -1 h 2 v -1 h -2 z"
- id="path28572-5"
- inkscape:connector-curvature="0" />
- </g>
- <g
- style="display:inline;opacity:0.3;fill:#000000;stroke:#ffffff;stroke-width:2;stroke-miterlimit:4;stroke-dasharray:none;enable-background:new"
- transform="translate(21.98523,3)"
- id="g28574-5">
- <path
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
- d="m 534,74 v 5 h 1 v -2 h 1 v -1 h -1 v -1 h 2 v -1 h -2 z"
- id="path28576-1"
- inkscape:connector-curvature="0" />
- <rect
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
- id="rect28578-7"
- width="1"
- height="5"
- x="538"
- y="74" />
- <path
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
- d="m 540,74 v 5 h 1 2 v -1 h -2 v -4 z"
- id="path28580-1"
- inkscape:connector-curvature="0" />
- <path
- id="path28582-1"
- d="m 544,74 v 5 h 1 2 v -1 h -2 v -1 h 1 v -1 h -1 v -1 h 2 v -1 h -2 z"
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- id="path28584-5"
- d="m 551,74 v 0.75 h -1 v 1.5 h 1 V 77 h 1 v 1 h -2 v 1 h 2 v -0.75 h 1 v -1.5 h -1 V 76 h -1 v -1 h 1.5 v -1 z"
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- id="path28586-2"
- d="m 554,74 v 5 h 1 2 v -1 h -2 v -1 h 1 v -1 h -1 v -1 h 2 v -1 h -2 z"
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
- d="m 558,74 v 5 h 1 2 v -1 h -2 v -4 z"
- id="path28588-7"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
- d="m 562,74 v 5 h 1 2 v -1 h -2 v -1 h 1 v -1 h -1 v -1 h 2 v -1 h -2 z"
- id="path28590-6"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
- d="m 567,74 v 0.75 h -1 v 3.5 h 1 V 79 h 2 v -1 h -2 v -3 h 2 v -1 z"
- id="path28592-1"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
- d="m 570,74 v 1 h 1 v 4 h 1 v -4 h 1 v -1 z"
- id="path28594-4"
- inkscape:connector-curvature="0" />
- </g>
- <g
- style="display:inline;opacity:0.3;fill:#000000;stroke:#ffffff;stroke-width:2;stroke-miterlimit:4;stroke-dasharray:none;enable-background:new"
- transform="translate(21)"
- id="g28596-2">
- <path
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
- d="m 535,119 v 1 h 2 v 1 h 1 v -1.25 h -1 V 119 Z m 2,2 h -1 v 1 h 1 z m 0,1 v 1 h -2 v 1 h 2 v -0.75 h 1 V 122 Z"
- id="path28598-3"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
- d="m 539,119 v 1 3 1 h 2 v -0.75 h 1 v -3.5 h -1 V 119 Z m 1,1 h 1 v 3 h -1 z"
- id="path28600-2"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
- d="m 545,119 v 3.25 h 1 V 124 h 1 v -1.75 h 1 V 119 h -1 v 3 h -1 v -3 z"
- id="path28602-2"
- inkscape:connector-curvature="0" />
- <rect
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
- id="rect28604-1"
- width="1"
- height="5"
- x="549"
- y="119" />
- <path
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
- d="m 551,119 v 5 h 1 2 v -1 h -2 v -1 h 1 v -1 h -1 v -1 h 2 v -1 h -2 z"
- id="path28606-6"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
- d="m 555,119 v 3.25 h 1 V 124 h 1 v -1.75 h 1 V 124 h 1 v -1.75 h 1 V 119 h -1 v 3 h -1 v -2 h -1 v 2 h -1 v -3 z"
- id="path28608-8"
- inkscape:connector-curvature="0" />
- </g>
- <g
- style="display:inline;opacity:0.3;fill:#000000;stroke:#ffffff;stroke-width:2;stroke-miterlimit:4;stroke-dasharray:none;enable-background:new"
- transform="translate(16,1)"
- id="g28610-5">
- <path
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
- d="m 540,160 v 5 h 1 2 v -1 h -2 v -1 h 1 v -1 h -1 v -1 h 2 v -1 h -2 z"
- id="path28612-7"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
- d="m 544,160 v 1 3 1 h 2 v -0.75 h 1 v -3.5 h -1 V 160 Z m 1,1 h 1 v 3 h -1 z"
- id="path28614-6"
- inkscape:connector-curvature="0" />
- <rect
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
- id="rect28616-1"
- width="1"
- height="5"
- x="548"
- y="160" />
- <path
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
- d="m 550,160 v 1 h 1 v 4 h 1 v -4 h 1 v -1 z"
- id="path28618-8"
- inkscape:connector-curvature="0" />
- <rect
- y="160"
- x="554"
- height="5"
- width="1"
- id="rect28620-9"
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" />
- <path
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
- d="m 556,160 v 5 h 1 v -3 h 1 v -1 h -1 v -1 z m 2,2 v 1 h 1 v 2 h 1 v -5 h -1 v 2 z"
- id="path28622-2"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
- d="m 562,160 v 0.75 h -1 v 3.5 h 1 V 165 h 2 v -1 -1.25 h -0.99999 V 164 H 562 v -3 h 2 v -1 z"
- id="path28624-7"
- inkscape:connector-curvature="0" />
- </g>
- <g
- style="display:inline;opacity:0.3;fill:#000000;stroke:#ffffff;stroke-width:2;stroke-miterlimit:4;stroke-dasharray:none;enable-background:new"
- transform="translate(21)"
- id="g28626-9">
- <path
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
- d="m 535.75,224 v 1 H 535 v 4 h 1 v -2 h 1 v 2 h 1 v -4 h -0.75 v -1 z m 0.25,1 h 1 v 1 h -1 z"
- id="path28628-5"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
- d="m 539,224 v 5 h 1 v -3 h 1 v -1 h -1 v -1 z m 2,2 v 1 h 1 v 2 h 1 v -5 h -1 v 2 z"
- id="path28630-4"
- inkscape:connector-curvature="0" />
- <rect
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
- id="rect28632-3"
- width="1"
- height="5"
- x="544"
- y="224" />
- <path
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
- d="m 546,224 v 5 h 1 v -3 h 1 v -1 h -1 v -1 z m 2,2 v 1 h 1 v -1 z m 1,0 h 1 v 3 h 1 v -5 h -1 v 1 h -1 z"
- id="path28634-1"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
- d="m 552.75,224 v 1 H 552 v 4 h 1 v -2 h 1 v 2 h 1 v -4 h -0.75 v -1 z m 0.25,1 h 1 v 1 h -1 z"
- id="path28636-2"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
- d="m 556,224 v 1 h 1 v 4 h 1 v -4 h 1 v -1 z"
- id="path28638-3"
- inkscape:connector-curvature="0" />
- <rect
- y="224"
- x="560"
- height="5"
- width="1"
- id="rect28640-3"
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" />
- <path
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
- d="m 563,224 v 1 h 2 v -1 z m 2,1 v 3 h 1 v -3 z m 0,3 h -2 v 1 h 2 z m -2,0 v -3 h -1 v 3 z"
- id="path28642-4"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
- d="m 567,224 v 5 h 1 v -3 h 1 v -1 h -1 v -1 z m 2,2 v 1 h 1 v 2 h 1 v -5 h -1 v 2 z"
- id="path28644-1"
- inkscape:connector-curvature="0" />
- </g>
- <g
- style="display:inline;opacity:0.3;fill:#000000;stroke:#ffffff;stroke-width:2;stroke-miterlimit:4;stroke-dasharray:none;enable-background:new"
- transform="translate(22,-10)"
- id="g28646-1">
- <path
- id="path28648-3"
- d="m 535,267 v 5 h 1 v -3 h 1 v -1 h -1 v -1 z m 2,2 v 1 h 1 v -1 z m 1,0 h 1 v 3 h 1 v -5 h -1 v 1 h -1 z"
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- id="path28650-8"
- d="m 542,267 v 1 h 2 v -1 z m 2,1 v 3 h 1 v -3 z m 0,3 h -2 v 1 h 2 z m -2,0 v -3 h -1 v 3 z"
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
- d="m 546,267 v 1 3 1 h 2 v -0.75 h 1 v -3.5 h -1 V 267 Z m 1,1 h 1 v 3 h -1 z"
- id="path28652-7"
- inkscape:connector-curvature="0" />
- <rect
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
- id="rect28654-4"
- width="1"
- height="5"
- x="550"
- y="267" />
- <path
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
- d="m 552,267 v 5 h 1 v -2 h 1 v -1 h -1 v -1 h 2 v -1 h -2 z"
- id="path28656-2"
- inkscape:connector-curvature="0" />
- <rect
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
- id="rect28658-7"
- width="1"
- height="5"
- x="556"
- y="267" />
- <path
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
- d="m 558,267 v 5 h 1 2 v -1 h -2 v -1 h 1 v -1 h -1 v -1 h 2 v -1 h -2 z"
- id="path28660-7"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
- d="m 562,267 v 5 h 1 v -2 h 1 v 2 h 1 v -2 h -0.75 v -1 H 565 v -1.25 h -1 V 267 h -1 z m 1,1 h 1 v 1 h -1 z"
- id="path28662-9"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
- d="m 567,267 v 0.75 h -1 v 1.5 h 1 V 270 h 1 v 1 h -2 v 1 h 2 v -0.75 h 1 v -1.5 h -1 V 269 h -1 v -1 h 1.5 v -1 z"
- id="path28664-3"
- inkscape:connector-curvature="0" />
- </g>
- <g
- style="display:inline;opacity:0.3;fill:#000000;stroke:#ffffff;stroke-width:2;stroke-miterlimit:4;stroke-dasharray:none;enable-background:new"
- transform="translate(25,-1)"
- id="g28666-1">
- <path
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
- d="m 532,36 v 0.75 h -1 v 1.5 h 1 V 39 h 1 v 1 h -2 v 1 h 2 v -0.75 h 1 v -1.5 h -1 V 38 h -1 v -1 h 1.5 v -1 z"
- id="path28668-9"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
- d="m 539.75,36 v 1 H 539 v 4 h 1 v -2 h 1 v 2 h 1 v -4 h -0.75 v -1 z m 0.25,1 h 1 v 1 h -1 z"
- id="path28670-8"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
- d="m 543,36 v 1 3 1 h 2 v -0.75 h 1 v -3.5 h -1 V 36 Z m 1,1 h 1 v 3 h -1 z"
- id="path28672-6"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
- d="m 547,36 v 5 h 1 2 v -1 h -2 v -1 h 1 v -1 h -1 v -1 h 2 v -1 h -2 z"
- id="path28674-5"
- inkscape:connector-curvature="0" />
- <path
- id="path28676-0"
- d="m 555,36 v 1.75 h -1 V 39 h -1 v 2 h 1 v -1.75 h 1 V 38 h 1 v -2 z"
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
- d="m 558,36 v 1 h 1 v 4 h 1 v -4 h 1 v -1 z"
- id="path28678-2"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
- d="m 562,36 v 5 h 1 2 v -1 h -2 v -1 h 1 v -1 h -1 v -1 h 2 v -1 h -2 z"
- id="path28680-8"
- inkscape:connector-curvature="0" />
- <path
- id="path28682-6"
- d="m 566,36 v 2 h 1 v -2 z m 1,2 v 1 h 1 v -1 z m 1,0 h 1 v -2 h -1 z m 0,1 v 2 h 1 v -2 z m -1,0 h -1 v 2 h 1 z"
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- id="path28684-0"
- d="m 570,36 v 1 h 1 v 4 h 1 v -4 h 1 v -1 z"
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
- d="m 535,36 v 5 h 1 v -2 h 1 v 2 h 1 v -5 h -1 v 2 h -1 v -2 z"
- id="path28686-2"
- inkscape:connector-curvature="0" />
- </g>
- <g
- style="display:inline;opacity:0.3;fill:#000000;stroke:#ffffff;stroke-width:2;stroke-miterlimit:4;stroke-dasharray:none;enable-background:new"
- transform="translate(19,125)"
- id="g28688-4">
- <path
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
- d="m 538,299 v 1 h 2 v -1 z m 2,1 v 3 h 1 v -3 z m 0,3 h -2 v 1 h 2 z m -2,0 v -3 h -1 v 3 z"
- id="path28690-8"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
- d="m 542,299 v 4.25 h 1 V 304 h 2 v -0.75 h 1 V 299 h -1 v 4 h -2 v -4 z"
- id="path28692-6"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
- d="m 547,299 v 1 h 1 v 4 h 1 v -4 h 1 v -1 z"
- id="path28694-5"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
- d="m 551,299 v 5 h 1 2 v -1 h -2 v -4 z"
- id="path28696-0"
- inkscape:connector-curvature="0" />
- <rect
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
- id="rect28698-9"
- width="1"
- height="5"
- x="555"
- y="299" />
- <path
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
- d="m 557,299 v 5 h 1 v -3 h 1 v -1 h -1 v -1 z m 2,2 v 1 h 1 v 2 h 1 v -5 h -1 v 2 z"
- id="path28700-0"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
- d="m 562,299 v 5 h 1 2 v -1 h -2 v -1 h 1 v -1 h -1 v -1 h 2 v -1 h -2 z"
- id="path28702-0"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
- d="m 566,299 v 5 h 1 v -2 h 1 v 2 h 1 v -2 h -0.75 v -1 H 569 v -1.25 h -1 V 299 h -1 z m 1,1 h 1 v 1 h -1 z"
- id="path28704-6"
- inkscape:connector-curvature="0" />
- </g>
- <g
- style="display:inline;opacity:0.3;stroke:#ffffff;stroke-width:2;stroke-miterlimit:4;stroke-dasharray:none;enable-background:new"
- transform="translate(21,128)"
- id="g28706-1">
- <path
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
- d="m 539.75,359 v 1 H 539 v 4 h 1 v -2 h 1 v 2 h 1 v -4 h -0.75 v -1 z m 0.25,1 h 1 v 1 h -1 z"
- id="path28708-3"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
- d="m 535,359 v 1 3 1 h 2 v -0.75 h 1 v -3.5 h -1 V 359 Z m 1,1 h 1 v 3 h -1 z"
- id="path28710-8"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
- d="m 543,359 v 1 h 1 v 4 h 1 v -4 h 1 v -1 z"
- id="path28712-9"
- inkscape:connector-curvature="0" />
- <path
- id="path28714-3"
- d="m 547.75,359 v 1 H 547 v 4 h 1 v -2 h 1 v 2 h 1 v -4 h -0.75 v -1 z m 0.25,1 h 1 v 1 h -1 z"
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- </g>
- <g
- style="display:inline;opacity:0.3;stroke:#ffffff;stroke-width:2;stroke-miterlimit:4;stroke-dasharray:none;enable-background:new"
- transform="translate(22,125)"
- id="g28716-4">
- <path
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
- d="m 545,393 v 1 3 1 h 2 v -0.75 h 1 v -3.5 h -1 V 393 Z m 1,1 h 1 v 3 h -1 z"
- id="path28718-4"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
- d="m 549,393 v 5 h 1 2 v -1 h -2 v -1 h 1 v -1 h -1 v -1 h 2 v -1 h -2 z"
- id="path28720-6"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
- d="m 534,393 v 5 h 1 v -3 h 1 v -1 h -1 v -1 z m 2,2 v 1 h 1 v -1 z m 1,0 h 1 v 3 h 1 v -5 h -1 v 1 h -1 z"
- id="path28722-0"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
- d="m 541,393 v 1 h 2 v -1 z m 2,1 v 3 h 1 v -3 z m 0,3 h -2 v 1 h 2 z m -2,0 v -3 h -1 v 3 z"
- id="path28724-6"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
- d="m 554,393 v 0.75 h -1 v 1.5 h 1 V 396 h 1 v 1 h -2 v 1 h 2 v -0.75 h 1 v -1.5 h -1 V 395 h -1 v -1 h 1.5 v -1 z"
- id="path28726-6"
- inkscape:connector-curvature="0" />
- </g>
- <g
- style="display:inline;opacity:0.3;stroke:#ffffff;stroke-width:2;stroke-miterlimit:4;stroke-dasharray:none;enable-background:new"
- transform="translate(22.01477,127)"
- id="g28728-1">
- <path
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
- d="m 538,412 v 1 3 1 h 2 v -0.75 h 1 v -3.5 h -1 V 412 Z m 1,1 h 1 v 3 h -1 z"
- id="path28730-8"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
- d="m 534,412 v 5 h 1 2 v -1 h -2 v -1 h 1 v -1 h -1 v -1 h 2 v -1 h -2 z"
- id="path28732-4"
- inkscape:connector-curvature="0" />
- <rect
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
- id="rect28734-9"
- width="1"
- height="5"
- x="542"
- y="412" />
- <path
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
- d="m 549,412 v 1 h 2 v -1 z m 2,1 v 3 h 1 v -3 z m 0,3 h -2 v 1 h 2 z m -2,0 v -3 h -1 v 3 z"
- id="path28736-6"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
- d="m 553,412 v 5 h 1 v -2 h 1 v 2 h 1 v -2 h -0.75 v -1 H 556 v -1.25 h -1 V 412 h -1 z m 1,1 h 1 v 1 h -1 z"
- id="path28738-3"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
- d="m 558,412 v 0.75 h -1 v 1.5 h 1 V 415 h 1 v 1 h -2 v 1 h 2 v -0.75 h 1 v -1.5 h -1 V 414 h -1 v -1 h 1.5 v -1 z"
- id="path28740-7"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
- d="m 544,412 v 1 h 1 v 4 h 1 v -4 h 1 v -1 z"
- id="path28742-8"
- inkscape:connector-curvature="0" />
- </g>
- <g
- style="display:inline;opacity:0.3;stroke:#ffffff;stroke-width:2;stroke-miterlimit:4;stroke-dasharray:none;enable-background:new"
- transform="translate(22.01477,127)"
- id="g28744-8">
- <path
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
- d="m 534,434 v 5 h 1 1 v -0.5 h 1 V 437 h -0.75 v -1 H 537 v -1.25 h -1 V 434 h -1 z m 1,1 h 1 v 1 h -1 z m 0,2 h 1 v 1 h -1 z"
- id="path28746-2"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
- d="m 556,434 v 5 h 1 v -3 h 1 v -1 h -1 v -1 z m 2,2 v 1 h 1 v 2 h 1 v -5 h -1 v 2 z"
- id="path28748-9"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
- d="m 552,434 v 1 h 2 v -1 z m 2,1 v 3 h 1 v -3 z m 0,3 h -2 v 1 h 2 z m -2,0 v -3 h -1 v 3 z"
- id="path28750-1"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
- d="m 562,434 v 0.75 h -1 v 1.5 h 1 V 437 h 1 v 1 h -2 v 1 h 2 v -0.75 h 1 v -1.5 h -1 V 436 h -1 v -1 h 1.5 v -1 z"
- id="path28752-3"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
- d="m 543,434 v 1 h 1 v 4 h 1 v -4 h 1 v -1 z"
- id="path28754-5"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
- d="m 538,434 v 4.25 h 1 V 439 h 2 v -0.75 h 1 V 434 h -1 v 4 h -2 v -4 z"
- id="path28756-9"
- inkscape:connector-curvature="0" />
- <path
- id="path28758-8"
- d="m 547,434 v 1 h 1 v 4 h 1 v -4 h 1 v -1 z"
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- </g>
- <g
- style="display:inline;opacity:0.3;stroke:#ffffff;stroke-width:2;stroke-miterlimit:4;stroke-dasharray:none;enable-background:new"
- transform="translate(19,127)"
- id="g28760-4">
- <rect
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
- id="rect28762-0"
- width="1"
- height="5"
- x="542"
- y="486" />
- <path
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
- d="m 537,486 v 4.25 h 1 V 491 h 2 v -0.75 h 1 V 486 h -1 v 4 h -2 v -4 z"
- id="path28764-7"
- inkscape:connector-curvature="0" />
- </g>
- <g
- style="display:inline;fill:#000000;enable-background:new"
- id="g10763-6"
- transform="translate(21)">
- <path
- id="path10757-3"
- d="m 536,14 v 0.75 h -1 v 1.5 h 1 V 17 h 1 v 1 h -2 v 1 h 2 v -0.75 h 1 v -1.5 h -1 V 16 h -1 v -1 h 1.5 v -1 z"
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- id="path10759-6"
- d="m 539,14 v 5 h 1 2 v -1 h -2 v -1 h 1 v -1 h -1 v -1 h 2 v -1 h -2 z"
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- id="path10761-1"
- d="m 544,14 v 1 h 2 v -1 z m 2,1 v 3 h 1 v -3 z m 0,3 h -2 v 1 h 2 z m 0,1 v 1 h 1 v -1 z m -2,-1 v -3 h -1 v 3 z"
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- id="path10763-5"
- d="m 553,14 v 1.75 h -1 V 17 h -1 v 2 h 1 v -1.75 h 1 V 16 h 1 v -2 z"
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <rect
- y="18"
- x="548"
- height="1"
- width="1"
- id="rect10765-4"
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" />
- <rect
- y="14"
- x="557"
- height="5"
- width="1"
- id="rect10767-2"
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" />
- <path
- id="path10769-0"
- d="m 559,14 v 5 h 1 v -3 h 1 v -1 h -1 v -1 z m 2,2 v 1 h 1 v -1 z m 1,0 h 1 v 3 h 1 v -5 h -1 v 1 h -1 z"
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- id="path10771-9"
- d="m 565.75,14 v 1 H 565 v 4 h 1 v -2 h 1 v 2 h 1 v -4 h -0.75 v -1 z m 0.25,1 h 1 v 1 h -1 z"
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- id="path10773-7"
- d="m 570,14 v 0.75 h -1 v 3.5 h 1 V 19 h 2 v -1 -1.25 h -1 V 18 h -1 v -3 h 2 v -1 z"
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- id="path10775-3"
- d="m 573,14 v 5 h 1 2 v -1 h -2 v -1 h 1 v -1 h -1 v -1 h 2 v -1 h -2 z"
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- </g>
- <g
- style="display:inline;fill:#000000;enable-background:new"
- id="g10815-7"
- transform="translate(21.98523,3)">
- <path
- id="path10799-2"
- d="m 534,74 v 5 h 1 v -2 h 1 v -1 h -1 v -1 h 2 v -1 h -2 z"
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <rect
- y="74"
- x="538"
- height="5"
- width="1"
- id="rect10801-6"
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" />
- <path
- id="path10803-0"
- d="m 540,74 v 5 h 1 2 v -1 h -2 v -4 z"
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- d="m 544,74 v 5 h 1 2 v -1 h -2 v -1 h 1 v -1 h -1 v -1 h 2 v -1 h -2 z"
- id="path10805-1"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- d="m 551,74 v 0.75 h -1 v 1.5 h 1 V 77 h 1 v 1 h -2 v 1 h 2 v -0.75 h 1 v -1.5 h -1 V 76 h -1 v -1 h 1.5 v -1 z"
- id="path10807-6"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- d="m 554,74 v 5 h 1 2 v -1 h -2 v -1 h 1 v -1 h -1 v -1 h 2 v -1 h -2 z"
- id="path10809-5"
- inkscape:connector-curvature="0" />
- <path
- id="path10811-7"
- d="m 558,74 v 5 h 1 2 v -1 h -2 v -4 z"
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- id="path10813-5"
- d="m 562,74 v 5 h 1 2 v -1 h -2 v -1 h 1 v -1 h -1 v -1 h 2 v -1 h -2 z"
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- id="path10815-4"
- d="m 567,74 v 0.75 h -1 v 3.5 h 1 V 79 h 2 v -1 h -2 v -3 h 2 v -1 z"
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- id="path10817-1"
- d="m 570,74 v 1 h 1 v 4 h 1 v -4 h 1 v -1 z"
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- </g>
- <g
- style="display:inline;fill:#000000;enable-background:new"
- id="g10827-2"
- transform="translate(21)">
- <path
- id="path10672-0"
- d="m 535,119 v 1 h 2 v 1 h 1 v -1.25 h -1 V 119 Z m 2,2 h -1 v 1 h 1 z m 0,1 v 1 h -2 v 1 h 2 v -0.75 h 1 V 122 Z"
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- id="path10678-0"
- d="m 539,119 v 1 3 1 h 2 v -0.75 h 1 v -3.5 h -1 V 119 Z m 1,1 h 1 v 3 h -1 z"
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- id="path10680-1"
- d="m 545,119 v 3.25 h 1 V 124 h 1 v -1.75 h 1 V 119 h -1 v 3 h -1 v -3 z"
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <rect
- y="119"
- x="549"
- height="5"
- width="1"
- id="rect10682-4"
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" />
- <path
- id="path10684-6"
- d="m 551,119 v 5 h 1 2 v -1 h -2 v -1 h 1 v -1 h -1 v -1 h 2 v -1 h -2 z"
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- id="path10686-0"
- d="m 555,119 v 3.25 h 1 V 124 h 1 v -1.75 h 1 V 124 h 1 v -1.75 h 1 V 119 h -1 v 3 h -1 v -2 h -1 v 2 h -1 v -3 z"
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- </g>
- <g
- style="display:inline;fill:#000000;enable-background:new"
- id="g10835-7"
- transform="translate(16,1)">
- <path
- id="path10688-1"
- d="m 540,160 v 5 h 1 2 v -1 h -2 v -1 h 1 v -1 h -1 v -1 h 2 v -1 h -2 z"
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- id="path10690-7"
- d="m 544,160 v 1 3 1 h 2 v -0.75 h 1 v -3.5 h -1 V 160 Z m 1,1 h 1 v 3 h -1 z"
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <rect
- y="160"
- x="548"
- height="5"
- width="1"
- id="rect10692-7"
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" />
- <path
- id="path10694-7"
- d="m 550,160 v 1 h 1 v 4 h 1 v -4 h 1 v -1 z"
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <rect
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- id="rect10696-7"
- width="1"
- height="5"
- x="554"
- y="160" />
- <path
- id="path10698-3"
- d="m 556,160 v 5 h 1 v -3 h 1 v -1 h -1 v -1 z m 2,2 v 1 h 1 v 2 h 1 v -5 h -1 v 2 z"
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- id="path10700-3"
- d="m 562,160 v 0.75 h -1 v 3.5 h 1 V 165 h 2 v -1 -1.25 h -0.99999 V 164 H 562 v -3 h 2 v -1 z"
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- </g>
- <g
- style="display:inline;fill:#000000;enable-background:new"
- id="g10846-5"
- transform="translate(21)">
- <path
- id="path10703-9"
- d="m 535.75,224 v 1 H 535 v 4 h 1 v -2 h 1 v 2 h 1 v -4 h -0.75 v -1 z m 0.25,1 h 1 v 1 h -1 z"
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- id="path10705-9"
- d="m 539,224 v 5 h 1 v -3 h 1 v -1 h -1 v -1 z m 2,2 v 1 h 1 v 2 h 1 v -5 h -1 v 2 z"
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <rect
- y="224"
- x="544"
- height="5"
- width="1"
- id="rect10708-8"
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" />
- <path
- id="path10711-1"
- d="m 546,224 v 5 h 1 v -3 h 1 v -1 h -1 v -1 z m 2,2 v 1 h 1 v -1 z m 1,0 h 1 v 3 h 1 v -5 h -1 v 1 h -1 z"
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- id="path10714-8"
- d="m 552.75,224 v 1 H 552 v 4 h 1 v -2 h 1 v 2 h 1 v -4 h -0.75 v -1 z m 0.25,1 h 1 v 1 h -1 z"
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- id="path10716-2"
- d="m 556,224 v 1 h 1 v 4 h 1 v -4 h 1 v -1 z"
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <rect
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- id="rect10718-6"
- width="1"
- height="5"
- x="560"
- y="224" />
- <path
- id="path10734-6"
- d="m 563,224 v 1 h 2 v -1 z m 2,1 v 3 h 1 v -3 z m 0,3 h -2 v 1 h 2 z m -2,0 v -3 h -1 v 3 z"
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- id="path10736-0"
- d="m 567,224 v 5 h 1 v -3 h 1 v -1 h -1 v -1 z m 2,2 v 1 h 1 v 2 h 1 v -5 h -1 v 2 z"
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- </g>
- <g
- style="display:inline;fill:#000000;enable-background:new"
- id="g10857-3"
- transform="translate(22,-10)">
- <path
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- d="m 535,267 v 5 h 1 v -3 h 1 v -1 h -1 v -1 z m 2,2 v 1 h 1 v -1 z m 1,0 h 1 v 3 h 1 v -5 h -1 v 1 h -1 z"
- id="path10744-8"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- d="m 542,267 v 1 h 2 v -1 z m 2,1 v 3 h 1 v -3 z m 0,3 h -2 v 1 h 2 z m -2,0 v -3 h -1 v 3 z"
- id="path10746-0"
- inkscape:connector-curvature="0" />
- <path
- id="path10748-1"
- d="m 546,267 v 1 3 1 h 2 v -0.75 h 1 v -3.5 h -1 V 267 Z m 1,1 h 1 v 3 h -1 z"
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <rect
- y="267"
- x="550"
- height="5"
- width="1"
- id="rect10750-2"
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" />
- <path
- id="path10752-5"
- d="m 552,267 v 5 h 1 v -2 h 1 v -1 h -1 v -1 h 2 v -1 h -2 z"
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <rect
- y="267"
- x="556"
- height="5"
- width="1"
- id="rect10754-0"
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" />
- <path
- id="path10756-9"
- d="m 558,267 v 5 h 1 2 v -1 h -2 v -1 h 1 v -1 h -1 v -1 h 2 v -1 h -2 z"
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- id="path10758-4"
- d="m 562,267 v 5 h 1 v -2 h 1 v 2 h 1 v -2 h -0.75 v -1 H 565 v -1.25 h -1 V 267 h -1 z m 1,1 h 1 v 1 h -1 z"
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- id="path10760-7"
- d="m 567,267 v 0.75 h -1 v 1.5 h 1 V 270 h 1 v 1 h -2 v 1 h 2 v -0.75 h 1 v -1.5 h -1 V 269 h -1 v -1 h 1.5 v -1 z"
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- </g>
- <g
- style="display:inline;fill:#000000;enable-background:new"
- id="g10803-8"
- transform="translate(25,-1)">
- <path
- id="path10777-3"
- d="m 532,36 v 0.75 h -1 v 1.5 h 1 V 39 h 1 v 1 h -2 v 1 h 2 v -0.75 h 1 v -1.5 h -1 V 38 h -1 v -1 h 1.5 v -1 z"
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- id="path10781-5"
- d="m 539.75,36 v 1 H 539 v 4 h 1 v -2 h 1 v 2 h 1 v -4 h -0.75 v -1 z m 0.25,1 h 1 v 1 h -1 z"
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- id="path10783-1"
- d="m 543,36 v 1 3 1 h 2 v -0.75 h 1 v -3.5 h -1 V 36 Z m 1,1 h 1 v 3 h -1 z"
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- id="path10785-2"
- d="m 547,36 v 5 h 1 2 v -1 h -2 v -1 h 1 v -1 h -1 v -1 h 2 v -1 h -2 z"
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- d="m 555,36 v 1.75 h -1 V 39 h -1 v 2 h 1 v -1.75 h 1 V 38 h 1 v -2 z"
- id="path10787-0"
- inkscape:connector-curvature="0" />
- <path
- id="path10789-1"
- d="m 558,36 v 1 h 1 v 4 h 1 v -4 h 1 v -1 z"
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- id="path10791-6"
- d="m 562,36 v 5 h 1 2 v -1 h -2 v -1 h 1 v -1 h -1 v -1 h 2 v -1 h -2 z"
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- d="m 566,36 v 2 h 1 v -2 z m 1,2 v 1 h 1 v -1 z m 1,0 h 1 v -2 h -1 z m 0,1 v 2 h 1 v -2 z m -1,0 h -1 v 2 h 1 z"
- id="path10795-4"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- d="m 570,36 v 1 h 1 v 4 h 1 v -4 h 1 v -1 z"
- id="path10797-0"
- inkscape:connector-curvature="0" />
- <path
- id="path10800-6"
- d="m 535,36 v 5 h 1 v -2 h 1 v 2 h 1 v -5 h -1 v 2 h -1 v -2 z"
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- </g>
- <g
- style="display:inline;fill:#000000;enable-background:new"
- id="g10885-1"
- transform="translate(19,125)">
- <path
- id="path10869-8"
- d="m 538,299 v 1 h 2 v -1 z m 2,1 v 3 h 1 v -3 z m 0,3 h -2 v 1 h 2 z m -2,0 v -3 h -1 v 3 z"
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- id="path10871-9"
- d="m 542,299 v 4.25 h 1 V 304 h 2 v -0.75 h 1 V 299 h -1 v 4 h -2 v -4 z"
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- id="path10873-8"
- d="m 547,299 v 1 h 1 v 4 h 1 v -4 h 1 v -1 z"
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- id="path10875-4"
- d="m 551,299 v 5 h 1 2 v -1 h -2 v -4 z"
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <rect
- y="299"
- x="555"
- height="5"
- width="1"
- id="rect10877-1"
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" />
- <path
- id="path10879-4"
- d="m 557,299 v 5 h 1 v -3 h 1 v -1 h -1 v -1 z m 2,2 v 1 h 1 v 2 h 1 v -5 h -1 v 2 z"
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- id="path10881-3"
- d="m 562,299 v 5 h 1 2 v -1 h -2 v -1 h 1 v -1 h -1 v -1 h 2 v -1 h -2 z"
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- id="path10883-9"
- d="m 566,299 v 5 h 1 v -2 h 1 v 2 h 1 v -2 h -0.75 v -1 H 569 v -1.25 h -1 V 299 h -1 z m 1,1 h 1 v 1 h -1 z"
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- </g>
- <g
- style="display:inline;enable-background:new"
- id="g10921-8"
- transform="translate(21,128)">
- <path
- id="path10895-8"
- d="m 539.75,359 v 1 H 539 v 4 h 1 v -2 h 1 v 2 h 1 v -4 h -0.75 v -1 z m 0.25,1 h 1 v 1 h -1 z"
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- id="path10897-0"
- d="m 535,359 v 1 3 1 h 2 v -0.75 h 1 v -3.5 h -1 V 359 Z m 1,1 h 1 v 3 h -1 z"
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- id="path10899-8"
- d="m 543,359 v 1 h 1 v 4 h 1 v -4 h 1 v -1 z"
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- d="m 547.75,359 v 1 H 547 v 4 h 1 v -2 h 1 v 2 h 1 v -4 h -0.75 v -1 z m 0.25,1 h 1 v 1 h -1 z"
- id="path10901-7"
- inkscape:connector-curvature="0" />
- </g>
- <g
- style="display:inline;enable-background:new"
- id="g10914-7"
- transform="translate(22,125)">
- <path
- id="path10903-8"
- d="m 545,393 v 1 3 1 h 2 v -0.75 h 1 v -3.5 h -1 V 393 Z m 1,1 h 1 v 3 h -1 z"
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- id="path10906-3"
- d="m 549,393 v 5 h 1 2 v -1 h -2 v -1 h 1 v -1 h -1 v -1 h 2 v -1 h -2 z"
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- id="path10908-8"
- d="m 534,393 v 5 h 1 v -3 h 1 v -1 h -1 v -1 z m 2,2 v 1 h 1 v -1 z m 1,0 h 1 v 3 h 1 v -5 h -1 v 1 h -1 z"
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- id="path10910-3"
- d="m 541,393 v 1 h 2 v -1 z m 2,1 v 3 h 1 v -3 z m 0,3 h -2 v 1 h 2 z m -2,0 v -3 h -1 v 3 z"
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- id="path10912-7"
- d="m 554,393 v 0.75 h -1 v 1.5 h 1 V 396 h 1 v 1 h -2 v 1 h 2 v -0.75 h 1 v -1.5 h -1 V 395 h -1 v -1 h 1.5 v -1 z"
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- </g>
- <g
- style="display:inline;enable-background:new"
- id="g10942-1"
- transform="translate(22.01477,127)">
- <path
- id="path10928-0"
- d="m 538,412 v 1 3 1 h 2 v -0.75 h 1 v -3.5 h -1 V 412 Z m 1,1 h 1 v 3 h -1 z"
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- id="path10930-7"
- d="m 534,412 v 5 h 1 2 v -1 h -2 v -1 h 1 v -1 h -1 v -1 h 2 v -1 h -2 z"
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <rect
- y="412"
- x="542"
- height="5"
- width="1"
- id="rect10932-3"
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" />
- <path
- id="path10934-4"
- d="m 549,412 v 1 h 2 v -1 z m 2,1 v 3 h 1 v -3 z m 0,3 h -2 v 1 h 2 z m -2,0 v -3 h -1 v 3 z"
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- id="path10936-9"
- d="m 553,412 v 5 h 1 v -2 h 1 v 2 h 1 v -2 h -0.75 v -1 H 556 v -1.25 h -1 V 412 h -1 z m 1,1 h 1 v 1 h -1 z"
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- id="path10938-6"
- d="m 558,412 v 0.75 h -1 v 1.5 h 1 V 415 h 1 v 1 h -2 v 1 h 2 v -0.75 h 1 v -1.5 h -1 V 414 h -1 v -1 h 1.5 v -1 z"
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- id="path10940-5"
- d="m 544,412 v 1 h 1 v 4 h 1 v -4 h 1 v -1 z"
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- </g>
- <g
- style="display:inline;enable-background:new"
- id="g10966-1"
- transform="translate(22.01477,127)">
- <path
- id="path10951-0"
- d="m 534,434 v 5 h 1 1 v -0.5 h 1 V 437 h -0.75 v -1 H 537 v -1.25 h -1 V 434 h -1 z m 1,1 h 1 v 1 h -1 z m 0,2 h 1 v 1 h -1 z"
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- id="path10953-9"
- d="m 556,434 v 5 h 1 v -3 h 1 v -1 h -1 v -1 z m 2,2 v 1 h 1 v 2 h 1 v -5 h -1 v 2 z"
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- id="path10956-9"
- d="m 552,434 v 1 h 2 v -1 z m 2,1 v 3 h 1 v -3 z m 0,3 h -2 v 1 h 2 z m -2,0 v -3 h -1 v 3 z"
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- id="path10958-6"
- d="m 562,434 v 0.75 h -1 v 1.5 h 1 V 437 h 1 v 1 h -2 v 1 h 2 v -0.75 h 1 v -1.5 h -1 V 436 h -1 v -1 h 1.5 v -1 z"
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- id="path10960-8"
- d="m 543,434 v 1 h 1 v 4 h 1 v -4 h 1 v -1 z"
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- id="path10962-3"
- d="m 538,434 v 4.25 h 1 V 439 h 2 v -0.75 h 1 V 434 h -1 v 4 h -2 v -4 z"
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- d="m 547,434 v 1 h 1 v 4 h 1 v -4 h 1 v -1 z"
- id="path10964-4"
- inkscape:connector-curvature="0" />
- </g>
- <g
- style="display:inline;enable-background:new"
- id="g10980-8"
- transform="translate(19,127)">
- <rect
- y="486"
- x="542"
- height="5"
- width="1"
- id="rect10975-4"
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" />
- <path
- id="path10978-9"
- d="m 537,486 v 4.25 h 1 V 491 h 2 v -0.75 h 1 V 486 h -1 v 4 h -2 v -4 z"
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- </g>
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.4;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- d="m 544,133 v 1 h 9 v 62 h -9 v 1 h 9 1 v -33 h 1 v -1 h -1 v -30 h -1 z"
- id="rect11044-9"
- sodipodi:nodetypes="ccccccccccccccc"
- inkscape:connector-curvature="0" />
- <path
- id="path19464-5"
- d="m 0.749997,14 v 1 h -0.75 v 4 h 1 v -2 h 1 v 2 h 1 v -4 h -0.75 v -1 z m 0.25,1 h 1 v 1 h -1 z"
- style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- id="path19466-3"
- d="m -3e-6,35 v 5 h 1 1 v -0.5 h 1 V 38 h -0.75 v -1 h 0.75 v -1.25 h -1 V 35 h -1 z m 1,1 h 1 v 1 h -1 z m 0,2 h 1 v 1 h -1 z"
- style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- id="path19468-3"
- d="M 0.999997,56.25 V 57 h -1 v 3.5 h 1 v 0.75 h 2 v -1 h -2 v -3 h 2 v -1 z"
- style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- id="path19470-3"
- d="m -3e-6,77 v 1 3 1 h 2 v -0.75 h 1 v -3.5 h -1 V 77 Z m 1,1 h 1 v 3 h -1 z"
- style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- id="path19472-7"
- d="m -3e-6,99 v 5 h 1 2 v -1 h -2 v -1 h 1 v -1 h -1 v -1 h 2 v -1 h -2 z"
- style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- id="path19474-4"
- d="m -3e-6,119 v 5 h 1 v -2 h 1 v -1 h -1 v -1 h 2 v -1 h -2 z"
- style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- id="path19476-3"
- d="m 0.999997,140 v 0.75 h -1 v 3.5 h 1 V 145 h 2 v -1 -1.25 h -1 V 144 h -1 v -3 h 2 v -1 z"
- style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- id="path19478-8"
- d="m -3e-6,161 v 5 h 1 v -2 h 1 v 2 h 1 v -5 h -1 v 2 h -1 v -2 z"
- style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <rect
- y="183"
- x="0.99999702"
- height="5"
- width="1"
- id="rect19480-0"
- style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" />
- <path
- id="path19482-8"
- d="m 1.999997,203 v 4 h -1 v -1 h -1 v 1 h 0.75 v 1 h 1.5 v -1 h 0.75 v -4 z"
- style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- id="path19484-8"
- d="m -3e-6,224 v 5 h 1 v -1.75 h 1 v -1.5 h -1 V 224 Z m 2,1.75 h 1 V 224 h -1 z m 0,1.5 V 229 h 1 v -1.75 z"
- style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- id="path19486-0"
- d="m -3e-6,245 v 5 h 1 2 v -1 h -2 v -4 z"
- style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- id="path19488-6"
- d="m 0,266 v 5 h 1 v -3 h 1 v -1 H 1 v -1 z m 2,2 v 1 h 1 v -1 z m 1,0 h 1 v 3 h 1 v -5 H 4 v 1 H 3 Z"
- style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- id="path19490-8"
- d="m -3e-6,287 v 5 h 1 v -3 h 1 v -1 h -1 v -1 z m 2,2 v 1 h 1 v 2 h 1 v -5 h -1 v 2 z"
- style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- id="path19492-1"
- d="m 0.999997,308 v 1 h 1 v -1 z m 1,1 v 3 h 1 v -3 z m 0,3 h -1 v 1 h 1 z m -1,0 v -3 h -1 v 3 z"
- style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- sodipodi:nodetypes="cccccccccccccccccccc"
- inkscape:connector-curvature="0" />
- <path
- id="path19494-9"
- d="m -3e-6,329 v 5 h 1 v -2 h 1.25 v -1 h 0.75 v -1.25 h -1 V 329 h -1 z m 1,1 h 1 v 1 h -1 z"
- style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- id="path19496-8"
- d="m 0.999997,350 v 1 h 1 v -1 z m 1,1 v 3 h 1 v -3 z m 0,3 h -1 v 1 h 1 z m 0,1 v 1 h 1 v -1 z m -1,-1 v -3 h -1 v 3 z"
- style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- sodipodi:nodetypes="ccccccccccccccccccccccccc"
- inkscape:connector-curvature="0" />
- <path
- id="path19498-9"
- d="m -3e-6,371 v 5 h 1 v -2 h 1 v 2 h 1 v -2 h -0.75 v -1 h 0.75 v -1.25 h -1 V 371 h -1 z m 1,1 h 1 v 1 h -1 z"
- style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- id="path19500-7"
- d="m 0.999997,392 v 0.75 h -1 v 1.5 h 1 V 395 h 1 v 1 h -2 v 1 h 2 v -0.75 h 1 v -1.5 h -1 V 394 h -1 v -1 h 1.5 v -1 z"
- style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- id="path19502-2"
- d="m -3e-6,413 v 1 h 1 v 4 h 1 v -4 h 1 v -1 z"
- style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- id="path19504-2"
- d="m -3e-6,435 v 4.25 h 1 V 440 h 2 v -0.75 h 1 V 435 h -1 v 4 h -2 v -4 z"
- style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- id="path19506-8"
- d="m -3e-6,456 v 3.25 h 1 V 461 h 1 v -1.75 h 1 V 456 h -1 v 3 h -1 v -3 z"
- style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- id="path19508-2"
- d="m 0,476 v 3.25 H 1 V 481 h 1 v -1.75 H 2.999997 V 481 H 4 v -1.75 H 5 V 476 H 4 v 3 H 2.999997 v -2 H 2 v 2 H 1 v -3 z"
- style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- d="m -3e-6,498 v 2 h 1 v -2 z m 1,2 v 1 h 1 v -1 z m 1,0 h 1 v -2 h -1 z m 0,1 v 2 h 1 v -2 z m -1,0 h -1 v 2 h 1 z"
- id="rect19510-8"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- d="m 0.75,557 v 1 H 0 v 4 h 1 v -2 h 1 v 2 h 1 v -4 H 2.25 v -1 z M 1,558 h 1 v 1 H 1 Z"
- id="path38399-9"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- d="m 0,578 v 5 h 1 1 v -0.5 H 3 V 581 H 2.25 v -1 H 3 v -1.25 H 2 V 578 H 1 Z m 1,1 h 1 v 1 H 1 Z m 0,2 h 1 v 1 H 1 Z"
- id="path38401-0"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- d="M 1,599.25 V 600 H 0 v 3.5 h 1 v 0.75 h 2 v -1 H 1 v -3 h 2 v -1 z"
- id="path38403-7"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- d="m 0,620 v 1 3 1 h 2 v -0.75 h 1 v -3.5 H 2 V 620 Z m 1,1 h 1 v 3 H 1 Z"
- id="path38405-8"
- inkscape:connector-curvature="0" />
- <path
- id="path38411-1"
- d="m 0.75,564 v 1 H 0 v 4 h 1 v -2 h 1 v 2 h 1 v -4 H 2.25 v -1 z M 1,565 h 1 v 1 H 1 Z"
- style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- id="path38413-5"
- d="m 0.75,585 v 1 H 0 v 4 h 1 v -2 h 1 v 2 h 1 v -4 H 2.25 v -1 z M 1,586 h 1 v 1 H 1 Z"
- style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- d="m 0.75,606 v 1 H 0 v 4 h 1 v -2 h 1 v 2 h 1 v -4 H 2.25 v -1 z M 1,607 h 1 v 1 H 1 Z"
- id="path38415-8"
- inkscape:connector-curvature="0" />
- <path
- id="path38417-6"
- d="m 0.75,627 v 1 H 0 v 4 h 1 v -2 h 1 v 2 h 1 v -4 H 2.25 v -1 z M 1,628 h 1 v 1 H 1 Z"
- style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- id="path38419-1"
- d="m 548.75,557 v 1 H 548 v 4 h 1 v -2 h 1 v 2 h 1 v -4 h -0.75 v -1 z m 0.25,1 h 1 v 1 h -1 z"
- style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- id="path38421-2"
- d="m 548,578 v 5 h 1 1 v -0.5 h 1 V 581 h -0.75 v -1 H 551 v -1.25 h -1 V 578 h -1 z m 1,1 h 1 v 1 h -1 z m 0,2 h 1 v 1 h -1 z"
- style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- id="path38423-4"
- d="M 549,599.25 V 600 h -1 v 3.5 h 1 v 0.75 h 2 v -1 h -2 v -3 h 2 v -1 z"
- style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- id="path38425-2"
- d="m 548,620 v 1 3 1 h 2 v -0.75 h 1 v -3.5 h -1 V 620 Z m 1,1 h 1 v 3 h -1 z"
- style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- d="m 548.75,564 v 1 H 548 v 4 h 1 v -2 h 1 v 2 h 1 v -4 h -0.75 v -1 z m 0.25,1 h 1 v 1 h -1 z"
- id="path38427-5"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- d="m 548.75,585 v 1 H 548 v 4 h 1 v -2 h 1 v 2 h 1 v -4 h -0.75 v -1 z m 0.25,1 h 1 v 1 h -1 z"
- id="path38429-8"
- inkscape:connector-curvature="0" />
- <path
- id="path38431-6"
- d="m 548.75,606 v 1 H 548 v 4 h 1 v -2 h 1 v 2 h 1 v -4 h -0.75 v -1 z m 0.25,1 h 1 v 1 h -1 z"
- style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- d="m 548.75,627 v 1 H 548 v 4 h 1 v -2 h 1 v 2 h 1 v -4 h -0.75 v -1 z m 0.25,1 h 1 v 1 h -1 z"
- id="path38433-2"
- inkscape:connector-curvature="0" />
- <path
- inkscape:connector-curvature="0"
- id="path19537-6"
- d="m 12,2 v 1 h -1 v 1 h 1 v 3 h 1 V 2 Z"
- style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" />
- <path
- inkscape:connector-curvature="0"
- id="path19539-5"
- d="m 33,2 v 1 h 2 v 1 h -1 v 1 h 1 V 4.25 h 1 V 2.75 H 35 V 2 Z m 1,3 h -1 v 1 1 h 3 V 6 h -2 z"
- style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" />
- <path
- inkscape:connector-curvature="0"
- id="path19541-3"
- d="m 54,2 v 1 h 2 v 1 h 1 V 2.75 H 56 V 2 Z m 2,2 h -1 v 1 h 1 z m 0,1 v 1 h -2 v 1 h 2 V 6.25 h 1 V 5 Z"
- style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" />
- <path
- inkscape:connector-curvature="0"
- id="path19543-9"
- d="m 75,2 v 3 h 1 1 v 2 h 1 V 3 H 77 V 4 H 76 V 2 Z"
- style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" />
- <path
- inkscape:connector-curvature="0"
- id="path19545-2"
- d="m 96,2 v 3 h 1 1 v 1 h -2 v 1 h 2 V 6.25 h 1 V 4.75 H 98 V 4 H 97 V 3 h 2 V 2 h -2 z"
- style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" />
- <path
- inkscape:connector-curvature="0"
- id="path19547-4"
- d="m 118,2 v 0.75 h -1 V 6 h 0.75 v 1 h 1.5 V 6 H 120 V 5 h -0.75 V 4 H 118 V 3 h 1.5 V 2 Z m 0,3 h 1 v 1 h -1 z"
- style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" />
- <path
- inkscape:connector-curvature="0"
- id="path19549-6"
- d="m 138,2 v 1 h 2 v 1 h -1 v 3 h 1 V 4.25 h 1 V 3 2 Z"
- style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" />
- <path
- inkscape:connector-curvature="0"
- id="path19551-18"
- d="m 159.75,2 v 1 h -0.5 v 1 h 0.5 V 5 H 159 v 1 h 0.75 v 1 h 1.5 V 6 H 162 V 5 h -0.75 V 4 h 0.5 V 3 h -0.5 V 2 Z M 160,3 h 1 v 1 h -1 z m 0,2 h 1 v 1 h -1 z"
- style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" />
- <path
- inkscape:connector-curvature="0"
- id="path19553-2"
- d="M 180.75,2 V 3 H 180 v 1 h 0.75 V 5 H 182 v 1 h -1.5 V 7 H 182 V 6.25 h 1 V 3 h -0.75 V 2 Z M 181,3 h 1 v 1 h -1 z"
- style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" />
- <path
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="cccccccccccccccccc"
- id="path19555-1"
- d="M 202.75,2 V 3 H 202 v 3 h 0.75 v 1 h 1.5 V 6 H 205 V 3 h -0.75 V 2 Z M 203,3 h 1 v 3 h -1 z"
- style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" />
- <path
- inkscape:connector-curvature="0"
- style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- d="m 514,2 v 1 h 2 v 1 h -1 v 1 h 1 V 4.25 h 1 v -1.5 h -1 V 2 Z m 1,3 h -1 v 1 1 h 3 V 6 h -2 z"
- id="path19559-1" />
- <path
- inkscape:connector-curvature="0"
- style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- d="m 476,2 v 1 h 2 v 1 h 1 V 2.75 h -1 V 2 Z m 2,2 h -1 v 1 h 1 z m 0,1 v 1 h -2 v 1 h 2 V 6.25 h 1 V 5 Z"
- id="path19561-9" />
- <path
- inkscape:connector-curvature="0"
- style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- d="m 497,2 v 3 h 1 1 v 2 h 1 V 3 h -1 v 1 h -1 V 2 Z"
- id="path19563-7" />
- <path
- inkscape:connector-curvature="0"
- style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- d="m 518,2 v 3 h 1 1 v 1 h -2 v 1 h 2 V 6.25 h 1 v -1.5 h -1 V 4 h -1 V 3 h 2 V 2 h -2 z"
- id="path19565-6" />
- <path
- inkscape:connector-curvature="0"
- id="path19577-2"
- d="m 200,2 v 1 h -1 v 1 h 1 v 3 h 1 V 2 Z"
- style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" />
- <path
- inkscape:connector-curvature="0"
- id="path19579-9"
- d="m 244,2 v 1 h 2 v 1 h -1 v 1 h 1 V 4.25 h 1 v -1.5 h -1 V 2 Z m 1,3 h -1 v 1 1 h 3 V 6 h -2 z"
- style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" />
- <path
- inkscape:connector-curvature="0"
- id="path19581-5"
- d="m 265,2 v 1 h 2 v 1 h 1 V 2.75 h -1 V 2 Z m 2,2 h -1 v 1 h 1 z m 0,1 v 1 h -2 v 1 h 2 V 6.25 h 1 V 5 Z"
- style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" />
- <path
- inkscape:connector-curvature="0"
- id="path19583-2"
- d="m 286,2 v 3 h 1 1 v 2 h 1 V 3 h -1 v 1 h -1 V 2 Z"
- style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" />
- <path
- inkscape:connector-curvature="0"
- id="path19585-0"
- d="m 307,2 v 3 h 1 1 v 1 h -2 v 1 h 2 V 6.25 h 1 v -1.5 h -1 V 4 h -1 V 3 h 2 V 2 h -2 z"
- style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" />
- <path
- inkscape:connector-curvature="0"
- id="path19587-0"
- d="m 329,2 v 0.75 h -1 V 6 h 0.75 v 1 h 1.5 V 6 H 331 V 5 h -0.75 V 4 H 329 V 3 h 1.5 V 2 Z m 0,3 h 1 v 1 h -1 z"
- style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" />
- <path
- inkscape:connector-curvature="0"
- id="path19589-3"
- d="m 349,2 v 1 h 2 v 1 h -1 v 3 h 1 V 4.25 h 1 V 3 2 Z"
- style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" />
- <path
- inkscape:connector-curvature="0"
- id="path19591-9"
- d="m 370.75,2 v 1 h -0.5 v 1 h 0.5 V 5 H 370 v 1 h 0.75 v 1 h 1.5 V 6 H 373 V 5 h -0.75 V 4 h 0.5 V 3 h -0.5 V 2 Z M 371,3 h 1 v 1 h -1 z m 0,2 h 1 v 1 h -1 z"
- style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" />
- <path
- inkscape:connector-curvature="0"
- id="path19593-1"
- d="M 391.75,2 V 3 H 391 v 1 h 0.75 V 5 H 393 v 1 h -1.5 V 7 H 393 V 6.25 h 1 V 3 h -0.75 V 2 Z M 392,3 h 1 v 1 h -1 z"
- style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" />
- <path
- inkscape:connector-curvature="0"
- id="path19595-8"
- d="M 413.75,2 V 3 H 413 v 3 h 0.75 v 1 h 1.5 V 6 H 416 V 3 h -0.75 V 2 Z M 414,3 h 1 v 3 h -1 z m 0.25,1 v 1 h 0.5 V 4 Z"
- style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" />
- <path
- inkscape:connector-curvature="0"
- id="path19597-1"
- d="m 221,2 v 1 h -1 v 1 h 1 v 3 h 1 V 2 Z"
- style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" />
- <path
- inkscape:connector-curvature="0"
- style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- d="m 224,2 v 1 h -1 v 1 h 1 v 3 h 1 V 2 Z"
- id="path19599-9" />
- <path
- inkscape:connector-curvature="0"
- id="path19601-5"
- d="m 242,2 v 1 h -1 v 1 h 1 v 3 h 1 V 2 Z"
- style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" />
- <path
- inkscape:connector-curvature="0"
- id="path19603-3"
- d="m 263,2 v 1 h -1 v 1 h 1 v 3 h 1 V 2 Z"
- style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" />
- <path
- inkscape:connector-curvature="0"
- id="path19605-2"
- d="m 284,2 v 1 h -1 v 1 h 1 v 3 h 1 V 2 Z"
- style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" />
- <path
- inkscape:connector-curvature="0"
- id="path19607-5"
- d="m 305,2 v 1 h -1 v 1 h 1 v 3 h 1 V 2 Z"
- style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" />
- <path
- inkscape:connector-curvature="0"
- id="path19609-2"
- d="m 326,2 v 1 h -1 v 1 h 1 v 3 h 1 V 2 Z"
- style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" />
- <path
- inkscape:connector-curvature="0"
- id="path19611-5"
- d="m 347,2 v 1 h -1 v 1 h 1 v 3 h 1 V 2 Z"
- style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" />
- <path
- inkscape:connector-curvature="0"
- id="path19613-8"
- d="m 368,2 v 1 h -1 v 1 h 1 v 3 h 1 V 2 Z"
- style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" />
- <path
- inkscape:connector-curvature="0"
- id="path19615-6"
- d="m 389,2 v 1 h -1 v 1 h 1 v 3 h 1 V 2 Z"
- style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" />
- <path
- inkscape:connector-curvature="0"
- id="path19617-7"
- d="m 409,2 v 1 h 2 v 1 h -1 v 1 h 1 V 4.25 h 1 v -1.5 h -1 V 2 Z m 1,3 h -1 v 1 1 h 3 V 6 h -2 z"
- style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" />
- <path
- inkscape:connector-curvature="0"
- id="path19619-7"
- d="m 435,2 v 1 h -1 v 1 h 1 v 3 h 1 V 2 Z"
- style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" />
- <path
- inkscape:connector-curvature="0"
- id="path19621-2"
- d="m 430,2 v 1 h 2 v 1 h -1 v 1 h 1 V 4.25 h 1 v -1.5 h -1 V 2 Z m 1,3 h -1 v 1 1 h 3 V 6 h -2 z"
- style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" />
- <path
- inkscape:connector-curvature="0"
- id="path19623-2"
- d="m 451,2 v 1 h 2 v 1 h -1 v 1 h 1 V 4.25 h 1 v -1.5 h -1 V 2 Z m 1,3 h -1 v 1 1 h 3 V 6 h -2 z"
- style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" />
- <path
- inkscape:connector-curvature="0"
- style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- d="m 455,2 v 1 h 2 v 1 h -1 v 1 h 1 V 4.25 h 1 v -1.5 h -1 V 2 Z m 1,3 h -1 v 1 1 h 3 V 6 h -2 z"
- id="path19625-9" />
- <path
- inkscape:connector-curvature="0"
- id="path19627-4"
- d="m 472,2 v 1 h 2 v 1 h -1 v 1 h 1 V 4.25 h 1 v -1.5 h -1 V 2 Z m 1,3 h -1 v 1 1 h 3 V 6 h -2 z"
- style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" />
- <path
- inkscape:connector-curvature="0"
- id="path19629-1"
- d="m 493,2 v 1 h 2 v 1 h -1 v 1 h 1 V 4.25 h 1 v -1.5 h -1 V 2 Z m 1,3 h -1 v 1 1 h 3 V 6 h -2 z"
- style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" />
- <path
- inkscape:connector-curvature="0"
- id="path11036-9"
- d="m 536,2 v 1 h 2 v 1 h -1 v 1 h 1 V 4.25 h 1 v -1.5 h -1 V 2 Z m 1,3 h -1 v 1 1 h 3 V 6 h -2 z"
- style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" />
- <path
- inkscape:connector-curvature="0"
- style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- d="m 541,2 v 0.75 h -1 V 6 h 0.75 v 1 h 1.5 V 6 H 543 V 5 h -0.75 V 4 H 541 V 3 h 1.5 V 2 Z m 0,3 h 1 v 1 h -1 z"
- id="path11038-6" />
- <path
- inkscape:connector-curvature="0"
- style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- d="m 548.75,14 v 1 H 548 v 4 h 1 v -2 h 1 v 2 h 1 v -4 h -0.75 v -1 z m 0.25,1 h 1 v 1 h -1 z"
- id="path11128-8" />
- <path
- inkscape:connector-curvature="0"
- style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- d="m 548,35 v 5 h 1 1 v -0.5 h 1 V 38 h -0.75 V 37 H 551 v -1.25 h -1 V 35 h -1 z m 1,1 h 1 v 1 h -1 z m 0,2 h 1 v 1 h -1 z"
- id="path11130-2" />
- <path
- inkscape:connector-curvature="0"
- style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- d="M 549,56.25 V 57 h -1 v 3.5 h 1 v 0.75 h 2 v -1 h -2 v -3 h 2 v -1 z"
- id="path11132-5" />
- <path
- inkscape:connector-curvature="0"
- style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- d="m 548,77 v 1 3 1 h 2 v -0.75 h 1 v -3.5 h -1 V 77 Z m 1,1 h 1 v 3 h -1 z"
- id="path11134-5" />
- <path
- inkscape:connector-curvature="0"
- style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- d="m 548,99 v 5 h 1 2 v -1 h -2 v -1 h 1 v -1 h -1 v -1 h 2 v -1 h -2 z"
- id="path11136-4" />
- <path
- inkscape:connector-curvature="0"
- style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- d="m 548,119 v 5 h 1 v -2 h 1 v -1 h -1 v -1 h 2 v -1 h -2 z"
- id="path11138-9" />
- <path
- inkscape:connector-curvature="0"
- style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- d="m 549,140 v 0.75 h -1 v 3.5 h 1 V 145 h 2 v -1 -1.25 h -1 V 144 h -1 v -3 h 2 v -1 z"
- id="path11140-1" />
- <path
- inkscape:connector-curvature="0"
- style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- d="m 548,161 v 5 h 1 v -2 h 1 v 2 h 1 v -5 h -1 v 2 h -1 v -2 z"
- id="path11142-2" />
- <rect
- style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- id="rect11144-5"
- width="1"
- height="5"
- x="549"
- y="183" />
- <path
- inkscape:connector-curvature="0"
- style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- d="m 550,203 v 4 h -1 v -1 h -1 v 1 h 0.75 v 1 h 1.5 v -1 H 551 v -4 z"
- id="path11146-0" />
- <path
- inkscape:connector-curvature="0"
- style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- d="m 548,224 v 5 h 1 v -1.75 h 1 v -1.5 h -1 V 224 Z m 2,1.75 h 1 V 224 h -1 z m 0,1.5 V 229 h 1 v -1.75 z"
- id="path11148-8" />
- <path
- inkscape:connector-curvature="0"
- style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- d="m 548,245 v 5 h 1 2 v -1 h -2 v -4 z"
- id="path11150-3" />
- <path
- inkscape:connector-curvature="0"
- style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- d="m 548,266 v 5 h 1 v -3 h 1 v -1 h -1 v -1 z m 2,2 v 1 h 1 v -1 z m 1,0 h 1 v 3 h 1 v -5 h -1 v 1 h -1 z"
- id="path11152-9" />
- <path
- inkscape:connector-curvature="0"
- style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- d="m 548,287 v 5 h 1 v -3 h 1 v -1 h -1 v -1 z m 2,2 v 1 h 1 v 2 h 1 v -5 h -1 v 2 z"
- id="path11154-3" />
- <path
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="cccccccccccccccccccc"
- style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- d="m 549,308 v 1 h 1 v -1 z m 1,1 v 3 h 1 v -3 z m 0,3 h -1 v 1 h 1 z m -1,0 v -3 h -1 v 3 z"
- id="path11156-9" />
- <path
- inkscape:connector-curvature="0"
- style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- d="m 548,329 v 5 h 1 v -2 h 1.25 v -1 H 551 v -1.25 h -1 V 329 h -1 z m 1,1 h 1 v 1 h -1 z"
- id="path11158-6" />
- <path
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="ccccccccccccccccccccccccc"
- style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- d="m 549,350 v 1 h 1 v -1 z m 1,1 v 3 h 1 v -3 z m 0,3 h -1 v 1 h 1 z m 0,1 v 1 h 1 v -1 z m -1,-1 v -3 h -1 v 3 z"
- id="path11160-7" />
- <path
- inkscape:connector-curvature="0"
- style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- d="m 548,371 v 5 h 1 v -2 h 1 v 2 h 1 v -2 h -0.75 v -1 H 551 v -1.25 h -1 V 371 h -1 z m 1,1 h 1 v 1 h -1 z"
- id="path11162-9" />
- <path
- inkscape:connector-curvature="0"
- style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- d="m 549,392 v 0.75 h -1 v 1.5 h 1 V 395 h 1 v 1 h -2 v 1 h 2 v -0.75 h 1 v -1.5 h -1 V 394 h -1 v -1 h 1.5 v -1 z"
- id="path11164-9" />
- <path
- inkscape:connector-curvature="0"
- style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- d="m 548,413 v 1 h 1 v 4 h 1 v -4 h 1 v -1 z"
- id="path11166-7" />
- <path
- inkscape:connector-curvature="0"
- style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- d="m 548,435 v 4.25 h 1 V 440 h 2 v -0.75 h 1 V 435 h -1 v 4 h -2 v -4 z"
- id="path11168-6" />
- <path
- inkscape:connector-curvature="0"
- style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- d="m 548,456 v 3.25 h 1 V 461 h 1 v -1.75 h 1 V 456 h -1 v 3 h -1 v -3 z"
- id="path11170-9" />
- <path
- inkscape:connector-curvature="0"
- style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- d="M 547,475.75 V 479 h 1 v 1.75 h 1 V 479 h 1 v 1.75 h 1 V 479 h 1 v -3.25 h -1 v 3 h -1 v -2 h -1 v 2 h -1 v -3 z"
- id="path11172-3" />
- <path
- inkscape:connector-curvature="0"
- id="path11174-5"
- d="m 548,498 v 2 h 1 v -2 z m 1,2 v 1 h 1 v -1 z m 1,0 h 1 v -2 h -1 z m 0,1 v 2 h 1 v -2 z m -1,0 h -1 v 2 h 1 z"
- style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" />
- <path
- id="path38393-7"
- d="m 0,518 v 2.25 H 1 V 523 h 1 v -2.75 H 3 V 518 H 2 v 2 H 1 v -2 z"
- style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- id="path38395-6"
- d="m 0,539 v 1 h 2 v 1 h 1 v -1 -1 z m 2,2 H 1 v 1 h 1 z m -1,1 H 0 v 1 1 h 3 v -1 H 1 Z"
- style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- d="m 548,518 v 2.25 h 1 V 523 h 1 v -2.75 h 1 V 518 h -1 v 2 h -1 v -2 z"
- id="path38435-6"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- d="m 548,539 v 1 h 2 v 1 h 1 v -1 -1 z m 2,2 h -1 v 1 h 1 z m -1,1 h -1 v 1 1 h 3 v -1 h -2 z"
- id="path38437-5"
- inkscape:connector-curvature="0" />
- <path
- inkscape:connector-curvature="0"
- style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- d="m 12,636 v 1 h -1 v 1 h 1 v 3 h 1 v -5 z"
- id="path41043-2" />
- <path
- inkscape:connector-curvature="0"
- style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- d="m 33,636 v 1 h 2 v 1 h -1 v 1 h 1 v -0.75 h 1 v -1.5 H 35 V 636 Z m 1,3 h -1 v 1 1 h 3 v -1 h -2 z"
- id="path41045-5" />
- <path
- inkscape:connector-curvature="0"
- style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- d="m 54,636 v 1 h 2 v 1 h 1 v -1.25 H 56 V 636 Z m 2,2 h -1 v 1 h 1 z m 0,1 v 1 h -2 v 1 h 2 v -0.75 h 1 V 639 Z"
- id="path41047-4" />
- <path
- inkscape:connector-curvature="0"
- style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- d="m 75,636 v 3 h 1 1 v 2 h 1 v -4 h -1 v 1 h -1 v -2 z"
- id="path41049-4" />
- <path
- inkscape:connector-curvature="0"
- style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- d="m 96,636 v 3 h 1 1 v 1 h -2 v 1 h 2 v -0.75 h 1 v -1.5 H 98 V 638 h -1 v -1 h 2 v -1 h -2 z"
- id="path41051-1" />
- <path
- inkscape:connector-curvature="0"
- style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- d="m 118,636 v 0.75 h -1 V 640 h 0.75 v 1 h 1.5 v -1 H 120 v -1 h -0.75 v -1 H 118 v -1 h 1.5 v -1 z m 0,3 h 1 v 1 h -1 z"
- id="path41053-6" />
- <path
- inkscape:connector-curvature="0"
- style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- d="m 138,636 v 1 h 2 v 1 h -1 v 3 h 1 v -2.75 h 1 V 637 636 Z"
- id="path41055-1" />
- <path
- inkscape:connector-curvature="0"
- style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- d="m 159.75,636 v 1 h -0.5 v 1 h 0.5 v 1 H 159 v 1 h 0.75 v 1 h 1.5 v -1 H 162 v -1 h -0.75 v -1 h 0.5 v -1 h -0.5 v -1 z m 0.25,1 h 1 v 1 h -1 z m 0,2 h 1 v 1 h -1 z"
- id="path41057-6" />
- <path
- inkscape:connector-curvature="0"
- style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- d="m 180.75,636 v 1 H 180 v 1 h 0.75 v 1 H 182 v 1 h -1.5 v 1 h 1.5 v -0.75 h 1 V 637 h -0.75 v -1 z m 0.25,1 h 1 v 1 h -1 z"
- id="path41059-3" />
- <path
- inkscape:connector-curvature="0"
- style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- d="m 202.75,636 v 1 H 202 v 3 h 0.75 v 1 h 1.5 v -1 H 205 v -3 h -0.75 v -1 z m 0.25,1 h 1 v 3 h -1 z"
- id="path41061-3"
- sodipodi:nodetypes="cccccccccccccccccc" />
- <path
- inkscape:connector-curvature="0"
- id="path41063-5"
- d="m 514,636 v 1 h 2 v 1 h -1 v 1 h 1 v -0.75 h 1 v -1.5 h -1 V 636 Z m 1,3 h -1 v 1 1 h 3 v -1 h -2 z"
- style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" />
- <path
- inkscape:connector-curvature="0"
- id="path41065-5"
- d="m 476,636 v 1 h 2 v 1 h 1 v -1.25 h -1 V 636 Z m 2,2 h -1 v 1 h 1 z m 0,1 v 1 h -2 v 1 h 2 v -0.75 h 1 V 639 Z"
- style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" />
- <path
- inkscape:connector-curvature="0"
- id="path41067-3"
- d="m 497,636 v 3 h 1 1 v 2 h 1 v -4 h -1 v 1 h -1 v -2 z"
- style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" />
- <path
- inkscape:connector-curvature="0"
- id="path41069-2"
- d="m 518,636 v 3 h 1 1 v 1 h -2 v 1 h 2 v -0.75 h 1 v -1.5 h -1 V 638 h -1 v -1 h 2 v -1 h -2 z"
- style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" />
- <path
- inkscape:connector-curvature="0"
- style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- d="m 200,636 v 1 h -1 v 1 h 1 v 3 h 1 v -5 z"
- id="path41071-8" />
- <path
- inkscape:connector-curvature="0"
- style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- d="m 244,636 v 1 h 2 v 1 h -1 v 1 h 1 v -0.75 h 1 v -1.5 h -1 V 636 Z m 1,3 h -1 v 1 1 h 3 v -1 h -2 z"
- id="path41073-2" />
- <path
- inkscape:connector-curvature="0"
- style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- d="m 265,636 v 1 h 2 v 1 h 1 v -1.25 h -1 V 636 Z m 2,2 h -1 v 1 h 1 z m 0,1 v 1 h -2 v 1 h 2 v -0.75 h 1 V 639 Z"
- id="path41075-5" />
- <path
- inkscape:connector-curvature="0"
- style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- d="m 286,636 v 3 h 1 1 v 2 h 1 v -4 h -1 v 1 h -1 v -2 z"
- id="path41077-3" />
- <path
- inkscape:connector-curvature="0"
- style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- d="m 307,636 v 3 h 1 1 v 1 h -2 v 1 h 2 v -0.75 h 1 v -1.5 h -1 V 638 h -1 v -1 h 2 v -1 h -2 z"
- id="path41079-6" />
- <path
- inkscape:connector-curvature="0"
- style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- d="m 329,636 v 0.75 h -1 V 640 h 0.75 v 1 h 1.5 v -1 H 331 v -1 h -0.75 v -1 H 329 v -1 h 1.5 v -1 z m 0,3 h 1 v 1 h -1 z"
- id="path41081-1" />
- <path
- inkscape:connector-curvature="0"
- style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- d="m 349,636 v 1 h 2 v 1 h -1 v 3 h 1 v -2.75 h 1 V 637 636 Z"
- id="path41083-8" />
- <path
- inkscape:connector-curvature="0"
- style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- d="m 370.75,636 v 1 h -0.5 v 1 h 0.5 v 1 H 370 v 1 h 0.75 v 1 h 1.5 v -1 H 373 v -1 h -0.75 v -1 h 0.5 v -1 h -0.5 v -1 z m 0.25,1 h 1 v 1 h -1 z m 0,2 h 1 v 1 h -1 z"
- id="path41085-6" />
- <path
- inkscape:connector-curvature="0"
- style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- d="m 391.75,636 v 1 H 391 v 1 h 0.75 v 1 H 393 v 1 h -1.5 v 1 h 1.5 v -0.75 h 1 V 637 h -0.75 v -1 z m 0.25,1 h 1 v 1 h -1 z"
- id="path41087-2" />
- <path
- inkscape:connector-curvature="0"
- style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- d="m 413.75,636 v 1 H 413 v 3 h 0.75 v 1 h 1.5 v -1 H 416 v -3 h -0.75 v -1 z m 0.25,1 h 1 v 3 h -1 z m 0.25,1 v 1 h 0.5 v -1 z"
- id="path41089-1" />
- <path
- inkscape:connector-curvature="0"
- style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- d="m 221,636 v 1 h -1 v 1 h 1 v 3 h 1 v -5 z"
- id="path41091-4" />
- <path
- inkscape:connector-curvature="0"
- id="path41093-6"
- d="m 224,636 v 1 h -1 v 1 h 1 v 3 h 1 v -5 z"
- style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" />
- <path
- inkscape:connector-curvature="0"
- style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- d="m 242,636 v 1 h -1 v 1 h 1 v 3 h 1 v -5 z"
- id="path41095-2" />
- <path
- inkscape:connector-curvature="0"
- style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- d="m 263,636 v 1 h -1 v 1 h 1 v 3 h 1 v -5 z"
- id="path41097-9" />
- <path
- inkscape:connector-curvature="0"
- style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- d="m 284,636 v 1 h -1 v 1 h 1 v 3 h 1 v -5 z"
- id="path41099-1" />
- <path
- inkscape:connector-curvature="0"
- style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- d="m 305,636 v 1 h -1 v 1 h 1 v 3 h 1 v -5 z"
- id="path41101-5" />
- <path
- inkscape:connector-curvature="0"
- style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- d="m 326,636 v 1 h -1 v 1 h 1 v 3 h 1 v -5 z"
- id="path41103-0" />
- <path
- inkscape:connector-curvature="0"
- style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- d="m 347,636 v 1 h -1 v 1 h 1 v 3 h 1 v -5 z"
- id="path41105-3" />
- <path
- inkscape:connector-curvature="0"
- style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- d="m 368,636 v 1 h -1 v 1 h 1 v 3 h 1 v -5 z"
- id="path41107-6" />
- <path
- inkscape:connector-curvature="0"
- style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- d="m 389,636 v 1 h -1 v 1 h 1 v 3 h 1 v -5 z"
- id="path41109-4" />
- <path
- inkscape:connector-curvature="0"
- style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- d="m 409,636 v 1 h 2 v 1 h -1 v 1 h 1 v -0.75 h 1 v -1.5 h -1 V 636 Z m 1,3 h -1 v 1 1 h 3 v -1 h -2 z"
- id="path41111-9" />
- <path
- inkscape:connector-curvature="0"
- style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- d="m 435,636 v 1 h -1 v 1 h 1 v 3 h 1 v -5 z"
- id="path41113-2" />
- <path
- inkscape:connector-curvature="0"
- style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- d="m 430,636 v 1 h 2 v 1 h -1 v 1 h 1 v -0.75 h 1 v -1.5 h -1 V 636 Z m 1,3 h -1 v 1 1 h 3 v -1 h -2 z"
- id="path41116-9" />
- <path
- inkscape:connector-curvature="0"
- style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- d="m 451,636 v 1 h 2 v 1 h -1 v 1 h 1 v -0.75 h 1 v -1.5 h -1 V 636 Z m 1,3 h -1 v 1 1 h 3 v -1 h -2 z"
- id="path41118-3" />
- <path
- inkscape:connector-curvature="0"
- id="path41120-4"
- d="m 455,636 v 1 h 2 v 1 h -1 v 1 h 1 v -0.75 h 1 v -1.5 h -1 V 636 Z m 1,3 h -1 v 1 1 h 3 v -1 h -2 z"
- style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" />
- <path
- inkscape:connector-curvature="0"
- style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- d="m 472,636 v 1 h 2 v 1 h -1 v 1 h 1 v -0.75 h 1 v -1.5 h -1 V 636 Z m 1,3 h -1 v 1 1 h 3 v -1 h -2 z"
- id="path41122-4" />
- <path
- inkscape:connector-curvature="0"
- style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- d="m 493,636 v 1 h 2 v 1 h -1 v 1 h 1 v -0.75 h 1 v -1.5 h -1 V 636 Z m 1,3 h -1 v 1 1 h 3 v -1 h -2 z"
- id="path41124-0" />
- <path
- inkscape:connector-curvature="0"
- style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- d="m 536,636 v 1 h 2 v 1 h -1 v 1 h 1 v -0.75 h 1 v -1.5 h -1 V 636 Z m 1,3 h -1 v 1 1 h 3 v -1 h -2 z"
- id="path41126-5" />
- <path
- inkscape:connector-curvature="0"
- id="path41128-9"
- d="m 541,636 v 0.75 h -1 V 640 h 0.75 v 1 h 1.5 v -1 H 543 v -1 h -0.75 v -1 H 541 v -1 h 1.5 v -1 z m 0,3 h 1 v 1 h -1 z"
- style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.4;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- d="m 545,238 v 1 h 9 v 41 h -9 v 1 h 9 1 v -21 h 1 v -1 h -1 v -21 h -1 z"
- id="rect11044-9-4"
- sodipodi:nodetypes="ccccccccccccccc"
- inkscape:connector-curvature="0" />
- <g
- id="g6033"
- transform="rotate(-90,411.96778,491.48895)">
- <rect
- style="display:inline;overflow:visible;visibility:visible;opacity:0.6;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- id="rect5498"
- width="1"
- height="5"
- x="522.48798"
- y="673.52118" />
- <path
- inkscape:connector-curvature="0"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.6;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- d="m 433.45673,673.52118 v 4 h -1 v -1 h -1 v 1 h 0.75 v 1 h 1.5 v -1 h 0.75 v -4 z"
- id="path5500"
- sodipodi:nodetypes="ccccccccccccc" />
- <path
- inkscape:connector-curvature="0"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.6;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- d="m 454.45673,673.52118 v 1 h 2 v -1 z m 2,1 v 3 h 1 v -3 z m 0,3 h -2 v 1 h 2 z m -2,0 v -3 h -1 v 3 z"
- id="path5504"
- sodipodi:nodetypes="cccccccccccccccccccc" />
- <path
- inkscape:connector-curvature="0"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.6;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- d="m 419.45673,673.52118 v 0.75 h -1 v 1.5 h 1 v 0.75 h 1 v 1 h -2 v 1 h 2 v -0.75 h 1 v -1.5 h -1 v -0.75 h -1 v -1 h 1.5 v -1 z"
- id="path5506"
- sodipodi:nodetypes="ccccccccccccccccccccc" />
- <path
- inkscape:connector-curvature="0"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.6;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- d="m 443.45673,673.52118 v 1 h 1 v 4 h 1 v -4 h 1 v -1 z"
- id="path5508"
- sodipodi:nodetypes="ccccccccc" />
- <path
- inkscape:connector-curvature="0"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.6;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- d="m 422.45673,673.52118 v 4.25 h 1 v 0.75 h 2 v -0.75 h 1 v -4.25 h -1 v 4 h -2 v -4 z"
- id="path5510"
- sodipodi:nodetypes="ccccccccccccc" />
- <path
- inkscape:connector-curvature="0"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.6;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- d="m 427.45673,673.52118 v 5 h 1 1 v -0.5 h 1 v -1.5 h -0.75 v -1 h 0.75 v -1.25 h -1 v -0.75 h -1 z m 1,1 h 1 v 1 h -1 z m 0,2 h 1 v 1 h -1 z"
- id="path5512"
- sodipodi:nodetypes="ccccccccccccccccccccccccc" />
- <path
- inkscape:connector-curvature="0"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.6;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- d="m 440.45673,673.52118 v 0.75 h -1 v 3.5 h 1 v 0.75 h 2 v -1 h -2 v -3 h 2 v -1 z"
- id="path5514"
- sodipodi:nodetypes="ccccccccccccc" />
- <path
- inkscape:connector-curvature="0"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.6;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- d="m 435.45673,673.52118 v 5 h 1 2 v -1 h -2 v -1 h 1 v -1 h -1 v -1 h 2 v -1 h -2 z"
- id="path5516"
- sodipodi:nodetypes="ccccccccccccccc" />
- <path
- id="path5520"
- d="m 449.45673,673.52118 v 1 h 1 v 4 h 1 v -4 h 1 v -1 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.6;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="ccccccccc" />
- <path
- inkscape:connector-curvature="0"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.6;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- d="m 460.45673,673.52118 v 1 h 1 v 4 h 1 v -4 h 1 v -1 z"
- id="path5522"
- sodipodi:nodetypes="ccccccccc" />
- <path
- inkscape:connector-curvature="0"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.6;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- d="m 464.45673,673.52118 v 5 h 1 v -2 h 1 v 2 h 1 v -5 h -1 v 2 h -1 v -2 z"
- id="path5524"
- sodipodi:nodetypes="ccccccccccccc" />
- <path
- id="path5526"
- d="m 468.45673,673.52118 v 5 h 1 2 v -1 h -2 v -1 h 1 v -1 h -1 v -1 h 2 v -1 h -2 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.6;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="ccccccccccccccc" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.6;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- d="m 518.45673,673.52118 v 5 h 1 2 v -1 h -2 v -4 z"
- id="path5534"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="cccccccc" />
- <path
- id="path5536"
- d="m 525.45673,673.52118 v 0.75 h -1 v 3.5 h 1 v 0.75 h 2 v -1 h -2 v -3 h 2 v -1 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.6;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="ccccccccccccc" />
- <path
- inkscape:connector-curvature="0"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.6;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- d="m 528.45673,673.52118 v 5 h 1 2 v -1 h -2 v -1 h 1 v -1 h -1 v -1 h 2 v -1 h -2 z"
- id="path5538"
- sodipodi:nodetypes="ccccccccccccccc" />
- <path
- id="path5540"
- d="m 532.45673,673.52118 v 5 h 1 v -3 h 1 v -1 h -1 v -1 z m 2,2 v 1 h 1 v 2 h 1 v -5 h -1 v 2 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.6;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="cccccccccccccccccc" />
- <path
- id="path5542"
- d="m 538.45673,673.52118 v 0.75 h -1 v 3.5 h 1 v 0.75 h 2 v -1 h -2 v -3 h 2 v -1 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.6;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="ccccccccccccc" />
- <path
- id="path5544"
- d="m 541.45673,673.52118 v 5 h 1 2 v -1 h -2 v -1 h 1 v -1 h -1 v -1 h 2 v -1 h -2 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.6;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="ccccccccccccccc" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.6;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- d="m 361.45673,673.52118 v 1 h 1 v 4 h 1 v -4 h 1 v -1 z"
- id="path5548"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="ccccccccc" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.6;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- d="m 365.45673,673.52118 v 5 h 1 v -2 h 1 v 2 h 1 v -5 h -1 v 2 h -1 v -2 z"
- id="path5550"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="ccccccccccccc" />
- <rect
- style="display:inline;overflow:visible;visibility:visible;opacity:0.6;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- id="rect5552"
- width="1"
- height="5"
- x="369.48804"
- y="673.52118" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.6;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- d="m 372.45673,673.52118 v 0.75 h -1 v 1.5 h 1 v 0.75 h 1 v 1 h -2 v 1 h 2 v -0.75 h 1 v -1.5 h -1 v -0.75 h -1 v -1 h 1.5 v -1 z"
- id="path5554"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="ccccccccccccccccccccc" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.6;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- d="m 378.45673,673.52118 v 0.75 h -1 v 3.5 h 1 v 0.75 h 2 v -1 h -2 v -3 h 2 v -1 z"
- id="path5556"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="ccccccccccccc" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.6;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- d="m 386.45673,673.52118 v 5 h 1 v -3 h 1 v -1 h -1 v -1 z m 2,2 v 1 h 1 v 2 h 1 v -5 h -1 v 2 z"
- id="path5558"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="cccccccccccccccccc" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.6;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- d="m 382.45673,673.52118 v 1 h 2 v -1 z m 2,1 v 3 h 1 v -3 z m 0,3 h -2 v 1 h 2 z m -2,0 v -3 h -1 v 3 z"
- id="path5560"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="cccccccccccccccccccc" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.6;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- d="m 391.45673,673.52118 v 1 h 1 v 4 h 1 v -4 h 1 v -1 z"
- id="path5562"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="ccccccccc" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.6;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- d="m 395.45673,673.52118 v 5 h 1 2 v -1 h -2 v -1 h 1 v -1 h -1 v -1 h 2 v -1 h -2 z"
- id="path5564"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="ccccccccccccccc" />
- <path
- id="path5566"
- d="m 399.45673,673.52118 v 5 h 1 v -3 h 1 v -1 h -1 v -1 z m 2,2 v 1 h 1 v 2 h 1 v -5 h -1 v 2 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.6;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="cccccccccccccccccc" />
- <path
- id="path5568"
- d="m 404.45673,673.52118 v 1 h 1 v 4 h 1 v -4 h 1 v -1 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.6;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="ccccccccc" />
- <rect
- style="display:inline;overflow:visible;visibility:visible;opacity:0.6;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- id="rect5570"
- width="1"
- height="5"
- x="410.48804"
- y="673.52118" />
- <path
- id="path5572"
- d="m 413.45673,673.52118 v 0.75 h -1 v 1.5 h 1 v 0.75 h 1 v 1 h -2 v 1 h 2 v -0.75 h 1 v -1.5 h -1 v -0.75 h -1 v -1 h 1.5 v -1 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.6;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="ccccccccccccccccccccc" />
- <rect
- style="display:inline;overflow:visible;visibility:visible;opacity:0.6;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- id="rect5648"
- width="1"
- height="1"
- x="546.48798"
- y="677.52118" />
- <path
- inkscape:connector-curvature="0"
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- d="m 326.20673,673.52118 v 1 h -0.75 v 4 h 1 v -2 h 1 v 2 h 1 v -4 h -0.75 v -1 z m 0.25,1 h 1 v 1 h -1 z"
- id="path5654"
- sodipodi:nodetypes="cccccccccccccccccc" />
- <path
- inkscape:connector-curvature="0"
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- d="m 329.45673,673.52118 v 5 h 1 v -3 h 1 v -1 h -1 v -1 z m 2,2 v 1 h 1 v -1 z m 1,0 h 1 v 3 h 1 v -5 h -1 v 1 h -1 z"
- id="path5656"
- sodipodi:nodetypes="ccccccccccccccccccccccc" />
- <path
- inkscape:connector-curvature="0"
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- d="m 335.45673,673.52118 v 5 h 1 1 v -0.5 h 1 v -1.5 h -0.75 v -1 h 0.75 v -1.25 h -1 v -0.75 h -1 z m 1,1 h 1 v 1 h -1 z m 0,2 h 1 v 1 h -1 z"
- id="path5658"
- sodipodi:nodetypes="ccccccccccccccccccccccccc" />
- <path
- inkscape:connector-curvature="0"
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- d="m 339.45673,673.52118 v 5 h 1 v -2 h 1 v 2 h 1 v -2 h -0.75 v -1 h 0.75 v -1.25 h -1 v -0.75 h -1 z m 1,1 h 1 v 1 h -1 z"
- id="path5660"
- sodipodi:nodetypes="ccccccccccccccccccccc" />
- <path
- inkscape:connector-curvature="0"
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- d="m 344.45673,673.52118 v 1 h 2 v -1 z m 2,1 v 3 h 1 v -3 z m 0,3 h -2 v 1 h 2 z m -2,0 v -3 h -1 v 3 z"
- id="path5662"
- sodipodi:nodetypes="cccccccccccccccccccc" />
- <path
- inkscape:connector-curvature="0"
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- d="m 348.45673,673.52118 v 1 h 2 v 1 h 1 v -1 -1 z m 2,2 h -1 v 1 h 1 z m -1,1 h -1 v 1 1 h 3 v -1 h -2 z"
- id="path5664"
- sodipodi:nodetypes="ccccccccccccccccccccc" />
- <path
- inkscape:connector-curvature="0"
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- d="m 295.20673,673.52118 v 1 h -0.75 v 4 h 1 v -2 h 1 v 2 h 1 v -4 h -0.75 v -1 z m 0.25,1 h 1 v 1 h -1 z"
- id="path5666"
- sodipodi:nodetypes="cccccccccccccccccc" />
- <path
- inkscape:connector-curvature="0"
- id="path5668"
- d="m 298.45673,673.52118 v 5 h 1 v -3 h 1 v -1 h -1 v -1 z m 2,2 v 1 h 1 v 2 h 1 v -5 h -1 v 2 z"
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- sodipodi:nodetypes="cccccccccccccccccc" />
- <path
- inkscape:connector-curvature="0"
- id="path5670"
- d="m 303.45673,673.52118 v 1 3 1 h 2 v -0.75 h 1 v -3.5 h -1 v -0.75 z m 1,1 h 1 v 3 h -1 z"
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- sodipodi:nodetypes="cccccccccccccccc" />
- <path
- inkscape:connector-curvature="0"
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- d="m 307.45673,673.52118 v 5 h 1 v -2 h 1 v 2 h 1 v -2 h -0.75 v -1 h 0.75 v -1.25 h -1 v -0.75 h -1 z m 1,1 h 1 v 1 h -1 z"
- id="path5672"
- sodipodi:nodetypes="ccccccccccccccccccccc" />
- <path
- inkscape:connector-curvature="0"
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- d="m 311.45673,673.52118 v 1 h 2 v 1 h 1 v -1 -1 z m 2,2 h -1 v 1 h 1 z m -1,1 h -1 v 1 1 h 3 v -1 h -2 z"
- id="path5674"
- sodipodi:nodetypes="ccccccccccccccccccccc" />
- <path
- inkscape:connector-curvature="0"
- id="path5676"
- d="m 315.45673,673.52118 v 5 h 1 2 v -1 h -2 v -1 h 1 v -1 h -1 v -1 h 2 v -1 h -2 z"
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- sodipodi:nodetypes="ccccccccccccccc" />
- <path
- inkscape:connector-curvature="0"
- id="path5678"
- d="m 321.45673,673.52118 v 4 h -1 v -1 h -1 v 1 h 0.75 v 1 h 1.5 v -1 h 0.75 v -4 z"
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- sodipodi:nodetypes="ccccccccccccc" />
- <rect
- y="671.52118"
- x="349.48804"
- height="1"
- width="1"
- id="rect5680"
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" />
- <path
- inkscape:connector-curvature="0"
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- d="m 267.45673,672.52117 v 0.75 h -1 v 0.25 h -0.25 v 1 h -0.75 v 3 h 0.75 v 1 h 0.25 v 0.25 h 1 v 0.75 h 3 v -0.75 h 1 v -0.25 h 0.25 v -1 h 0.75 v -3 h -0.75 v -1 h -0.25 v -0.25 h -1 v -0.75 z m 0,1 h 3 v 1 h 1 v 3 h -1 v 1 h -3 v -1 h -1 v -3 h 1 z"
- id="path5682"
- sodipodi:nodetypes="cccccccccccccccccccccccccccccccccccccccccc" />
- <path
- inkscape:connector-curvature="0"
- id="path5684"
- d="m 268.45673,674.52117 v 0.75 h -1 v 1.5 h 1 v 0.75 h 1.25 v -1 h -1.25 v -1 h 1.25 v -1 z"
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- sodipodi:nodetypes="ccccccccccccc" />
- <path
- id="path5686"
- d="m 279.20673,673.52117 v 1 h -0.75 v 3 h 0.75 v 1 h 1.5 v -1 h 0.75 v -3 h -0.75 v -1 z m 0.25,1 h 1 v 3 h -1 z m 0.25,1 v 1 h 0.5 v -1 z"
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="ccccccccccccccccccccccc" />
- <path
- id="path5688"
- d="m 283.45673,673.52117 v 1 h -1 v 1 h 1 v 3 h 1 v -5 z"
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="ccccccccc" />
- <path
- inkscape:connector-curvature="0"
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- d="m 274.45673,673.52117 v 1 h 2 v 1 h -1 v 1 h 1 v -0.75 h 1 v -1.5 h -1 v -0.75 z m 1,3 h -1 v 1 1 h 3 v -1 h -2 z"
- id="path5690"
- sodipodi:nodetypes="ccccccccccccccccccccc" />
- <path
- id="path5692"
- d="m 290.42543,674.52118 v 1 h 1 v -1 z m -0.2187,3 v 1 h -0.75 v 1 h 1 v -1 h 1 v -1 z"
- style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="cccccccccccccc" />
- <path
- id="path41087-2-9"
- d="m 286.22238,673.50552 v 1 h -0.75 v 1 h 0.75 v 1 h 1.25 v 1 h -1.5 v 1 h 1.5 v -0.75 h 1 v -3.25 h -0.75 v -1 z m 0.25,1 h 1 v 1 h -1 z"
- style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="cccccccccccccccccccccc" />
- <path
- id="path6073"
- d="m 485.45673,673.52118 v 5 h 1 1 v -0.5 h 1 v -1.5 h -0.75 v -1 h 0.75 v -1.25 h -1 v -0.75 h -1 z m 1,1 h 1 v 1 h -1 z m 0,2 h 1 v 1 h -1 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.6;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="ccccccccccccccccccccccccc" />
- <path
- inkscape:connector-curvature="0"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.6;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- d="m 493.42543,675.52119 v 1 h 2 v -1 z"
- id="path6075"
- sodipodi:nodetypes="ccccc" />
- <path
- sodipodi:nodetypes="ccccccccccccc"
- id="path6077"
- d="m 489.45673,673.52118 v 2.25 h 1 v 2.75 h 1 v -2.75 h 1 v -2.25 h -1 v 2 h -1 v -2 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.6;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- sodipodi:nodetypes="ccccccccccccccccccccc"
- id="path6079"
- d="m 497.45673,673.52118 v 0.75 h -1 v 1.5 h 1 v 0.75 h 1 v 1 h -2 v 1 h 2 v -0.75 h 1 v -1.5 h -1 v -0.75 h -1 v -1 h 1.5 v -1 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.6;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- sodipodi:nodetypes="cccccccccccccccccc"
- id="path6082"
- d="m 501.20673,673.52118 v 1 h -0.75 v 4 h 1 v -2 h 1 v 2 h 1 v -4 h -0.75 v -1 z m 0.25,1 h 1 v 1 h -1 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.6;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- sodipodi:nodetypes="ccccccccccccccccccccccc"
- inkscape:connector-curvature="0"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.6;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
- d="m 513.20673,673.52117 v 1 h -0.75 v 3 h 0.75 v 1 h 1.5 v -1 h 0.75 v -3 h -0.75 v -1 z m 0.25,1 h 1 v 3 h -1 z m 0.25,1 v 1 h 0.5 v -1 z"
- id="path6106" />
- <rect
- style="display:inline;overflow:visible;visibility:visible;opacity:0.6;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
- id="rect6108"
- width="1"
- height="1"
- x="510.48804"
- y="677.52118" />
- <path
- id="path6084"
- d="m 506.45673,673.52118 v 3 h 1 1 v 2 h 1 v -4 h -1 v 1 h -1 v -2 z"
- style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:0.6;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- inkscape:connector-curvature="0"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.6;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- d="m 476.45673,673.52118 v 0.75 h -1 v 3.5 h 1 v 0.75 h 2 v -1 h -2 v -3 h 2 v -1 z"
- id="path5514-7"
- sodipodi:nodetypes="ccccccccccccc" />
- <path
- id="path6071"
- d="m 480.45673,673.52118 v 0.75 h -1 v 3.5 h 1 v 0.75 h 2 v -1 h -2 v -3 h 2 v -1 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.6;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="ccccccccccccc" />
+ <g inkscape:groupmode="layer" id="layer4" inkscape:label="sheet layout" style="display:inline" sodipodi:insensitive="true">
+ <g style="display:inline;opacity:0.3;fill:#000000;stroke:#ffffff;stroke-width:2;stroke-miterlimit:4;stroke-dasharray:none;enable-background:new" transform="translate(21)" id="g28552-1">
+ <path style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" d="m 536,14 v 0.75 h -1 v 1.5 h 1 V 17 h 1 v 1 h -2 v 1 h 2 v -0.75 h 1 v -1.5 h -1 V 16 h -1 v -1 h 1.5 v -1 z" id="path28554-7" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" d="m 539,14 v 5 h 1 2 v -1 h -2 v -1 h 1 v -1 h -1 v -1 h 2 v -1 h -2 z" id="path28556-4" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" d="m 544,14 v 1 h 2 v -1 z m 2,1 v 3 h 1 v -3 z m 0,3 h -2 v 1 h 2 z m 0,1 v 1 h 1 v -1 z m -2,-1 v -3 h -1 v 3 z" id="path28558-0" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" d="m 553,14 v 1.75 h -1 V 17 h -1 v 2 h 1 v -1.75 h 1 V 16 h 1 v -2 z" id="path28560-9" inkscape:connector-curvature="0"/>
+ <rect style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" id="rect28562-4" width="1" height="1" x="548" y="18"/>
+ <rect style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" id="rect28564-8" width="1" height="5" x="557" y="14"/>
+ <path style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" d="m 559,14 v 5 h 1 v -3 h 1 v -1 h -1 v -1 z m 2,2 v 1 h 1 v -1 z m 1,0 h 1 v 3 h 1 v -5 h -1 v 1 h -1 z" id="path28566-8" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" d="m 565.75,14 v 1 H 565 v 4 h 1 v -2 h 1 v 2 h 1 v -4 h -0.75 v -1 z m 0.25,1 h 1 v 1 h -1 z" id="path28568-2" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" d="m 570,14 v 0.75 h -1 v 3.5 h 1 V 19 h 2 v -1 -1.25 h -1 V 18 h -1 v -3 h 2 v -1 z" id="path28570-4" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" d="m 573,14 v 5 h 1 2 v -1 h -2 v -1 h 1 v -1 h -1 v -1 h 2 v -1 h -2 z" id="path28572-5" inkscape:connector-curvature="0"/>
+ </g>
+ <g style="display:inline;opacity:0.3;fill:#000000;stroke:#ffffff;stroke-width:2;stroke-miterlimit:4;stroke-dasharray:none;enable-background:new" transform="translate(21.98523,3)" id="g28574-5">
+ <path style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" d="m 534,74 v 5 h 1 v -2 h 1 v -1 h -1 v -1 h 2 v -1 h -2 z" id="path28576-1" inkscape:connector-curvature="0"/>
+ <rect style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" id="rect28578-7" width="1" height="5" x="538" y="74"/>
+ <path style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" d="m 540,74 v 5 h 1 2 v -1 h -2 v -4 z" id="path28580-1" inkscape:connector-curvature="0"/>
+ <path id="path28582-1" d="m 544,74 v 5 h 1 2 v -1 h -2 v -1 h 1 v -1 h -1 v -1 h 2 v -1 h -2 z" style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path id="path28584-5" d="m 551,74 v 0.75 h -1 v 1.5 h 1 V 77 h 1 v 1 h -2 v 1 h 2 v -0.75 h 1 v -1.5 h -1 V 76 h -1 v -1 h 1.5 v -1 z" style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path id="path28586-2" d="m 554,74 v 5 h 1 2 v -1 h -2 v -1 h 1 v -1 h -1 v -1 h 2 v -1 h -2 z" style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" d="m 558,74 v 5 h 1 2 v -1 h -2 v -4 z" id="path28588-7" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" d="m 562,74 v 5 h 1 2 v -1 h -2 v -1 h 1 v -1 h -1 v -1 h 2 v -1 h -2 z" id="path28590-6" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" d="m 567,74 v 0.75 h -1 v 3.5 h 1 V 79 h 2 v -1 h -2 v -3 h 2 v -1 z" id="path28592-1" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" d="m 570,74 v 1 h 1 v 4 h 1 v -4 h 1 v -1 z" id="path28594-4" inkscape:connector-curvature="0"/>
+ </g>
+ <g style="display:inline;opacity:0.3;fill:#000000;stroke:#ffffff;stroke-width:2;stroke-miterlimit:4;stroke-dasharray:none;enable-background:new" transform="translate(21)" id="g28596-2">
+ <path style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" d="m 535,119 v 1 h 2 v 1 h 1 v -1.25 h -1 V 119 Z m 2,2 h -1 v 1 h 1 z m 0,1 v 1 h -2 v 1 h 2 v -0.75 h 1 V 122 Z" id="path28598-3" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" d="m 539,119 v 1 3 1 h 2 v -0.75 h 1 v -3.5 h -1 V 119 Z m 1,1 h 1 v 3 h -1 z" id="path28600-2" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" d="m 545,119 v 3.25 h 1 V 124 h 1 v -1.75 h 1 V 119 h -1 v 3 h -1 v -3 z" id="path28602-2" inkscape:connector-curvature="0"/>
+ <rect style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" id="rect28604-1" width="1" height="5" x="549" y="119"/>
+ <path style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" d="m 551,119 v 5 h 1 2 v -1 h -2 v -1 h 1 v -1 h -1 v -1 h 2 v -1 h -2 z" id="path28606-6" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" d="m 555,119 v 3.25 h 1 V 124 h 1 v -1.75 h 1 V 124 h 1 v -1.75 h 1 V 119 h -1 v 3 h -1 v -2 h -1 v 2 h -1 v -3 z" id="path28608-8" inkscape:connector-curvature="0"/>
+ </g>
+ <g style="display:inline;opacity:0.3;fill:#000000;stroke:#ffffff;stroke-width:2;stroke-miterlimit:4;stroke-dasharray:none;enable-background:new" transform="translate(16,1)" id="g28610-5">
+ <path style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" d="m 540,160 v 5 h 1 2 v -1 h -2 v -1 h 1 v -1 h -1 v -1 h 2 v -1 h -2 z" id="path28612-7" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" d="m 544,160 v 1 3 1 h 2 v -0.75 h 1 v -3.5 h -1 V 160 Z m 1,1 h 1 v 3 h -1 z" id="path28614-6" inkscape:connector-curvature="0"/>
+ <rect style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" id="rect28616-1" width="1" height="5" x="548" y="160"/>
+ <path style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" d="m 550,160 v 1 h 1 v 4 h 1 v -4 h 1 v -1 z" id="path28618-8" inkscape:connector-curvature="0"/>
+ <rect y="160" x="554" height="5" width="1" id="rect28620-9" style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"/>
+ <path style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" d="m 556,160 v 5 h 1 v -3 h 1 v -1 h -1 v -1 z m 2,2 v 1 h 1 v 2 h 1 v -5 h -1 v 2 z" id="path28622-2" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" d="m 562,160 v 0.75 h -1 v 3.5 h 1 V 165 h 2 v -1 -1.25 h -0.99999 V 164 H 562 v -3 h 2 v -1 z" id="path28624-7" inkscape:connector-curvature="0"/>
+ </g>
+ <g style="display:inline;opacity:0.3;fill:#000000;stroke:#ffffff;stroke-width:2;stroke-miterlimit:4;stroke-dasharray:none;enable-background:new" transform="translate(21)" id="g28626-9">
+ <path style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" d="m 535.75,224 v 1 H 535 v 4 h 1 v -2 h 1 v 2 h 1 v -4 h -0.75 v -1 z m 0.25,1 h 1 v 1 h -1 z" id="path28628-5" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" d="m 539,224 v 5 h 1 v -3 h 1 v -1 h -1 v -1 z m 2,2 v 1 h 1 v 2 h 1 v -5 h -1 v 2 z" id="path28630-4" inkscape:connector-curvature="0"/>
+ <rect style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" id="rect28632-3" width="1" height="5" x="544" y="224"/>
+ <path style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" d="m 546,224 v 5 h 1 v -3 h 1 v -1 h -1 v -1 z m 2,2 v 1 h 1 v -1 z m 1,0 h 1 v 3 h 1 v -5 h -1 v 1 h -1 z" id="path28634-1" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" d="m 552.75,224 v 1 H 552 v 4 h 1 v -2 h 1 v 2 h 1 v -4 h -0.75 v -1 z m 0.25,1 h 1 v 1 h -1 z" id="path28636-2" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" d="m 556,224 v 1 h 1 v 4 h 1 v -4 h 1 v -1 z" id="path28638-3" inkscape:connector-curvature="0"/>
+ <rect y="224" x="560" height="5" width="1" id="rect28640-3" style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"/>
+ <path style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" d="m 563,224 v 1 h 2 v -1 z m 2,1 v 3 h 1 v -3 z m 0,3 h -2 v 1 h 2 z m -2,0 v -3 h -1 v 3 z" id="path28642-4" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" d="m 567,224 v 5 h 1 v -3 h 1 v -1 h -1 v -1 z m 2,2 v 1 h 1 v 2 h 1 v -5 h -1 v 2 z" id="path28644-1" inkscape:connector-curvature="0"/>
+ </g>
+ <g style="display:inline;opacity:0.3;fill:#000000;stroke:#ffffff;stroke-width:2;stroke-miterlimit:4;stroke-dasharray:none;enable-background:new" transform="translate(22,-10)" id="g28646-1">
+ <path id="path28648-3" d="m 535,267 v 5 h 1 v -3 h 1 v -1 h -1 v -1 z m 2,2 v 1 h 1 v -1 z m 1,0 h 1 v 3 h 1 v -5 h -1 v 1 h -1 z" style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path id="path28650-8" d="m 542,267 v 1 h 2 v -1 z m 2,1 v 3 h 1 v -3 z m 0,3 h -2 v 1 h 2 z m -2,0 v -3 h -1 v 3 z" style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" d="m 546,267 v 1 3 1 h 2 v -0.75 h 1 v -3.5 h -1 V 267 Z m 1,1 h 1 v 3 h -1 z" id="path28652-7" inkscape:connector-curvature="0"/>
+ <rect style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" id="rect28654-4" width="1" height="5" x="550" y="267"/>
+ <path style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" d="m 552,267 v 5 h 1 v -2 h 1 v -1 h -1 v -1 h 2 v -1 h -2 z" id="path28656-2" inkscape:connector-curvature="0"/>
+ <rect style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" id="rect28658-7" width="1" height="5" x="556" y="267"/>
+ <path style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" d="m 558,267 v 5 h 1 2 v -1 h -2 v -1 h 1 v -1 h -1 v -1 h 2 v -1 h -2 z" id="path28660-7" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" d="m 562,267 v 5 h 1 v -2 h 1 v 2 h 1 v -2 h -0.75 v -1 H 565 v -1.25 h -1 V 267 h -1 z m 1,1 h 1 v 1 h -1 z" id="path28662-9" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" d="m 567,267 v 0.75 h -1 v 1.5 h 1 V 270 h 1 v 1 h -2 v 1 h 2 v -0.75 h 1 v -1.5 h -1 V 269 h -1 v -1 h 1.5 v -1 z" id="path28664-3" inkscape:connector-curvature="0"/>
+ </g>
+ <g style="display:inline;opacity:0.3;fill:#000000;stroke:#ffffff;stroke-width:2;stroke-miterlimit:4;stroke-dasharray:none;enable-background:new" transform="translate(25,-1)" id="g28666-1">
+ <path style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" d="m 532,36 v 0.75 h -1 v 1.5 h 1 V 39 h 1 v 1 h -2 v 1 h 2 v -0.75 h 1 v -1.5 h -1 V 38 h -1 v -1 h 1.5 v -1 z" id="path28668-9" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" d="m 539.75,36 v 1 H 539 v 4 h 1 v -2 h 1 v 2 h 1 v -4 h -0.75 v -1 z m 0.25,1 h 1 v 1 h -1 z" id="path28670-8" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" d="m 543,36 v 1 3 1 h 2 v -0.75 h 1 v -3.5 h -1 V 36 Z m 1,1 h 1 v 3 h -1 z" id="path28672-6" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" d="m 547,36 v 5 h 1 2 v -1 h -2 v -1 h 1 v -1 h -1 v -1 h 2 v -1 h -2 z" id="path28674-5" inkscape:connector-curvature="0"/>
+ <path id="path28676-0" d="m 555,36 v 1.75 h -1 V 39 h -1 v 2 h 1 v -1.75 h 1 V 38 h 1 v -2 z" style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" d="m 558,36 v 1 h 1 v 4 h 1 v -4 h 1 v -1 z" id="path28678-2" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" d="m 562,36 v 5 h 1 2 v -1 h -2 v -1 h 1 v -1 h -1 v -1 h 2 v -1 h -2 z" id="path28680-8" inkscape:connector-curvature="0"/>
+ <path id="path28682-6" d="m 566,36 v 2 h 1 v -2 z m 1,2 v 1 h 1 v -1 z m 1,0 h 1 v -2 h -1 z m 0,1 v 2 h 1 v -2 z m -1,0 h -1 v 2 h 1 z" style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path id="path28684-0" d="m 570,36 v 1 h 1 v 4 h 1 v -4 h 1 v -1 z" style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" d="m 535,36 v 5 h 1 v -2 h 1 v 2 h 1 v -5 h -1 v 2 h -1 v -2 z" id="path28686-2" inkscape:connector-curvature="0"/>
+ </g>
+ <g style="display:inline;opacity:0.3;fill:#000000;stroke:#ffffff;stroke-width:2;stroke-miterlimit:4;stroke-dasharray:none;enable-background:new" transform="translate(19,125)" id="g28688-4">
+ <path style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" d="m 538,299 v 1 h 2 v -1 z m 2,1 v 3 h 1 v -3 z m 0,3 h -2 v 1 h 2 z m -2,0 v -3 h -1 v 3 z" id="path28690-8" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" d="m 542,299 v 4.25 h 1 V 304 h 2 v -0.75 h 1 V 299 h -1 v 4 h -2 v -4 z" id="path28692-6" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" d="m 547,299 v 1 h 1 v 4 h 1 v -4 h 1 v -1 z" id="path28694-5" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" d="m 551,299 v 5 h 1 2 v -1 h -2 v -4 z" id="path28696-0" inkscape:connector-curvature="0"/>
+ <rect style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" id="rect28698-9" width="1" height="5" x="555" y="299"/>
+ <path style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" d="m 557,299 v 5 h 1 v -3 h 1 v -1 h -1 v -1 z m 2,2 v 1 h 1 v 2 h 1 v -5 h -1 v 2 z" id="path28700-0" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" d="m 562,299 v 5 h 1 2 v -1 h -2 v -1 h 1 v -1 h -1 v -1 h 2 v -1 h -2 z" id="path28702-0" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" d="m 566,299 v 5 h 1 v -2 h 1 v 2 h 1 v -2 h -0.75 v -1 H 569 v -1.25 h -1 V 299 h -1 z m 1,1 h 1 v 1 h -1 z" id="path28704-6" inkscape:connector-curvature="0"/>
+ </g>
+ <g style="display:inline;opacity:0.3;stroke:#ffffff;stroke-width:2;stroke-miterlimit:4;stroke-dasharray:none;enable-background:new" transform="translate(21,128)" id="g28706-1">
+ <path style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" d="m 539.75,359 v 1 H 539 v 4 h 1 v -2 h 1 v 2 h 1 v -4 h -0.75 v -1 z m 0.25,1 h 1 v 1 h -1 z" id="path28708-3" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" d="m 535,359 v 1 3 1 h 2 v -0.75 h 1 v -3.5 h -1 V 359 Z m 1,1 h 1 v 3 h -1 z" id="path28710-8" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" d="m 543,359 v 1 h 1 v 4 h 1 v -4 h 1 v -1 z" id="path28712-9" inkscape:connector-curvature="0"/>
+ <path id="path28714-3" d="m 547.75,359 v 1 H 547 v 4 h 1 v -2 h 1 v 2 h 1 v -4 h -0.75 v -1 z m 0.25,1 h 1 v 1 h -1 z" style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ </g>
+ <g style="display:inline;opacity:0.3;stroke:#ffffff;stroke-width:2;stroke-miterlimit:4;stroke-dasharray:none;enable-background:new" transform="translate(22,125)" id="g28716-4">
+ <path style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" d="m 545,393 v 1 3 1 h 2 v -0.75 h 1 v -3.5 h -1 V 393 Z m 1,1 h 1 v 3 h -1 z" id="path28718-4" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" d="m 549,393 v 5 h 1 2 v -1 h -2 v -1 h 1 v -1 h -1 v -1 h 2 v -1 h -2 z" id="path28720-6" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" d="m 534,393 v 5 h 1 v -3 h 1 v -1 h -1 v -1 z m 2,2 v 1 h 1 v -1 z m 1,0 h 1 v 3 h 1 v -5 h -1 v 1 h -1 z" id="path28722-0" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" d="m 541,393 v 1 h 2 v -1 z m 2,1 v 3 h 1 v -3 z m 0,3 h -2 v 1 h 2 z m -2,0 v -3 h -1 v 3 z" id="path28724-6" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" d="m 554,393 v 0.75 h -1 v 1.5 h 1 V 396 h 1 v 1 h -2 v 1 h 2 v -0.75 h 1 v -1.5 h -1 V 395 h -1 v -1 h 1.5 v -1 z" id="path28726-6" inkscape:connector-curvature="0"/>
+ </g>
+ <g style="display:inline;opacity:0.3;stroke:#ffffff;stroke-width:2;stroke-miterlimit:4;stroke-dasharray:none;enable-background:new" transform="translate(22.01477,127)" id="g28728-1">
+ <path style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" d="m 538,412 v 1 3 1 h 2 v -0.75 h 1 v -3.5 h -1 V 412 Z m 1,1 h 1 v 3 h -1 z" id="path28730-8" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" d="m 534,412 v 5 h 1 2 v -1 h -2 v -1 h 1 v -1 h -1 v -1 h 2 v -1 h -2 z" id="path28732-4" inkscape:connector-curvature="0"/>
+ <rect style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" id="rect28734-9" width="1" height="5" x="542" y="412"/>
+ <path style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" d="m 549,412 v 1 h 2 v -1 z m 2,1 v 3 h 1 v -3 z m 0,3 h -2 v 1 h 2 z m -2,0 v -3 h -1 v 3 z" id="path28736-6" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" d="m 553,412 v 5 h 1 v -2 h 1 v 2 h 1 v -2 h -0.75 v -1 H 556 v -1.25 h -1 V 412 h -1 z m 1,1 h 1 v 1 h -1 z" id="path28738-3" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" d="m 558,412 v 0.75 h -1 v 1.5 h 1 V 415 h 1 v 1 h -2 v 1 h 2 v -0.75 h 1 v -1.5 h -1 V 414 h -1 v -1 h 1.5 v -1 z" id="path28740-7" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" d="m 544,412 v 1 h 1 v 4 h 1 v -4 h 1 v -1 z" id="path28742-8" inkscape:connector-curvature="0"/>
+ </g>
+ <g style="display:inline;opacity:0.3;stroke:#ffffff;stroke-width:2;stroke-miterlimit:4;stroke-dasharray:none;enable-background:new" transform="translate(22.01477,127)" id="g28744-8">
+ <path style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" d="m 534,434 v 5 h 1 1 v -0.5 h 1 V 437 h -0.75 v -1 H 537 v -1.25 h -1 V 434 h -1 z m 1,1 h 1 v 1 h -1 z m 0,2 h 1 v 1 h -1 z" id="path28746-2" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" d="m 556,434 v 5 h 1 v -3 h 1 v -1 h -1 v -1 z m 2,2 v 1 h 1 v 2 h 1 v -5 h -1 v 2 z" id="path28748-9" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" d="m 552,434 v 1 h 2 v -1 z m 2,1 v 3 h 1 v -3 z m 0,3 h -2 v 1 h 2 z m -2,0 v -3 h -1 v 3 z" id="path28750-1" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" d="m 562,434 v 0.75 h -1 v 1.5 h 1 V 437 h 1 v 1 h -2 v 1 h 2 v -0.75 h 1 v -1.5 h -1 V 436 h -1 v -1 h 1.5 v -1 z" id="path28752-3" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" d="m 543,434 v 1 h 1 v 4 h 1 v -4 h 1 v -1 z" id="path28754-5" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" d="m 538,434 v 4.25 h 1 V 439 h 2 v -0.75 h 1 V 434 h -1 v 4 h -2 v -4 z" id="path28756-9" inkscape:connector-curvature="0"/>
+ <path id="path28758-8" d="m 547,434 v 1 h 1 v 4 h 1 v -4 h 1 v -1 z" style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ </g>
+ <g style="display:inline;opacity:0.3;stroke:#ffffff;stroke-width:2;stroke-miterlimit:4;stroke-dasharray:none;enable-background:new" transform="translate(19,127)" id="g28760-4">
+ <rect style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" id="rect28762-0" width="1" height="5" x="542" y="486"/>
+ <path style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" d="m 537,486 v 4.25 h 1 V 491 h 2 v -0.75 h 1 V 486 h -1 v 4 h -2 v -4 z" id="path28764-7" inkscape:connector-curvature="0"/>
+ </g>
+ <g style="display:inline;fill:#000000;enable-background:new" id="g10763-6" transform="translate(21)">
+ <path id="path10757-3" d="m 536,14 v 0.75 h -1 v 1.5 h 1 V 17 h 1 v 1 h -2 v 1 h 2 v -0.75 h 1 v -1.5 h -1 V 16 h -1 v -1 h 1.5 v -1 z" style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path id="path10759-6" d="m 539,14 v 5 h 1 2 v -1 h -2 v -1 h 1 v -1 h -1 v -1 h 2 v -1 h -2 z" style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path id="path10761-1" d="m 544,14 v 1 h 2 v -1 z m 2,1 v 3 h 1 v -3 z m 0,3 h -2 v 1 h 2 z m 0,1 v 1 h 1 v -1 z m -2,-1 v -3 h -1 v 3 z" style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path id="path10763-5" d="m 553,14 v 1.75 h -1 V 17 h -1 v 2 h 1 v -1.75 h 1 V 16 h 1 v -2 z" style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <rect y="18" x="548" height="1" width="1" id="rect10765-4" style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"/>
+ <rect y="14" x="557" height="5" width="1" id="rect10767-2" style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"/>
+ <path id="path10769-0" d="m 559,14 v 5 h 1 v -3 h 1 v -1 h -1 v -1 z m 2,2 v 1 h 1 v -1 z m 1,0 h 1 v 3 h 1 v -5 h -1 v 1 h -1 z" style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path id="path10771-9" d="m 565.75,14 v 1 H 565 v 4 h 1 v -2 h 1 v 2 h 1 v -4 h -0.75 v -1 z m 0.25,1 h 1 v 1 h -1 z" style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path id="path10773-7" d="m 570,14 v 0.75 h -1 v 3.5 h 1 V 19 h 2 v -1 -1.25 h -1 V 18 h -1 v -3 h 2 v -1 z" style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path id="path10775-3" d="m 573,14 v 5 h 1 2 v -1 h -2 v -1 h 1 v -1 h -1 v -1 h 2 v -1 h -2 z" style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ </g>
+ <g style="display:inline;fill:#000000;enable-background:new" id="g10815-7" transform="translate(21.98523,3)">
+ <path id="path10799-2" d="m 534,74 v 5 h 1 v -2 h 1 v -1 h -1 v -1 h 2 v -1 h -2 z" style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <rect y="74" x="538" height="5" width="1" id="rect10801-6" style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"/>
+ <path id="path10803-0" d="m 540,74 v 5 h 1 2 v -1 h -2 v -4 z" style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" d="m 544,74 v 5 h 1 2 v -1 h -2 v -1 h 1 v -1 h -1 v -1 h 2 v -1 h -2 z" id="path10805-1" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" d="m 551,74 v 0.75 h -1 v 1.5 h 1 V 77 h 1 v 1 h -2 v 1 h 2 v -0.75 h 1 v -1.5 h -1 V 76 h -1 v -1 h 1.5 v -1 z" id="path10807-6" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" d="m 554,74 v 5 h 1 2 v -1 h -2 v -1 h 1 v -1 h -1 v -1 h 2 v -1 h -2 z" id="path10809-5" inkscape:connector-curvature="0"/>
+ <path id="path10811-7" d="m 558,74 v 5 h 1 2 v -1 h -2 v -4 z" style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path id="path10813-5" d="m 562,74 v 5 h 1 2 v -1 h -2 v -1 h 1 v -1 h -1 v -1 h 2 v -1 h -2 z" style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path id="path10815-4" d="m 567,74 v 0.75 h -1 v 3.5 h 1 V 79 h 2 v -1 h -2 v -3 h 2 v -1 z" style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path id="path10817-1" d="m 570,74 v 1 h 1 v 4 h 1 v -4 h 1 v -1 z" style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ </g>
+ <g style="display:inline;fill:#000000;enable-background:new" id="g10827-2" transform="translate(21)">
+ <path id="path10672-0" d="m 535,119 v 1 h 2 v 1 h 1 v -1.25 h -1 V 119 Z m 2,2 h -1 v 1 h 1 z m 0,1 v 1 h -2 v 1 h 2 v -0.75 h 1 V 122 Z" style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path id="path10678-0" d="m 539,119 v 1 3 1 h 2 v -0.75 h 1 v -3.5 h -1 V 119 Z m 1,1 h 1 v 3 h -1 z" style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path id="path10680-1" d="m 545,119 v 3.25 h 1 V 124 h 1 v -1.75 h 1 V 119 h -1 v 3 h -1 v -3 z" style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <rect y="119" x="549" height="5" width="1" id="rect10682-4" style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"/>
+ <path id="path10684-6" d="m 551,119 v 5 h 1 2 v -1 h -2 v -1 h 1 v -1 h -1 v -1 h 2 v -1 h -2 z" style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path id="path10686-0" d="m 555,119 v 3.25 h 1 V 124 h 1 v -1.75 h 1 V 124 h 1 v -1.75 h 1 V 119 h -1 v 3 h -1 v -2 h -1 v 2 h -1 v -3 z" style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ </g>
+ <g style="display:inline;fill:#000000;enable-background:new" id="g10835-7" transform="translate(16,1)">
+ <path id="path10688-1" d="m 540,160 v 5 h 1 2 v -1 h -2 v -1 h 1 v -1 h -1 v -1 h 2 v -1 h -2 z" style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path id="path10690-7" d="m 544,160 v 1 3 1 h 2 v -0.75 h 1 v -3.5 h -1 V 160 Z m 1,1 h 1 v 3 h -1 z" style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <rect y="160" x="548" height="5" width="1" id="rect10692-7" style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"/>
+ <path id="path10694-7" d="m 550,160 v 1 h 1 v 4 h 1 v -4 h 1 v -1 z" style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <rect style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" id="rect10696-7" width="1" height="5" x="554" y="160"/>
+ <path id="path10698-3" d="m 556,160 v 5 h 1 v -3 h 1 v -1 h -1 v -1 z m 2,2 v 1 h 1 v 2 h 1 v -5 h -1 v 2 z" style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path id="path10700-3" d="m 562,160 v 0.75 h -1 v 3.5 h 1 V 165 h 2 v -1 -1.25 h -0.99999 V 164 H 562 v -3 h 2 v -1 z" style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ </g>
+ <g style="display:inline;fill:#000000;enable-background:new" id="g10846-5" transform="translate(21)">
+ <path id="path10703-9" d="m 535.75,224 v 1 H 535 v 4 h 1 v -2 h 1 v 2 h 1 v -4 h -0.75 v -1 z m 0.25,1 h 1 v 1 h -1 z" style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path id="path10705-9" d="m 539,224 v 5 h 1 v -3 h 1 v -1 h -1 v -1 z m 2,2 v 1 h 1 v 2 h 1 v -5 h -1 v 2 z" style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <rect y="224" x="544" height="5" width="1" id="rect10708-8" style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"/>
+ <path id="path10711-1" d="m 546,224 v 5 h 1 v -3 h 1 v -1 h -1 v -1 z m 2,2 v 1 h 1 v -1 z m 1,0 h 1 v 3 h 1 v -5 h -1 v 1 h -1 z" style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path id="path10714-8" d="m 552.75,224 v 1 H 552 v 4 h 1 v -2 h 1 v 2 h 1 v -4 h -0.75 v -1 z m 0.25,1 h 1 v 1 h -1 z" style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path id="path10716-2" d="m 556,224 v 1 h 1 v 4 h 1 v -4 h 1 v -1 z" style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <rect style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" id="rect10718-6" width="1" height="5" x="560" y="224"/>
+ <path id="path10734-6" d="m 563,224 v 1 h 2 v -1 z m 2,1 v 3 h 1 v -3 z m 0,3 h -2 v 1 h 2 z m -2,0 v -3 h -1 v 3 z" style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path id="path10736-0" d="m 567,224 v 5 h 1 v -3 h 1 v -1 h -1 v -1 z m 2,2 v 1 h 1 v 2 h 1 v -5 h -1 v 2 z" style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ </g>
+ <g style="display:inline;fill:#000000;enable-background:new" id="g10857-3" transform="translate(22,-10)">
+ <path style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" d="m 535,267 v 5 h 1 v -3 h 1 v -1 h -1 v -1 z m 2,2 v 1 h 1 v -1 z m 1,0 h 1 v 3 h 1 v -5 h -1 v 1 h -1 z" id="path10744-8" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" d="m 542,267 v 1 h 2 v -1 z m 2,1 v 3 h 1 v -3 z m 0,3 h -2 v 1 h 2 z m -2,0 v -3 h -1 v 3 z" id="path10746-0" inkscape:connector-curvature="0"/>
+ <path id="path10748-1" d="m 546,267 v 1 3 1 h 2 v -0.75 h 1 v -3.5 h -1 V 267 Z m 1,1 h 1 v 3 h -1 z" style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <rect y="267" x="550" height="5" width="1" id="rect10750-2" style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"/>
+ <path id="path10752-5" d="m 552,267 v 5 h 1 v -2 h 1 v -1 h -1 v -1 h 2 v -1 h -2 z" style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <rect y="267" x="556" height="5" width="1" id="rect10754-0" style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"/>
+ <path id="path10756-9" d="m 558,267 v 5 h 1 2 v -1 h -2 v -1 h 1 v -1 h -1 v -1 h 2 v -1 h -2 z" style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path id="path10758-4" d="m 562,267 v 5 h 1 v -2 h 1 v 2 h 1 v -2 h -0.75 v -1 H 565 v -1.25 h -1 V 267 h -1 z m 1,1 h 1 v 1 h -1 z" style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path id="path10760-7" d="m 567,267 v 0.75 h -1 v 1.5 h 1 V 270 h 1 v 1 h -2 v 1 h 2 v -0.75 h 1 v -1.5 h -1 V 269 h -1 v -1 h 1.5 v -1 z" style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ </g>
+ <g style="display:inline;fill:#000000;enable-background:new" id="g10803-8" transform="translate(25,-1)">
+ <path id="path10777-3" d="m 532,36 v 0.75 h -1 v 1.5 h 1 V 39 h 1 v 1 h -2 v 1 h 2 v -0.75 h 1 v -1.5 h -1 V 38 h -1 v -1 h 1.5 v -1 z" style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path id="path10781-5" d="m 539.75,36 v 1 H 539 v 4 h 1 v -2 h 1 v 2 h 1 v -4 h -0.75 v -1 z m 0.25,1 h 1 v 1 h -1 z" style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path id="path10783-1" d="m 543,36 v 1 3 1 h 2 v -0.75 h 1 v -3.5 h -1 V 36 Z m 1,1 h 1 v 3 h -1 z" style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path id="path10785-2" d="m 547,36 v 5 h 1 2 v -1 h -2 v -1 h 1 v -1 h -1 v -1 h 2 v -1 h -2 z" style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" d="m 555,36 v 1.75 h -1 V 39 h -1 v 2 h 1 v -1.75 h 1 V 38 h 1 v -2 z" id="path10787-0" inkscape:connector-curvature="0"/>
+ <path id="path10789-1" d="m 558,36 v 1 h 1 v 4 h 1 v -4 h 1 v -1 z" style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path id="path10791-6" d="m 562,36 v 5 h 1 2 v -1 h -2 v -1 h 1 v -1 h -1 v -1 h 2 v -1 h -2 z" style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" d="m 566,36 v 2 h 1 v -2 z m 1,2 v 1 h 1 v -1 z m 1,0 h 1 v -2 h -1 z m 0,1 v 2 h 1 v -2 z m -1,0 h -1 v 2 h 1 z" id="path10795-4" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" d="m 570,36 v 1 h 1 v 4 h 1 v -4 h 1 v -1 z" id="path10797-0" inkscape:connector-curvature="0"/>
+ <path id="path10800-6" d="m 535,36 v 5 h 1 v -2 h 1 v 2 h 1 v -5 h -1 v 2 h -1 v -2 z" style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ </g>
+ <g style="display:inline;fill:#000000;enable-background:new" id="g10885-1" transform="translate(19,125)">
+ <path id="path10869-8" d="m 538,299 v 1 h 2 v -1 z m 2,1 v 3 h 1 v -3 z m 0,3 h -2 v 1 h 2 z m -2,0 v -3 h -1 v 3 z" style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path id="path10871-9" d="m 542,299 v 4.25 h 1 V 304 h 2 v -0.75 h 1 V 299 h -1 v 4 h -2 v -4 z" style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path id="path10873-8" d="m 547,299 v 1 h 1 v 4 h 1 v -4 h 1 v -1 z" style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path id="path10875-4" d="m 551,299 v 5 h 1 2 v -1 h -2 v -4 z" style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <rect y="299" x="555" height="5" width="1" id="rect10877-1" style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"/>
+ <path id="path10879-4" d="m 557,299 v 5 h 1 v -3 h 1 v -1 h -1 v -1 z m 2,2 v 1 h 1 v 2 h 1 v -5 h -1 v 2 z" style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path id="path10881-3" d="m 562,299 v 5 h 1 2 v -1 h -2 v -1 h 1 v -1 h -1 v -1 h 2 v -1 h -2 z" style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path id="path10883-9" d="m 566,299 v 5 h 1 v -2 h 1 v 2 h 1 v -2 h -0.75 v -1 H 569 v -1.25 h -1 V 299 h -1 z m 1,1 h 1 v 1 h -1 z" style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ </g>
+ <g style="display:inline;enable-background:new" id="g10921-8" transform="translate(21,128)">
+ <path id="path10895-8" d="m 539.75,359 v 1 H 539 v 4 h 1 v -2 h 1 v 2 h 1 v -4 h -0.75 v -1 z m 0.25,1 h 1 v 1 h -1 z" style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path id="path10897-0" d="m 535,359 v 1 3 1 h 2 v -0.75 h 1 v -3.5 h -1 V 359 Z m 1,1 h 1 v 3 h -1 z" style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path id="path10899-8" d="m 543,359 v 1 h 1 v 4 h 1 v -4 h 1 v -1 z" style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" d="m 547.75,359 v 1 H 547 v 4 h 1 v -2 h 1 v 2 h 1 v -4 h -0.75 v -1 z m 0.25,1 h 1 v 1 h -1 z" id="path10901-7" inkscape:connector-curvature="0"/>
+ </g>
+ <g style="display:inline;enable-background:new" id="g10914-7" transform="translate(22,125)">
+ <path id="path10903-8" d="m 545,393 v 1 3 1 h 2 v -0.75 h 1 v -3.5 h -1 V 393 Z m 1,1 h 1 v 3 h -1 z" style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path id="path10906-3" d="m 549,393 v 5 h 1 2 v -1 h -2 v -1 h 1 v -1 h -1 v -1 h 2 v -1 h -2 z" style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path id="path10908-8" d="m 534,393 v 5 h 1 v -3 h 1 v -1 h -1 v -1 z m 2,2 v 1 h 1 v -1 z m 1,0 h 1 v 3 h 1 v -5 h -1 v 1 h -1 z" style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path id="path10910-3" d="m 541,393 v 1 h 2 v -1 z m 2,1 v 3 h 1 v -3 z m 0,3 h -2 v 1 h 2 z m -2,0 v -3 h -1 v 3 z" style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path id="path10912-7" d="m 554,393 v 0.75 h -1 v 1.5 h 1 V 396 h 1 v 1 h -2 v 1 h 2 v -0.75 h 1 v -1.5 h -1 V 395 h -1 v -1 h 1.5 v -1 z" style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ </g>
+ <g style="display:inline;enable-background:new" id="g10942-1" transform="translate(22.01477,127)">
+ <path id="path10928-0" d="m 538,412 v 1 3 1 h 2 v -0.75 h 1 v -3.5 h -1 V 412 Z m 1,1 h 1 v 3 h -1 z" style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path id="path10930-7" d="m 534,412 v 5 h 1 2 v -1 h -2 v -1 h 1 v -1 h -1 v -1 h 2 v -1 h -2 z" style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <rect y="412" x="542" height="5" width="1" id="rect10932-3" style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"/>
+ <path id="path10934-4" d="m 549,412 v 1 h 2 v -1 z m 2,1 v 3 h 1 v -3 z m 0,3 h -2 v 1 h 2 z m -2,0 v -3 h -1 v 3 z" style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path id="path10936-9" d="m 553,412 v 5 h 1 v -2 h 1 v 2 h 1 v -2 h -0.75 v -1 H 556 v -1.25 h -1 V 412 h -1 z m 1,1 h 1 v 1 h -1 z" style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path id="path10938-6" d="m 558,412 v 0.75 h -1 v 1.5 h 1 V 415 h 1 v 1 h -2 v 1 h 2 v -0.75 h 1 v -1.5 h -1 V 414 h -1 v -1 h 1.5 v -1 z" style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path id="path10940-5" d="m 544,412 v 1 h 1 v 4 h 1 v -4 h 1 v -1 z" style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ </g>
+ <g style="display:inline;enable-background:new" id="g10966-1" transform="translate(22.01477,127)">
+ <path id="path10951-0" d="m 534,434 v 5 h 1 1 v -0.5 h 1 V 437 h -0.75 v -1 H 537 v -1.25 h -1 V 434 h -1 z m 1,1 h 1 v 1 h -1 z m 0,2 h 1 v 1 h -1 z" style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path id="path10953-9" d="m 556,434 v 5 h 1 v -3 h 1 v -1 h -1 v -1 z m 2,2 v 1 h 1 v 2 h 1 v -5 h -1 v 2 z" style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path id="path10956-9" d="m 552,434 v 1 h 2 v -1 z m 2,1 v 3 h 1 v -3 z m 0,3 h -2 v 1 h 2 z m -2,0 v -3 h -1 v 3 z" style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path id="path10958-6" d="m 562,434 v 0.75 h -1 v 1.5 h 1 V 437 h 1 v 1 h -2 v 1 h 2 v -0.75 h 1 v -1.5 h -1 V 436 h -1 v -1 h 1.5 v -1 z" style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path id="path10960-8" d="m 543,434 v 1 h 1 v 4 h 1 v -4 h 1 v -1 z" style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path id="path10962-3" d="m 538,434 v 4.25 h 1 V 439 h 2 v -0.75 h 1 V 434 h -1 v 4 h -2 v -4 z" style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" d="m 547,434 v 1 h 1 v 4 h 1 v -4 h 1 v -1 z" id="path10964-4" inkscape:connector-curvature="0"/>
+ </g>
+ <g style="display:inline;enable-background:new" id="g10980-8" transform="translate(19,127)">
+ <rect y="486" x="542" height="5" width="1" id="rect10975-4" style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"/>
+ <path id="path10978-9" d="m 537,486 v 4.25 h 1 V 491 h 2 v -0.75 h 1 V 486 h -1 v 4 h -2 v -4 z" style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ </g>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.4;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" d="m 544,133 v 1 h 9 v 62 h -9 v 1 h 9 1 v -33 h 1 v -1 h -1 v -30 h -1 z" id="rect11044-9" sodipodi:nodetypes="ccccccccccccccc" inkscape:connector-curvature="0"/>
+ <path id="path19464-5" d="m 0.749997,14 v 1 h -0.75 v 4 h 1 v -2 h 1 v 2 h 1 v -4 h -0.75 v -1 z m 0.25,1 h 1 v 1 h -1 z" style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path id="path19466-3" d="m -3e-6,35 v 5 h 1 1 v -0.5 h 1 V 38 h -0.75 v -1 h 0.75 v -1.25 h -1 V 35 h -1 z m 1,1 h 1 v 1 h -1 z m 0,2 h 1 v 1 h -1 z" style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path id="path19468-3" d="M 0.999997,56.25 V 57 h -1 v 3.5 h 1 v 0.75 h 2 v -1 h -2 v -3 h 2 v -1 z" style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path id="path19470-3" d="m -3e-6,77 v 1 3 1 h 2 v -0.75 h 1 v -3.5 h -1 V 77 Z m 1,1 h 1 v 3 h -1 z" style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path id="path19472-7" d="m -3e-6,99 v 5 h 1 2 v -1 h -2 v -1 h 1 v -1 h -1 v -1 h 2 v -1 h -2 z" style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path id="path19474-4" d="m -3e-6,119 v 5 h 1 v -2 h 1 v -1 h -1 v -1 h 2 v -1 h -2 z" style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path id="path19476-3" d="m 0.999997,140 v 0.75 h -1 v 3.5 h 1 V 145 h 2 v -1 -1.25 h -1 V 144 h -1 v -3 h 2 v -1 z" style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path id="path19478-8" d="m -3e-6,161 v 5 h 1 v -2 h 1 v 2 h 1 v -5 h -1 v 2 h -1 v -2 z" style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <rect y="183" x="0.99999702" height="5" width="1" id="rect19480-0" style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"/>
+ <path id="path19482-8" d="m 1.999997,203 v 4 h -1 v -1 h -1 v 1 h 0.75 v 1 h 1.5 v -1 h 0.75 v -4 z" style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path id="path19484-8" d="m -3e-6,224 v 5 h 1 v -1.75 h 1 v -1.5 h -1 V 224 Z m 2,1.75 h 1 V 224 h -1 z m 0,1.5 V 229 h 1 v -1.75 z" style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path id="path19486-0" d="m -3e-6,245 v 5 h 1 2 v -1 h -2 v -4 z" style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path id="path19488-6" d="m 0,266 v 5 h 1 v -3 h 1 v -1 H 1 v -1 z m 2,2 v 1 h 1 v -1 z m 1,0 h 1 v 3 h 1 v -5 H 4 v 1 H 3 Z" style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path id="path19490-8" d="m -3e-6,287 v 5 h 1 v -3 h 1 v -1 h -1 v -1 z m 2,2 v 1 h 1 v 2 h 1 v -5 h -1 v 2 z" style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path id="path19492-1" d="m 0.999997,308 v 1 h 1 v -1 z m 1,1 v 3 h 1 v -3 z m 0,3 h -1 v 1 h 1 z m -1,0 v -3 h -1 v 3 z" style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" sodipodi:nodetypes="cccccccccccccccccccc" inkscape:connector-curvature="0"/>
+ <path id="path19494-9" d="m -3e-6,329 v 5 h 1 v -2 h 1.25 v -1 h 0.75 v -1.25 h -1 V 329 h -1 z m 1,1 h 1 v 1 h -1 z" style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path id="path19496-8" d="m 0.999997,350 v 1 h 1 v -1 z m 1,1 v 3 h 1 v -3 z m 0,3 h -1 v 1 h 1 z m 0,1 v 1 h 1 v -1 z m -1,-1 v -3 h -1 v 3 z" style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" sodipodi:nodetypes="ccccccccccccccccccccccccc" inkscape:connector-curvature="0"/>
+ <path id="path19498-9" d="m -3e-6,371 v 5 h 1 v -2 h 1 v 2 h 1 v -2 h -0.75 v -1 h 0.75 v -1.25 h -1 V 371 h -1 z m 1,1 h 1 v 1 h -1 z" style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path id="path19500-7" d="m 0.999997,392 v 0.75 h -1 v 1.5 h 1 V 395 h 1 v 1 h -2 v 1 h 2 v -0.75 h 1 v -1.5 h -1 V 394 h -1 v -1 h 1.5 v -1 z" style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path id="path19502-2" d="m -3e-6,413 v 1 h 1 v 4 h 1 v -4 h 1 v -1 z" style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path id="path19504-2" d="m -3e-6,435 v 4.25 h 1 V 440 h 2 v -0.75 h 1 V 435 h -1 v 4 h -2 v -4 z" style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path id="path19506-8" d="m -3e-6,456 v 3.25 h 1 V 461 h 1 v -1.75 h 1 V 456 h -1 v 3 h -1 v -3 z" style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path id="path19508-2" d="m 0,476 v 3.25 H 1 V 481 h 1 v -1.75 H 2.999997 V 481 H 4 v -1.75 H 5 V 476 H 4 v 3 H 2.999997 v -2 H 2 v 2 H 1 v -3 z" style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" d="m -3e-6,498 v 2 h 1 v -2 z m 1,2 v 1 h 1 v -1 z m 1,0 h 1 v -2 h -1 z m 0,1 v 2 h 1 v -2 z m -1,0 h -1 v 2 h 1 z" id="rect19510-8" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" d="m 0.75,557 v 1 H 0 v 4 h 1 v -2 h 1 v 2 h 1 v -4 H 2.25 v -1 z M 1,558 h 1 v 1 H 1 Z" id="path38399-9" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" d="m 0,578 v 5 h 1 1 v -0.5 H 3 V 581 H 2.25 v -1 H 3 v -1.25 H 2 V 578 H 1 Z m 1,1 h 1 v 1 H 1 Z m 0,2 h 1 v 1 H 1 Z" id="path38401-0" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" d="M 1,599.25 V 600 H 0 v 3.5 h 1 v 0.75 h 2 v -1 H 1 v -3 h 2 v -1 z" id="path38403-7" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" d="m 0,620 v 1 3 1 h 2 v -0.75 h 1 v -3.5 H 2 V 620 Z m 1,1 h 1 v 3 H 1 Z" id="path38405-8" inkscape:connector-curvature="0"/>
+ <path id="path38411-1" d="m 0.75,564 v 1 H 0 v 4 h 1 v -2 h 1 v 2 h 1 v -4 H 2.25 v -1 z M 1,565 h 1 v 1 H 1 Z" style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path id="path38413-5" d="m 0.75,585 v 1 H 0 v 4 h 1 v -2 h 1 v 2 h 1 v -4 H 2.25 v -1 z M 1,586 h 1 v 1 H 1 Z" style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" d="m 0.75,606 v 1 H 0 v 4 h 1 v -2 h 1 v 2 h 1 v -4 H 2.25 v -1 z M 1,607 h 1 v 1 H 1 Z" id="path38415-8" inkscape:connector-curvature="0"/>
+ <path id="path38417-6" d="m 0.75,627 v 1 H 0 v 4 h 1 v -2 h 1 v 2 h 1 v -4 H 2.25 v -1 z M 1,628 h 1 v 1 H 1 Z" style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path id="path38419-1" d="m 548.75,557 v 1 H 548 v 4 h 1 v -2 h 1 v 2 h 1 v -4 h -0.75 v -1 z m 0.25,1 h 1 v 1 h -1 z" style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path id="path38421-2" d="m 548,578 v 5 h 1 1 v -0.5 h 1 V 581 h -0.75 v -1 H 551 v -1.25 h -1 V 578 h -1 z m 1,1 h 1 v 1 h -1 z m 0,2 h 1 v 1 h -1 z" style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path id="path38423-4" d="M 549,599.25 V 600 h -1 v 3.5 h 1 v 0.75 h 2 v -1 h -2 v -3 h 2 v -1 z" style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path id="path38425-2" d="m 548,620 v 1 3 1 h 2 v -0.75 h 1 v -3.5 h -1 V 620 Z m 1,1 h 1 v 3 h -1 z" style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" d="m 548.75,564 v 1 H 548 v 4 h 1 v -2 h 1 v 2 h 1 v -4 h -0.75 v -1 z m 0.25,1 h 1 v 1 h -1 z" id="path38427-5" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" d="m 548.75,585 v 1 H 548 v 4 h 1 v -2 h 1 v 2 h 1 v -4 h -0.75 v -1 z m 0.25,1 h 1 v 1 h -1 z" id="path38429-8" inkscape:connector-curvature="0"/>
+ <path id="path38431-6" d="m 548.75,606 v 1 H 548 v 4 h 1 v -2 h 1 v 2 h 1 v -4 h -0.75 v -1 z m 0.25,1 h 1 v 1 h -1 z" style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" d="m 548.75,627 v 1 H 548 v 4 h 1 v -2 h 1 v 2 h 1 v -4 h -0.75 v -1 z m 0.25,1 h 1 v 1 h -1 z" id="path38433-2" inkscape:connector-curvature="0"/>
+ <path inkscape:connector-curvature="0" id="path19537-6" d="m 12,2 v 1 h -1 v 1 h 1 v 3 h 1 V 2 Z" style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"/>
+ <path inkscape:connector-curvature="0" id="path19539-5" d="m 33,2 v 1 h 2 v 1 h -1 v 1 h 1 V 4.25 h 1 V 2.75 H 35 V 2 Z m 1,3 h -1 v 1 1 h 3 V 6 h -2 z" style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"/>
+ <path inkscape:connector-curvature="0" id="path19541-3" d="m 54,2 v 1 h 2 v 1 h 1 V 2.75 H 56 V 2 Z m 2,2 h -1 v 1 h 1 z m 0,1 v 1 h -2 v 1 h 2 V 6.25 h 1 V 5 Z" style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"/>
+ <path inkscape:connector-curvature="0" id="path19543-9" d="m 75,2 v 3 h 1 1 v 2 h 1 V 3 H 77 V 4 H 76 V 2 Z" style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"/>
+ <path inkscape:connector-curvature="0" id="path19545-2" d="m 96,2 v 3 h 1 1 v 1 h -2 v 1 h 2 V 6.25 h 1 V 4.75 H 98 V 4 H 97 V 3 h 2 V 2 h -2 z" style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"/>
+ <path inkscape:connector-curvature="0" id="path19547-4" d="m 118,2 v 0.75 h -1 V 6 h 0.75 v 1 h 1.5 V 6 H 120 V 5 h -0.75 V 4 H 118 V 3 h 1.5 V 2 Z m 0,3 h 1 v 1 h -1 z" style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"/>
+ <path inkscape:connector-curvature="0" id="path19549-6" d="m 138,2 v 1 h 2 v 1 h -1 v 3 h 1 V 4.25 h 1 V 3 2 Z" style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"/>
+ <path inkscape:connector-curvature="0" id="path19551-18" d="m 159.75,2 v 1 h -0.5 v 1 h 0.5 V 5 H 159 v 1 h 0.75 v 1 h 1.5 V 6 H 162 V 5 h -0.75 V 4 h 0.5 V 3 h -0.5 V 2 Z M 160,3 h 1 v 1 h -1 z m 0,2 h 1 v 1 h -1 z" style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"/>
+ <path inkscape:connector-curvature="0" id="path19553-2" d="M 180.75,2 V 3 H 180 v 1 h 0.75 V 5 H 182 v 1 h -1.5 V 7 H 182 V 6.25 h 1 V 3 h -0.75 V 2 Z M 181,3 h 1 v 1 h -1 z" style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"/>
+ <path inkscape:connector-curvature="0" sodipodi:nodetypes="cccccccccccccccccc" id="path19555-1" d="M 202.75,2 V 3 H 202 v 3 h 0.75 v 1 h 1.5 V 6 H 205 V 3 h -0.75 V 2 Z M 203,3 h 1 v 3 h -1 z" style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"/>
+ <path inkscape:connector-curvature="0" style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" d="m 514,2 v 1 h 2 v 1 h -1 v 1 h 1 V 4.25 h 1 v -1.5 h -1 V 2 Z m 1,3 h -1 v 1 1 h 3 V 6 h -2 z" id="path19559-1"/>
+ <path inkscape:connector-curvature="0" style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" d="m 476,2 v 1 h 2 v 1 h 1 V 2.75 h -1 V 2 Z m 2,2 h -1 v 1 h 1 z m 0,1 v 1 h -2 v 1 h 2 V 6.25 h 1 V 5 Z" id="path19561-9"/>
+ <path inkscape:connector-curvature="0" style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" d="m 497,2 v 3 h 1 1 v 2 h 1 V 3 h -1 v 1 h -1 V 2 Z" id="path19563-7"/>
+ <path inkscape:connector-curvature="0" style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" d="m 518,2 v 3 h 1 1 v 1 h -2 v 1 h 2 V 6.25 h 1 v -1.5 h -1 V 4 h -1 V 3 h 2 V 2 h -2 z" id="path19565-6"/>
+ <path inkscape:connector-curvature="0" id="path19577-2" d="m 200,2 v 1 h -1 v 1 h 1 v 3 h 1 V 2 Z" style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"/>
+ <path inkscape:connector-curvature="0" id="path19579-9" d="m 244,2 v 1 h 2 v 1 h -1 v 1 h 1 V 4.25 h 1 v -1.5 h -1 V 2 Z m 1,3 h -1 v 1 1 h 3 V 6 h -2 z" style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"/>
+ <path inkscape:connector-curvature="0" id="path19581-5" d="m 265,2 v 1 h 2 v 1 h 1 V 2.75 h -1 V 2 Z m 2,2 h -1 v 1 h 1 z m 0,1 v 1 h -2 v 1 h 2 V 6.25 h 1 V 5 Z" style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"/>
+ <path inkscape:connector-curvature="0" id="path19583-2" d="m 286,2 v 3 h 1 1 v 2 h 1 V 3 h -1 v 1 h -1 V 2 Z" style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"/>
+ <path inkscape:connector-curvature="0" id="path19585-0" d="m 307,2 v 3 h 1 1 v 1 h -2 v 1 h 2 V 6.25 h 1 v -1.5 h -1 V 4 h -1 V 3 h 2 V 2 h -2 z" style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"/>
+ <path inkscape:connector-curvature="0" id="path19587-0" d="m 329,2 v 0.75 h -1 V 6 h 0.75 v 1 h 1.5 V 6 H 331 V 5 h -0.75 V 4 H 329 V 3 h 1.5 V 2 Z m 0,3 h 1 v 1 h -1 z" style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"/>
+ <path inkscape:connector-curvature="0" id="path19589-3" d="m 349,2 v 1 h 2 v 1 h -1 v 3 h 1 V 4.25 h 1 V 3 2 Z" style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"/>
+ <path inkscape:connector-curvature="0" id="path19591-9" d="m 370.75,2 v 1 h -0.5 v 1 h 0.5 V 5 H 370 v 1 h 0.75 v 1 h 1.5 V 6 H 373 V 5 h -0.75 V 4 h 0.5 V 3 h -0.5 V 2 Z M 371,3 h 1 v 1 h -1 z m 0,2 h 1 v 1 h -1 z" style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"/>
+ <path inkscape:connector-curvature="0" id="path19593-1" d="M 391.75,2 V 3 H 391 v 1 h 0.75 V 5 H 393 v 1 h -1.5 V 7 H 393 V 6.25 h 1 V 3 h -0.75 V 2 Z M 392,3 h 1 v 1 h -1 z" style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"/>
+ <path inkscape:connector-curvature="0" id="path19595-8" d="M 413.75,2 V 3 H 413 v 3 h 0.75 v 1 h 1.5 V 6 H 416 V 3 h -0.75 V 2 Z M 414,3 h 1 v 3 h -1 z m 0.25,1 v 1 h 0.5 V 4 Z" style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"/>
+ <path inkscape:connector-curvature="0" id="path19597-1" d="m 221,2 v 1 h -1 v 1 h 1 v 3 h 1 V 2 Z" style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"/>
+ <path inkscape:connector-curvature="0" style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" d="m 224,2 v 1 h -1 v 1 h 1 v 3 h 1 V 2 Z" id="path19599-9"/>
+ <path inkscape:connector-curvature="0" id="path19601-5" d="m 242,2 v 1 h -1 v 1 h 1 v 3 h 1 V 2 Z" style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"/>
+ <path inkscape:connector-curvature="0" id="path19603-3" d="m 263,2 v 1 h -1 v 1 h 1 v 3 h 1 V 2 Z" style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"/>
+ <path inkscape:connector-curvature="0" id="path19605-2" d="m 284,2 v 1 h -1 v 1 h 1 v 3 h 1 V 2 Z" style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"/>
+ <path inkscape:connector-curvature="0" id="path19607-5" d="m 305,2 v 1 h -1 v 1 h 1 v 3 h 1 V 2 Z" style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"/>
+ <path inkscape:connector-curvature="0" id="path19609-2" d="m 326,2 v 1 h -1 v 1 h 1 v 3 h 1 V 2 Z" style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"/>
+ <path inkscape:connector-curvature="0" id="path19611-5" d="m 347,2 v 1 h -1 v 1 h 1 v 3 h 1 V 2 Z" style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"/>
+ <path inkscape:connector-curvature="0" id="path19613-8" d="m 368,2 v 1 h -1 v 1 h 1 v 3 h 1 V 2 Z" style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"/>
+ <path inkscape:connector-curvature="0" id="path19615-6" d="m 389,2 v 1 h -1 v 1 h 1 v 3 h 1 V 2 Z" style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"/>
+ <path inkscape:connector-curvature="0" id="path19617-7" d="m 409,2 v 1 h 2 v 1 h -1 v 1 h 1 V 4.25 h 1 v -1.5 h -1 V 2 Z m 1,3 h -1 v 1 1 h 3 V 6 h -2 z" style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"/>
+ <path inkscape:connector-curvature="0" id="path19619-7" d="m 435,2 v 1 h -1 v 1 h 1 v 3 h 1 V 2 Z" style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"/>
+ <path inkscape:connector-curvature="0" id="path19621-2" d="m 430,2 v 1 h 2 v 1 h -1 v 1 h 1 V 4.25 h 1 v -1.5 h -1 V 2 Z m 1,3 h -1 v 1 1 h 3 V 6 h -2 z" style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"/>
+ <path inkscape:connector-curvature="0" id="path19623-2" d="m 451,2 v 1 h 2 v 1 h -1 v 1 h 1 V 4.25 h 1 v -1.5 h -1 V 2 Z m 1,3 h -1 v 1 1 h 3 V 6 h -2 z" style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"/>
+ <path inkscape:connector-curvature="0" style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" d="m 455,2 v 1 h 2 v 1 h -1 v 1 h 1 V 4.25 h 1 v -1.5 h -1 V 2 Z m 1,3 h -1 v 1 1 h 3 V 6 h -2 z" id="path19625-9"/>
+ <path inkscape:connector-curvature="0" id="path19627-4" d="m 472,2 v 1 h 2 v 1 h -1 v 1 h 1 V 4.25 h 1 v -1.5 h -1 V 2 Z m 1,3 h -1 v 1 1 h 3 V 6 h -2 z" style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"/>
+ <path inkscape:connector-curvature="0" id="path19629-1" d="m 493,2 v 1 h 2 v 1 h -1 v 1 h 1 V 4.25 h 1 v -1.5 h -1 V 2 Z m 1,3 h -1 v 1 1 h 3 V 6 h -2 z" style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"/>
+ <path inkscape:connector-curvature="0" id="path11036-9" d="m 536,2 v 1 h 2 v 1 h -1 v 1 h 1 V 4.25 h 1 v -1.5 h -1 V 2 Z m 1,3 h -1 v 1 1 h 3 V 6 h -2 z" style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"/>
+ <path inkscape:connector-curvature="0" style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" d="m 541,2 v 0.75 h -1 V 6 h 0.75 v 1 h 1.5 V 6 H 543 V 5 h -0.75 V 4 H 541 V 3 h 1.5 V 2 Z m 0,3 h 1 v 1 h -1 z" id="path11038-6"/>
+ <path inkscape:connector-curvature="0" style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" d="m 548.75,14 v 1 H 548 v 4 h 1 v -2 h 1 v 2 h 1 v -4 h -0.75 v -1 z m 0.25,1 h 1 v 1 h -1 z" id="path11128-8"/>
+ <path inkscape:connector-curvature="0" style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" d="m 548,35 v 5 h 1 1 v -0.5 h 1 V 38 h -0.75 V 37 H 551 v -1.25 h -1 V 35 h -1 z m 1,1 h 1 v 1 h -1 z m 0,2 h 1 v 1 h -1 z" id="path11130-2"/>
+ <path inkscape:connector-curvature="0" style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" d="M 549,56.25 V 57 h -1 v 3.5 h 1 v 0.75 h 2 v -1 h -2 v -3 h 2 v -1 z" id="path11132-5"/>
+ <path inkscape:connector-curvature="0" style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" d="m 548,77 v 1 3 1 h 2 v -0.75 h 1 v -3.5 h -1 V 77 Z m 1,1 h 1 v 3 h -1 z" id="path11134-5"/>
+ <path inkscape:connector-curvature="0" style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" d="m 548,99 v 5 h 1 2 v -1 h -2 v -1 h 1 v -1 h -1 v -1 h 2 v -1 h -2 z" id="path11136-4"/>
+ <path inkscape:connector-curvature="0" style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" d="m 548,119 v 5 h 1 v -2 h 1 v -1 h -1 v -1 h 2 v -1 h -2 z" id="path11138-9"/>
+ <path inkscape:connector-curvature="0" style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" d="m 549,140 v 0.75 h -1 v 3.5 h 1 V 145 h 2 v -1 -1.25 h -1 V 144 h -1 v -3 h 2 v -1 z" id="path11140-1"/>
+ <path inkscape:connector-curvature="0" style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" d="m 548,161 v 5 h 1 v -2 h 1 v 2 h 1 v -5 h -1 v 2 h -1 v -2 z" id="path11142-2"/>
+ <rect style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" id="rect11144-5" width="1" height="5" x="549" y="183"/>
+ <path inkscape:connector-curvature="0" style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" d="m 550,203 v 4 h -1 v -1 h -1 v 1 h 0.75 v 1 h 1.5 v -1 H 551 v -4 z" id="path11146-0"/>
+ <path inkscape:connector-curvature="0" style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" d="m 548,224 v 5 h 1 v -1.75 h 1 v -1.5 h -1 V 224 Z m 2,1.75 h 1 V 224 h -1 z m 0,1.5 V 229 h 1 v -1.75 z" id="path11148-8"/>
+ <path inkscape:connector-curvature="0" style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" d="m 548,245 v 5 h 1 2 v -1 h -2 v -4 z" id="path11150-3"/>
+ <path inkscape:connector-curvature="0" style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" d="m 548,266 v 5 h 1 v -3 h 1 v -1 h -1 v -1 z m 2,2 v 1 h 1 v -1 z m 1,0 h 1 v 3 h 1 v -5 h -1 v 1 h -1 z" id="path11152-9"/>
+ <path inkscape:connector-curvature="0" style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" d="m 548,287 v 5 h 1 v -3 h 1 v -1 h -1 v -1 z m 2,2 v 1 h 1 v 2 h 1 v -5 h -1 v 2 z" id="path11154-3"/>
+ <path inkscape:connector-curvature="0" sodipodi:nodetypes="cccccccccccccccccccc" style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" d="m 549,308 v 1 h 1 v -1 z m 1,1 v 3 h 1 v -3 z m 0,3 h -1 v 1 h 1 z m -1,0 v -3 h -1 v 3 z" id="path11156-9"/>
+ <path inkscape:connector-curvature="0" style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" d="m 548,329 v 5 h 1 v -2 h 1.25 v -1 H 551 v -1.25 h -1 V 329 h -1 z m 1,1 h 1 v 1 h -1 z" id="path11158-6"/>
+ <path inkscape:connector-curvature="0" sodipodi:nodetypes="ccccccccccccccccccccccccc" style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" d="m 549,350 v 1 h 1 v -1 z m 1,1 v 3 h 1 v -3 z m 0,3 h -1 v 1 h 1 z m 0,1 v 1 h 1 v -1 z m -1,-1 v -3 h -1 v 3 z" id="path11160-7"/>
+ <path inkscape:connector-curvature="0" style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" d="m 548,371 v 5 h 1 v -2 h 1 v 2 h 1 v -2 h -0.75 v -1 H 551 v -1.25 h -1 V 371 h -1 z m 1,1 h 1 v 1 h -1 z" id="path11162-9"/>
+ <path inkscape:connector-curvature="0" style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" d="m 549,392 v 0.75 h -1 v 1.5 h 1 V 395 h 1 v 1 h -2 v 1 h 2 v -0.75 h 1 v -1.5 h -1 V 394 h -1 v -1 h 1.5 v -1 z" id="path11164-9"/>
+ <path inkscape:connector-curvature="0" style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" d="m 548,413 v 1 h 1 v 4 h 1 v -4 h 1 v -1 z" id="path11166-7"/>
+ <path inkscape:connector-curvature="0" style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" d="m 548,435 v 4.25 h 1 V 440 h 2 v -0.75 h 1 V 435 h -1 v 4 h -2 v -4 z" id="path11168-6"/>
+ <path inkscape:connector-curvature="0" style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" d="m 548,456 v 3.25 h 1 V 461 h 1 v -1.75 h 1 V 456 h -1 v 3 h -1 v -3 z" id="path11170-9"/>
+ <path inkscape:connector-curvature="0" style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" d="M 547,475.75 V 479 h 1 v 1.75 h 1 V 479 h 1 v 1.75 h 1 V 479 h 1 v -3.25 h -1 v 3 h -1 v -2 h -1 v 2 h -1 v -3 z" id="path11172-3"/>
+ <path inkscape:connector-curvature="0" id="path11174-5" d="m 548,498 v 2 h 1 v -2 z m 1,2 v 1 h 1 v -1 z m 1,0 h 1 v -2 h -1 z m 0,1 v 2 h 1 v -2 z m -1,0 h -1 v 2 h 1 z" style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"/>
+ <path id="path38393-7" d="m 0,518 v 2.25 H 1 V 523 h 1 v -2.75 H 3 V 518 H 2 v 2 H 1 v -2 z" style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path id="path38395-6" d="m 0,539 v 1 h 2 v 1 h 1 v -1 -1 z m 2,2 H 1 v 1 h 1 z m -1,1 H 0 v 1 1 h 3 v -1 H 1 Z" style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" d="m 548,518 v 2.25 h 1 V 523 h 1 v -2.75 h 1 V 518 h -1 v 2 h -1 v -2 z" id="path38435-6" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" d="m 548,539 v 1 h 2 v 1 h 1 v -1 -1 z m 2,2 h -1 v 1 h 1 z m -1,1 h -1 v 1 1 h 3 v -1 h -2 z" id="path38437-5" inkscape:connector-curvature="0"/>
+ <path inkscape:connector-curvature="0" style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" d="m 12,636 v 1 h -1 v 1 h 1 v 3 h 1 v -5 z" id="path41043-2"/>
+ <path inkscape:connector-curvature="0" style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" d="m 33,636 v 1 h 2 v 1 h -1 v 1 h 1 v -0.75 h 1 v -1.5 H 35 V 636 Z m 1,3 h -1 v 1 1 h 3 v -1 h -2 z" id="path41045-5"/>
+ <path inkscape:connector-curvature="0" style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" d="m 54,636 v 1 h 2 v 1 h 1 v -1.25 H 56 V 636 Z m 2,2 h -1 v 1 h 1 z m 0,1 v 1 h -2 v 1 h 2 v -0.75 h 1 V 639 Z" id="path41047-4"/>
+ <path inkscape:connector-curvature="0" style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" d="m 75,636 v 3 h 1 1 v 2 h 1 v -4 h -1 v 1 h -1 v -2 z" id="path41049-4"/>
+ <path inkscape:connector-curvature="0" style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" d="m 96,636 v 3 h 1 1 v 1 h -2 v 1 h 2 v -0.75 h 1 v -1.5 H 98 V 638 h -1 v -1 h 2 v -1 h -2 z" id="path41051-1"/>
+ <path inkscape:connector-curvature="0" style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" d="m 118,636 v 0.75 h -1 V 640 h 0.75 v 1 h 1.5 v -1 H 120 v -1 h -0.75 v -1 H 118 v -1 h 1.5 v -1 z m 0,3 h 1 v 1 h -1 z" id="path41053-6"/>
+ <path inkscape:connector-curvature="0" style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" d="m 138,636 v 1 h 2 v 1 h -1 v 3 h 1 v -2.75 h 1 V 637 636 Z" id="path41055-1"/>
+ <path inkscape:connector-curvature="0" style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" d="m 159.75,636 v 1 h -0.5 v 1 h 0.5 v 1 H 159 v 1 h 0.75 v 1 h 1.5 v -1 H 162 v -1 h -0.75 v -1 h 0.5 v -1 h -0.5 v -1 z m 0.25,1 h 1 v 1 h -1 z m 0,2 h 1 v 1 h -1 z" id="path41057-6"/>
+ <path inkscape:connector-curvature="0" style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" d="m 180.75,636 v 1 H 180 v 1 h 0.75 v 1 H 182 v 1 h -1.5 v 1 h 1.5 v -0.75 h 1 V 637 h -0.75 v -1 z m 0.25,1 h 1 v 1 h -1 z" id="path41059-3"/>
+ <path inkscape:connector-curvature="0" style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" d="m 202.75,636 v 1 H 202 v 3 h 0.75 v 1 h 1.5 v -1 H 205 v -3 h -0.75 v -1 z m 0.25,1 h 1 v 3 h -1 z" id="path41061-3" sodipodi:nodetypes="cccccccccccccccccc"/>
+ <path inkscape:connector-curvature="0" id="path41063-5" d="m 514,636 v 1 h 2 v 1 h -1 v 1 h 1 v -0.75 h 1 v -1.5 h -1 V 636 Z m 1,3 h -1 v 1 1 h 3 v -1 h -2 z" style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"/>
+ <path inkscape:connector-curvature="0" id="path41065-5" d="m 476,636 v 1 h 2 v 1 h 1 v -1.25 h -1 V 636 Z m 2,2 h -1 v 1 h 1 z m 0,1 v 1 h -2 v 1 h 2 v -0.75 h 1 V 639 Z" style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"/>
+ <path inkscape:connector-curvature="0" id="path41067-3" d="m 497,636 v 3 h 1 1 v 2 h 1 v -4 h -1 v 1 h -1 v -2 z" style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"/>
+ <path inkscape:connector-curvature="0" id="path41069-2" d="m 518,636 v 3 h 1 1 v 1 h -2 v 1 h 2 v -0.75 h 1 v -1.5 h -1 V 638 h -1 v -1 h 2 v -1 h -2 z" style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"/>
+ <path inkscape:connector-curvature="0" style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" d="m 200,636 v 1 h -1 v 1 h 1 v 3 h 1 v -5 z" id="path41071-8"/>
+ <path inkscape:connector-curvature="0" style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" d="m 244,636 v 1 h 2 v 1 h -1 v 1 h 1 v -0.75 h 1 v -1.5 h -1 V 636 Z m 1,3 h -1 v 1 1 h 3 v -1 h -2 z" id="path41073-2"/>
+ <path inkscape:connector-curvature="0" style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" d="m 265,636 v 1 h 2 v 1 h 1 v -1.25 h -1 V 636 Z m 2,2 h -1 v 1 h 1 z m 0,1 v 1 h -2 v 1 h 2 v -0.75 h 1 V 639 Z" id="path41075-5"/>
+ <path inkscape:connector-curvature="0" style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" d="m 286,636 v 3 h 1 1 v 2 h 1 v -4 h -1 v 1 h -1 v -2 z" id="path41077-3"/>
+ <path inkscape:connector-curvature="0" style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" d="m 307,636 v 3 h 1 1 v 1 h -2 v 1 h 2 v -0.75 h 1 v -1.5 h -1 V 638 h -1 v -1 h 2 v -1 h -2 z" id="path41079-6"/>
+ <path inkscape:connector-curvature="0" style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" d="m 329,636 v 0.75 h -1 V 640 h 0.75 v 1 h 1.5 v -1 H 331 v -1 h -0.75 v -1 H 329 v -1 h 1.5 v -1 z m 0,3 h 1 v 1 h -1 z" id="path41081-1"/>
+ <path inkscape:connector-curvature="0" style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" d="m 349,636 v 1 h 2 v 1 h -1 v 3 h 1 v -2.75 h 1 V 637 636 Z" id="path41083-8"/>
+ <path inkscape:connector-curvature="0" style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" d="m 370.75,636 v 1 h -0.5 v 1 h 0.5 v 1 H 370 v 1 h 0.75 v 1 h 1.5 v -1 H 373 v -1 h -0.75 v -1 h 0.5 v -1 h -0.5 v -1 z m 0.25,1 h 1 v 1 h -1 z m 0,2 h 1 v 1 h -1 z" id="path41085-6"/>
+ <path inkscape:connector-curvature="0" style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" d="m 391.75,636 v 1 H 391 v 1 h 0.75 v 1 H 393 v 1 h -1.5 v 1 h 1.5 v -0.75 h 1 V 637 h -0.75 v -1 z m 0.25,1 h 1 v 1 h -1 z" id="path41087-2"/>
+ <path inkscape:connector-curvature="0" style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" d="m 413.75,636 v 1 H 413 v 3 h 0.75 v 1 h 1.5 v -1 H 416 v -3 h -0.75 v -1 z m 0.25,1 h 1 v 3 h -1 z m 0.25,1 v 1 h 0.5 v -1 z" id="path41089-1"/>
+ <path inkscape:connector-curvature="0" style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" d="m 221,636 v 1 h -1 v 1 h 1 v 3 h 1 v -5 z" id="path41091-4"/>
+ <path inkscape:connector-curvature="0" id="path41093-6" d="m 224,636 v 1 h -1 v 1 h 1 v 3 h 1 v -5 z" style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"/>
+ <path inkscape:connector-curvature="0" style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" d="m 242,636 v 1 h -1 v 1 h 1 v 3 h 1 v -5 z" id="path41095-2"/>
+ <path inkscape:connector-curvature="0" style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" d="m 263,636 v 1 h -1 v 1 h 1 v 3 h 1 v -5 z" id="path41097-9"/>
+ <path inkscape:connector-curvature="0" style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" d="m 284,636 v 1 h -1 v 1 h 1 v 3 h 1 v -5 z" id="path41099-1"/>
+ <path inkscape:connector-curvature="0" style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" d="m 305,636 v 1 h -1 v 1 h 1 v 3 h 1 v -5 z" id="path41101-5"/>
+ <path inkscape:connector-curvature="0" style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" d="m 326,636 v 1 h -1 v 1 h 1 v 3 h 1 v -5 z" id="path41103-0"/>
+ <path inkscape:connector-curvature="0" style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" d="m 347,636 v 1 h -1 v 1 h 1 v 3 h 1 v -5 z" id="path41105-3"/>
+ <path inkscape:connector-curvature="0" style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" d="m 368,636 v 1 h -1 v 1 h 1 v 3 h 1 v -5 z" id="path41107-6"/>
+ <path inkscape:connector-curvature="0" style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" d="m 389,636 v 1 h -1 v 1 h 1 v 3 h 1 v -5 z" id="path41109-4"/>
+ <path inkscape:connector-curvature="0" style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" d="m 409,636 v 1 h 2 v 1 h -1 v 1 h 1 v -0.75 h 1 v -1.5 h -1 V 636 Z m 1,3 h -1 v 1 1 h 3 v -1 h -2 z" id="path41111-9"/>
+ <path inkscape:connector-curvature="0" style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" d="m 435,636 v 1 h -1 v 1 h 1 v 3 h 1 v -5 z" id="path41113-2"/>
+ <path inkscape:connector-curvature="0" style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" d="m 430,636 v 1 h 2 v 1 h -1 v 1 h 1 v -0.75 h 1 v -1.5 h -1 V 636 Z m 1,3 h -1 v 1 1 h 3 v -1 h -2 z" id="path41116-9"/>
+ <path inkscape:connector-curvature="0" style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" d="m 451,636 v 1 h 2 v 1 h -1 v 1 h 1 v -0.75 h 1 v -1.5 h -1 V 636 Z m 1,3 h -1 v 1 1 h 3 v -1 h -2 z" id="path41118-3"/>
+ <path inkscape:connector-curvature="0" id="path41120-4" d="m 455,636 v 1 h 2 v 1 h -1 v 1 h 1 v -0.75 h 1 v -1.5 h -1 V 636 Z m 1,3 h -1 v 1 1 h 3 v -1 h -2 z" style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"/>
+ <path inkscape:connector-curvature="0" style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" d="m 472,636 v 1 h 2 v 1 h -1 v 1 h 1 v -0.75 h 1 v -1.5 h -1 V 636 Z m 1,3 h -1 v 1 1 h 3 v -1 h -2 z" id="path41122-4"/>
+ <path inkscape:connector-curvature="0" style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" d="m 493,636 v 1 h 2 v 1 h -1 v 1 h 1 v -0.75 h 1 v -1.5 h -1 V 636 Z m 1,3 h -1 v 1 1 h 3 v -1 h -2 z" id="path41124-0"/>
+ <path inkscape:connector-curvature="0" style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" d="m 536,636 v 1 h 2 v 1 h -1 v 1 h 1 v -0.75 h 1 v -1.5 h -1 V 636 Z m 1,3 h -1 v 1 1 h 3 v -1 h -2 z" id="path41126-5"/>
+ <path inkscape:connector-curvature="0" id="path41128-9" d="m 541,636 v 0.75 h -1 V 640 h 0.75 v 1 h 1.5 v -1 H 543 v -1 h -0.75 v -1 H 541 v -1 h 1.5 v -1 z m 0,3 h 1 v 1 h -1 z" style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.4;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" d="m 545,238 v 1 h 9 v 41 h -9 v 1 h 9 1 v -21 h 1 v -1 h -1 v -21 h -1 z" id="rect11044-9-4" sodipodi:nodetypes="ccccccccccccccc" inkscape:connector-curvature="0"/>
+ <g id="g6033" transform="rotate(-90,411.96778,491.48895)">
+ <rect style="display:inline;overflow:visible;visibility:visible;opacity:0.6;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" id="rect5498" width="1" height="5" x="522.48798" y="673.52118"/>
+ <path inkscape:connector-curvature="0" style="display:inline;overflow:visible;visibility:visible;opacity:0.6;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" d="m 433.45673,673.52118 v 4 h -1 v -1 h -1 v 1 h 0.75 v 1 h 1.5 v -1 h 0.75 v -4 z" id="path5500" sodipodi:nodetypes="ccccccccccccc"/>
+ <path inkscape:connector-curvature="0" style="display:inline;overflow:visible;visibility:visible;opacity:0.6;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" d="m 454.45673,673.52118 v 1 h 2 v -1 z m 2,1 v 3 h 1 v -3 z m 0,3 h -2 v 1 h 2 z m -2,0 v -3 h -1 v 3 z" id="path5504" sodipodi:nodetypes="cccccccccccccccccccc"/>
+ <path inkscape:connector-curvature="0" style="display:inline;overflow:visible;visibility:visible;opacity:0.6;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" d="m 419.45673,673.52118 v 0.75 h -1 v 1.5 h 1 v 0.75 h 1 v 1 h -2 v 1 h 2 v -0.75 h 1 v -1.5 h -1 v -0.75 h -1 v -1 h 1.5 v -1 z" id="path5506" sodipodi:nodetypes="ccccccccccccccccccccc"/>
+ <path inkscape:connector-curvature="0" style="display:inline;overflow:visible;visibility:visible;opacity:0.6;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" d="m 443.45673,673.52118 v 1 h 1 v 4 h 1 v -4 h 1 v -1 z" id="path5508" sodipodi:nodetypes="ccccccccc"/>
+ <path inkscape:connector-curvature="0" style="display:inline;overflow:visible;visibility:visible;opacity:0.6;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" d="m 422.45673,673.52118 v 4.25 h 1 v 0.75 h 2 v -0.75 h 1 v -4.25 h -1 v 4 h -2 v -4 z" id="path5510" sodipodi:nodetypes="ccccccccccccc"/>
+ <path inkscape:connector-curvature="0" style="display:inline;overflow:visible;visibility:visible;opacity:0.6;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" d="m 427.45673,673.52118 v 5 h 1 1 v -0.5 h 1 v -1.5 h -0.75 v -1 h 0.75 v -1.25 h -1 v -0.75 h -1 z m 1,1 h 1 v 1 h -1 z m 0,2 h 1 v 1 h -1 z" id="path5512" sodipodi:nodetypes="ccccccccccccccccccccccccc"/>
+ <path inkscape:connector-curvature="0" style="display:inline;overflow:visible;visibility:visible;opacity:0.6;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" d="m 440.45673,673.52118 v 0.75 h -1 v 3.5 h 1 v 0.75 h 2 v -1 h -2 v -3 h 2 v -1 z" id="path5514" sodipodi:nodetypes="ccccccccccccc"/>
+ <path inkscape:connector-curvature="0" style="display:inline;overflow:visible;visibility:visible;opacity:0.6;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" d="m 435.45673,673.52118 v 5 h 1 2 v -1 h -2 v -1 h 1 v -1 h -1 v -1 h 2 v -1 h -2 z" id="path5516" sodipodi:nodetypes="ccccccccccccccc"/>
+ <path id="path5520" d="m 449.45673,673.52118 v 1 h 1 v 4 h 1 v -4 h 1 v -1 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.6;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccccccc"/>
+ <path inkscape:connector-curvature="0" style="display:inline;overflow:visible;visibility:visible;opacity:0.6;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" d="m 460.45673,673.52118 v 1 h 1 v 4 h 1 v -4 h 1 v -1 z" id="path5522" sodipodi:nodetypes="ccccccccc"/>
+ <path inkscape:connector-curvature="0" style="display:inline;overflow:visible;visibility:visible;opacity:0.6;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" d="m 464.45673,673.52118 v 5 h 1 v -2 h 1 v 2 h 1 v -5 h -1 v 2 h -1 v -2 z" id="path5524" sodipodi:nodetypes="ccccccccccccc"/>
+ <path id="path5526" d="m 468.45673,673.52118 v 5 h 1 2 v -1 h -2 v -1 h 1 v -1 h -1 v -1 h 2 v -1 h -2 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.6;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccccccccccccc"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.6;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" d="m 518.45673,673.52118 v 5 h 1 2 v -1 h -2 v -4 z" id="path5534" inkscape:connector-curvature="0" sodipodi:nodetypes="cccccccc"/>
+ <path id="path5536" d="m 525.45673,673.52118 v 0.75 h -1 v 3.5 h 1 v 0.75 h 2 v -1 h -2 v -3 h 2 v -1 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.6;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccccccccccc"/>
+ <path inkscape:connector-curvature="0" style="display:inline;overflow:visible;visibility:visible;opacity:0.6;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" d="m 528.45673,673.52118 v 5 h 1 2 v -1 h -2 v -1 h 1 v -1 h -1 v -1 h 2 v -1 h -2 z" id="path5538" sodipodi:nodetypes="ccccccccccccccc"/>
+ <path id="path5540" d="m 532.45673,673.52118 v 5 h 1 v -3 h 1 v -1 h -1 v -1 z m 2,2 v 1 h 1 v 2 h 1 v -5 h -1 v 2 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.6;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" inkscape:connector-curvature="0" sodipodi:nodetypes="cccccccccccccccccc"/>
+ <path id="path5542" d="m 538.45673,673.52118 v 0.75 h -1 v 3.5 h 1 v 0.75 h 2 v -1 h -2 v -3 h 2 v -1 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.6;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccccccccccc"/>
+ <path id="path5544" d="m 541.45673,673.52118 v 5 h 1 2 v -1 h -2 v -1 h 1 v -1 h -1 v -1 h 2 v -1 h -2 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.6;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccccccccccccc"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.6;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" d="m 361.45673,673.52118 v 1 h 1 v 4 h 1 v -4 h 1 v -1 z" id="path5548" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccccccc"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.6;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" d="m 365.45673,673.52118 v 5 h 1 v -2 h 1 v 2 h 1 v -5 h -1 v 2 h -1 v -2 z" id="path5550" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccccccccccc"/>
+ <rect style="display:inline;overflow:visible;visibility:visible;opacity:0.6;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" id="rect5552" width="1" height="5" x="369.48804" y="673.52118"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.6;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" d="m 372.45673,673.52118 v 0.75 h -1 v 1.5 h 1 v 0.75 h 1 v 1 h -2 v 1 h 2 v -0.75 h 1 v -1.5 h -1 v -0.75 h -1 v -1 h 1.5 v -1 z" id="path5554" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccccccccccccccccccc"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.6;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" d="m 378.45673,673.52118 v 0.75 h -1 v 3.5 h 1 v 0.75 h 2 v -1 h -2 v -3 h 2 v -1 z" id="path5556" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccccccccccc"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.6;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" d="m 386.45673,673.52118 v 5 h 1 v -3 h 1 v -1 h -1 v -1 z m 2,2 v 1 h 1 v 2 h 1 v -5 h -1 v 2 z" id="path5558" inkscape:connector-curvature="0" sodipodi:nodetypes="cccccccccccccccccc"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.6;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" d="m 382.45673,673.52118 v 1 h 2 v -1 z m 2,1 v 3 h 1 v -3 z m 0,3 h -2 v 1 h 2 z m -2,0 v -3 h -1 v 3 z" id="path5560" inkscape:connector-curvature="0" sodipodi:nodetypes="cccccccccccccccccccc"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.6;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" d="m 391.45673,673.52118 v 1 h 1 v 4 h 1 v -4 h 1 v -1 z" id="path5562" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccccccc"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.6;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" d="m 395.45673,673.52118 v 5 h 1 2 v -1 h -2 v -1 h 1 v -1 h -1 v -1 h 2 v -1 h -2 z" id="path5564" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccccccccccccc"/>
+ <path id="path5566" d="m 399.45673,673.52118 v 5 h 1 v -3 h 1 v -1 h -1 v -1 z m 2,2 v 1 h 1 v 2 h 1 v -5 h -1 v 2 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.6;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" inkscape:connector-curvature="0" sodipodi:nodetypes="cccccccccccccccccc"/>
+ <path id="path5568" d="m 404.45673,673.52118 v 1 h 1 v 4 h 1 v -4 h 1 v -1 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.6;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccccccc"/>
+ <rect style="display:inline;overflow:visible;visibility:visible;opacity:0.6;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" id="rect5570" width="1" height="5" x="410.48804" y="673.52118"/>
+ <path id="path5572" d="m 413.45673,673.52118 v 0.75 h -1 v 1.5 h 1 v 0.75 h 1 v 1 h -2 v 1 h 2 v -0.75 h 1 v -1.5 h -1 v -0.75 h -1 v -1 h 1.5 v -1 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.6;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccccccccccccccccccc"/>
+ <rect style="display:inline;overflow:visible;visibility:visible;opacity:0.6;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" id="rect5648" width="1" height="1" x="546.48798" y="677.52118"/>
+ <path inkscape:connector-curvature="0" style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" d="m 326.20673,673.52118 v 1 h -0.75 v 4 h 1 v -2 h 1 v 2 h 1 v -4 h -0.75 v -1 z m 0.25,1 h 1 v 1 h -1 z" id="path5654" sodipodi:nodetypes="cccccccccccccccccc"/>
+ <path inkscape:connector-curvature="0" style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" d="m 329.45673,673.52118 v 5 h 1 v -3 h 1 v -1 h -1 v -1 z m 2,2 v 1 h 1 v -1 z m 1,0 h 1 v 3 h 1 v -5 h -1 v 1 h -1 z" id="path5656" sodipodi:nodetypes="ccccccccccccccccccccccc"/>
+ <path inkscape:connector-curvature="0" style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" d="m 335.45673,673.52118 v 5 h 1 1 v -0.5 h 1 v -1.5 h -0.75 v -1 h 0.75 v -1.25 h -1 v -0.75 h -1 z m 1,1 h 1 v 1 h -1 z m 0,2 h 1 v 1 h -1 z" id="path5658" sodipodi:nodetypes="ccccccccccccccccccccccccc"/>
+ <path inkscape:connector-curvature="0" style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" d="m 339.45673,673.52118 v 5 h 1 v -2 h 1 v 2 h 1 v -2 h -0.75 v -1 h 0.75 v -1.25 h -1 v -0.75 h -1 z m 1,1 h 1 v 1 h -1 z" id="path5660" sodipodi:nodetypes="ccccccccccccccccccccc"/>
+ <path inkscape:connector-curvature="0" style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" d="m 344.45673,673.52118 v 1 h 2 v -1 z m 2,1 v 3 h 1 v -3 z m 0,3 h -2 v 1 h 2 z m -2,0 v -3 h -1 v 3 z" id="path5662" sodipodi:nodetypes="cccccccccccccccccccc"/>
+ <path inkscape:connector-curvature="0" style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" d="m 348.45673,673.52118 v 1 h 2 v 1 h 1 v -1 -1 z m 2,2 h -1 v 1 h 1 z m -1,1 h -1 v 1 1 h 3 v -1 h -2 z" id="path5664" sodipodi:nodetypes="ccccccccccccccccccccc"/>
+ <path inkscape:connector-curvature="0" style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" d="m 295.20673,673.52118 v 1 h -0.75 v 4 h 1 v -2 h 1 v 2 h 1 v -4 h -0.75 v -1 z m 0.25,1 h 1 v 1 h -1 z" id="path5666" sodipodi:nodetypes="cccccccccccccccccc"/>
+ <path inkscape:connector-curvature="0" id="path5668" d="m 298.45673,673.52118 v 5 h 1 v -3 h 1 v -1 h -1 v -1 z m 2,2 v 1 h 1 v 2 h 1 v -5 h -1 v 2 z" style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" sodipodi:nodetypes="cccccccccccccccccc"/>
+ <path inkscape:connector-curvature="0" id="path5670" d="m 303.45673,673.52118 v 1 3 1 h 2 v -0.75 h 1 v -3.5 h -1 v -0.75 z m 1,1 h 1 v 3 h -1 z" style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" sodipodi:nodetypes="cccccccccccccccc"/>
+ <path inkscape:connector-curvature="0" style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" d="m 307.45673,673.52118 v 5 h 1 v -2 h 1 v 2 h 1 v -2 h -0.75 v -1 h 0.75 v -1.25 h -1 v -0.75 h -1 z m 1,1 h 1 v 1 h -1 z" id="path5672" sodipodi:nodetypes="ccccccccccccccccccccc"/>
+ <path inkscape:connector-curvature="0" style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" d="m 311.45673,673.52118 v 1 h 2 v 1 h 1 v -1 -1 z m 2,2 h -1 v 1 h 1 z m -1,1 h -1 v 1 1 h 3 v -1 h -2 z" id="path5674" sodipodi:nodetypes="ccccccccccccccccccccc"/>
+ <path inkscape:connector-curvature="0" id="path5676" d="m 315.45673,673.52118 v 5 h 1 2 v -1 h -2 v -1 h 1 v -1 h -1 v -1 h 2 v -1 h -2 z" style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" sodipodi:nodetypes="ccccccccccccccc"/>
+ <path inkscape:connector-curvature="0" id="path5678" d="m 321.45673,673.52118 v 4 h -1 v -1 h -1 v 1 h 0.75 v 1 h 1.5 v -1 h 0.75 v -4 z" style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" sodipodi:nodetypes="ccccccccccccc"/>
+ <rect y="671.52118" x="349.48804" height="1" width="1" id="rect5680" style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"/>
+ <path inkscape:connector-curvature="0" style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" d="m 267.45673,672.52117 v 0.75 h -1 v 0.25 h -0.25 v 1 h -0.75 v 3 h 0.75 v 1 h 0.25 v 0.25 h 1 v 0.75 h 3 v -0.75 h 1 v -0.25 h 0.25 v -1 h 0.75 v -3 h -0.75 v -1 h -0.25 v -0.25 h -1 v -0.75 z m 0,1 h 3 v 1 h 1 v 3 h -1 v 1 h -3 v -1 h -1 v -3 h 1 z" id="path5682" sodipodi:nodetypes="cccccccccccccccccccccccccccccccccccccccccc"/>
+ <path inkscape:connector-curvature="0" id="path5684" d="m 268.45673,674.52117 v 0.75 h -1 v 1.5 h 1 v 0.75 h 1.25 v -1 h -1.25 v -1 h 1.25 v -1 z" style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" sodipodi:nodetypes="ccccccccccccc"/>
+ <path id="path5686" d="m 279.20673,673.52117 v 1 h -0.75 v 3 h 0.75 v 1 h 1.5 v -1 h 0.75 v -3 h -0.75 v -1 z m 0.25,1 h 1 v 3 h -1 z m 0.25,1 v 1 h 0.5 v -1 z" style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccccccccccccccccccccc"/>
+ <path id="path5688" d="m 283.45673,673.52117 v 1 h -1 v 1 h 1 v 3 h 1 v -5 z" style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccccccc"/>
+ <path inkscape:connector-curvature="0" style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" d="m 274.45673,673.52117 v 1 h 2 v 1 h -1 v 1 h 1 v -0.75 h 1 v -1.5 h -1 v -0.75 z m 1,3 h -1 v 1 1 h 3 v -1 h -2 z" id="path5690" sodipodi:nodetypes="ccccccccccccccccccccc"/>
+ <path id="path5692" d="m 290.42543,674.52118 v 1 h 1 v -1 z m -0.2187,3 v 1 h -0.75 v 1 h 1 v -1 h 1 v -1 z" style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" inkscape:connector-curvature="0" sodipodi:nodetypes="cccccccccccccc"/>
+ <path id="path41087-2-9" d="m 286.22238,673.50552 v 1 h -0.75 v 1 h 0.75 v 1 h 1.25 v 1 h -1.5 v 1 h 1.5 v -0.75 h 1 v -3.25 h -0.75 v -1 z m 0.25,1 h 1 v 1 h -1 z" style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" inkscape:connector-curvature="0" sodipodi:nodetypes="cccccccccccccccccccccc"/>
+ <path id="path6073" d="m 485.45673,673.52118 v 5 h 1 1 v -0.5 h 1 v -1.5 h -0.75 v -1 h 0.75 v -1.25 h -1 v -0.75 h -1 z m 1,1 h 1 v 1 h -1 z m 0,2 h 1 v 1 h -1 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.6;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccccccccccccccccccccccc"/>
+ <path inkscape:connector-curvature="0" style="display:inline;overflow:visible;visibility:visible;opacity:0.6;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" d="m 493.42543,675.52119 v 1 h 2 v -1 z" id="path6075" sodipodi:nodetypes="ccccc"/>
+ <path sodipodi:nodetypes="ccccccccccccc" id="path6077" d="m 489.45673,673.52118 v 2.25 h 1 v 2.75 h 1 v -2.75 h 1 v -2.25 h -1 v 2 h -1 v -2 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.6;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path sodipodi:nodetypes="ccccccccccccccccccccc" id="path6079" d="m 497.45673,673.52118 v 0.75 h -1 v 1.5 h 1 v 0.75 h 1 v 1 h -2 v 1 h 2 v -0.75 h 1 v -1.5 h -1 v -0.75 h -1 v -1 h 1.5 v -1 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.6;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path sodipodi:nodetypes="cccccccccccccccccc" id="path6082" d="m 501.20673,673.52118 v 1 h -0.75 v 4 h 1 v -2 h 1 v 2 h 1 v -4 h -0.75 v -1 z m 0.25,1 h 1 v 1 h -1 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.6;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path sodipodi:nodetypes="ccccccccccccccccccccccc" inkscape:connector-curvature="0" style="display:inline;overflow:visible;visibility:visible;opacity:0.6;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" d="m 513.20673,673.52117 v 1 h -0.75 v 3 h 0.75 v 1 h 1.5 v -1 h 0.75 v -3 h -0.75 v -1 z m 0.25,1 h 1 v 3 h -1 z m 0.25,1 v 1 h 0.5 v -1 z" id="path6106"/>
+ <rect style="display:inline;overflow:visible;visibility:visible;opacity:0.6;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" id="rect6108" width="1" height="1" x="510.48804" y="677.52118"/>
+ <path id="path6084" d="m 506.45673,673.52118 v 3 h 1 1 v 2 h 1 v -4 h -1 v 1 h -1 v -2 z" style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:0.6;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path inkscape:connector-curvature="0" style="display:inline;overflow:visible;visibility:visible;opacity:0.6;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" d="m 476.45673,673.52118 v 0.75 h -1 v 3.5 h 1 v 0.75 h 2 v -1 h -2 v -3 h 2 v -1 z" id="path5514-7" sodipodi:nodetypes="ccccccccccccc"/>
+ <path id="path6071" d="m 480.45673,673.52118 v 0.75 h -1 v 3.5 h 1 v 0.75 h 2 v -1 h -2 v -3 h 2 v -1 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.6;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccccccccccc"/>
</g>
</g>
- <g
- inkscape:groupmode="layer"
- id="layer8"
- inkscape:label="2.81"
- style="display:inline">
- <path
- inkscape:connector-curvature="0"
- id="path6587"
- d="M 61.503909,123 A 6.5039066,6.5039066 0 0 1 55.000003,129.50391 6.5039066,6.5039066 0 0 1 48.496097,123 6.5039066,6.5039066 0 0 1 55.000003,116.4961 6.5039066,6.5039066 0 0 1 61.503909,123 Z"
- style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
- <g
- id="g10975"
- transform="translate(-378.00707,-293.99994)"
- style="display:inline;opacity:1;fill:#ffffff;enable-background:new"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- inkscape:export-xdpi="96"
- inkscape:export-ydpi="96" />
- <g
- id="g10009"
- transform="translate(5.3904633e-4,-20.999933)"
- style="display:inline;opacity:1;fill:#ffffff;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;enable-background:new"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- inkscape:export-xdpi="96"
- inkscape:export-ydpi="96" />
- <g
- transform="translate(-380,231)"
- style="display:inline;opacity:1;fill:#ffffff;enable-background:new"
- id="g12153"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- inkscape:export-xdpi="96"
- inkscape:export-ydpi="96" />
- <g
- style="display:inline;opacity:1;fill:#ffffff;enable-background:new"
- transform="translate(-336.00001,210.00001)"
- id="g12215"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- inkscape:export-xdpi="96"
- inkscape:export-ydpi="96" />
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g12492"
- transform="translate(20.999999)"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- inkscape:export-xdpi="96"
- inkscape:export-ydpi="96" />
- <g
- id="g12457"
- transform="matrix(0.69230791,0,0,0.69230793,-403.07713,196.14887)"
- style="display:inline;opacity:1;fill:#ffffff;stroke-width:1.44444394;enable-background:new"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- inkscape:export-xdpi="96"
- inkscape:export-ydpi="96" />
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g12921"
- transform="translate(21.999999,-3)"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- inkscape:export-xdpi="96"
- inkscape:export-ydpi="96" />
- <g
- style="display:inline;opacity:0.41300001;fill:#ffffff;enable-background:new"
- id="g5202-0"
- transform="translate(496.99495,-311.99288)"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- inkscape:export-xdpi="96"
- inkscape:export-ydpi="96" />
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g13534"
- transform="translate(-9.5367432e-7,21)"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- inkscape:export-xdpi="96"
- inkscape:export-ydpi="96" />
- <g
- style="display:inline;opacity:1;fill:#ffffff;enable-background:new"
- id="g13838"
- transform="rotate(90,160.07935,395.5873)"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- inkscape:export-xdpi="96"
- inkscape:export-ydpi="96">
- <g
- id="g13835"
- transform="matrix(0,1,1,0,205.49208,-205.33334)"
- style="fill:#ffffff" />
- </g>
- <g
- style="display:inline;opacity:0.98999999;fill:#ffffff;enable-background:new"
- id="g6922"
- transform="translate(-378.0172,105)"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- inkscape:export-xdpi="96"
- inkscape:export-ydpi="96">
- <circle
- r="0"
- cy="162.5"
- cx="415.5"
- style="opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke"
- id="ellipse13645" />
- </g>
- <g
- style="display:inline;fill:#ffffff;stroke-width:1.15384614;enable-background:new"
- id="g14341"
- transform="translate(-441.00001,525.00001)" />
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g14199"
- transform="translate(-9.5367432e-7,20)" />
- <g
- style="display:inline;fill:#ffffff;stroke:#666666;enable-background:new"
- id="g14215"
- inkscape:transform-center-x="-1.2499"
- inkscape:transform-center-y="9.9999999e-006"
- transform="matrix(0,-1,-1,0,723.9999,577.00011)" />
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g14644"
- transform="translate(-9.5367432e-7,30)" />
- <circle
- transform="scale(-1)"
- cy="-286.5"
- cx="-353.50003"
- id="ellipse14264"
- style="display:inline;opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;enable-background:new"
- r="0" />
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g13212"
- transform="rotate(-180,454.00583,490.49795)"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- inkscape:export-xdpi="96"
- inkscape:export-ydpi="96" />
- <g
- transform="translate(-105,22)"
- id="g13043"
- style="display:inline;opacity:0.4;fill:#ffffff;enable-background:new">
- <g
- id="g13161"
- style="fill:#ffffff" />
- </g>
- <path
- inkscape:export-ydpi="96"
- inkscape:export-xdpi="96"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- id="circle21483"
- style="display:inline;opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;enable-background:new"
- r="4"
- cy="335.5"
- cx="493.5"
- d=""
- inkscape:connector-curvature="0" />
- <circle
- r="0"
- cx="456.5"
- cy="420.50391"
- id="ellipse20722"
- style="display:inline;opacity:0.1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;enable-background:new" />
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- inkscape:export-ydpi="96"
- inkscape:export-xdpi="96"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- transform="translate(71.999999)"
- id="g22120" />
- <path
- cx="306.99524"
- cy="291.97034"
- r="4.4703369"
- style="display:inline;opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;enable-background:new"
- id="path24502"
- inkscape:export-filename="C:\Documents and Settings\Tata\Pulpit\Kopia blender\.blender\icons\blender's iconset.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90"
- d=""
- inkscape:connector-curvature="0" />
- <g
- inkscape:export-ydpi="96"
- inkscape:export-xdpi="96"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- style="display:inline;opacity:1;fill:#ffffff;stroke-width:1.15384436;enable-background:new"
- id="g22419"
- transform="matrix(-0.866668,0,0,0.866668,728.467,163.39943)" />
- <g
- style="display:inline;fill:#ffffff;stroke:#666666;enable-background:new"
- id="g22765"
- transform="translate(29.999999)" />
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- transform="translate(46.999999,3)"
- id="g23484" />
- <g
- style="display:inline;fill:#ffffff;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;enable-background:new"
- inkscape:export-ydpi="96"
- inkscape:export-xdpi="96"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- id="g22604"
- transform="translate(420,147)">
- <g
- style="display:inline;fill:#ffffff;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;enable-background:new"
- transform="matrix(0,-1,-1,0,688.99474,-44.97944)"
- id="g22557" />
- </g>
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g22477"
- transform="rotate(180,475,353.5)" />
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- transform="translate(2.9786369,-3.978636)"
- id="g22894" />
- <g
- transform="matrix(-1,0,0,1,761,0)"
- id="g23294"
- style="display:inline;fill:#ffffff;enable-background:new" />
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- transform="rotate(90,681.00003,3.9999745)"
- id="g23519" />
- <g
- id="g23547"
- style="display:inline;opacity:1;fill:#ffffff;enable-background:new"
- transform="matrix(-1,0,0,1,985.8323,-544.99999)" />
- <g
- id="g6085"
- style="fill:#ffffff">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 199.5,221.00391 c -0.67616,-0.01 -0.67616,1.00956 0,1 h 1.5 v 1.08789 c -2.83241,0.47934 -5.00001,2.94243 -5,5.9082 0,3.30787 2.69334,6 6.00195,6 3.30861,0 6.00196,-2.69214 6.00196,-6 0,-1.22417 -0.37149,-2.36223 -1.00391,-3.3125 a 0.50005,0.50005 0 0 0 0.10352,-0.0801 l 1.75,-1.75 a 0.50005,0.50005 0 0 0 -0.36329,-0.85937 0.50005,0.50005 0 0 0 -0.34375,0.15234 l -1.75,1.75 a 0.50005,0.50005 0 0 0 -0.0117,0.0137 C 205.28833,223.73959 203.73131,223 202.00195,223 c -6.5e-4,0 -0.001,0 -0.002,0 v -0.99609 h 1.5 c 0.67616,0.01 0.67616,-1.00956 0,-1 z M 202.00195,224 c 2.76833,0 5.00196,2.23273 5.00196,5 0,2.76726 -2.23363,5 -5.00196,5 C 199.23362,234 197,231.76727 197,229 c -1e-5,-2.76727 2.23362,-5 5.00195,-5 z"
- id="path17270"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="M 201.49219,224.99609 A 0.50005,0.50005 0 0 0 201,225.50391 v 3.91992 a 0.50005,0.50005 0 0 0 0.11328,0.40429 0.50005,0.50005 0 0 0 0.0156,0.0195 0.50005,0.50005 0 0 0 0.0176,0.0176 0.50005,0.50005 0 0 0 0.004,0.002 0.50005,0.50005 0 0 0 0.0332,0.0312 0.50005,0.50005 0 0 0 0.004,0.002 0.50005,0.50005 0 0 0 0.39453,0.10352 H 204.5 a 0.50005,0.50005 0 1 0 0,-1 H 202 v -3.5 a 0.50005,0.50005 0 0 0 -0.50781,-0.50782 z"
- id="path17274"
- inkscape:connector-curvature="0" />
- </g>
- <g
- id="g6171"
- style="fill:#ffffff">
- <path
- sodipodi:nodetypes="cccccccccccccccccccccccccccccccccccc"
- inkscape:connector-curvature="0"
- id="path17287"
- d="m 405.5,476.00781 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 3 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 0.99999,-1e-5 1.99999,10e-6 3,0 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -3 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z m 5,1.99219 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 3 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 1,0 1.99999,10e-6 3,0 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -3 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 -1,0 -1.99999,-10e-6 -3,0 z m -5,3.00781 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 3 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 0.99999,-1e-5 1.99999,10e-6 3,0 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -3 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z m 5,1.99219 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 3 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 0.99999,-10e-6 1.99999,10e-6 3,0 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -3 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.00000036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:7.40000248;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" />
- <g
- id="g17301"
- style="display:inline;opacity:0.6;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:1.00000036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:7.40000248;stroke-opacity:1;enable-background:new"
- transform="translate(-41.999692,86.008184)">
- <path
- inkscape:connector-curvature="0"
- id="path17299"
- d="m 452.49219,387 a 0.50005018,0.50005018 0 0 0 -0.5,0.5 v 3.00781 a 0.50005018,0.50005018 0 0 0 0.5,0.5 c 1.00252,0 2.00529,0 3.00781,0 a 0.50005018,0.50005018 0 0 0 0.5,-0.5 V 387.5 a 0.50005018,0.50005018 0 0 0 -0.5,-0.5 c -1.00252,0 -2.0053,0 -3.00781,0 z m 0.5,1 c 0.66922,0 1.33859,0 2.00781,0 v 2.00781 c -0.66922,0 -1.3386,0 -2.00781,0 z m 4.50781,1.98438 a 0.50005018,0.50005018 0 0 0 -0.5,0.5 v 3.00781 a 0.50005018,0.50005018 0 0 0 0.5,0.5 c 1.00252,0 2.0053,0 3.00781,0 a 0.50005018,0.50005018 0 0 0 0.5,-0.5 v -3.00781 a 0.50005018,0.50005018 0 0 0 -0.5,-0.5 c -1.00252,0 -2.00529,0 -3.00781,0 z m 0.5,1 c 0.66922,-10e-6 1.3386,0 2.00781,0 v 2.00781 c -0.66922,0 -1.33859,0 -2.00781,0 z m -0.49219,4 a 0.50005018,0.50005018 0 0 0 -0.5,0.5 v 3.00781 a 0.50005018,0.50005018 0 0 0 0.5,0.5 c 1.00253,0 2.0053,0 3.00781,0 a 0.50005018,0.50005018 0 0 0 0.5,-0.5 v -3.00781 a 0.50005018,0.50005018 0 0 0 -0.5,-0.5 c -1.00252,0 -2.00529,0 -3.00781,0 z m 0.5,1 c 0.66922,-10e-6 1.3386,0 2.00781,0 v 2.00781 c -0.66921,0 -1.33859,0 -2.00781,0 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.00000036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:7.40000248;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
+ <g inkscape:groupmode="layer" id="layer8" inkscape:label="2.81" style="display:inline">
+ <path inkscape:connector-curvature="0" id="path6587" d="M 61.503909,123 A 6.5039066,6.5039066 0 0 1 55.000003,129.50391 6.5039066,6.5039066 0 0 1 48.496097,123 6.5039066,6.5039066 0 0 1 55.000003,116.4961 6.5039066,6.5039066 0 0 1 61.503909,123 Z" style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
+ <g id="g10975" transform="translate(-378.00707,-293.99994)" style="display:inline;opacity:1;fill:#ffffff;enable-background:new" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" inkscape:export-xdpi="96" inkscape:export-ydpi="96"/>
+ <g id="g10009" transform="translate(5.3904633e-4,-20.999933)" style="display:inline;opacity:1;fill:#ffffff;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;enable-background:new" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" inkscape:export-xdpi="96" inkscape:export-ydpi="96"/>
+ <g transform="translate(-380,231)" style="display:inline;opacity:1;fill:#ffffff;enable-background:new" id="g12153" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" inkscape:export-xdpi="96" inkscape:export-ydpi="96"/>
+ <g style="display:inline;opacity:1;fill:#ffffff;enable-background:new" transform="translate(-336.00001,210.00001)" id="g12215" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" inkscape:export-xdpi="96" inkscape:export-ydpi="96"/>
+ <g style="display:inline;fill:#ffffff;enable-background:new" id="g12492" transform="translate(20.999999)" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" inkscape:export-xdpi="96" inkscape:export-ydpi="96"/>
+ <g id="g12457" transform="matrix(0.69230791,0,0,0.69230793,-403.07713,196.14887)" style="display:inline;opacity:1;fill:#ffffff;stroke-width:1.44444394;enable-background:new" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" inkscape:export-xdpi="96" inkscape:export-ydpi="96"/>
+ <g style="display:inline;fill:#ffffff;enable-background:new" id="g12921" transform="translate(21.999999,-3)" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" inkscape:export-xdpi="96" inkscape:export-ydpi="96"/>
+ <g style="display:inline;opacity:0.41300001;fill:#ffffff;enable-background:new" id="g5202-0" transform="translate(496.99495,-311.99288)" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" inkscape:export-xdpi="96" inkscape:export-ydpi="96"/>
+ <g style="display:inline;fill:#ffffff;enable-background:new" id="g13534" transform="translate(-9.5367432e-7,21)" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" inkscape:export-xdpi="96" inkscape:export-ydpi="96"/>
+ <g style="display:inline;opacity:1;fill:#ffffff;enable-background:new" id="g13838" transform="rotate(90,160.07935,395.5873)" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" inkscape:export-xdpi="96" inkscape:export-ydpi="96">
+ <g id="g13835" transform="matrix(0,1,1,0,205.49208,-205.33334)" style="fill:#ffffff"/>
+ </g>
+ <g style="display:inline;opacity:0.98999999;fill:#ffffff;enable-background:new" id="g6922" transform="translate(-378.0172,105)" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" inkscape:export-xdpi="96" inkscape:export-ydpi="96">
+ <circle r="0" cy="162.5" cx="415.5" style="opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke" id="ellipse13645"/>
+ </g>
+ <g style="display:inline;fill:#ffffff;stroke-width:1.15384614;enable-background:new" id="g14341" transform="translate(-441.00001,525.00001)"/>
+ <g style="display:inline;fill:#ffffff;enable-background:new" id="g14199" transform="translate(-9.5367432e-7,20)"/>
+ <g style="display:inline;fill:#ffffff;stroke:#666666;enable-background:new" id="g14215" inkscape:transform-center-x="-1.2499" inkscape:transform-center-y="9.9999999e-006" transform="matrix(0,-1,-1,0,723.9999,577.00011)"/>
+ <g style="display:inline;fill:#ffffff;enable-background:new" id="g14644" transform="translate(-9.5367432e-7,30)"/>
+ <circle transform="scale(-1)" cy="-286.5" cx="-353.50003" id="ellipse14264" style="display:inline;opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;enable-background:new" r="0"/>
+ <g style="display:inline;fill:#ffffff;enable-background:new" id="g13212" transform="rotate(-180,454.00583,490.49795)" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" inkscape:export-xdpi="96" inkscape:export-ydpi="96"/>
+ <g transform="translate(-105,22)" id="g13043" style="display:inline;opacity:0.4;fill:#ffffff;enable-background:new">
+ <g id="g13161" style="fill:#ffffff"/>
+ </g>
+ <path inkscape:export-ydpi="96" inkscape:export-xdpi="96" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" id="circle21483" style="display:inline;opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;enable-background:new" r="4" cy="335.5" cx="493.5" d="" inkscape:connector-curvature="0"/>
+ <circle r="0" cx="456.5" cy="420.50391" id="ellipse20722" style="display:inline;opacity:0.1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;enable-background:new"/>
+ <g style="display:inline;fill:#ffffff;enable-background:new" inkscape:export-ydpi="96" inkscape:export-xdpi="96" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" transform="translate(71.999999)" id="g22120"/>
+ <path cx="306.99524" cy="291.97034" r="4.4703369" style="display:inline;opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;enable-background:new" id="path24502" inkscape:export-filename="C:\Documents and Settings\Tata\Pulpit\Kopia blender\.blender\icons\blender's iconset.png" inkscape:export-xdpi="90" inkscape:export-ydpi="90" d="" inkscape:connector-curvature="0"/>
+ <g inkscape:export-ydpi="96" inkscape:export-xdpi="96" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" style="display:inline;opacity:1;fill:#ffffff;stroke-width:1.15384436;enable-background:new" id="g22419" transform="matrix(-0.866668,0,0,0.866668,728.467,163.39943)"/>
+ <g style="display:inline;fill:#ffffff;stroke:#666666;enable-background:new" id="g22765" transform="translate(29.999999)"/>
+ <g style="display:inline;fill:#ffffff;enable-background:new" transform="translate(46.999999,3)" id="g23484"/>
+ <g style="display:inline;fill:#ffffff;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;enable-background:new" inkscape:export-ydpi="96" inkscape:export-xdpi="96" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" id="g22604" transform="translate(420,147)">
+ <g style="display:inline;fill:#ffffff;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;enable-background:new" transform="matrix(0,-1,-1,0,688.99474,-44.97944)" id="g22557"/>
+ </g>
+ <g style="display:inline;fill:#ffffff;enable-background:new" id="g22477" transform="rotate(180,475,353.5)"/>
+ <g style="display:inline;fill:#ffffff;enable-background:new" transform="translate(2.9786369,-3.978636)" id="g22894"/>
+ <g transform="matrix(-1,0,0,1,761,0)" id="g23294" style="display:inline;fill:#ffffff;enable-background:new"/>
+ <g style="display:inline;fill:#ffffff;enable-background:new" transform="rotate(90,681.00003,3.9999745)" id="g23519"/>
+ <g id="g23547" style="display:inline;opacity:1;fill:#ffffff;enable-background:new" transform="matrix(-1,0,0,1,985.8323,-544.99999)"/>
+ <g id="g6085" style="fill:#ffffff">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 199.5,221.00391 c -0.67616,-0.01 -0.67616,1.00956 0,1 h 1.5 v 1.08789 c -2.83241,0.47934 -5.00001,2.94243 -5,5.9082 0,3.30787 2.69334,6 6.00195,6 3.30861,0 6.00196,-2.69214 6.00196,-6 0,-1.22417 -0.37149,-2.36223 -1.00391,-3.3125 a 0.50005,0.50005 0 0 0 0.10352,-0.0801 l 1.75,-1.75 a 0.50005,0.50005 0 0 0 -0.36329,-0.85937 0.50005,0.50005 0 0 0 -0.34375,0.15234 l -1.75,1.75 a 0.50005,0.50005 0 0 0 -0.0117,0.0137 C 205.28833,223.73959 203.73131,223 202.00195,223 c -6.5e-4,0 -0.001,0 -0.002,0 v -0.99609 h 1.5 c 0.67616,0.01 0.67616,-1.00956 0,-1 z M 202.00195,224 c 2.76833,0 5.00196,2.23273 5.00196,5 0,2.76726 -2.23363,5 -5.00196,5 C 199.23362,234 197,231.76727 197,229 c -1e-5,-2.76727 2.23362,-5 5.00195,-5 z" id="path17270" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="M 201.49219,224.99609 A 0.50005,0.50005 0 0 0 201,225.50391 v 3.91992 a 0.50005,0.50005 0 0 0 0.11328,0.40429 0.50005,0.50005 0 0 0 0.0156,0.0195 0.50005,0.50005 0 0 0 0.0176,0.0176 0.50005,0.50005 0 0 0 0.004,0.002 0.50005,0.50005 0 0 0 0.0332,0.0312 0.50005,0.50005 0 0 0 0.004,0.002 0.50005,0.50005 0 0 0 0.39453,0.10352 H 204.5 a 0.50005,0.50005 0 1 0 0,-1 H 202 v -3.5 a 0.50005,0.50005 0 0 0 -0.50781,-0.50782 z" id="path17274" inkscape:connector-curvature="0"/>
+ </g>
+ <g id="g6171" style="fill:#ffffff">
+ <path sodipodi:nodetypes="cccccccccccccccccccccccccccccccccccc" inkscape:connector-curvature="0" id="path17287" d="m 405.5,476.00781 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 3 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 0.99999,-1e-5 1.99999,10e-6 3,0 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -3 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z m 5,1.99219 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 3 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 1,0 1.99999,10e-6 3,0 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -3 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 -1,0 -1.99999,-10e-6 -3,0 z m -5,3.00781 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 3 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 0.99999,-1e-5 1.99999,10e-6 3,0 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -3 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z m 5,1.99219 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 3 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 0.99999,-10e-6 1.99999,10e-6 3,0 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -3 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.00000036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:7.40000248;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"/>
+ <g id="g17301" style="display:inline;opacity:0.6;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:1.00000036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:7.40000248;stroke-opacity:1;enable-background:new" transform="translate(-41.999692,86.008184)">
+ <path inkscape:connector-curvature="0" id="path17299" d="m 452.49219,387 a 0.50005018,0.50005018 0 0 0 -0.5,0.5 v 3.00781 a 0.50005018,0.50005018 0 0 0 0.5,0.5 c 1.00252,0 2.00529,0 3.00781,0 a 0.50005018,0.50005018 0 0 0 0.5,-0.5 V 387.5 a 0.50005018,0.50005018 0 0 0 -0.5,-0.5 c -1.00252,0 -2.0053,0 -3.00781,0 z m 0.5,1 c 0.66922,0 1.33859,0 2.00781,0 v 2.00781 c -0.66922,0 -1.3386,0 -2.00781,0 z m 4.50781,1.98438 a 0.50005018,0.50005018 0 0 0 -0.5,0.5 v 3.00781 a 0.50005018,0.50005018 0 0 0 0.5,0.5 c 1.00252,0 2.0053,0 3.00781,0 a 0.50005018,0.50005018 0 0 0 0.5,-0.5 v -3.00781 a 0.50005018,0.50005018 0 0 0 -0.5,-0.5 c -1.00252,0 -2.00529,0 -3.00781,0 z m 0.5,1 c 0.66922,-10e-6 1.3386,0 2.00781,0 v 2.00781 c -0.66922,0 -1.33859,0 -2.00781,0 z m -0.49219,4 a 0.50005018,0.50005018 0 0 0 -0.5,0.5 v 3.00781 a 0.50005018,0.50005018 0 0 0 0.5,0.5 c 1.00253,0 2.0053,0 3.00781,0 a 0.50005018,0.50005018 0 0 0 0.5,-0.5 v -3.00781 a 0.50005018,0.50005018 0 0 0 -0.5,-0.5 c -1.00252,0 -2.00529,0 -3.00781,0 z m 0.5,1 c 0.66922,-10e-6 1.3386,0 2.00781,0 v 2.00781 c -0.66921,0 -1.33859,0 -2.00781,0 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.00000036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:7.40000248;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
+ </g>
+ </g>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 201.5,389 a 0.50005,0.50005 0 0 0 -0.41406,0.2207 l -5.75,8.5 a 0.50005,0.50005 0 0 0 -0.0254,0.041 C 195.09791,398.15241 195,398.57992 195,399 c 0,1.21742 0.89627,2.23231 2.16602,2.91602 C 198.43576,402.59972 200.13233,403 202,403 c 1.86767,0 3.56424,-0.40028 4.83398,-1.08398 C 208.10373,401.23231 209,400.21742 209,399 c 0,-0.41956 -0.0964,-0.84696 -0.3125,-1.24023 a 0.50005,0.50005 0 0 0 -0.0234,-0.0391 l -5.75,-8.5 A 0.50005,0.50005 0 0 0 202.5,389 Z m 0.26562,1 h 0.46876 l 5.58007,8.24805 C 207.94195,398.48303 208,398.73145 208,399 c 0,0.71558 -0.55783,1.45211 -1.64062,2.03516 C 205.27658,401.6182 203.72216,402 202,402 c -1.72216,0 -3.27658,-0.3818 -4.35938,-0.96484 C 196.55783,400.45211 196,399.71558 196,399 c 0,-0.26272 0.0617,-0.52241 0.1875,-0.75586 z" id="path17361" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 55,389 c -3.86012,0 -7,3.13988 -7,7 0,3.86012 3.13988,7 7,7 3.86012,0 7,-3.13988 7,-7 0,-3.86012 -3.13988,-7 -7,-7 z m 0,1 c 3.31968,0 6,2.68032 6,6 0,3.31968 -2.68032,6 -6,6 -3.31968,0 -6,-2.68032 -6,-6 0,-3.31968 2.68032,-6 6,-6 z" id="path17412" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="M 6.5,389 A 0.50005,0.50005 0 0 0 6,389.5 v 13 a 0.50005,0.50005 0 0 0 0.5,0.5 h 13 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -13 A 0.50005,0.50005 0 0 0 19.5,389 Z m 0.5,1 h 12 v 12 H 7 Z" id="rect17430" inkscape:connector-curvature="0"/>
+ <path inkscape:connector-curvature="0" id="path17434" d="m 27.5,410 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 3 a 0.50005,0.50005 0 0 0 0.5,0.5 h 0.949219 L 32,420.62695 V 423.5 a 0.50005,0.50005 0 0 0 0.5,0.5 h 3 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -2.87305 L 39.550781,414 H 40.5 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -3 A 0.50005,0.50005 0 0 0 40.5,410 h -3 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 0.5 h -6 v -0.5 A 0.50005,0.50005 0 0 0 30.5,410 Z m 0.5,1 h 2 v 2 h -2 z m 10,0 h 2 v 2 h -2 z m -7,1 h 6 v 1.5 a 0.50005,0.50005 0 0 0 0.5,0.5 h 0.914062 l -3.214843,6 h -2.398438 l -3.214843,-6 H 30.5 a 0.50005,0.50005 0 0 0 0.5,-0.5 z m 2,9 h 2 v 2 h -2 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
+ <g id="g17481" style="display:inline;opacity:1;fill:#ffffff;enable-background:new" transform="translate(-332.00634,585.99911)" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" inkscape:export-xdpi="96" inkscape:export-ydpi="96">
+ <g style="opacity:0.7;fill:#ffffff;stroke-width:1.1535517" transform="matrix(0.86707513,0,0,0.86670066,799.68613,161.07329)" id="g17477">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 432.96875,577.99609 a 0.50015801,0.499942 0 0 0 -0.0488,0.006 0.50015801,0.499942 0 0 0 -0.0879,0.0215 c -0.22504,0.005 -0.45054,4.4e-4 -0.67383,0.0273 -1.50924,0.18184 -2.95823,0.85326 -4.0957,1.98242 -2.27494,2.25834 -2.72493,5.78034 -1.08984,8.53711 1.26078,2.1257 3.51721,3.36761 5.89257,3.41407 6.5e-4,10e-6 10e-4,-2e-5 0.002,0 a 0.50015801,0.499942 0 0 0 0.32031,-0.01 c 0.60037,-0.016 1.20402,-0.0867 1.80078,-0.26367 a 0.50073965,0.5005234 0 1 0 -0.28516,-0.95899 c -0.52501,0.15567 -1.05482,0.21548 -1.58203,0.22657 -0.32205,-0.21838 -0.86207,-0.82158 -1.28906,-1.77344 -0.15847,-0.35327 -0.29568,-0.76712 -0.41992,-1.20508 H 433.5 a 0.50043241,0.50021629 0 1 0 0,-1 h -2.31641 C 431.07457,586.38509 431,585.72514 431,585 c 0,-0.72848 0.074,-1.38791 0.18359,-2 h 3.5625 c 0.15752,0.77172 0.25391,1.61389 0.25391,2.5 a 0.50015801,0.499942 0 1 0 1,0 c 0,-0.883 -0.0936,-1.71998 -0.24023,-2.5 h 2.88671 c 0.41677,1.17713 0.47801,2.4832 0.0937,3.74609 a 0.50015801,0.499942 0 1 0 0.95704,0.28907 c 0.93293,-3.06617 -0.34127,-6.37791 -3.08789,-8.03125 -1.07945,-0.64978 -2.27964,-0.96925 -3.47657,-0.99219 a 0.50015801,0.499942 0 0 0 -0.14648,-0.0156 0.50015801,0.499942 0 0 0 -0.0176,0 z m 0.0273,1.13086 c 0.3107,0.30928 0.79344,0.97648 1.16602,1.90039 0.12076,0.29947 0.23379,0.62673 0.33594,0.97266 h -3.08399 c 0.12298,-0.42695 0.25956,-0.8299 0.41602,-1.17578 0.37038,-0.81882 0.82294,-1.39159 1.16601,-1.69727 z m 1.33789,0.0312 c 0.60769,0.13919 1.20278,0.36589 1.75977,0.70118 0.89497,0.53872 1.60631,1.28287 2.10156,2.14062 h -2.66797 c -0.12978,-0.47868 -0.2726,-0.9368 -0.4375,-1.3457 -0.23548,-0.58396 -0.48644,-1.07928 -0.75586,-1.4961 z m -2.70507,0.0156 c -0.24979,0.35295 -0.49203,0.75628 -0.71094,1.24023 -0.21038,0.4651 -0.38853,1.0058 -0.53906,1.58594 h -2.5586 c 0.26045,-0.4489 0.56294,-0.87823 0.94531,-1.25781 0.81076,-0.80484 1.80942,-1.32143 2.86329,-1.56836 z m -4.26758,3.80664 A 0.50043241,0.50021629 0 0 0 427.50195,583 h 2.66993 C 430.0701,583.62227 430,584.28017 430,585 c 0,0.71751 0.0707,1.37536 0.17188,2 h -2.66993 a 0.50043241,0.50021629 0 0 0 -0.14648,0.0234 c -0.47566,-1.32219 -0.45827,-2.74775 0.006,-4.04297 z M 427.80469,588 h 2.57226 c 0.15111,0.59053 0.32906,1.14077 0.54102,1.61328 0.21198,0.47256 0.44409,0.86643 0.68555,1.21289 -1.53987,-0.36784 -2.91769,-1.3294 -3.76954,-2.76562 -0.0116,-0.0196 -0.0179,-0.0409 -0.0293,-0.0606 z" transform="matrix(1.1533026,0,0,1.1538009,-539.37632,-861.97281)" id="path17465" inkscape:connector-curvature="0"/>
+ <path cx="-40.000011" cy="-186.99979" r="7.5" id="path17471" style="opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:1.1535517;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke" d="" inkscape:connector-curvature="0"/>
+ </g>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 767.49023,1 c -0.3497,0.00648 -0.58488,0.3607678 -0.45507,0.6855469 l 2,5 c 0.1836,0.4628079 0.85703,0.4022128 0.95507,-0.085937 l 0.43946,-2.1738282 2.16797,-0.4355468 c 0.48875,-0.096787 0.55077,-0.7707095 0.0879,-0.9550782 l -5,-2 C 767.62345,1.0105047 767.55703,0.99855041 767.49023,1 Z" id="path17479" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccccccc"/>
+ </g>
+ <g transform="translate(41.999988,1.0000045)" id="g10697" style="display:inline;opacity:1;fill:#ffffff;enable-background:new" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" inkscape:export-xdpi="96" inkscape:export-ydpi="96">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 35.744141,52.003906 c -0.89409,0.01843 -1.828792,0.373713 -2.597657,1.142578 l -5,5 c -0.837869,0.83787 -1.178323,2.041781 -1.11914,3.226563 0.05918,1.184782 0.515289,2.376617 1.36914,3.230469 0.852133,0.852132 2.037527,1.314671 3.220704,1.376953 1.183176,0.06228 2.389387,-0.280013 3.236328,-1.126953 l 6,-6 a 0.50005,0.50005 0 1 0 -0.707032,-0.707032 l -6,6 c -0.60312,0.603121 -1.522254,0.886172 -2.476562,0.835938 -0.954308,-0.05023 -1.918539,-0.43807 -2.566406,-1.085938 -0.646149,-0.646148 -1.030262,-1.616046 -1.078125,-2.574218 -0.04786,-0.958173 0.23781,-1.878436 0.828125,-2.46875 l 5,-5 c 1.184971,-1.184974 2.75871,-1.004381 3.554687,-0.248047 0.796393,0.756731 0.863064,2.416231 -0.261719,3.541015 l -4.5,4.5 c -0.592865,0.592866 -1.094745,0.448224 -1.417968,0.125 -0.323224,-0.323223 -0.467866,-0.825103 0.125,-1.417968 l 3.5,-3.5 a 0.50005,0.50005 0 1 0 -0.707032,-0.707032 l -3.5,3.5 c -0.907134,0.907135 -0.801776,2.155255 -0.125,2.832032 0.676777,0.676776 1.924897,0.782134 2.832032,-0.125 l 4.5,-4.5 c 1.483397,-1.483398 1.519845,-3.762437 0.24414,-4.97461 -0.60598,-0.5758 -1.459426,-0.89343 -2.353515,-0.875 z" id="path10693" inkscape:connector-curvature="0"/>
+ <rect style="opacity:0;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke" id="rect10695" width="16" height="16" x="26" y="52" rx="0.5" ry="0.5"/>
+ </g>
+ <g style="display:inline;opacity:1;fill:#ffffff;enable-background:new" id="g10711" transform="translate(598,-637)" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" inkscape:export-xdpi="96" inkscape:export-ydpi="96">
+ <g transform="translate(-189)" id="g10709" style="fill:#ffffff">
+ <rect y="214.99997" x="-152" height="16" width="16" id="rect10699" style="display:inline;overflow:visible;visibility:visible;opacity:0;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.79999995;marker:none;enable-background:accumulate" transform="rotate(-90,-11.999985,564.99999)"/>
+ <g id="g10703" style="fill:#ffffff"/>
+ <path id="path10707" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m -350.42969,690.01758 c -0.79787,-0.038 -1.57177,0.27684 -2.16015,0.86523 l -1.48633,1.48828 c -0.61577,0.57533 -0.93433,1.35407 -0.89258,2.1543 a 0.50005,0.50005 0 1 0 0.99805,-0.0508 c -0.0269,-0.51495 0.15566,-0.98016 0.57617,-1.37305 a 0.50005,0.50005 0 0 0 0.0117,-0.0117 l 1.5,-1.5 c 0.41161,-0.41161 0.88966,-0.59872 1.40429,-0.57422 0.51464,0.0245 1.08439,0.26993 1.63868,0.82422 0.55479,0.5548 0.80954,1.13546 0.83789,1.65235 0.0283,0.51688 -0.15241,0.9848 -0.57422,1.3789 a 0.50005,0.50005 0 0 0 -0.0137,0.0117 l -1.5,1.5 c -0.41213,0.41213 -0.87694,0.60352 -1.39649,0.60352 a 0.50005,0.50005 0 1 0 0,1 c 0.78067,0 1.52491,-0.31788 2.10352,-0.89649 l 1.48828,-1.48828 c 0.61768,-0.57711 0.9366,-1.36125 0.89258,-2.16406 -0.044,-0.80281 -0.43566,-1.60948 -1.13086,-2.30469 -0.69571,-0.69571 -1.49901,-1.07724 -2.29688,-1.11523 z m -6.00976,6 c -0.80753,-0.0482 -1.5954,0.26944 -2.17578,0.89062 l -1.48829,1.48828 c -0.58838,0.58839 -0.90322,1.36034 -0.86523,2.15821 0.038,0.79787 0.41952,1.60311 1.11523,2.29883 0.69521,0.6952 1.50384,1.08487 2.30664,1.1289 0.80281,0.044 1.585,-0.27294 2.16211,-0.89062 l 1.48829,-1.48828 C -353.31787,701.0249 -353,700.28067 -353,699.5 a 0.50005,0.50005 0 1 0 -1,0 c 0,0.51955 -0.19139,0.98436 -0.60352,1.39648 l -1.5,1.5 a 0.50005,0.50005 0 0 0 -0.0117,0.0117 c -0.39411,0.42182 -0.86007,0.60452 -1.37696,0.57618 -0.51688,-0.0283 -1.0995,-0.2831 -1.65429,-0.8379 -0.55429,-0.55428 -0.79776,-1.12404 -0.82227,-1.63867 -0.0245,-0.51463 0.16065,-0.99268 0.57227,-1.40429 l 1.5,-1.5 a 0.50005,0.50005 0 0 0 0.0117,-0.0117 c 0.39634,-0.4242 0.86629,-0.60725 1.38672,-0.57618 a 0.50005,0.50005 0 1 0 0.0586,-0.99804 z m 4.92968,-2.02149 a 0.50005,0.50005 0 0 0 -0.34375,0.15039 l -5,5 a 0.50005,0.50005 0 1 0 0.70704,0.70704 l 5,-5 a 0.50005,0.50005 0 0 0 -0.36329,-0.85743 z" inkscape:connector-curvature="0"/>
+ </g>
+ </g>
+ <g transform="translate(-252,-252)" id="g10731" style="display:inline;opacity:1;fill:#ffffff;enable-background:new" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" inkscape:export-xdpi="96" inkscape:export-ydpi="96">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 328,368 c -3.86007,0 -7,3.13993 -7,7 0,3.86007 3.13993,7 7,7 3.86007,0 7,-3.13993 7,-7 0,-3.86007 -3.13993,-7 -7,-7 z m 0,1 c 3.31963,0 6,2.68037 6,6 0,3.31963 -2.68037,6 -6,6 -3.31963,0 -6,-2.68037 -6,-6 0,-3.31963 2.68037,-6 6,-6 z" id="path10721" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 327.12891,369.9668 a 1.0001,1.0001 0 0 0 -0.16797,0.0234 c -2.00329,0.41569 -3.57155,1.99062 -3.97656,3.9961 a 1.0003053,1.0003053 0 1 0 1.96093,0.39648 c 0.24758,-1.22589 1.19732,-2.17949 2.42188,-2.43359 a 1.0001,1.0001 0 0 0 -0.23828,-1.98242 z" id="path10723" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.80000001;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 332.49609,373.0957 a 0.40004001,0.40004001 0 0 0 -0.27929,0.6875 l 2,2 a 0.40050528,0.40050528 0 1 0 0.5664,-0.5664 l -2,-2 a 0.40004001,0.40004001 0 0 0 -0.28711,-0.1211 z m -0.75,2.25 a 0.40004001,0.40004001 0 0 0 -0.27929,0.6875 l 2,2 a 0.40050528,0.40050528 0 1 0 0.5664,-0.5664 l -2,-2 a 0.40004001,0.40004001 0 0 0 -0.28711,-0.1211 z m -1.25,1.75 a 0.40004001,0.40004001 0 0 0 -0.27929,0.6875 l 2,2 a 0.40050528,0.40050528 0 1 0 0.5664,-0.5664 l -2,-2 a 0.40004001,0.40004001 0 0 0 -0.28711,-0.1211 z m -1.75,1.25 a 0.40004001,0.40004001 0 0 0 -0.27929,0.6875 l 2,2 a 0.40050528,0.40050528 0 1 0 0.5664,-0.5664 l -2,-2 a 0.40004001,0.40004001 0 0 0 -0.28711,-0.1211 z m -2.23632,0.75 a 0.40004001,0.40004001 0 0 0 -0.27344,0.70508 l 2,1.75 a 0.40004001,0.40004001 0 1 0 0.52734,-0.60156 l -2,-1.75 a 0.40004001,0.40004001 0 0 0 -0.2539,-0.10352 z" id="path10727" inkscape:connector-curvature="0"/>
+ </g>
+ <g style="display:inline;fill:#ffffff;enable-background:new" id="g15743" transform="translate(221,4.4999696e-6)" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" inkscape:export-xdpi="96" inkscape:export-ydpi="96">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="M -98.580078,578 C -99.98888,578 -101,579.16322 -101,580.5 a 0.50005,0.50005 0 1 0 1,0 c 0,-0.87198 0.530524,-1.5 1.419922,-1.5 0.889383,0 1.580078,0.67678 1.580078,1.5 0,0.82323 -0.69069,1.49999 -1.580078,1.5 h -4.914062 a 0.50005,0.50005 0 1 0 0,1 h 4.914062 C -97.171286,582.99999 -96,581.88555 -96,580.5 c 0,-1.38554 -1.171281,-2.5 -2.580078,-2.5 z m -8.916012,0.004 c -1.38554,0 -2.5,1.17128 -2.5,2.58007 0,1.40881 1.16321,2.41797 2.5,2.41797 a 0.50005,0.50005 0 1 0 0,-1 c -0.87198,0 -1.5,-0.52857 -1.5,-1.41797 0,-0.88938 0.67678,-1.58007 1.5,-1.58007 0.82323,0 1.49804,0.69069 1.49804,1.58007 v 4.91211 a 0.50005,0.50005 0 1 0 1,0 v -4.91211 c -10e-6,-1.40879 -1.1125,-2.58007 -2.49804,-2.58007 z m 6.98828,5.98828 A 0.50005,0.50005 0 0 0 -101,584.5 v 4.91211 c 1e-5,1.40879 1.114453,2.58008 2.5,2.58008 1.385539,0 2.5,-1.17128 2.5,-2.58008 0,-1.4088 -1.163215,-2.41992 -2.5,-2.41992 a 0.50005,0.50005 0 1 0 0,1 c 0.871975,0 1.5,0.53052 1.5,1.41992 0,0.88938 -0.676779,1.58008 -1.5,1.58008 -0.823233,0 -1.499992,-0.69069 -1.5,-1.58008 V 584.5 a 0.50005,0.50005 0 0 0 -0.50781,-0.50781 z m -6.90821,3.0039 c -1.40879,2e-5 -2.58007,1.11446 -2.58007,2.5 0,1.38554 1.17128,2.5 2.58007,2.5 1.40881,0 2.41993,-1.16321 2.41993,-2.5 a 0.50005,0.50005 0 1 0 -1,0 c 0,0.87198 -0.53053,1.5 -1.41993,1.5 -0.88938,0 -1.58007,-0.67678 -1.58007,-1.5 0,-0.82323 0.69069,-1.49999 1.58007,-1.5 h 4.91211 a 0.50005,0.50005 0 1 0 0,-1 z" id="path10848" inkscape:connector-curvature="0"/>
+ </g>
+ <g transform="translate(-84.000002,1.45e-5)" id="g10880" style="display:inline;opacity:1;fill:#ffffff;enable-background:new" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" inkscape:export-xdpi="96" inkscape:export-ydpi="96">
+ <g transform="translate(-523,-55.999969)" id="g10853" style="fill:#ffffff"/>
+ <g id="g10878" style="fill:#ffffff">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="M 157.49219,453.99222 A 0.50005,0.50005 0 0 0 157,454.50003 v 4 a 0.50005,0.50005 0 1 0 1,0 v -4 a 0.50005,0.50005 0 0 0 -0.50781,-0.50781 z" id="path10874" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 80.476562,451.02148 a 0.50005,0.50005 0 0 0 -0.314453,0.8711 c 0.58809,0.54453 0.841797,1.0856 0.841797,1.60156 L 81,459.5 a 0.50005,0.50005 0 1 0 1,0 l 0.0039,-6.00586 c 0,-0.8509 -0.431789,-1.65971 -1.162109,-2.33594 a 0.50005,0.50005 0 0 0 -0.365235,-0.13672 z M 71.5625,452 C 69.59752,452 68,453.59753 68,455.5625 v 7.875 C 68,465.40247 69.59752,467 71.5625,467 h 3.875 C 77.40247,467 79,465.40247 79,463.4375 v -7.875 C 79,453.59753 77.40247,452 75.4375,452 Z m 0,1 h 3.875 C 76.86577,453 78,454.13423 78,455.5625 v 7.875 C 78,464.86577 76.86577,466 75.4375,466 h -3.875 C 70.13422,466 69,464.86577 69,463.4375 v -7.875 C 69,454.13423 70.13422,453 71.5625,453 Z m 11.929688,0.0371 A 0.50005,0.50005 0 0 0 83,453.54297 v 4.05859 a 0.50005,0.50005 0 1 0 1,0 v -4.05859 a 0.50005,0.50005 0 0 0 -0.507812,-0.50586 z" transform="translate(84.000002,-1.449997e-5)" id="rect10876" inkscape:connector-curvature="0"/>
+ </g>
+ </g>
+ <path inkscape:connector-curvature="0" id="path10927" d="m 10.484375,452 c -0.752,0 -1.4538175,0.239 -2.0234375,0.64453 C 7.5752675,453.27508 7,454.31514 7,455.48438 V 458.5 c 3e-5,0.27537 0.2226769,0.4989 0.4980469,0.5 l 4.0097651,0.008 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 L 12,452.53516 v -0.002 -0.0352 C 11.999,452.22272 11.77534,452.00003 11.5,452 Z M 13,452 v 1 h 1.515625 C 15.900145,453 17,454.09985 17,455.48438 v 8.03124 C 17,464.90014 15.900145,466 14.515625,466 h -4.03125 C 9.099855,466 8,464.90014 8,463.51562 V 460 H 7 v 3.51562 C 7,465.43685 8.563145,467 10.484375,467 h 4.03125 C 16.436855,467 18,465.43686 18,463.51562 v -8.03124 C 18,453.56315 16.436855,452 14.515625,452 Z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
+ <path inkscape:connector-curvature="0" id="rect10947" d="M 31.484375,452 C 29.563145,452 28,453.56315 28,455.48438 v 8.03124 C 28,465.43685 29.563145,467 31.484375,467 h 4.03125 C 37.436855,467 39,465.43685 39,463.51562 v -8.03124 C 39,453.56315 37.436855,452 35.515625,452 Z m 0,1 h 4.03125 C 36.900155,453 38,454.09985 38,455.48438 v 8.03124 C 38,464.90015 36.900155,466 35.515625,466 h -4.03125 C 30.099845,466 29,464.90015 29,463.51562 v -8.03124 C 29,454.09985 30.099845,453 31.484375,453 Z m 1.5625,1 C 32.475545,454 32,454.47555 32,455.04688 v 3.90624 C 32,459.52445 32.475545,460 33.046875,460 h 0.90625 C 34.524455,460 35,459.52445 35,458.95312 v -3.90624 C 35,454.47555 34.524455,454 33.953125,454 Z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 69.492188,306 a 0.50005,0.50005 0 1 0 0,1 h 12.99414 a 0.50005,0.50005 0 1 0 0,-1 z m 0,3 a 0.50005,0.50005 0 1 0 0,1 h 12.99414 a 0.50005,0.50005 0 1 0 0,-1 z m 0,3 a 0.50005,0.50005 0 1 0 0,1 h 12.99414 a 0.50005,0.50005 0 1 0 0,-1 z m 0,3 a 0.50005,0.50005 0 1 0 0,1 h 12.99414 a 0.50005,0.50005 0 1 0 0,-1 z m 0,3 a 0.50005,0.50005 0 1 0 0,1 h 12.99414 a 0.50005,0.50005 0 1 0 0,-1 z" id="path10850" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 48.492188,306 a 0.50005,0.50005 0 1 0 0,1 h 12.99414 a 0.50005,0.50005 0 1 0 0,-1 z m 7,3 a 0.50005,0.50005 0 1 0 0,1 h 5.99414 a 0.50005,0.50005 0 1 0 0,-1 z m -7,3 a 0.50005,0.50005 0 1 0 0,1 h 12.99414 a 0.50005,0.50005 0 1 0 0,-1 z m 7,3 a 0.50005,0.50005 0 1 0 0,1 h 5.99414 a 0.50005,0.50005 0 1 0 0,-1 z m -7,3 a 0.50005,0.50005 0 1 0 0,1 h 12.99414 a 0.50005,0.50005 0 1 0 0,-1 z" id="path10852" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 27.492188,306 a 0.50005,0.50005 0 1 0 0,1 h 12.99414 a 0.50005,0.50005 0 1 0 0,-1 z m 4,3 a 0.50005,0.50005 0 1 0 0,1 h 4.99414 a 0.50005,0.50005 0 1 0 0,-1 z m -4,3 a 0.50005,0.50005 0 1 0 0,1 h 12.99414 a 0.50005,0.50005 0 1 0 0,-1 z m 4,3 a 0.50005,0.50005 0 1 0 0,1 h 4.99414 a 0.50005,0.50005 0 1 0 0,-1 z m -4,3 a 0.50005,0.50005 0 1 0 0,1 h 12.99414 a 0.50005,0.50005 0 1 0 0,-1 z" id="path10854" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 6.5,306 a 0.50005,0.50005 0 1 0 0,1 h 12.992188 a 0.50005,0.50005 0 1 0 0,-1 z m 0,3 a 0.50005,0.50005 0 1 0 0,1 h 5.992188 a 0.50005,0.50005 0 1 0 0,-1 z m 0,3 a 0.50005,0.50005 0 1 0 0,1 h 12.992188 a 0.50005,0.50005 0 1 0 0,-1 z m 0,3 a 0.50005,0.50005 0 1 0 0,1 h 5.992188 a 0.50005,0.50005 0 1 0 0,-1 z m 0,3 a 0.50005,0.50005 0 1 0 0,1 h 12.992188 a 0.50005,0.50005 0 1 0 0,-1 z" id="path10856" inkscape:connector-curvature="0"/>
+ <g transform="translate(-462.00711,-314.99994)" id="g10872" style="display:inline;opacity:1;fill:#ffffff;enable-background:new" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" inkscape:export-xdpi="96" inkscape:export-ydpi="96">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:2.20000005;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 552.5,621 a 0.50005,0.50005 0 1 0 0,1 h 1.99219 a 0.50005,0.50005 0 1 0 0,-1 z m 4.02344,0 a 0.50005,0.50005 0 1 0 0,1 h 1.91601 a 0.50005,0.50005 0 1 0 0,-1 z m 3.9707,0 a 0.50005,0.50005 0 1 0 0,1 h 1.99805 a 0.50005,0.50005 0 1 0 0,-1 z m 3.99805,0 a 0.50005,0.50005 0 1 0 0,1 h 1 a 0.50005,0.50005 0 1 0 0,-1 z M 552.5,624 a 0.50005,0.50005 0 1 0 0,1 h 1 a 0.50005,0.50005 0 1 0 0,-1 z m 3,0 a 0.50005,0.50005 0 1 0 0,1 h 1.99805 a 0.50005,0.50005 0 1 0 0,-1 z m 4.05273,0 a 0.50005,0.50005 0 1 0 0,1 h 1.91797 a 0.50005,0.50005 0 1 0 0,-1 z m 3.94727,0 a 0.50005,0.50005 0 1 0 0,1 h 1.99219 a 0.50005,0.50005 0 1 0 0,-1 z m -11,3 a 0.50005,0.50005 0 1 0 0,1 h 1.99219 a 0.50005,0.50005 0 1 0 0,-1 z m 4.02344,0 a 0.50005,0.50005 0 1 0 0,1 h 1.91601 a 0.50005,0.50005 0 1 0 0,-1 z m 3.9707,0 a 0.50005,0.50005 0 1 0 0,1 h 1.99805 a 0.50005,0.50005 0 1 0 0,-1 z m 3.99805,0 a 0.50005,0.50005 0 1 0 0,1 h 1 a 0.50005,0.50005 0 1 0 0,-1 z M 552.5,630 a 0.50005,0.50005 0 1 0 0,1 h 1 a 0.50005,0.50005 0 1 0 0,-1 z m 3,0 a 0.50005,0.50005 0 1 0 0,1 h 1.99805 a 0.50005,0.50005 0 1 0 0,-1 z m 4.05273,0 a 0.50005,0.50005 0 1 0 0,1 h 1.91797 a 0.50005,0.50005 0 1 0 0,-1 z m 3.94727,0 a 0.50005,0.50005 0 1 0 0,1 h 1.99219 a 0.50005,0.50005 0 1 0 0,-1 z m -11,3 a 0.50005,0.50005 0 1 0 0,1 h 1.99219 a 0.50005,0.50005 0 1 0 0,-1 z m 4.02344,0 a 0.50005,0.50005 0 1 0 0,1 h 1.91601 a 0.50005,0.50005 0 1 0 0,-1 z m 3.9707,0 a 0.50005,0.50005 0 1 0 0,1 h 1.99805 a 0.50005,0.50005 0 1 0 0,-1 z m 3.99805,0 a 0.50005,0.50005 0 1 0 0,1 h 1 a 0.50005,0.50005 0 1 0 0,-1 z" id="path10870" inkscape:connector-curvature="0"/>
+ </g>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 201.49219,305 a 0.50005,0.50005 0 1 0 0,1 h 2.5039 l -0.002,0.14258 -4.95898,11.4082 a 0.50005,0.50005 0 0 0 -0.041,0.21289 L 199,318 h -2.50781 a 0.50005,0.50005 0 1 0 0,1 h 6 a 0.50005,0.50005 0 1 0 0,-1 H 200 a 0.50005,0.50005 0 0 0 0,-0.0137 l -0.004,-0.13867 4.95508,-11.39844 a 0.50005,0.50005 0 0 0 0.041,-0.19141 L 204.99609,306 h 2.4961 a 0.50005,0.50005 0 1 0 0,-1 z" id="path10892" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 216.49219,305 a 0.50005,0.50005 0 1 0 0,1 H 218 v 6.00391 c 0,2.19985 1.79782,3.99206 4,3.99609 h 1 a 0.50005,0.50005 0 0 0 0.002,0 c 2.20199,-0.005 3.998,-1.79624 3.998,-3.99609 V 306 h 1.49219 a 0.50005,0.50005 0 1 0 0,-1 h -4 a 0.50005,0.50005 0 1 0 0,1 H 226 v 6.00391 c 0,1.65832 -1.33799,2.99265 -3.00195,2.99609 H 222 c -1.66382,-0.003 -3,-1.33777 -3,-2.99609 V 306 h 1.49219 a 0.50005,0.50005 0 1 0 0,-1 z m 1,13 a 0.50005,0.50005 0 1 0 0,1 h 10 a 0.50005,0.50005 0 1 0 0,-1 z" id="path10901" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 111.5,305 a 0.50004997,0.50004997 0 0 0 -0.5,0.5 v 13 a 0.50004997,0.50004997 0 0 0 0.5,0.5 h 13 a 0.50004997,0.50004997 0 0 0 0.5,-0.5 v -13 a 0.50004997,0.50004997 0 0 0 -0.5,-0.5 z m 0.5,1 h 12 v 12 h -12 z" id="rect10983" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 113.49219,307 a 0.50005,0.50005 0 1 0 0,1 h 8.99414 a 0.50005,0.50005 0 1 0 0,-1 z m 0,2 a 0.50005,0.50005 0 1 0 0,1 h 8.99414 a 0.50005,0.50005 0 1 0 0,-1 z" id="path10977" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 132.5,305 a 0.50004997,0.50004997 0 0 0 -0.5,0.5 v 13 a 0.50004997,0.50004997 0 0 0 0.5,0.5 h 13 a 0.50004997,0.50004997 0 0 0 0.5,-0.5 v -13 a 0.50004997,0.50004997 0 0 0 -0.5,-0.5 z m 0.5,1 h 12 v 12 h -12 z" id="rect11046" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 134.49219,310 a 0.50005,0.50005 0 1 0 0,1 h 8.99414 a 0.50005,0.50005 0 1 0 0,-1 z m 0,2 a 0.50005,0.50005 0 1 0 0,1 h 8.99414 a 0.50005,0.50005 0 1 0 0,-1 z" id="path11048" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 153.5,305 a 0.50004997,0.50004997 0 0 0 -0.5,0.5 v 13 a 0.50004997,0.50004997 0 0 0 0.5,0.5 h 13 a 0.50004997,0.50004997 0 0 0 0.5,-0.5 v -13 a 0.50004997,0.50004997 0 0 0 -0.5,-0.5 z m 0.5,1 h 12 v 12 h -12 z" id="rect11050" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 155.49219,314 a 0.50005,0.50005 0 1 0 0,1 h 8.99414 a 0.50005,0.50005 0 1 0 0,-1 z m 0,2 a 0.50005,0.50005 0 1 0 0,1 h 8.99414 a 0.50005,0.50005 0 1 0 0,-1 z" id="path11052" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 177,305 a 1.0001,1.0001 0 0 0 -1,1 v 5.83203 a 1.0001,1.0001 0 0 0 0,0.32617 V 318 a 1.0001,1.0001 0 0 0 1,1 h 6 c 2.19729,0 4,-1.80271 4,-4 0,-1.76747 -1.1852,-3.22799 -2.78516,-3.75195 C 184.67235,310.59788 185,309.84948 185,309 c 0,-2.19729 -1.80271,-4 -4,-4 z m 1,2 h 3 c 1.11641,0 2,0.88359 2,2 0,1.11641 -0.88359,2 -2,2 h -3 z m 0,6 h 3 2 c 1.11641,0 2,0.88359 2,2 0,1.11641 -0.88359,2 -2,2 h -5 z" id="path10949" inkscape:connector-curvature="0"/>
+ <g transform="matrix(0,1,1,0,37.999948,363)" id="g11084" style="display:inline;opacity:1;fill:#ffffff;enable-background:new" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" inkscape:export-xdpi="96" inkscape:export-ydpi="96">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 202,473 c -3.86007,0 -7,3.13993 -7,7 0,3.86007 3.13993,7 7,7 3.86007,0 7,-3.13993 7,-7 0,-3.86007 -3.13993,-7 -7,-7 z m 0,1 c 1.09865,0 2,0.90135 2,2 0,1.09865 -0.90135,2 -2,2 -1.09865,0 -2,-0.90135 -2,-2 0,-1.09865 0.90135,-2 2,-2 z m -4,4 c 1.09865,0 2,0.90135 2,2 0,1.09865 -0.90135,2 -2,2 -1.09865,0 -2,-0.90135 -2,-2 0,-1.09865 0.90135,-2 2,-2 z m 8,0 c 1.09865,0 2,0.90135 2,2 0,1.09865 -0.90135,2 -2,2 -1.09865,0 -2,-0.90135 -2,-2 0,-1.09865 0.90135,-2 2,-2 z m -4,1 c 0.54636,0 1,0.45364 1,1 0,0.54636 -0.45364,1 -1,1 -0.54636,0 -1,-0.45364 -1,-1 0,-0.54636 0.45364,-1 1,-1 z m 0,3 c 1.09865,0 2,0.90135 2,2 0,1.09865 -0.90135,2 -2,2 -1.09865,0 -2,-0.90135 -2,-2 0,-1.09865 0.90135,-2 2,-2 z m 4.96484,4 a 0.50005,0.50005 0 0 0 -0.47265,0.49219 A 0.50005,0.50005 0 0 0 207,487 h 0.5 c 0.83333,0 1.14655,0.35353 1.64648,0.85352 a 0.50005,0.50005 0 1 0 0.70704,-0.70704 C 209.35355,486.64647 208.66667,486 207.5,486 H 207 a 0.50005,0.50005 0 0 0 -0.0352,0 z" transform="matrix(0,1,1,0,-363,-37.999948)" id="circle11078" inkscape:connector-curvature="0"/>
+ </g>
+ <g transform="translate(-1.8536743e-6,4.4999696e-6)" id="g13852" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" inkscape:export-xdpi="96" inkscape:export-ydpi="96" style="display:inline;fill:#ffffff;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;enable-background:new">
+ <g id="g11167" transform="matrix(0,-1,-1,0,688.99474,-44.97944)" style="display:inline;fill:#ffffff;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;enable-background:new"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.10000002;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 14.505859,263.01562 a 0.55005501,0.55005501 0 0 0 -0.05664,0.004 c -1.480032,0.16258 -2.81124,0.9768 -3.632813,2.21875 -0.754587,1.14068 -0.9438173,2.54615 -0.65039,3.875 l -3.5234379,3.52149 c -0.4164576,0.37981 -0.6354253,0.95498 -0.6601562,1.61328 -0.024627,0.65553 0.1896767,1.40646 0.7832031,2 0.5945619,0.59455 1.3481437,0.80114 1.9980469,0.76953 0.6519363,-0.0317 1.2112985,-0.25543 1.5917971,-0.63672 l 3.533203,-3.54297 c 1.328363,0.29148 2.734045,0.0991 3.873047,-0.6543 1.240498,-0.82051 2.05459,-2.151 2.21875,-3.6289 a 0.55005501,0.55005501 0 0 0 -0.160157,-0.45117 l -0.943359,-0.92969 a 0.55005501,0.55005501 0 0 0 -0.775391,0.002 l -1.80664,1.79883 h -0.589844 l -1.679687,-1.67969 v -0.58984 l 1.804687,-1.80078 a 0.55005501,0.55005501 0 0 0 0.0039,-0.77539 l -0.93164,-0.94727 a 0.55005501,0.55005501 0 0 0 -0.396485,-0.16602 z m -0.15625,1.17383 0.316407,0.32227 -1.580078,1.57617 a 0.55005501,0.55005501 0 0 0 -0.16211,0.39063 l 0.002,1.04687 a 0.55005501,0.55005501 0 0 0 0.16211,0.38672 l 2.001953,2.00195 a 0.55005501,0.55005501 0 0 0 0.388672,0.16211 l 1.046875,-0.002 a 0.55005501,0.55005501 0 0 0 0.386718,-0.16016 l 1.580079,-1.57422 0.318359,0.31446 c -0.183326,1.05859 -0.751902,2.01444 -1.654297,2.61132 -0.970627,0.64202 -2.219467,0.82961 -3.330078,0.49219 a 0.55005501,0.55005501 0 0 0 -0.548828,0.13672 l -3.699219,3.70899 c -0.1021327,0.10234 -0.4754005,0.29532 -0.8691406,0.31445 -0.395773,0.0192 -0.8021096,-0.0834 -1.1660156,-0.44727 -0.3650748,-0.36508 -0.4778317,-0.78393 -0.4628907,-1.18164 0.014838,-0.39496 0.2099663,-0.75541 0.3046875,-0.84179 a 0.55005501,0.55005501 0 0 0 0.017578,-0.0176 l 3.7070314,-3.70508 a 0.55005501,0.55005501 0 0 0 0.136719,-0.54883 c -0.339386,-1.11269 -0.154519,-2.36033 0.488281,-3.33203 0.59791,-0.90384 1.555081,-1.47203 2.615234,-1.6543 z" id="path11179" inkscape:connector-curvature="0"/>
+ </g>
+ <g transform="translate(62.999978,21.041695)" id="g11141" style="display:inline;opacity:1;fill:#ffffff;enable-background:new" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" inkscape:export-xdpi="96" inkscape:export-ydpi="96">
+ <g transform="translate(-126)" id="g11139" style="fill:#ffffff">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 206.72656,599 c -0.19328,-0.004 -0.38654,0.0132 -0.57422,0.0508 -0.75071,0.15014 -1.44693,0.5778 -2.00586,1.13672 l -2.14453,2.10742 -1.14843,-1.14844 a 0.50005,0.50005 0 0 0 -0.35938,-0.15234 0.50005,0.50005 0 0 0 -0.34766,0.85938 l 1.64649,1.64648 -4.64844,4.68945 A 0.50005,0.50005 0 0 0 197,608.54102 v 0.79296 l -1.85352,1.85352 a 0.50005,0.50005 0 1 0 0.70704,0.70703 l 2,-2 A 0.50005,0.50005 0 0 0 198,609.54102 v -0.79493 l 4.50195,-4.53711 1.29297,1.29297 -4.5039,4.53907 H 198.5 a 0.50005,0.50005 0 0 0 -0.35352,0.14648 l -2,2 a 0.50005,0.50005 0 1 0 0.70704,0.70703 l 1.85351,-1.85351 H 199.5 a 0.50005,0.50005 0 0 0 0.35547,-0.14844 l 4.64648,-4.6836 1.64453,1.64454 a 0.50005,0.50005 0 1 0 0.70704,-0.70704 l -1.14258,-1.14257 2.13867,-2.10547 0.004,-0.004 c 0.55892,-0.55893 0.98657,-1.25515 1.13671,-2.00586 0.15015,-0.75072 -0.0189,-1.58331 -0.63671,-2.20117 -0.4634,-0.46339 -1.04712,-0.67435 -1.62696,-0.6875 z" transform="translate(63.000022,-21.041695)" id="path11133" inkscape:connector-curvature="0"/>
+ </g>
+ </g>
+ <g style="display:inline;fill:#ffffff;enable-background:new" id="g13475" transform="translate(-21.000002,4.4999696e-6)">
+ <path sodipodi:nodetypes="ccccccccccccccccccccccccccccccccccccccccccccccccccccccc" mask="none" style="display:inline;opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;enable-background:new" d="m 111,515 v 2 h 2 v -2 z m 2,2 v 2 h 2 v -2 z m 2,0 h 2 v -2 h -2 z m 2,0 v 2 h 2 v -2 z m 2,0 h 2 v -2 h -2 z m 2,0 v 2 h 2 v -2 z m 2,0 h 2 v -2 h -2 z m 0,2 v 2 h 2 v -2 z m -10,2 v -2 h -2 v 2 z m 2,0 h 2 v -2 h -2 z m 4,0 h 2 v -2 h -2 z" id="path12185" inkscape:connector-curvature="0"/>
+ <g transform="translate(63,-231)" id="g12189" style="opacity:0.6;fill:#ffffff">
+ <path id="path12187" style="display:inline;opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;enable-background:new" d="m 48,753 v 3.5 c 0,0.82843 0.67157,1.5 1.5,1.5 0.82843,0 1.5,-0.67157 1.5,-1.5 V 756 c 0,-0.5 0.53412,-1 1,-1 0.55229,0 1,0.44772 1,1 v 2.5 c 0,0.82843 0.67157,1.5 1.5,1.5 0.82843,0 1.5,-0.67157 1.5,-1.5 V 757 c 0,-0.55228 0.44772,-1 1,-1 0.55229,0 1,-0.44771 1,-1 v -2 h -2 v 0 h -2 v 0 h -2 v 0 h -2 v 0 z" inkscape:connector-curvature="0" sodipodi:nodetypes="csssssssssssscccccccccc"/>
+ </g>
+ </g>
+ <g style="display:inline;fill:#ffffff;enable-background:new" transform="matrix(-1,0,0,1,88.999998,-231)" id="g12197">
+ <path inkscape:connector-curvature="0" id="path12191" transform="matrix(-1,0,0,1,90,231)" d="m 75,519 v 7 c 0,0.5 0.25,1 1,1 0.75,0 1,-0.5 1,-1 v -1 c 0,-0.5 0.53412,-1 1,-1 0.55229,0 1,0.44772 1,1 v 2.5 c 0,0.82843 0.67157,1.5 1.5,1.5 0.82843,0 1.5,-0.67157 1.5,-1.5 V 526 c 0,-0.55228 0.44772,-1 1,-1 0.55229,0 1,-0.44771 1,-1 v -3.08789 A 1.50015,1.50015 0 0 1 83.5,521 h -3 A 1.50015,1.50015 0 0 1 79,519.5 V 519 Z" style="display:inline;opacity:0.6;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;enable-background:new"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 16.5,746 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 1.5 h -6 v -0.5 A 0.50005,0.50005 0 0 0 9.5,747 h -3 A 0.50005,0.50005 0 0 0 6,747.5 v 3 a 0.50005,0.50005 0 0 0 0.5,0.5 h 3 A 0.50005,0.50005 0 0 0 10,750.5 V 749 h 6 v 0.5 a 0.50005,0.50005 0 0 0 0.5,0.5 h 3 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -3 A 0.50005,0.50005 0 0 0 19.5,746 Z m 0.5,1 h 2 v 2 h -2 z m -10,1 h 2 v 2 H 7 Z" id="path12195" inkscape:connector-curvature="0"/>
+ </g>
+ <g id="g17491" transform="matrix(0.875,0,0,0.875,264.125,159.75)" style="display:inline;opacity:1;fill:#ffffff;stroke-width:1.14285719;enable-background:new" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" inkscape:export-xdpi="96" inkscape:export-ydpi="96">
+ <rect y="430" x="257" height="16" width="16" id="rect17483" style="display:inline;overflow:visible;visibility:visible;opacity:0;fill:#ffffff;stroke:none;stroke-width:3.42857146;marker:none;enable-background:accumulate"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 496,535.9375 c -2.73936,0 -5.1213,1.56371 -6.29102,3.84961 -0.49329,0.96401 -0.77148,2.05765 -0.77148,3.21289 0,3.89459 3.16791,7.0625 7.0625,7.0625 3.89459,0 7.0625,-3.16791 7.0625,-7.0625 0,-3.89459 -3.16791,-7.0625 -7.0625,-7.0625 z m 0,1 c 3.35415,0 6.0625,2.70835 6.0625,6.0625 0,3.35415 -2.70834,6.0625 -6.0625,6.0625 -3.35415,0 -6.0625,-2.70835 -6.0625,-6.0625 0,-0.99492 0.23889,-1.93072 0.66211,-2.75781 1.00359,-1.96124 3.04116,-3.30469 5.40039,-3.30469 z M 496,538 a 0.99999996,0.99999996 0 0 0 -1,1 0.99999996,0.99999996 0 0 0 1,1 0.99999996,0.99999996 0 0 0 1,-1 0.99999996,0.99999996 0 0 0 -1,-1 z m -2.82422,1.16211 a 1.0001001,1.0001001 0 0 0 -0.6875,0.30469 c -0.61854,0.6208 -1.06287,1.393 -1.28906,2.24023 a 1.0001001,1.0001001 0 1 0 1.93164,0.51563 c 0.13595,-0.50922 0.40262,-0.97353 0.77344,-1.34571 a 1.0001001,1.0001001 0 0 0 -0.72852,-1.71484 z" transform="matrix(1.1428571,0,0,1.1428571,-301.85714,-182.57143)" id="path17485" inkscape:connector-curvature="0"/>
+ </g>
+ <g style="display:inline;fill:#ffffff;stroke-width:1.09730649;enable-background:new" transform="matrix(1,0,0,0.83050847,1300,-195.57627)" id="g8019-1">
+ <path sodipodi:nodetypes="cccccccccc" inkscape:connector-curvature="0" d="m -1207,502.79592 v 14.44898 h 2 v -14.44898 z m 6,0 v 14.44898 h 2 v -14.44898 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2.19461298;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" id="path8013-3"/>
+ </g>
+ <path style="display:inline;opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;enable-background:new" d="m 16.999998,228 a 4,4 0 0 1 -4,4 4,4 0 0 1 -3.9999999,-4 4,4 0 0 1 3.9999999,-4 4,4 0 0 1 4,4 z" id="circle8021-5" inkscape:connector-curvature="0"/>
+ <g id="g5627" style="fill:#ffffff">
+ <g id="g5620" style="fill:#ffffff">
+ <g id="g5614" style="fill:#ffffff">
+ <g inkscape:export-ydpi="96" inkscape:export-xdpi="96" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" transform="translate(-42.000002,21.000005)" id="g4035-9" style="display:inline;opacity:1;fill:#ffffff;enable-background:new">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 99,599 c -2.74773,0 -5,2.25226 -5,5 0,1.1945 0.441488,2.28163 1.148438,3.14453 l -5.001954,5.00195 a 0.50005,0.50005 0 1 0 0.707032,0.70704 l 5.001953,-5.00196 C 96.718369,608.55851 97.805503,609 99,609 c 2.74773,0 5,-2.25227 5,-5 0,-2.74774 -2.25227,-5 -5,-5 z m 0,1 c 2.20227,0 4,1.79773 4,4 0,2.20226 -1.79773,4 -4,4 -2.20227,0 -4,-1.79774 -4,-4 0,-2.20227 1.79773,-4 4,-4 z" transform="translate(42.000002,-21.000005)" id="path4031-4" inkscape:connector-curvature="0"/>
+ </g>
+ </g>
</g>
</g>
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 201.5,389 a 0.50005,0.50005 0 0 0 -0.41406,0.2207 l -5.75,8.5 a 0.50005,0.50005 0 0 0 -0.0254,0.041 C 195.09791,398.15241 195,398.57992 195,399 c 0,1.21742 0.89627,2.23231 2.16602,2.91602 C 198.43576,402.59972 200.13233,403 202,403 c 1.86767,0 3.56424,-0.40028 4.83398,-1.08398 C 208.10373,401.23231 209,400.21742 209,399 c 0,-0.41956 -0.0964,-0.84696 -0.3125,-1.24023 a 0.50005,0.50005 0 0 0 -0.0234,-0.0391 l -5.75,-8.5 A 0.50005,0.50005 0 0 0 202.5,389 Z m 0.26562,1 h 0.46876 l 5.58007,8.24805 C 207.94195,398.48303 208,398.73145 208,399 c 0,0.71558 -0.55783,1.45211 -1.64062,2.03516 C 205.27658,401.6182 203.72216,402 202,402 c -1.72216,0 -3.27658,-0.3818 -4.35938,-0.96484 C 196.55783,400.45211 196,399.71558 196,399 c 0,-0.26272 0.0617,-0.52241 0.1875,-0.75586 z"
- id="path17361"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 55,389 c -3.86012,0 -7,3.13988 -7,7 0,3.86012 3.13988,7 7,7 3.86012,0 7,-3.13988 7,-7 0,-3.86012 -3.13988,-7 -7,-7 z m 0,1 c 3.31968,0 6,2.68032 6,6 0,3.31968 -2.68032,6 -6,6 -3.31968,0 -6,-2.68032 -6,-6 0,-3.31968 2.68032,-6 6,-6 z"
- id="path17412"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="M 6.5,389 A 0.50005,0.50005 0 0 0 6,389.5 v 13 a 0.50005,0.50005 0 0 0 0.5,0.5 h 13 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -13 A 0.50005,0.50005 0 0 0 19.5,389 Z m 0.5,1 h 12 v 12 H 7 Z"
- id="rect17430"
- inkscape:connector-curvature="0" />
- <path
- inkscape:connector-curvature="0"
- id="path17434"
- d="m 27.5,410 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 3 a 0.50005,0.50005 0 0 0 0.5,0.5 h 0.949219 L 32,420.62695 V 423.5 a 0.50005,0.50005 0 0 0 0.5,0.5 h 3 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -2.87305 L 39.550781,414 H 40.5 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -3 A 0.50005,0.50005 0 0 0 40.5,410 h -3 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 0.5 h -6 v -0.5 A 0.50005,0.50005 0 0 0 30.5,410 Z m 0.5,1 h 2 v 2 h -2 z m 10,0 h 2 v 2 h -2 z m -7,1 h 6 v 1.5 a 0.50005,0.50005 0 0 0 0.5,0.5 h 0.914062 l -3.214843,6 h -2.398438 l -3.214843,-6 H 30.5 a 0.50005,0.50005 0 0 0 0.5,-0.5 z m 2,9 h 2 v 2 h -2 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
- <g
- id="g17481"
- style="display:inline;opacity:1;fill:#ffffff;enable-background:new"
- transform="translate(-332.00634,585.99911)"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- inkscape:export-xdpi="96"
- inkscape:export-ydpi="96">
- <g
- style="opacity:0.7;fill:#ffffff;stroke-width:1.1535517"
- transform="matrix(0.86707513,0,0,0.86670066,799.68613,161.07329)"
- id="g17477">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 432.96875,577.99609 a 0.50015801,0.499942 0 0 0 -0.0488,0.006 0.50015801,0.499942 0 0 0 -0.0879,0.0215 c -0.22504,0.005 -0.45054,4.4e-4 -0.67383,0.0273 -1.50924,0.18184 -2.95823,0.85326 -4.0957,1.98242 -2.27494,2.25834 -2.72493,5.78034 -1.08984,8.53711 1.26078,2.1257 3.51721,3.36761 5.89257,3.41407 6.5e-4,10e-6 10e-4,-2e-5 0.002,0 a 0.50015801,0.499942 0 0 0 0.32031,-0.01 c 0.60037,-0.016 1.20402,-0.0867 1.80078,-0.26367 a 0.50073965,0.5005234 0 1 0 -0.28516,-0.95899 c -0.52501,0.15567 -1.05482,0.21548 -1.58203,0.22657 -0.32205,-0.21838 -0.86207,-0.82158 -1.28906,-1.77344 -0.15847,-0.35327 -0.29568,-0.76712 -0.41992,-1.20508 H 433.5 a 0.50043241,0.50021629 0 1 0 0,-1 h -2.31641 C 431.07457,586.38509 431,585.72514 431,585 c 0,-0.72848 0.074,-1.38791 0.18359,-2 h 3.5625 c 0.15752,0.77172 0.25391,1.61389 0.25391,2.5 a 0.50015801,0.499942 0 1 0 1,0 c 0,-0.883 -0.0936,-1.71998 -0.24023,-2.5 h 2.88671 c 0.41677,1.17713 0.47801,2.4832 0.0937,3.74609 a 0.50015801,0.499942 0 1 0 0.95704,0.28907 c 0.93293,-3.06617 -0.34127,-6.37791 -3.08789,-8.03125 -1.07945,-0.64978 -2.27964,-0.96925 -3.47657,-0.99219 a 0.50015801,0.499942 0 0 0 -0.14648,-0.0156 0.50015801,0.499942 0 0 0 -0.0176,0 z m 0.0273,1.13086 c 0.3107,0.30928 0.79344,0.97648 1.16602,1.90039 0.12076,0.29947 0.23379,0.62673 0.33594,0.97266 h -3.08399 c 0.12298,-0.42695 0.25956,-0.8299 0.41602,-1.17578 0.37038,-0.81882 0.82294,-1.39159 1.16601,-1.69727 z m 1.33789,0.0312 c 0.60769,0.13919 1.20278,0.36589 1.75977,0.70118 0.89497,0.53872 1.60631,1.28287 2.10156,2.14062 h -2.66797 c -0.12978,-0.47868 -0.2726,-0.9368 -0.4375,-1.3457 -0.23548,-0.58396 -0.48644,-1.07928 -0.75586,-1.4961 z m -2.70507,0.0156 c -0.24979,0.35295 -0.49203,0.75628 -0.71094,1.24023 -0.21038,0.4651 -0.38853,1.0058 -0.53906,1.58594 h -2.5586 c 0.26045,-0.4489 0.56294,-0.87823 0.94531,-1.25781 0.81076,-0.80484 1.80942,-1.32143 2.86329,-1.56836 z m -4.26758,3.80664 A 0.50043241,0.50021629 0 0 0 427.50195,583 h 2.66993 C 430.0701,583.62227 430,584.28017 430,585 c 0,0.71751 0.0707,1.37536 0.17188,2 h -2.66993 a 0.50043241,0.50021629 0 0 0 -0.14648,0.0234 c -0.47566,-1.32219 -0.45827,-2.74775 0.006,-4.04297 z M 427.80469,588 h 2.57226 c 0.15111,0.59053 0.32906,1.14077 0.54102,1.61328 0.21198,0.47256 0.44409,0.86643 0.68555,1.21289 -1.53987,-0.36784 -2.91769,-1.3294 -3.76954,-2.76562 -0.0116,-0.0196 -0.0179,-0.0409 -0.0293,-0.0606 z"
- transform="matrix(1.1533026,0,0,1.1538009,-539.37632,-861.97281)"
- id="path17465"
- inkscape:connector-curvature="0" />
- <path
- cx="-40.000011"
- cy="-186.99979"
- r="7.5"
- id="path17471"
- style="opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:1.1535517;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke"
- d=""
- inkscape:connector-curvature="0" />
- </g>
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 767.49023,1 c -0.3497,0.00648 -0.58488,0.3607678 -0.45507,0.6855469 l 2,5 c 0.1836,0.4628079 0.85703,0.4022128 0.95507,-0.085937 l 0.43946,-2.1738282 2.16797,-0.4355468 c 0.48875,-0.096787 0.55077,-0.7707095 0.0879,-0.9550782 l -5,-2 C 767.62345,1.0105047 767.55703,0.99855041 767.49023,1 Z"
- id="path17479"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="ccccccccc" />
- </g>
- <g
- transform="translate(41.999988,1.0000045)"
- id="g10697"
- style="display:inline;opacity:1;fill:#ffffff;enable-background:new"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- inkscape:export-xdpi="96"
- inkscape:export-ydpi="96">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 35.744141,52.003906 c -0.89409,0.01843 -1.828792,0.373713 -2.597657,1.142578 l -5,5 c -0.837869,0.83787 -1.178323,2.041781 -1.11914,3.226563 0.05918,1.184782 0.515289,2.376617 1.36914,3.230469 0.852133,0.852132 2.037527,1.314671 3.220704,1.376953 1.183176,0.06228 2.389387,-0.280013 3.236328,-1.126953 l 6,-6 a 0.50005,0.50005 0 1 0 -0.707032,-0.707032 l -6,6 c -0.60312,0.603121 -1.522254,0.886172 -2.476562,0.835938 -0.954308,-0.05023 -1.918539,-0.43807 -2.566406,-1.085938 -0.646149,-0.646148 -1.030262,-1.616046 -1.078125,-2.574218 -0.04786,-0.958173 0.23781,-1.878436 0.828125,-2.46875 l 5,-5 c 1.184971,-1.184974 2.75871,-1.004381 3.554687,-0.248047 0.796393,0.756731 0.863064,2.416231 -0.261719,3.541015 l -4.5,4.5 c -0.592865,0.592866 -1.094745,0.448224 -1.417968,0.125 -0.323224,-0.323223 -0.467866,-0.825103 0.125,-1.417968 l 3.5,-3.5 a 0.50005,0.50005 0 1 0 -0.707032,-0.707032 l -3.5,3.5 c -0.907134,0.907135 -0.801776,2.155255 -0.125,2.832032 0.676777,0.676776 1.924897,0.782134 2.832032,-0.125 l 4.5,-4.5 c 1.483397,-1.483398 1.519845,-3.762437 0.24414,-4.97461 -0.60598,-0.5758 -1.459426,-0.89343 -2.353515,-0.875 z"
- id="path10693"
- inkscape:connector-curvature="0" />
- <rect
- style="opacity:0;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke"
- id="rect10695"
- width="16"
- height="16"
- x="26"
- y="52"
- rx="0.5"
- ry="0.5" />
- </g>
- <g
- style="display:inline;opacity:1;fill:#ffffff;enable-background:new"
- id="g10711"
- transform="translate(598,-637)"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- inkscape:export-xdpi="96"
- inkscape:export-ydpi="96">
- <g
- transform="translate(-189)"
- id="g10709"
- style="fill:#ffffff">
- <rect
- y="214.99997"
- x="-152"
- height="16"
- width="16"
- id="rect10699"
- style="display:inline;overflow:visible;visibility:visible;opacity:0;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.79999995;marker:none;enable-background:accumulate"
- transform="rotate(-90,-11.999985,564.99999)" />
- <g
- id="g10703"
- style="fill:#ffffff" />
- <path
- id="path10707"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m -350.42969,690.01758 c -0.79787,-0.038 -1.57177,0.27684 -2.16015,0.86523 l -1.48633,1.48828 c -0.61577,0.57533 -0.93433,1.35407 -0.89258,2.1543 a 0.50005,0.50005 0 1 0 0.99805,-0.0508 c -0.0269,-0.51495 0.15566,-0.98016 0.57617,-1.37305 a 0.50005,0.50005 0 0 0 0.0117,-0.0117 l 1.5,-1.5 c 0.41161,-0.41161 0.88966,-0.59872 1.40429,-0.57422 0.51464,0.0245 1.08439,0.26993 1.63868,0.82422 0.55479,0.5548 0.80954,1.13546 0.83789,1.65235 0.0283,0.51688 -0.15241,0.9848 -0.57422,1.3789 a 0.50005,0.50005 0 0 0 -0.0137,0.0117 l -1.5,1.5 c -0.41213,0.41213 -0.87694,0.60352 -1.39649,0.60352 a 0.50005,0.50005 0 1 0 0,1 c 0.78067,0 1.52491,-0.31788 2.10352,-0.89649 l 1.48828,-1.48828 c 0.61768,-0.57711 0.9366,-1.36125 0.89258,-2.16406 -0.044,-0.80281 -0.43566,-1.60948 -1.13086,-2.30469 -0.69571,-0.69571 -1.49901,-1.07724 -2.29688,-1.11523 z m -6.00976,6 c -0.80753,-0.0482 -1.5954,0.26944 -2.17578,0.89062 l -1.48829,1.48828 c -0.58838,0.58839 -0.90322,1.36034 -0.86523,2.15821 0.038,0.79787 0.41952,1.60311 1.11523,2.29883 0.69521,0.6952 1.50384,1.08487 2.30664,1.1289 0.80281,0.044 1.585,-0.27294 2.16211,-0.89062 l 1.48829,-1.48828 C -353.31787,701.0249 -353,700.28067 -353,699.5 a 0.50005,0.50005 0 1 0 -1,0 c 0,0.51955 -0.19139,0.98436 -0.60352,1.39648 l -1.5,1.5 a 0.50005,0.50005 0 0 0 -0.0117,0.0117 c -0.39411,0.42182 -0.86007,0.60452 -1.37696,0.57618 -0.51688,-0.0283 -1.0995,-0.2831 -1.65429,-0.8379 -0.55429,-0.55428 -0.79776,-1.12404 -0.82227,-1.63867 -0.0245,-0.51463 0.16065,-0.99268 0.57227,-1.40429 l 1.5,-1.5 a 0.50005,0.50005 0 0 0 0.0117,-0.0117 c 0.39634,-0.4242 0.86629,-0.60725 1.38672,-0.57618 a 0.50005,0.50005 0 1 0 0.0586,-0.99804 z m 4.92968,-2.02149 a 0.50005,0.50005 0 0 0 -0.34375,0.15039 l -5,5 a 0.50005,0.50005 0 1 0 0.70704,0.70704 l 5,-5 a 0.50005,0.50005 0 0 0 -0.36329,-0.85743 z"
- inkscape:connector-curvature="0" />
- </g>
+ <g transform="translate(-1.8536743e-6,4.4999696e-6)" style="display:inline;fill:#ffffff;enable-background:new" id="g12132" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" inkscape:export-xdpi="96" inkscape:export-ydpi="96">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:7.17647076;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 202.5,578 c -3.57273,0 -6.5,2.92727 -6.5,6.5 0,1.60752 0.59683,3.08042 1.57422,4.21875 l -2.42774,2.42773 a 0.50005,0.50005 0 1 0 0.70704,0.70704 l 2.42578,-2.42579 c 1.13822,0.977 2.61355,1.57227 4.2207,1.57227 3.57273,0 6.5,-2.92728 6.5,-6.5 0,-3.57273 -2.92727,-6.5 -6.5,-6.5 z m 0,1 c 3.02727,0 5.5,2.47272 5.5,5.5 0,3.02727 -2.47273,5.5 -5.5,5.5 -3.02727,0 -5.5,-2.47273 -5.5,-5.5 0,-3.02728 2.47273,-5.5 5.5,-5.5 z m -0.008,1.99219 A 0.50005,0.50005 0 0 0 202,581.5 v 2.5 h -2.5 a 0.50005,0.50005 0 1 0 0,1 h 2.5 v 2.5 a 0.50005,0.50005 0 1 0 1,0 V 585 h 2.5 a 0.50005,0.50005 0 1 0 0,-1 H 203 v -2.5 a 0.50005,0.50005 0 0 0 -0.50781,-0.50781 z" transform="translate(1.8536743e-6,-4.4999696e-6)" id="path4043-7" inkscape:connector-curvature="0"/>
+ <g id="g4159-3" transform="translate(61.94871,1.10183)" style="display:inline;fill:#ffffff;enable-background:new"/>
+ <rect style="display:inline;overflow:visible;visibility:visible;opacity:0;fill:#ffffff;stroke:none;stroke-width:3;marker:none;enable-background:accumulate" id="rect4248-2" width="16" height="16" x="193.95" y="577.04999"/>
</g>
- <g
- transform="translate(-252,-252)"
- id="g10731"
- style="display:inline;opacity:1;fill:#ffffff;enable-background:new"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- inkscape:export-xdpi="96"
- inkscape:export-ydpi="96">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 328,368 c -3.86007,0 -7,3.13993 -7,7 0,3.86007 3.13993,7 7,7 3.86007,0 7,-3.13993 7,-7 0,-3.86007 -3.13993,-7 -7,-7 z m 0,1 c 3.31963,0 6,2.68037 6,6 0,3.31963 -2.68037,6 -6,6 -3.31963,0 -6,-2.68037 -6,-6 0,-3.31963 2.68037,-6 6,-6 z"
- id="path10721"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 327.12891,369.9668 a 1.0001,1.0001 0 0 0 -0.16797,0.0234 c -2.00329,0.41569 -3.57155,1.99062 -3.97656,3.9961 a 1.0003053,1.0003053 0 1 0 1.96093,0.39648 c 0.24758,-1.22589 1.19732,-2.17949 2.42188,-2.43359 a 1.0001,1.0001 0 0 0 -0.23828,-1.98242 z"
- id="path10723"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.80000001;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 332.49609,373.0957 a 0.40004001,0.40004001 0 0 0 -0.27929,0.6875 l 2,2 a 0.40050528,0.40050528 0 1 0 0.5664,-0.5664 l -2,-2 a 0.40004001,0.40004001 0 0 0 -0.28711,-0.1211 z m -0.75,2.25 a 0.40004001,0.40004001 0 0 0 -0.27929,0.6875 l 2,2 a 0.40050528,0.40050528 0 1 0 0.5664,-0.5664 l -2,-2 a 0.40004001,0.40004001 0 0 0 -0.28711,-0.1211 z m -1.25,1.75 a 0.40004001,0.40004001 0 0 0 -0.27929,0.6875 l 2,2 a 0.40050528,0.40050528 0 1 0 0.5664,-0.5664 l -2,-2 a 0.40004001,0.40004001 0 0 0 -0.28711,-0.1211 z m -1.75,1.25 a 0.40004001,0.40004001 0 0 0 -0.27929,0.6875 l 2,2 a 0.40050528,0.40050528 0 1 0 0.5664,-0.5664 l -2,-2 a 0.40004001,0.40004001 0 0 0 -0.28711,-0.1211 z m -2.23632,0.75 a 0.40004001,0.40004001 0 0 0 -0.27344,0.70508 l 2,1.75 a 0.40004001,0.40004001 0 1 0 0.52734,-0.60156 l -2,-1.75 a 0.40004001,0.40004001 0 0 0 -0.2539,-0.10352 z"
- id="path10727"
- inkscape:connector-curvature="0" />
- </g>
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g15743"
- transform="translate(221,4.4999696e-6)"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- inkscape:export-xdpi="96"
- inkscape:export-ydpi="96">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="M -98.580078,578 C -99.98888,578 -101,579.16322 -101,580.5 a 0.50005,0.50005 0 1 0 1,0 c 0,-0.87198 0.530524,-1.5 1.419922,-1.5 0.889383,0 1.580078,0.67678 1.580078,1.5 0,0.82323 -0.69069,1.49999 -1.580078,1.5 h -4.914062 a 0.50005,0.50005 0 1 0 0,1 h 4.914062 C -97.171286,582.99999 -96,581.88555 -96,580.5 c 0,-1.38554 -1.171281,-2.5 -2.580078,-2.5 z m -8.916012,0.004 c -1.38554,0 -2.5,1.17128 -2.5,2.58007 0,1.40881 1.16321,2.41797 2.5,2.41797 a 0.50005,0.50005 0 1 0 0,-1 c -0.87198,0 -1.5,-0.52857 -1.5,-1.41797 0,-0.88938 0.67678,-1.58007 1.5,-1.58007 0.82323,0 1.49804,0.69069 1.49804,1.58007 v 4.91211 a 0.50005,0.50005 0 1 0 1,0 v -4.91211 c -10e-6,-1.40879 -1.1125,-2.58007 -2.49804,-2.58007 z m 6.98828,5.98828 A 0.50005,0.50005 0 0 0 -101,584.5 v 4.91211 c 1e-5,1.40879 1.114453,2.58008 2.5,2.58008 1.385539,0 2.5,-1.17128 2.5,-2.58008 0,-1.4088 -1.163215,-2.41992 -2.5,-2.41992 a 0.50005,0.50005 0 1 0 0,1 c 0.871975,0 1.5,0.53052 1.5,1.41992 0,0.88938 -0.676779,1.58008 -1.5,1.58008 -0.823233,0 -1.499992,-0.69069 -1.5,-1.58008 V 584.5 a 0.50005,0.50005 0 0 0 -0.50781,-0.50781 z m -6.90821,3.0039 c -1.40879,2e-5 -2.58007,1.11446 -2.58007,2.5 0,1.38554 1.17128,2.5 2.58007,2.5 1.40881,0 2.41993,-1.16321 2.41993,-2.5 a 0.50005,0.50005 0 1 0 -1,0 c 0,0.87198 -0.53053,1.5 -1.41993,1.5 -0.88938,0 -1.58007,-0.67678 -1.58007,-1.5 0,-0.82323 0.69069,-1.49999 1.58007,-1.5 h 4.91211 a 0.50005,0.50005 0 1 0 0,-1 z"
- id="path10848"
- inkscape:connector-curvature="0" />
- </g>
- <g
- transform="translate(-84.000002,1.45e-5)"
- id="g10880"
- style="display:inline;opacity:1;fill:#ffffff;enable-background:new"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- inkscape:export-xdpi="96"
- inkscape:export-ydpi="96">
- <g
- transform="translate(-523,-55.999969)"
- id="g10853"
- style="fill:#ffffff" />
- <g
- id="g10878"
- style="fill:#ffffff">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="M 157.49219,453.99222 A 0.50005,0.50005 0 0 0 157,454.50003 v 4 a 0.50005,0.50005 0 1 0 1,0 v -4 a 0.50005,0.50005 0 0 0 -0.50781,-0.50781 z"
- id="path10874"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 80.476562,451.02148 a 0.50005,0.50005 0 0 0 -0.314453,0.8711 c 0.58809,0.54453 0.841797,1.0856 0.841797,1.60156 L 81,459.5 a 0.50005,0.50005 0 1 0 1,0 l 0.0039,-6.00586 c 0,-0.8509 -0.431789,-1.65971 -1.162109,-2.33594 a 0.50005,0.50005 0 0 0 -0.365235,-0.13672 z M 71.5625,452 C 69.59752,452 68,453.59753 68,455.5625 v 7.875 C 68,465.40247 69.59752,467 71.5625,467 h 3.875 C 77.40247,467 79,465.40247 79,463.4375 v -7.875 C 79,453.59753 77.40247,452 75.4375,452 Z m 0,1 h 3.875 C 76.86577,453 78,454.13423 78,455.5625 v 7.875 C 78,464.86577 76.86577,466 75.4375,466 h -3.875 C 70.13422,466 69,464.86577 69,463.4375 v -7.875 C 69,454.13423 70.13422,453 71.5625,453 Z m 11.929688,0.0371 A 0.50005,0.50005 0 0 0 83,453.54297 v 4.05859 a 0.50005,0.50005 0 1 0 1,0 v -4.05859 a 0.50005,0.50005 0 0 0 -0.507812,-0.50586 z"
- transform="translate(84.000002,-1.449997e-5)"
- id="rect10876"
- inkscape:connector-curvature="0" />
+ <g id="g7089-6" style="display:inline;opacity:1;fill:#ffffff;stroke:#ffffff;stroke-width:1.33333337;stroke-miterlimit:4;stroke-dasharray:none;enable-background:new" transform="matrix(-0.75,0,0,0.75,348.75712,418.75712)" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" inkscape:export-xdpi="96" inkscape:export-ydpi="96">
+ <g id="g7087-1" style="fill:#ffffff;stroke:#ffffff;stroke-width:1.33333337;stroke-miterlimit:4;stroke-dasharray:none">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 118.51367,601 a 0.50005001,0.50005001 0 0 0 -0.50586,0.50586 v 3.50195 h -3.50195 a 0.50005001,0.50005001 0 1 0 0,0.99805 h 3.50195 v 3.50195 a 0.50005001,0.50005001 0 1 0 0.99805,0 v -3.50195 h 3.50195 a 0.50005001,0.50005001 0 1 0 0,-0.99805 h -3.50195 v -3.50195 A 0.50005001,0.50005001 0 0 0 118.51367,601 Z" transform="matrix(-1.3333333,0,0,1.3333333,465.00949,-558.34283)" id="path7083-5" inkscape:connector-curvature="0"/>
</g>
</g>
- <path
- inkscape:connector-curvature="0"
- id="path10927"
- d="m 10.484375,452 c -0.752,0 -1.4538175,0.239 -2.0234375,0.64453 C 7.5752675,453.27508 7,454.31514 7,455.48438 V 458.5 c 3e-5,0.27537 0.2226769,0.4989 0.4980469,0.5 l 4.0097651,0.008 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 L 12,452.53516 v -0.002 -0.0352 C 11.999,452.22272 11.77534,452.00003 11.5,452 Z M 13,452 v 1 h 1.515625 C 15.900145,453 17,454.09985 17,455.48438 v 8.03124 C 17,464.90014 15.900145,466 14.515625,466 h -4.03125 C 9.099855,466 8,464.90014 8,463.51562 V 460 H 7 v 3.51562 C 7,465.43685 8.563145,467 10.484375,467 h 4.03125 C 16.436855,467 18,465.43686 18,463.51562 v -8.03124 C 18,453.56315 16.436855,452 14.515625,452 Z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
- <path
- inkscape:connector-curvature="0"
- id="rect10947"
- d="M 31.484375,452 C 29.563145,452 28,453.56315 28,455.48438 v 8.03124 C 28,465.43685 29.563145,467 31.484375,467 h 4.03125 C 37.436855,467 39,465.43685 39,463.51562 v -8.03124 C 39,453.56315 37.436855,452 35.515625,452 Z m 0,1 h 4.03125 C 36.900155,453 38,454.09985 38,455.48438 v 8.03124 C 38,464.90015 36.900155,466 35.515625,466 h -4.03125 C 30.099845,466 29,464.90015 29,463.51562 v -8.03124 C 29,454.09985 30.099845,453 31.484375,453 Z m 1.5625,1 C 32.475545,454 32,454.47555 32,455.04688 v 3.90624 C 32,459.52445 32.475545,460 33.046875,460 h 0.90625 C 34.524455,460 35,459.52445 35,458.95312 v -3.90624 C 35,454.47555 34.524455,454 33.953125,454 Z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 69.492188,306 a 0.50005,0.50005 0 1 0 0,1 h 12.99414 a 0.50005,0.50005 0 1 0 0,-1 z m 0,3 a 0.50005,0.50005 0 1 0 0,1 h 12.99414 a 0.50005,0.50005 0 1 0 0,-1 z m 0,3 a 0.50005,0.50005 0 1 0 0,1 h 12.99414 a 0.50005,0.50005 0 1 0 0,-1 z m 0,3 a 0.50005,0.50005 0 1 0 0,1 h 12.99414 a 0.50005,0.50005 0 1 0 0,-1 z m 0,3 a 0.50005,0.50005 0 1 0 0,1 h 12.99414 a 0.50005,0.50005 0 1 0 0,-1 z"
- id="path10850"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 48.492188,306 a 0.50005,0.50005 0 1 0 0,1 h 12.99414 a 0.50005,0.50005 0 1 0 0,-1 z m 7,3 a 0.50005,0.50005 0 1 0 0,1 h 5.99414 a 0.50005,0.50005 0 1 0 0,-1 z m -7,3 a 0.50005,0.50005 0 1 0 0,1 h 12.99414 a 0.50005,0.50005 0 1 0 0,-1 z m 7,3 a 0.50005,0.50005 0 1 0 0,1 h 5.99414 a 0.50005,0.50005 0 1 0 0,-1 z m -7,3 a 0.50005,0.50005 0 1 0 0,1 h 12.99414 a 0.50005,0.50005 0 1 0 0,-1 z"
- id="path10852"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 27.492188,306 a 0.50005,0.50005 0 1 0 0,1 h 12.99414 a 0.50005,0.50005 0 1 0 0,-1 z m 4,3 a 0.50005,0.50005 0 1 0 0,1 h 4.99414 a 0.50005,0.50005 0 1 0 0,-1 z m -4,3 a 0.50005,0.50005 0 1 0 0,1 h 12.99414 a 0.50005,0.50005 0 1 0 0,-1 z m 4,3 a 0.50005,0.50005 0 1 0 0,1 h 4.99414 a 0.50005,0.50005 0 1 0 0,-1 z m -4,3 a 0.50005,0.50005 0 1 0 0,1 h 12.99414 a 0.50005,0.50005 0 1 0 0,-1 z"
- id="path10854"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 6.5,306 a 0.50005,0.50005 0 1 0 0,1 h 12.992188 a 0.50005,0.50005 0 1 0 0,-1 z m 0,3 a 0.50005,0.50005 0 1 0 0,1 h 5.992188 a 0.50005,0.50005 0 1 0 0,-1 z m 0,3 a 0.50005,0.50005 0 1 0 0,1 h 12.992188 a 0.50005,0.50005 0 1 0 0,-1 z m 0,3 a 0.50005,0.50005 0 1 0 0,1 h 5.992188 a 0.50005,0.50005 0 1 0 0,-1 z m 0,3 a 0.50005,0.50005 0 1 0 0,1 h 12.992188 a 0.50005,0.50005 0 1 0 0,-1 z"
- id="path10856"
- inkscape:connector-curvature="0" />
- <g
- transform="translate(-462.00711,-314.99994)"
- id="g10872"
- style="display:inline;opacity:1;fill:#ffffff;enable-background:new"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- inkscape:export-xdpi="96"
- inkscape:export-ydpi="96">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:2.20000005;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 552.5,621 a 0.50005,0.50005 0 1 0 0,1 h 1.99219 a 0.50005,0.50005 0 1 0 0,-1 z m 4.02344,0 a 0.50005,0.50005 0 1 0 0,1 h 1.91601 a 0.50005,0.50005 0 1 0 0,-1 z m 3.9707,0 a 0.50005,0.50005 0 1 0 0,1 h 1.99805 a 0.50005,0.50005 0 1 0 0,-1 z m 3.99805,0 a 0.50005,0.50005 0 1 0 0,1 h 1 a 0.50005,0.50005 0 1 0 0,-1 z M 552.5,624 a 0.50005,0.50005 0 1 0 0,1 h 1 a 0.50005,0.50005 0 1 0 0,-1 z m 3,0 a 0.50005,0.50005 0 1 0 0,1 h 1.99805 a 0.50005,0.50005 0 1 0 0,-1 z m 4.05273,0 a 0.50005,0.50005 0 1 0 0,1 h 1.91797 a 0.50005,0.50005 0 1 0 0,-1 z m 3.94727,0 a 0.50005,0.50005 0 1 0 0,1 h 1.99219 a 0.50005,0.50005 0 1 0 0,-1 z m -11,3 a 0.50005,0.50005 0 1 0 0,1 h 1.99219 a 0.50005,0.50005 0 1 0 0,-1 z m 4.02344,0 a 0.50005,0.50005 0 1 0 0,1 h 1.91601 a 0.50005,0.50005 0 1 0 0,-1 z m 3.9707,0 a 0.50005,0.50005 0 1 0 0,1 h 1.99805 a 0.50005,0.50005 0 1 0 0,-1 z m 3.99805,0 a 0.50005,0.50005 0 1 0 0,1 h 1 a 0.50005,0.50005 0 1 0 0,-1 z M 552.5,630 a 0.50005,0.50005 0 1 0 0,1 h 1 a 0.50005,0.50005 0 1 0 0,-1 z m 3,0 a 0.50005,0.50005 0 1 0 0,1 h 1.99805 a 0.50005,0.50005 0 1 0 0,-1 z m 4.05273,0 a 0.50005,0.50005 0 1 0 0,1 h 1.91797 a 0.50005,0.50005 0 1 0 0,-1 z m 3.94727,0 a 0.50005,0.50005 0 1 0 0,1 h 1.99219 a 0.50005,0.50005 0 1 0 0,-1 z m -11,3 a 0.50005,0.50005 0 1 0 0,1 h 1.99219 a 0.50005,0.50005 0 1 0 0,-1 z m 4.02344,0 a 0.50005,0.50005 0 1 0 0,1 h 1.91601 a 0.50005,0.50005 0 1 0 0,-1 z m 3.9707,0 a 0.50005,0.50005 0 1 0 0,1 h 1.99805 a 0.50005,0.50005 0 1 0 0,-1 z m 3.99805,0 a 0.50005,0.50005 0 1 0 0,1 h 1 a 0.50005,0.50005 0 1 0 0,-1 z"
- id="path10870"
- inkscape:connector-curvature="0" />
- </g>
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 201.49219,305 a 0.50005,0.50005 0 1 0 0,1 h 2.5039 l -0.002,0.14258 -4.95898,11.4082 a 0.50005,0.50005 0 0 0 -0.041,0.21289 L 199,318 h -2.50781 a 0.50005,0.50005 0 1 0 0,1 h 6 a 0.50005,0.50005 0 1 0 0,-1 H 200 a 0.50005,0.50005 0 0 0 0,-0.0137 l -0.004,-0.13867 4.95508,-11.39844 a 0.50005,0.50005 0 0 0 0.041,-0.19141 L 204.99609,306 h 2.4961 a 0.50005,0.50005 0 1 0 0,-1 z"
- id="path10892"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 216.49219,305 a 0.50005,0.50005 0 1 0 0,1 H 218 v 6.00391 c 0,2.19985 1.79782,3.99206 4,3.99609 h 1 a 0.50005,0.50005 0 0 0 0.002,0 c 2.20199,-0.005 3.998,-1.79624 3.998,-3.99609 V 306 h 1.49219 a 0.50005,0.50005 0 1 0 0,-1 h -4 a 0.50005,0.50005 0 1 0 0,1 H 226 v 6.00391 c 0,1.65832 -1.33799,2.99265 -3.00195,2.99609 H 222 c -1.66382,-0.003 -3,-1.33777 -3,-2.99609 V 306 h 1.49219 a 0.50005,0.50005 0 1 0 0,-1 z m 1,13 a 0.50005,0.50005 0 1 0 0,1 h 10 a 0.50005,0.50005 0 1 0 0,-1 z"
- id="path10901"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 111.5,305 a 0.50004997,0.50004997 0 0 0 -0.5,0.5 v 13 a 0.50004997,0.50004997 0 0 0 0.5,0.5 h 13 a 0.50004997,0.50004997 0 0 0 0.5,-0.5 v -13 a 0.50004997,0.50004997 0 0 0 -0.5,-0.5 z m 0.5,1 h 12 v 12 h -12 z"
- id="rect10983"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 113.49219,307 a 0.50005,0.50005 0 1 0 0,1 h 8.99414 a 0.50005,0.50005 0 1 0 0,-1 z m 0,2 a 0.50005,0.50005 0 1 0 0,1 h 8.99414 a 0.50005,0.50005 0 1 0 0,-1 z"
- id="path10977"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 132.5,305 a 0.50004997,0.50004997 0 0 0 -0.5,0.5 v 13 a 0.50004997,0.50004997 0 0 0 0.5,0.5 h 13 a 0.50004997,0.50004997 0 0 0 0.5,-0.5 v -13 a 0.50004997,0.50004997 0 0 0 -0.5,-0.5 z m 0.5,1 h 12 v 12 h -12 z"
- id="rect11046"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 134.49219,310 a 0.50005,0.50005 0 1 0 0,1 h 8.99414 a 0.50005,0.50005 0 1 0 0,-1 z m 0,2 a 0.50005,0.50005 0 1 0 0,1 h 8.99414 a 0.50005,0.50005 0 1 0 0,-1 z"
- id="path11048"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 153.5,305 a 0.50004997,0.50004997 0 0 0 -0.5,0.5 v 13 a 0.50004997,0.50004997 0 0 0 0.5,0.5 h 13 a 0.50004997,0.50004997 0 0 0 0.5,-0.5 v -13 a 0.50004997,0.50004997 0 0 0 -0.5,-0.5 z m 0.5,1 h 12 v 12 h -12 z"
- id="rect11050"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 155.49219,314 a 0.50005,0.50005 0 1 0 0,1 h 8.99414 a 0.50005,0.50005 0 1 0 0,-1 z m 0,2 a 0.50005,0.50005 0 1 0 0,1 h 8.99414 a 0.50005,0.50005 0 1 0 0,-1 z"
- id="path11052"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 177,305 a 1.0001,1.0001 0 0 0 -1,1 v 5.83203 a 1.0001,1.0001 0 0 0 0,0.32617 V 318 a 1.0001,1.0001 0 0 0 1,1 h 6 c 2.19729,0 4,-1.80271 4,-4 0,-1.76747 -1.1852,-3.22799 -2.78516,-3.75195 C 184.67235,310.59788 185,309.84948 185,309 c 0,-2.19729 -1.80271,-4 -4,-4 z m 1,2 h 3 c 1.11641,0 2,0.88359 2,2 0,1.11641 -0.88359,2 -2,2 h -3 z m 0,6 h 3 2 c 1.11641,0 2,0.88359 2,2 0,1.11641 -0.88359,2 -2,2 h -5 z"
- id="path10949"
- inkscape:connector-curvature="0" />
- <g
- transform="matrix(0,1,1,0,37.999948,363)"
- id="g11084"
- style="display:inline;opacity:1;fill:#ffffff;enable-background:new"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- inkscape:export-xdpi="96"
- inkscape:export-ydpi="96">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 202,473 c -3.86007,0 -7,3.13993 -7,7 0,3.86007 3.13993,7 7,7 3.86007,0 7,-3.13993 7,-7 0,-3.86007 -3.13993,-7 -7,-7 z m 0,1 c 1.09865,0 2,0.90135 2,2 0,1.09865 -0.90135,2 -2,2 -1.09865,0 -2,-0.90135 -2,-2 0,-1.09865 0.90135,-2 2,-2 z m -4,4 c 1.09865,0 2,0.90135 2,2 0,1.09865 -0.90135,2 -2,2 -1.09865,0 -2,-0.90135 -2,-2 0,-1.09865 0.90135,-2 2,-2 z m 8,0 c 1.09865,0 2,0.90135 2,2 0,1.09865 -0.90135,2 -2,2 -1.09865,0 -2,-0.90135 -2,-2 0,-1.09865 0.90135,-2 2,-2 z m -4,1 c 0.54636,0 1,0.45364 1,1 0,0.54636 -0.45364,1 -1,1 -0.54636,0 -1,-0.45364 -1,-1 0,-0.54636 0.45364,-1 1,-1 z m 0,3 c 1.09865,0 2,0.90135 2,2 0,1.09865 -0.90135,2 -2,2 -1.09865,0 -2,-0.90135 -2,-2 0,-1.09865 0.90135,-2 2,-2 z m 4.96484,4 a 0.50005,0.50005 0 0 0 -0.47265,0.49219 A 0.50005,0.50005 0 0 0 207,487 h 0.5 c 0.83333,0 1.14655,0.35353 1.64648,0.85352 a 0.50005,0.50005 0 1 0 0.70704,-0.70704 C 209.35355,486.64647 208.66667,486 207.5,486 H 207 a 0.50005,0.50005 0 0 0 -0.0352,0 z"
- transform="matrix(0,1,1,0,-363,-37.999948)"
- id="circle11078"
- inkscape:connector-curvature="0" />
- </g>
- <g
- transform="translate(-1.8536743e-6,4.4999696e-6)"
- id="g13852"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- inkscape:export-xdpi="96"
- inkscape:export-ydpi="96"
- style="display:inline;fill:#ffffff;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;enable-background:new">
- <g
- id="g11167"
- transform="matrix(0,-1,-1,0,688.99474,-44.97944)"
- style="display:inline;fill:#ffffff;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;enable-background:new" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.10000002;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 14.505859,263.01562 a 0.55005501,0.55005501 0 0 0 -0.05664,0.004 c -1.480032,0.16258 -2.81124,0.9768 -3.632813,2.21875 -0.754587,1.14068 -0.9438173,2.54615 -0.65039,3.875 l -3.5234379,3.52149 c -0.4164576,0.37981 -0.6354253,0.95498 -0.6601562,1.61328 -0.024627,0.65553 0.1896767,1.40646 0.7832031,2 0.5945619,0.59455 1.3481437,0.80114 1.9980469,0.76953 0.6519363,-0.0317 1.2112985,-0.25543 1.5917971,-0.63672 l 3.533203,-3.54297 c 1.328363,0.29148 2.734045,0.0991 3.873047,-0.6543 1.240498,-0.82051 2.05459,-2.151 2.21875,-3.6289 a 0.55005501,0.55005501 0 0 0 -0.160157,-0.45117 l -0.943359,-0.92969 a 0.55005501,0.55005501 0 0 0 -0.775391,0.002 l -1.80664,1.79883 h -0.589844 l -1.679687,-1.67969 v -0.58984 l 1.804687,-1.80078 a 0.55005501,0.55005501 0 0 0 0.0039,-0.77539 l -0.93164,-0.94727 a 0.55005501,0.55005501 0 0 0 -0.396485,-0.16602 z m -0.15625,1.17383 0.316407,0.32227 -1.580078,1.57617 a 0.55005501,0.55005501 0 0 0 -0.16211,0.39063 l 0.002,1.04687 a 0.55005501,0.55005501 0 0 0 0.16211,0.38672 l 2.001953,2.00195 a 0.55005501,0.55005501 0 0 0 0.388672,0.16211 l 1.046875,-0.002 a 0.55005501,0.55005501 0 0 0 0.386718,-0.16016 l 1.580079,-1.57422 0.318359,0.31446 c -0.183326,1.05859 -0.751902,2.01444 -1.654297,2.61132 -0.970627,0.64202 -2.219467,0.82961 -3.330078,0.49219 a 0.55005501,0.55005501 0 0 0 -0.548828,0.13672 l -3.699219,3.70899 c -0.1021327,0.10234 -0.4754005,0.29532 -0.8691406,0.31445 -0.395773,0.0192 -0.8021096,-0.0834 -1.1660156,-0.44727 -0.3650748,-0.36508 -0.4778317,-0.78393 -0.4628907,-1.18164 0.014838,-0.39496 0.2099663,-0.75541 0.3046875,-0.84179 a 0.55005501,0.55005501 0 0 0 0.017578,-0.0176 l 3.7070314,-3.70508 a 0.55005501,0.55005501 0 0 0 0.136719,-0.54883 c -0.339386,-1.11269 -0.154519,-2.36033 0.488281,-3.33203 0.59791,-0.90384 1.555081,-1.47203 2.615234,-1.6543 z"
- id="path11179"
- inkscape:connector-curvature="0" />
- </g>
- <g
- transform="translate(62.999978,21.041695)"
- id="g11141"
- style="display:inline;opacity:1;fill:#ffffff;enable-background:new"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- inkscape:export-xdpi="96"
- inkscape:export-ydpi="96">
- <g
- transform="translate(-126)"
- id="g11139"
- style="fill:#ffffff">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 206.72656,599 c -0.19328,-0.004 -0.38654,0.0132 -0.57422,0.0508 -0.75071,0.15014 -1.44693,0.5778 -2.00586,1.13672 l -2.14453,2.10742 -1.14843,-1.14844 a 0.50005,0.50005 0 0 0 -0.35938,-0.15234 0.50005,0.50005 0 0 0 -0.34766,0.85938 l 1.64649,1.64648 -4.64844,4.68945 A 0.50005,0.50005 0 0 0 197,608.54102 v 0.79296 l -1.85352,1.85352 a 0.50005,0.50005 0 1 0 0.70704,0.70703 l 2,-2 A 0.50005,0.50005 0 0 0 198,609.54102 v -0.79493 l 4.50195,-4.53711 1.29297,1.29297 -4.5039,4.53907 H 198.5 a 0.50005,0.50005 0 0 0 -0.35352,0.14648 l -2,2 a 0.50005,0.50005 0 1 0 0.70704,0.70703 l 1.85351,-1.85351 H 199.5 a 0.50005,0.50005 0 0 0 0.35547,-0.14844 l 4.64648,-4.6836 1.64453,1.64454 a 0.50005,0.50005 0 1 0 0.70704,-0.70704 l -1.14258,-1.14257 2.13867,-2.10547 0.004,-0.004 c 0.55892,-0.55893 0.98657,-1.25515 1.13671,-2.00586 0.15015,-0.75072 -0.0189,-1.58331 -0.63671,-2.20117 -0.4634,-0.46339 -1.04712,-0.67435 -1.62696,-0.6875 z"
- transform="translate(63.000022,-21.041695)"
- id="path11133"
- inkscape:connector-curvature="0" />
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 240,602 c -1.21759,0 -2.24187,0.34734 -2.94727,1.05273 C 236.34734,603.75813 236,604.78241 236,606 v 3.41992 a 0.50005,0.50005 0 0 0 0.11328,0.4043 0.50005,0.50005 0 0 0 0.0156,0.0195 0.50005,0.50005 0 0 0 0.0176,0.0176 0.50005,0.50005 0 0 0 0.004,0.002 0.50005,0.50005 0 0 0 0.0332,0.0312 0.50005,0.50005 0 0 0 0.004,0.002 A 0.50005,0.50005 0 0 0 236.58203,610 H 236.75 A 0.50005,0.50005 0 0 0 237,609.06445 V 606 c 0,-1.03241 0.27766,-1.75813 0.75977,-2.24023 C 238.24187,603.27766 238.96759,603 240,603 h 4.29297 l 2.85351,2.85352 A 0.50005,0.50005 0 0 0 247.5,606 h 1.5 c 0.63889,0 1.1225,0.20453 1.45898,0.54102 C 250.79547,606.8775 251,607.36111 251,608 v 1.5 a 0.50005,0.50005 0 1 0 1,0 V 608 c 0,-0.86111 -0.29547,-1.6275 -0.83398,-2.16602 C 250.6275,605.29547 249.86111,605 249,605 h -1.29297 l -2.85351,-2.85352 A 0.50005,0.50005 0 0 0 244.5,602 Z m -0.5,7 c -0.8225,0 -1.5,0.6775 -1.5,1.5 0,0.8225 0.6775,1.5 1.5,1.5 0.8225,0 1.5,-0.6775 1.5,-1.5 0,-0.8225 -0.6775,-1.5 -1.5,-1.5 z m 3,0 a 0.50005,0.50005 0 1 0 0,1 h 3 a 0.50005,0.50005 0 1 0 0,-1 z m 6,0 c -0.8225,0 -1.5,0.6775 -1.5,1.5 0,0.8225 0.6775,1.5 1.5,1.5 0.8225,0 1.5,-0.6775 1.5,-1.5 0,-0.8225 -0.6775,-1.5 -1.5,-1.5 z m -9,1 c 0.28206,0 0.5,0.21794 0.5,0.5 0,0.28206 -0.21794,0.5 -0.5,0.5 -0.28206,0 -0.5,-0.21794 -0.5,-0.5 0,-0.28206 0.21794,-0.5 0.5,-0.5 z m 9,0 c 0.28206,0 0.5,0.21794 0.5,0.5 0,0.28206 -0.21794,0.5 -0.5,0.5 -0.28206,0 -0.5,-0.21794 -0.5,-0.5 0,-0.28206 0.21794,-0.5 0.5,-0.5 z" id="circle12878-4" inkscape:connector-curvature="0"/>
+ <g transform="matrix(-0.75,0,0,0.75,369.25,419.25)" style="display:inline;opacity:1;fill:#ffffff;stroke:#ffffff;stroke-width:1.33333325;enable-background:new" id="g10315-7" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" inkscape:export-xdpi="96" inkscape:export-ydpi="96">
+ <g style="fill:#ffffff;stroke:#ffffff;stroke-width:1.33333325" id="g10313-3">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.33333337;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 300.99023,247.67578 a 0.666995,0.666995 0 1 0 0,1.33399 h 10.66602 a 0.666995,0.666995 0 1 0 0,-1.33399 z" id="path10309-7" inkscape:connector-curvature="0"/>
</g>
</g>
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g13475"
- transform="translate(-21.000002,4.4999696e-6)">
- <path
- sodipodi:nodetypes="ccccccccccccccccccccccccccccccccccccccccccccccccccccccc"
- mask="none"
- style="display:inline;opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;enable-background:new"
- d="m 111,515 v 2 h 2 v -2 z m 2,2 v 2 h 2 v -2 z m 2,0 h 2 v -2 h -2 z m 2,0 v 2 h 2 v -2 z m 2,0 h 2 v -2 h -2 z m 2,0 v 2 h 2 v -2 z m 2,0 h 2 v -2 h -2 z m 0,2 v 2 h 2 v -2 z m -10,2 v -2 h -2 v 2 z m 2,0 h 2 v -2 h -2 z m 4,0 h 2 v -2 h -2 z"
- id="path12185"
- inkscape:connector-curvature="0" />
- <g
- transform="translate(63,-231)"
- id="g12189"
- style="opacity:0.6;fill:#ffffff">
- <path
- id="path12187"
- style="display:inline;opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;enable-background:new"
- d="m 48,753 v 3.5 c 0,0.82843 0.67157,1.5 1.5,1.5 0.82843,0 1.5,-0.67157 1.5,-1.5 V 756 c 0,-0.5 0.53412,-1 1,-1 0.55229,0 1,0.44772 1,1 v 2.5 c 0,0.82843 0.67157,1.5 1.5,1.5 0.82843,0 1.5,-0.67157 1.5,-1.5 V 757 c 0,-0.55228 0.44772,-1 1,-1 0.55229,0 1,-0.44771 1,-1 v -2 h -2 v 0 h -2 v 0 h -2 v 0 h -2 v 0 z"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="csssssssssssscccccccccc" />
+ <g id="g10247-8" style="display:inline;opacity:1;fill:#ffffff;stroke:#ffffff;stroke-width:1.33333337;stroke-miterlimit:4;stroke-dasharray:none;enable-background:new" transform="matrix(-0.53033009,-0.53033009,-0.53033009,0.53033009,454.86353,636.75914)" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" inkscape:export-xdpi="96" inkscape:export-ydpi="96">
+ <g id="g10245-2" style="fill:#ffffff;stroke:#ffffff;stroke-width:1.33333337;stroke-miterlimit:4;stroke-dasharray:none">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.33333337;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 306.99023,241.72461 a 0.66673335,0.66673335 0 0 0 -0.65625,0.67578 v 5.93359 h -5.93359 a 0.66673335,0.66673335 0 1 0 0,1.33204 h 5.93359 v 5.93359 a 0.66673335,0.66673335 0 1 0 1.33204,0 v -5.93359 h 5.93359 a 0.66673335,0.66673335 0 1 0 0,-1.33204 h -5.93359 v -5.93359 a 0.66673335,0.66673335 0 0 0 -0.67579,-0.67578 z" id="path10243-3" inkscape:connector-curvature="0"/>
</g>
</g>
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- transform="matrix(-1,0,0,1,88.999998,-231)"
- id="g12197">
- <path
- inkscape:connector-curvature="0"
- id="path12191"
- transform="matrix(-1,0,0,1,90,231)"
- d="m 75,519 v 7 c 0,0.5 0.25,1 1,1 0.75,0 1,-0.5 1,-1 v -1 c 0,-0.5 0.53412,-1 1,-1 0.55229,0 1,0.44772 1,1 v 2.5 c 0,0.82843 0.67157,1.5 1.5,1.5 0.82843,0 1.5,-0.67157 1.5,-1.5 V 526 c 0,-0.55228 0.44772,-1 1,-1 0.55229,0 1,-0.44771 1,-1 v -3.08789 A 1.50015,1.50015 0 0 1 83.5,521 h -3 A 1.50015,1.50015 0 0 1 79,519.5 V 519 Z"
- style="display:inline;opacity:0.6;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;enable-background:new" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 16.5,746 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 1.5 h -6 v -0.5 A 0.50005,0.50005 0 0 0 9.5,747 h -3 A 0.50005,0.50005 0 0 0 6,747.5 v 3 a 0.50005,0.50005 0 0 0 0.5,0.5 h 3 A 0.50005,0.50005 0 0 0 10,750.5 V 749 h 6 v 0.5 a 0.50005,0.50005 0 0 0 0.5,0.5 h 3 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -3 A 0.50005,0.50005 0 0 0 19.5,746 Z m 0.5,1 h 2 v 2 h -2 z m -10,1 h 2 v 2 H 7 Z"
- id="path12195"
- inkscape:connector-curvature="0" />
- </g>
- <g
- id="g17491"
- transform="matrix(0.875,0,0,0.875,264.125,159.75)"
- style="display:inline;opacity:1;fill:#ffffff;stroke-width:1.14285719;enable-background:new"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- inkscape:export-xdpi="96"
- inkscape:export-ydpi="96">
- <rect
- y="430"
- x="257"
- height="16"
- width="16"
- id="rect17483"
- style="display:inline;overflow:visible;visibility:visible;opacity:0;fill:#ffffff;stroke:none;stroke-width:3.42857146;marker:none;enable-background:accumulate" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 496,535.9375 c -2.73936,0 -5.1213,1.56371 -6.29102,3.84961 -0.49329,0.96401 -0.77148,2.05765 -0.77148,3.21289 0,3.89459 3.16791,7.0625 7.0625,7.0625 3.89459,0 7.0625,-3.16791 7.0625,-7.0625 0,-3.89459 -3.16791,-7.0625 -7.0625,-7.0625 z m 0,1 c 3.35415,0 6.0625,2.70835 6.0625,6.0625 0,3.35415 -2.70834,6.0625 -6.0625,6.0625 -3.35415,0 -6.0625,-2.70835 -6.0625,-6.0625 0,-0.99492 0.23889,-1.93072 0.66211,-2.75781 1.00359,-1.96124 3.04116,-3.30469 5.40039,-3.30469 z M 496,538 a 0.99999996,0.99999996 0 0 0 -1,1 0.99999996,0.99999996 0 0 0 1,1 0.99999996,0.99999996 0 0 0 1,-1 0.99999996,0.99999996 0 0 0 -1,-1 z m -2.82422,1.16211 a 1.0001001,1.0001001 0 0 0 -0.6875,0.30469 c -0.61854,0.6208 -1.06287,1.393 -1.28906,2.24023 a 1.0001001,1.0001001 0 1 0 1.93164,0.51563 c 0.13595,-0.50922 0.40262,-0.97353 0.77344,-1.34571 a 1.0001001,1.0001001 0 0 0 -0.72852,-1.71484 z"
- transform="matrix(1.1428571,0,0,1.1428571,-301.85714,-182.57143)"
- id="path17485"
- inkscape:connector-curvature="0" />
- </g>
- <g
- style="display:inline;fill:#ffffff;stroke-width:1.09730649;enable-background:new"
- transform="matrix(1,0,0,0.83050847,1300,-195.57627)"
- id="g8019-1">
- <path
- sodipodi:nodetypes="cccccccccc"
- inkscape:connector-curvature="0"
- d="m -1207,502.79592 v 14.44898 h 2 v -14.44898 z m 6,0 v 14.44898 h 2 v -14.44898 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2.19461298;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- id="path8013-3" />
- </g>
- <path
- style="display:inline;opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;enable-background:new"
- d="m 16.999998,228 a 4,4 0 0 1 -4,4 4,4 0 0 1 -3.9999999,-4 4,4 0 0 1 3.9999999,-4 4,4 0 0 1 4,4 z"
- id="circle8021-5"
- inkscape:connector-curvature="0" />
- <g
- id="g5627"
- style="fill:#ffffff">
- <g
- id="g5620"
- style="fill:#ffffff">
- <g
- id="g5614"
- style="fill:#ffffff">
- <g
- inkscape:export-ydpi="96"
- inkscape:export-xdpi="96"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- transform="translate(-42.000002,21.000005)"
- id="g4035-9"
- style="display:inline;opacity:1;fill:#ffffff;enable-background:new">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 99,599 c -2.74773,0 -5,2.25226 -5,5 0,1.1945 0.441488,2.28163 1.148438,3.14453 l -5.001954,5.00195 a 0.50005,0.50005 0 1 0 0.707032,0.70704 l 5.001953,-5.00196 C 96.718369,608.55851 97.805503,609 99,609 c 2.74773,0 5,-2.25227 5,-5 0,-2.74774 -2.25227,-5 -5,-5 z m 0,1 c 2.20227,0 4,1.79773 4,4 0,2.20226 -1.79773,4 -4,4 -2.20227,0 -4,-1.79774 -4,-4 0,-2.20227 1.79773,-4 4,-4 z"
- transform="translate(42.000002,-21.000005)"
- id="path4031-4"
- inkscape:connector-curvature="0" />
- </g>
- </g>
- </g>
+ <g transform="translate(-1.8536743e-6,4.4999696e-6)" style="display:inline;fill:#ffffff;enable-background:new" id="g12144" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" inkscape:export-xdpi="96" inkscape:export-ydpi="96">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:7.17647076;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 181.5,578 c -3.57273,0 -6.5,2.92727 -6.5,6.5 0,1.60752 0.59683,3.08042 1.57422,4.21875 l -2.42774,2.42773 a 0.50005,0.50005 0 1 0 0.70704,0.70704 l 2.42578,-2.42579 c 1.13822,0.977 2.61355,1.57227 4.2207,1.57227 3.57273,0 6.5,-2.92728 6.5,-6.5 0,-3.57273 -2.92727,-6.5 -6.5,-6.5 z m 0,1 c 2.85852,0 5.21992,2.20548 5.47461,5 h -6.26758 l 2.14649,-2.14648 c 0.32529,-0.31801 0.0914,-0.86992 -0.36329,-0.85743 -0.12976,0.004 -0.25303,0.0575 -0.34375,0.15039 l -2.95703,2.95704 c -0.26095,0.19951 -0.26189,0.59214 -0.002,0.79296 0.002,10e-4 0.004,0.003 0.006,0.004 l 2.95312,2.95313 c 0.47127,0.49023 1.19727,-0.23577 0.70704,-0.70704 L 180.70703,585 h 6.26758 c -0.25469,2.79451 -2.61609,5 -5.47461,5 -3.02727,0 -5.5,-2.47273 -5.5,-5.5 0,-3.02728 2.47273,-5.5 5.5,-5.5 z" transform="translate(1.8536743e-6,-4.4999696e-6)" id="path9890-4" inkscape:connector-curvature="0"/>
+ <g style="display:inline;fill:#ffffff;enable-background:new" transform="translate(40.94871,1.10183)" id="g9896-8"/>
+ <rect y="577.04999" x="172.95" height="16" width="16" id="rect9898-1" style="display:inline;overflow:visible;visibility:visible;opacity:0;fill:#ffffff;stroke:none;stroke-width:3;marker:none;enable-background:accumulate"/>
</g>
- <g
- transform="translate(-1.8536743e-6,4.4999696e-6)"
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g12132"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- inkscape:export-xdpi="96"
- inkscape:export-ydpi="96">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:7.17647076;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 202.5,578 c -3.57273,0 -6.5,2.92727 -6.5,6.5 0,1.60752 0.59683,3.08042 1.57422,4.21875 l -2.42774,2.42773 a 0.50005,0.50005 0 1 0 0.70704,0.70704 l 2.42578,-2.42579 c 1.13822,0.977 2.61355,1.57227 4.2207,1.57227 3.57273,0 6.5,-2.92728 6.5,-6.5 0,-3.57273 -2.92727,-6.5 -6.5,-6.5 z m 0,1 c 3.02727,0 5.5,2.47272 5.5,5.5 0,3.02727 -2.47273,5.5 -5.5,5.5 -3.02727,0 -5.5,-2.47273 -5.5,-5.5 0,-3.02728 2.47273,-5.5 5.5,-5.5 z m -0.008,1.99219 A 0.50005,0.50005 0 0 0 202,581.5 v 2.5 h -2.5 a 0.50005,0.50005 0 1 0 0,1 h 2.5 v 2.5 a 0.50005,0.50005 0 1 0 1,0 V 585 h 2.5 a 0.50005,0.50005 0 1 0 0,-1 H 203 v -2.5 a 0.50005,0.50005 0 0 0 -0.50781,-0.50781 z"
- transform="translate(1.8536743e-6,-4.4999696e-6)"
- id="path4043-7"
- inkscape:connector-curvature="0" />
- <g
- id="g4159-3"
- transform="translate(61.94871,1.10183)"
- style="display:inline;fill:#ffffff;enable-background:new" />
- <rect
- style="display:inline;overflow:visible;visibility:visible;opacity:0;fill:#ffffff;stroke:none;stroke-width:3;marker:none;enable-background:accumulate"
- id="rect4248-2"
- width="16"
- height="16"
- x="193.95"
- y="577.04999" />
- </g>
- <g
- id="g7089-6"
- style="display:inline;opacity:1;fill:#ffffff;stroke:#ffffff;stroke-width:1.33333337;stroke-miterlimit:4;stroke-dasharray:none;enable-background:new"
- transform="matrix(-0.75,0,0,0.75,348.75712,418.75712)"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- inkscape:export-xdpi="96"
- inkscape:export-ydpi="96">
- <g
- id="g7087-1"
- style="fill:#ffffff;stroke:#ffffff;stroke-width:1.33333337;stroke-miterlimit:4;stroke-dasharray:none">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 118.51367,601 a 0.50005001,0.50005001 0 0 0 -0.50586,0.50586 v 3.50195 h -3.50195 a 0.50005001,0.50005001 0 1 0 0,0.99805 h 3.50195 v 3.50195 a 0.50005001,0.50005001 0 1 0 0.99805,0 v -3.50195 h 3.50195 a 0.50005001,0.50005001 0 1 0 0,-0.99805 h -3.50195 v -3.50195 A 0.50005001,0.50005001 0 0 0 118.51367,601 Z"
- transform="matrix(-1.3333333,0,0,1.3333333,465.00949,-558.34283)"
- id="path7083-5"
- inkscape:connector-curvature="0" />
- </g>
+ <g style="display:inline;opacity:1;fill:#ffffff;enable-background:new" id="g5506-8" transform="translate(-44.000002,63.000005)" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" inkscape:export-xdpi="96" inkscape:export-ydpi="96">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.10000002;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 556.57617,409.98047 a 0.55005501,0.55005501 0 0 0 -0.42383,0.18555 c -0.46657,0.51387 -1.20227,1.13094 -1.20312,2.14257 -10e-4,1.1847 0.85571,2.11411 1.94336,2.91797 1.08765,0.80386 2.47935,1.527 3.84765,2.25782 0.44143,0.23577 0.88243,0.47055 1.3086,0.70312 1.11316,0.60746 2.13512,1.2144 2.84375,1.81836 0.70862,0.60396 1.05894,1.15906 1.05859,1.68359 -4e-4,0.48086 -0.32771,1.0064 -0.79492,1.38086 a 0.55027044,0.55027044 0 1 0 0.6875,0.85938 c 0.65297,-0.52334 1.20625,-1.30182 1.20703,-2.23828 6.6e-4,-0.99421 -0.62031,-1.82029 -1.44531,-2.52344 -0.825,-0.70315 -1.89813,-1.32892 -3.03125,-1.94727 -0.43383,-0.23675 -0.87476,-0.47023 -1.31445,-0.70508 -1.37366,-0.73367 -2.73478,-1.45092 -3.71289,-2.17382 -0.97812,-0.72291 -1.49874,-1.40647 -1.49805,-2.03125 3.7e-4,-0.43907 0.39742,-0.83099 0.91797,-1.4043 a 0.55005501,0.55005501 0 0 0 -0.39063,-0.92578 z" id="path5432-2" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.10000002;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 565.45508,409.94531 a 0.55005501,0.55005501 0 0 0 -0.31446,0.97071 c 0.44122,0.38244 0.8125,1.03351 0.8125,1.58398 -0.002,0.56635 -0.25363,0.95243 -0.74218,1.35938 -0.48909,0.40739 -1.20703,0.77343 -1.95703,1.14843 a 0.55028291,0.55028291 0 1 0 0.49218,0.98438 c 0.75,-0.375 1.5313,-0.75874 2.16797,-1.28907 0.63668,-0.53032 1.13681,-1.26964 1.13867,-2.20312 0,-0.98667 -0.54281,-1.85212 -1.19335,-2.41602 a 0.55005501,0.55005501 0 0 0 -0.4043,-0.13867 z m -6.95313,8.00196 a 0.55005501,0.55005501 0 0 0 -0.24804,0.0605 c -0.75,0.375 -1.5313,0.75874 -2.16797,1.28907 -0.63668,0.53032 -1.13681,1.26964 -1.13867,2.20312 0,0.98843 0.53602,1.85319 1.19335,2.41797 a 0.55122854,0.55122854 0 1 0 0.71876,-0.83594 c -0.44771,-0.38466 -0.8125,-1.01968 -0.8125,-1.58203 0.002,-0.56635 0.25363,-0.95243 0.74218,-1.35938 0.48909,-0.40739 1.20703,-0.77343 1.95703,-1.14843 a 0.55005501,0.55005501 0 0 0 -0.24414,-1.04492 z" id="path5435-6" inkscape:connector-curvature="0"/>
+ <path id="path5484-0" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.5;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 557.5,421 a 0.50005,0.50005 0 1 0 0,1 h 2 A 0.50005,0.50005 0 0 0 560,421.58008 0.50005,0.50005 0 0 0 560.5,422 h 4 a 0.50005,0.50005 0 1 0 0,-1 h -4 A 0.50005,0.50005 0 0 0 560,421.41992 0.50005,0.50005 0 0 0 559.5,421 Z m 0,-9 a 0.50005,0.50005 0 1 0 0,1 h 4 A 0.50005,0.50005 0 0 0 562,412.58008 0.50005,0.50005 0 0 0 562.5,413 h 2 a 0.50005,0.50005 0 1 0 0,-1 h -2 A 0.50005,0.50005 0 0 0 562,412.41992 0.50005,0.50005 0 0 0 561.5,412 Z" inkscape:connector-curvature="0"/>
</g>
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 240,602 c -1.21759,0 -2.24187,0.34734 -2.94727,1.05273 C 236.34734,603.75813 236,604.78241 236,606 v 3.41992 a 0.50005,0.50005 0 0 0 0.11328,0.4043 0.50005,0.50005 0 0 0 0.0156,0.0195 0.50005,0.50005 0 0 0 0.0176,0.0176 0.50005,0.50005 0 0 0 0.004,0.002 0.50005,0.50005 0 0 0 0.0332,0.0312 0.50005,0.50005 0 0 0 0.004,0.002 A 0.50005,0.50005 0 0 0 236.58203,610 H 236.75 A 0.50005,0.50005 0 0 0 237,609.06445 V 606 c 0,-1.03241 0.27766,-1.75813 0.75977,-2.24023 C 238.24187,603.27766 238.96759,603 240,603 h 4.29297 l 2.85351,2.85352 A 0.50005,0.50005 0 0 0 247.5,606 h 1.5 c 0.63889,0 1.1225,0.20453 1.45898,0.54102 C 250.79547,606.8775 251,607.36111 251,608 v 1.5 a 0.50005,0.50005 0 1 0 1,0 V 608 c 0,-0.86111 -0.29547,-1.6275 -0.83398,-2.16602 C 250.6275,605.29547 249.86111,605 249,605 h -1.29297 l -2.85351,-2.85352 A 0.50005,0.50005 0 0 0 244.5,602 Z m -0.5,7 c -0.8225,0 -1.5,0.6775 -1.5,1.5 0,0.8225 0.6775,1.5 1.5,1.5 0.8225,0 1.5,-0.6775 1.5,-1.5 0,-0.8225 -0.6775,-1.5 -1.5,-1.5 z m 3,0 a 0.50005,0.50005 0 1 0 0,1 h 3 a 0.50005,0.50005 0 1 0 0,-1 z m 6,0 c -0.8225,0 -1.5,0.6775 -1.5,1.5 0,0.8225 0.6775,1.5 1.5,1.5 0.8225,0 1.5,-0.6775 1.5,-1.5 0,-0.8225 -0.6775,-1.5 -1.5,-1.5 z m -9,1 c 0.28206,0 0.5,0.21794 0.5,0.5 0,0.28206 -0.21794,0.5 -0.5,0.5 -0.28206,0 -0.5,-0.21794 -0.5,-0.5 0,-0.28206 0.21794,-0.5 0.5,-0.5 z m 9,0 c 0.28206,0 0.5,0.21794 0.5,0.5 0,0.28206 -0.21794,0.5 -0.5,0.5 -0.28206,0 -0.5,-0.21794 -0.5,-0.5 0,-0.28206 0.21794,-0.5 0.5,-0.5 z"
- id="circle12878-4"
- inkscape:connector-curvature="0" />
- <g
- transform="matrix(-0.75,0,0,0.75,369.25,419.25)"
- style="display:inline;opacity:1;fill:#ffffff;stroke:#ffffff;stroke-width:1.33333325;enable-background:new"
- id="g10315-7"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- inkscape:export-xdpi="96"
- inkscape:export-ydpi="96">
- <g
- style="fill:#ffffff;stroke:#ffffff;stroke-width:1.33333325"
- id="g10313-3">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.33333337;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 300.99023,247.67578 a 0.666995,0.666995 0 1 0 0,1.33399 h 10.66602 a 0.666995,0.666995 0 1 0 0,-1.33399 z"
- id="path10309-7"
- inkscape:connector-curvature="0" />
+ <g transform="matrix(-0.53033009,-0.53033009,-0.53033009,0.53033009,706.86353,657.75914)" style="display:inline;opacity:1;fill:#ffffff;stroke:#ffffff;stroke-width:1.33333337;stroke-miterlimit:4;stroke-dasharray:none;enable-background:new" id="g10178-9" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" inkscape:export-xdpi="96" inkscape:export-ydpi="96">
+ <g style="fill:#ffffff;stroke:#ffffff;stroke-width:1.33333337;stroke-miterlimit:4;stroke-dasharray:none" id="g10176-5">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.33333337;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 306.99023,241.72461 a 0.66673335,0.66673335 0 0 0 -0.65625,0.67578 v 5.93359 h -5.93359 a 0.66673335,0.66673335 0 1 0 0,1.33204 h 5.93359 v 5.93359 a 0.66673335,0.66673335 0 1 0 1.33204,0 v -5.93359 h 5.93359 a 0.66673335,0.66673335 0 1 0 0,-1.33204 h -5.93359 v -5.93359 a 0.66673335,0.66673335 0 0 0 -0.67579,-0.67578 z" id="path10174-2" inkscape:connector-curvature="0"/>
</g>
</g>
- <g
- id="g10247-8"
- style="display:inline;opacity:1;fill:#ffffff;stroke:#ffffff;stroke-width:1.33333337;stroke-miterlimit:4;stroke-dasharray:none;enable-background:new"
- transform="matrix(-0.53033009,-0.53033009,-0.53033009,0.53033009,454.86353,636.75914)"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- inkscape:export-xdpi="96"
- inkscape:export-ydpi="96">
- <g
- id="g10245-2"
- style="fill:#ffffff;stroke:#ffffff;stroke-width:1.33333337;stroke-miterlimit:4;stroke-dasharray:none">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.33333337;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 306.99023,241.72461 a 0.66673335,0.66673335 0 0 0 -0.65625,0.67578 v 5.93359 h -5.93359 a 0.66673335,0.66673335 0 1 0 0,1.33204 h 5.93359 v 5.93359 a 0.66673335,0.66673335 0 1 0 1.33204,0 v -5.93359 h 5.93359 a 0.66673335,0.66673335 0 1 0 0,-1.33204 h -5.93359 v -5.93359 a 0.66673335,0.66673335 0 0 0 -0.67579,-0.67578 z"
- id="path10243-3"
- inkscape:connector-curvature="0" />
- </g>
+ <g transform="translate(20.999998,4.4999696e-6)" style="display:inline;fill:#ffffff;enable-background:new" id="g23194">
+ <g transform="translate(430,-112)" id="g12465" style="fill:#ffffff"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 79.570312,578.01758 c -0.797869,-0.038 -1.571767,0.27684 -2.160156,0.86523 l -1.486328,1.48828 c -0.615772,0.57533 -0.93433,1.35407 -0.892578,2.1543 a 0.50005,0.50005 0 1 0 0.998047,-0.0508 c -0.02687,-0.51495 0.155664,-0.98016 0.576172,-1.37305 a 0.50005,0.50005 0 0 0 0.01172,-0.0117 l 1.5,-1.5 c 0.411611,-0.41161 0.889666,-0.59872 1.404296,-0.57422 0.514631,0.0245 1.084383,0.26993 1.638672,0.82422 0.554795,0.5548 0.809544,1.13546 0.837891,1.65235 0.02835,0.51688 -0.152405,0.9848 -0.574219,1.3789 a 0.50005,0.50005 0 0 0 -0.01367,0.0117 l -1.5,1.5 c -0.412129,0.41213 -0.876932,0.60352 -1.396484,0.60352 a 0.50005,0.50005 0 1 0 0,1 c 0.780667,0 1.524905,-0.31788 2.103516,-0.89649 l 1.488281,-1.48828 c 0.617686,-0.57711 0.936606,-1.36125 0.892578,-2.16406 -0.04403,-0.80281 -0.435654,-1.60948 -1.130859,-2.30469 -0.695711,-0.69571 -1.499006,-1.07724 -2.296876,-1.11523 z m -1.080078,3.97851 a 0.50005,0.50005 0 0 0 -0.34375,0.15039 l -5,5 a 0.50005,0.50005 0 1 0 0.707032,0.70704 l 5,-5 a 0.50005,0.50005 0 0 0 -0.363282,-0.85743 z m -4.929687,2.02149 c -0.807524,-0.0482 -1.595401,0.26944 -2.175781,0.89062 l -1.488282,1.48828 c -0.588388,0.58839 -0.903228,1.36034 -0.865234,2.15821 0.03799,0.79787 0.419524,1.60311 1.115234,2.29883 0.695206,0.6952 1.503832,1.08487 2.306641,1.1289 0.802809,0.044 1.584996,-0.27294 2.162109,-0.89062 l 1.488282,-1.48828 C 76.682126,589.0249 77,588.28067 77,587.5 a 0.50005,0.50005 0 1 0 -1,0 c 0,0.51955 -0.191386,0.98436 -0.603516,1.39648 l -1.5,1.5 a 0.50005,0.50005 0 0 0 -0.01172,0.0117 c -0.394107,0.42182 -0.860068,0.60452 -1.376954,0.57618 -0.516885,-0.0283 -1.099502,-0.2831 -1.654296,-0.8379 -0.55429,-0.55428 -0.79776,-1.12404 -0.822266,-1.63867 -0.02451,-0.51463 0.160654,-0.99268 0.572266,-1.40429 l 1.5,-1.5 a 0.50005,0.50005 0 0 0 0.01172,-0.0117 c 0.39634,-0.4242 0.866283,-0.60725 1.386719,-0.57618 a 0.50005,0.50005 0 1 0 0.05859,-0.99804 z" id="path12469" inkscape:connector-curvature="0"/>
</g>
- <g
- transform="translate(-1.8536743e-6,4.4999696e-6)"
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g12144"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- inkscape:export-xdpi="96"
- inkscape:export-ydpi="96">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:7.17647076;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 181.5,578 c -3.57273,0 -6.5,2.92727 -6.5,6.5 0,1.60752 0.59683,3.08042 1.57422,4.21875 l -2.42774,2.42773 a 0.50005,0.50005 0 1 0 0.70704,0.70704 l 2.42578,-2.42579 c 1.13822,0.977 2.61355,1.57227 4.2207,1.57227 3.57273,0 6.5,-2.92728 6.5,-6.5 0,-3.57273 -2.92727,-6.5 -6.5,-6.5 z m 0,1 c 2.85852,0 5.21992,2.20548 5.47461,5 h -6.26758 l 2.14649,-2.14648 c 0.32529,-0.31801 0.0914,-0.86992 -0.36329,-0.85743 -0.12976,0.004 -0.25303,0.0575 -0.34375,0.15039 l -2.95703,2.95704 c -0.26095,0.19951 -0.26189,0.59214 -0.002,0.79296 0.002,10e-4 0.004,0.003 0.006,0.004 l 2.95312,2.95313 c 0.47127,0.49023 1.19727,-0.23577 0.70704,-0.70704 L 180.70703,585 h 6.26758 c -0.25469,2.79451 -2.61609,5 -5.47461,5 -3.02727,0 -5.5,-2.47273 -5.5,-5.5 0,-3.02728 2.47273,-5.5 5.5,-5.5 z"
- transform="translate(1.8536743e-6,-4.4999696e-6)"
- id="path9890-4"
- inkscape:connector-curvature="0" />
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- transform="translate(40.94871,1.10183)"
- id="g9896-8" />
- <rect
- y="577.04999"
- x="172.95"
- height="16"
- width="16"
- id="rect9898-1"
- style="display:inline;overflow:visible;visibility:visible;opacity:0;fill:#ffffff;stroke:none;stroke-width:3;marker:none;enable-background:accumulate" />
- </g>
- <g
- style="display:inline;opacity:1;fill:#ffffff;enable-background:new"
- id="g5506-8"
- transform="translate(-44.000002,63.000005)"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- inkscape:export-xdpi="96"
- inkscape:export-ydpi="96">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.10000002;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 556.57617,409.98047 a 0.55005501,0.55005501 0 0 0 -0.42383,0.18555 c -0.46657,0.51387 -1.20227,1.13094 -1.20312,2.14257 -10e-4,1.1847 0.85571,2.11411 1.94336,2.91797 1.08765,0.80386 2.47935,1.527 3.84765,2.25782 0.44143,0.23577 0.88243,0.47055 1.3086,0.70312 1.11316,0.60746 2.13512,1.2144 2.84375,1.81836 0.70862,0.60396 1.05894,1.15906 1.05859,1.68359 -4e-4,0.48086 -0.32771,1.0064 -0.79492,1.38086 a 0.55027044,0.55027044 0 1 0 0.6875,0.85938 c 0.65297,-0.52334 1.20625,-1.30182 1.20703,-2.23828 6.6e-4,-0.99421 -0.62031,-1.82029 -1.44531,-2.52344 -0.825,-0.70315 -1.89813,-1.32892 -3.03125,-1.94727 -0.43383,-0.23675 -0.87476,-0.47023 -1.31445,-0.70508 -1.37366,-0.73367 -2.73478,-1.45092 -3.71289,-2.17382 -0.97812,-0.72291 -1.49874,-1.40647 -1.49805,-2.03125 3.7e-4,-0.43907 0.39742,-0.83099 0.91797,-1.4043 a 0.55005501,0.55005501 0 0 0 -0.39063,-0.92578 z"
- id="path5432-2"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.10000002;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 565.45508,409.94531 a 0.55005501,0.55005501 0 0 0 -0.31446,0.97071 c 0.44122,0.38244 0.8125,1.03351 0.8125,1.58398 -0.002,0.56635 -0.25363,0.95243 -0.74218,1.35938 -0.48909,0.40739 -1.20703,0.77343 -1.95703,1.14843 a 0.55028291,0.55028291 0 1 0 0.49218,0.98438 c 0.75,-0.375 1.5313,-0.75874 2.16797,-1.28907 0.63668,-0.53032 1.13681,-1.26964 1.13867,-2.20312 0,-0.98667 -0.54281,-1.85212 -1.19335,-2.41602 a 0.55005501,0.55005501 0 0 0 -0.4043,-0.13867 z m -6.95313,8.00196 a 0.55005501,0.55005501 0 0 0 -0.24804,0.0605 c -0.75,0.375 -1.5313,0.75874 -2.16797,1.28907 -0.63668,0.53032 -1.13681,1.26964 -1.13867,2.20312 0,0.98843 0.53602,1.85319 1.19335,2.41797 a 0.55122854,0.55122854 0 1 0 0.71876,-0.83594 c -0.44771,-0.38466 -0.8125,-1.01968 -0.8125,-1.58203 0.002,-0.56635 0.25363,-0.95243 0.74218,-1.35938 0.48909,-0.40739 1.20703,-0.77343 1.95703,-1.14843 a 0.55005501,0.55005501 0 0 0 -0.24414,-1.04492 z"
- id="path5435-6"
- inkscape:connector-curvature="0" />
- <path
- id="path5484-0"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.5;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 557.5,421 a 0.50005,0.50005 0 1 0 0,1 h 2 A 0.50005,0.50005 0 0 0 560,421.58008 0.50005,0.50005 0 0 0 560.5,422 h 4 a 0.50005,0.50005 0 1 0 0,-1 h -4 A 0.50005,0.50005 0 0 0 560,421.41992 0.50005,0.50005 0 0 0 559.5,421 Z m 0,-9 a 0.50005,0.50005 0 1 0 0,1 h 4 A 0.50005,0.50005 0 0 0 562,412.58008 0.50005,0.50005 0 0 0 562.5,413 h 2 a 0.50005,0.50005 0 1 0 0,-1 h -2 A 0.50005,0.50005 0 0 0 562,412.41992 0.50005,0.50005 0 0 0 561.5,412 Z"
- inkscape:connector-curvature="0" />
- </g>
- <g
- transform="matrix(-0.53033009,-0.53033009,-0.53033009,0.53033009,706.86353,657.75914)"
- style="display:inline;opacity:1;fill:#ffffff;stroke:#ffffff;stroke-width:1.33333337;stroke-miterlimit:4;stroke-dasharray:none;enable-background:new"
- id="g10178-9"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- inkscape:export-xdpi="96"
- inkscape:export-ydpi="96">
- <g
- style="fill:#ffffff;stroke:#ffffff;stroke-width:1.33333337;stroke-miterlimit:4;stroke-dasharray:none"
- id="g10176-5">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.33333337;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 306.99023,241.72461 a 0.66673335,0.66673335 0 0 0 -0.65625,0.67578 v 5.93359 h -5.93359 a 0.66673335,0.66673335 0 1 0 0,1.33204 h 5.93359 v 5.93359 a 0.66673335,0.66673335 0 1 0 1.33204,0 v -5.93359 h 5.93359 a 0.66673335,0.66673335 0 1 0 0,-1.33204 h -5.93359 v -5.93359 a 0.66673335,0.66673335 0 0 0 -0.67579,-0.67578 z"
- id="path10174-2"
- inkscape:connector-curvature="0" />
+ <g style="display:inline;opacity:1;fill:#ffffff;stroke-width:1.15384436;enable-background:new" id="g12595" transform="matrix(0.866668,0,0,0.866668,-177.46699,184.39943)" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" inkscape:export-xdpi="96" inkscape:export-ydpi="96">
+ <g style="fill:#ffffff;stroke-width:1.15384436" id="g12593">
+ <path style="opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none" d="m 34,557 c -3.860079,0 -7,3.13992 -7,7 0,3.86008 3.139921,7 7,7 3.860079,0 7,-3.13992 7,-7 0,-3.86008 -3.139921,-7 -7,-7 z m 0,1 c 3.305801,0 5.975833,2.65852 5.998047,5.95898 C 38.886544,564.90262 36.995365,566 34,566 v 4 c -3.319633,0 -6,-2.68037 -6,-6 0,-0.0145 0.0019,-0.0285 0.002,-0.043 C 29.113203,564.90101 31.002992,566 34,566 Z" transform="matrix(1.1538444,0,0,1.1538444,204.76929,-212.76825)" id="path12589" inkscape:connector-curvature="0"/>
</g>
</g>
- <g
- transform="translate(20.999998,4.4999696e-6)"
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g23194">
- <g
- transform="translate(430,-112)"
- id="g12465"
- style="fill:#ffffff" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 79.570312,578.01758 c -0.797869,-0.038 -1.571767,0.27684 -2.160156,0.86523 l -1.486328,1.48828 c -0.615772,0.57533 -0.93433,1.35407 -0.892578,2.1543 a 0.50005,0.50005 0 1 0 0.998047,-0.0508 c -0.02687,-0.51495 0.155664,-0.98016 0.576172,-1.37305 a 0.50005,0.50005 0 0 0 0.01172,-0.0117 l 1.5,-1.5 c 0.411611,-0.41161 0.889666,-0.59872 1.404296,-0.57422 0.514631,0.0245 1.084383,0.26993 1.638672,0.82422 0.554795,0.5548 0.809544,1.13546 0.837891,1.65235 0.02835,0.51688 -0.152405,0.9848 -0.574219,1.3789 a 0.50005,0.50005 0 0 0 -0.01367,0.0117 l -1.5,1.5 c -0.412129,0.41213 -0.876932,0.60352 -1.396484,0.60352 a 0.50005,0.50005 0 1 0 0,1 c 0.780667,0 1.524905,-0.31788 2.103516,-0.89649 l 1.488281,-1.48828 c 0.617686,-0.57711 0.936606,-1.36125 0.892578,-2.16406 -0.04403,-0.80281 -0.435654,-1.60948 -1.130859,-2.30469 -0.695711,-0.69571 -1.499006,-1.07724 -2.296876,-1.11523 z m -1.080078,3.97851 a 0.50005,0.50005 0 0 0 -0.34375,0.15039 l -5,5 a 0.50005,0.50005 0 1 0 0.707032,0.70704 l 5,-5 a 0.50005,0.50005 0 0 0 -0.363282,-0.85743 z m -4.929687,2.02149 c -0.807524,-0.0482 -1.595401,0.26944 -2.175781,0.89062 l -1.488282,1.48828 c -0.588388,0.58839 -0.903228,1.36034 -0.865234,2.15821 0.03799,0.79787 0.419524,1.60311 1.115234,2.29883 0.695206,0.6952 1.503832,1.08487 2.306641,1.1289 0.802809,0.044 1.584996,-0.27294 2.162109,-0.89062 l 1.488282,-1.48828 C 76.682126,589.0249 77,588.28067 77,587.5 a 0.50005,0.50005 0 1 0 -1,0 c 0,0.51955 -0.191386,0.98436 -0.603516,1.39648 l -1.5,1.5 a 0.50005,0.50005 0 0 0 -0.01172,0.0117 c -0.394107,0.42182 -0.860068,0.60452 -1.376954,0.57618 -0.516885,-0.0283 -1.099502,-0.2831 -1.654296,-0.8379 -0.55429,-0.55428 -0.79776,-1.12404 -0.822266,-1.63867 -0.02451,-0.51463 0.160654,-0.99268 0.572266,-1.40429 l 1.5,-1.5 a 0.50005,0.50005 0 0 0 0.01172,-0.0117 c 0.39634,-0.4242 0.866283,-0.60725 1.386719,-0.57618 a 0.50005,0.50005 0 1 0 0.05859,-0.99804 z"
- id="path12469"
- inkscape:connector-curvature="0" />
- </g>
- <g
- style="display:inline;opacity:1;fill:#ffffff;stroke-width:1.15384436;enable-background:new"
- id="g12595"
- transform="matrix(0.866668,0,0,0.866668,-177.46699,184.39943)"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- inkscape:export-xdpi="96"
- inkscape:export-ydpi="96">
- <g
- style="fill:#ffffff;stroke-width:1.15384436"
- id="g12593">
- <path
- style="opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none"
- d="m 34,557 c -3.860079,0 -7,3.13992 -7,7 0,3.86008 3.139921,7 7,7 3.860079,0 7,-3.13992 7,-7 0,-3.86008 -3.139921,-7 -7,-7 z m 0,1 c 3.305801,0 5.975833,2.65852 5.998047,5.95898 C 38.886544,564.90262 36.995365,566 34,566 v 4 c -3.319633,0 -6,-2.68037 -6,-6 0,-0.0145 0.0019,-0.0285 0.002,-0.043 C 29.113203,564.90101 31.002992,566 34,566 Z"
- transform="matrix(1.1538444,0,0,1.1538444,204.76929,-212.76825)"
- id="path12589"
- inkscape:connector-curvature="0" />
- </g>
+ <g id="g6666-5" transform="translate(-63.000002,42.000005)" style="display:inline;opacity:1;fill:#ffffff;enable-background:new" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" inkscape:export-xdpi="96" inkscape:export-ydpi="96">
+ <path style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.79999995;marker:none;enable-background:accumulate" d="m 363.5,536 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 13 a 0.50005,0.50005 0 0 0 0.5,0.5 h 13 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -13 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m 0.5,1 h 12 v 12 h -12 z m 2,2 v 1 h 1 v -1 z m 1,1 v 1 h 1 v -1 z m 1,1 v 1 h 1 v -1 z m 0,1 h -1 v 1 h 1 z m -1,1 h -1 v 1 h 1 z m 2,0 v 1 h 3 v -1 z" transform="translate(63.000002,-42.000005)" id="rect40533-7-0" inkscape:connector-curvature="0"/>
+ </g>
+ <g transform="matrix(-1,0,0,1,635,-357)" id="g12824" style="fill:#ffffff">
+ <path inkscape:connector-curvature="0" id="path12813" d="m 363.5,431 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 1 a 0.50005,0.50005 0 0 0 0.14648,0.35352 L 368,437.70703 V 441.5 a 0.50005,0.50005 0 0 0 0.14648,0.35352 l 3,3 A 0.50005,0.50005 0 0 0 372,444.5 v -6.79297 l 4.85352,-4.85351 A 0.50005,0.50005 0 0 0 377,432.5 v -1 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m 0.5,1 h 12 v 0.29297 l -4.85352,4.85351 A 0.50005,0.50005 0 0 0 371,437.5 v 5.79297 l -2,-2 V 437.5 a 0.50005,0.50005 0 0 0 -0.14648,-0.35352 L 364,432.29297 Z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
</g>
- <g
- id="g6666-5"
- transform="translate(-63.000002,42.000005)"
- style="display:inline;opacity:1;fill:#ffffff;enable-background:new"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- inkscape:export-xdpi="96"
- inkscape:export-ydpi="96">
- <path
- style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.79999995;marker:none;enable-background:accumulate"
- d="m 363.5,536 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 13 a 0.50005,0.50005 0 0 0 0.5,0.5 h 13 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -13 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m 0.5,1 h 12 v 12 h -12 z m 2,2 v 1 h 1 v -1 z m 1,1 v 1 h 1 v -1 z m 1,1 v 1 h 1 v -1 z m 0,1 h -1 v 1 h 1 z m -1,1 h -1 v 1 h 1 z m 2,0 v 1 h 3 v -1 z"
- transform="translate(63.000002,-42.000005)"
- id="rect40533-7-0"
- inkscape:connector-curvature="0" />
- </g>
- <g
- transform="matrix(-1,0,0,1,635,-357)"
- id="g12824"
- style="fill:#ffffff">
- <path
- inkscape:connector-curvature="0"
- id="path12813"
- d="m 363.5,431 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 1 a 0.50005,0.50005 0 0 0 0.14648,0.35352 L 368,437.70703 V 441.5 a 0.50005,0.50005 0 0 0 0.14648,0.35352 l 3,3 A 0.50005,0.50005 0 0 0 372,444.5 v -6.79297 l 4.85352,-4.85351 A 0.50005,0.50005 0 0 0 377,432.5 v -1 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m 0.5,1 h 12 v 0.29297 l -4.85352,4.85351 A 0.50005,0.50005 0 0 0 371,437.5 v 5.79297 l -2,-2 V 437.5 a 0.50005,0.50005 0 0 0 -0.14648,-0.35352 L 364,432.29297 Z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
- </g>
- <g
- style="display:inline;opacity:1;fill:#ffffff;enable-background:new"
- id="g6750-7"
- transform="translate(-314.99995,-567)"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- inkscape:export-xdpi="96"
- inkscape:export-ydpi="96">
- <rect
- y="598"
- x="614"
- height="16"
- width="16"
- id="rect6732-0"
- style="opacity:0;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1;stroke-opacity:1;marker:none" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 618.74609,599 a 0.50005,0.50005 0 0 0 -0.48437,0.37695 l -3.2461,12.75 A 0.50005,0.50005 0 0 0 615,612.25 v 0.25 a 0.50005,0.50005 0 1 0 1,0 v -0.1875 l 0.84961,-3.33398 A 0.50005,0.50005 0 0 0 617,609 h 4 a 0.50005,0.50005 0 0 0 0.14844,-0.0195 h 0.002 L 622,612.3125 V 612.5 a 0.50005,0.50005 0 1 0 1,0 v -0.25 a 0.50005,0.50005 0 0 0 -0.0156,-0.12305 l -3.25391,-12.75 A 0.50005,0.50005 0 0 0 619.24609,599 Z m 0.25,1.54492 1.90235,7.45508 h -3.80078 z"
- id="path6736-8"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 310,45 v -5 h 1.5 c 0.83481,0 1.5,0.664144 1.5,1.498047 v 2.007812 c 0,0.833914 -0.66519,1.498047 -1.5,1.496094 z m 4,-1.494141 V 41.498047 C 314,40.122764 312.87431,39 311.5,39 H 310 v -6.5 c 0.004,-0.28226 -0.22555,-0.512233 -0.50781,-0.507812 C 309.21605,31.996188 308.99568,32.22386 309,32.5 v 13 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 l 2,0.002 c 1.37431,0.002 2.5,-1.120801 2.5,-2.496094 z"
- transform="translate(314.99995,567)"
- id="path6744-7"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="ccsccccccsccccccccc" />
- </g>
- <g
- transform="translate(-231.00712,-588.00007)"
- id="g23192-6"
- style="display:inline;opacity:1;fill:#ffffff;enable-background:new"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- inkscape:export-xdpi="96"
- inkscape:export-ydpi="96">
- <g
- transform="translate(21)"
- id="g23190-0"
- style="fill:#ffffff">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 553.5,620 a 0.50005,0.50005 0 1 0 0,1 h 10.99219 a 0.50005,0.50005 0 1 0 0,-1 z m 0,2 a 0.50005,0.50005 0 1 0 0,1 h 10.99219 a 0.50005,0.50005 0 1 0 0,-1 z m 0,2 a 0.50005,0.50005 0 1 0 0,1 h 10.99219 a 0.50005,0.50005 0 1 0 0,-1 z m 0,5 a 0.50005,0.50005 0 1 0 0,1 h 10.99219 a 0.50005,0.50005 0 1 0 0,-1 z m 0,2 a 0.50005,0.50005 0 1 0 0,1 h 10.99219 a 0.50005,0.50005 0 1 0 0,-1 z m 0,2 a 0.50005,0.50005 0 1 0 0,1 h 11 a 0.50005,0.50005 0 1 0 0,-1 z"
- id="path23186-9"
- inkscape:connector-curvature="0" />
+ <g style="display:inline;opacity:1;fill:#ffffff;enable-background:new" id="g6750-7" transform="translate(-314.99995,-567)" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" inkscape:export-xdpi="96" inkscape:export-ydpi="96">
+ <rect y="598" x="614" height="16" width="16" id="rect6732-0" style="opacity:0;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1;stroke-opacity:1;marker:none"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 618.74609,599 a 0.50005,0.50005 0 0 0 -0.48437,0.37695 l -3.2461,12.75 A 0.50005,0.50005 0 0 0 615,612.25 v 0.25 a 0.50005,0.50005 0 1 0 1,0 v -0.1875 l 0.84961,-3.33398 A 0.50005,0.50005 0 0 0 617,609 h 4 a 0.50005,0.50005 0 0 0 0.14844,-0.0195 h 0.002 L 622,612.3125 V 612.5 a 0.50005,0.50005 0 1 0 1,0 v -0.25 a 0.50005,0.50005 0 0 0 -0.0156,-0.12305 l -3.25391,-12.75 A 0.50005,0.50005 0 0 0 619.24609,599 Z m 0.25,1.54492 1.90235,7.45508 h -3.80078 z" id="path6736-8" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 310,45 v -5 h 1.5 c 0.83481,0 1.5,0.664144 1.5,1.498047 v 2.007812 c 0,0.833914 -0.66519,1.498047 -1.5,1.496094 z m 4,-1.494141 V 41.498047 C 314,40.122764 312.87431,39 311.5,39 H 310 v -6.5 c 0.004,-0.28226 -0.22555,-0.512233 -0.50781,-0.507812 C 309.21605,31.996188 308.99568,32.22386 309,32.5 v 13 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 l 2,0.002 c 1.37431,0.002 2.5,-1.120801 2.5,-2.496094 z" transform="translate(314.99995,567)" id="path6744-7" inkscape:connector-curvature="0" sodipodi:nodetypes="ccsccccccsccccccccc"/>
+ </g>
+ <g transform="translate(-231.00712,-588.00007)" id="g23192-6" style="display:inline;opacity:1;fill:#ffffff;enable-background:new" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" inkscape:export-xdpi="96" inkscape:export-ydpi="96">
+ <g transform="translate(21)" id="g23190-0" style="fill:#ffffff">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 553.5,620 a 0.50005,0.50005 0 1 0 0,1 h 10.99219 a 0.50005,0.50005 0 1 0 0,-1 z m 0,2 a 0.50005,0.50005 0 1 0 0,1 h 10.99219 a 0.50005,0.50005 0 1 0 0,-1 z m 0,2 a 0.50005,0.50005 0 1 0 0,1 h 10.99219 a 0.50005,0.50005 0 1 0 0,-1 z m 0,5 a 0.50005,0.50005 0 1 0 0,1 h 10.99219 a 0.50005,0.50005 0 1 0 0,-1 z m 0,2 a 0.50005,0.50005 0 1 0 0,1 h 10.99219 a 0.50005,0.50005 0 1 0 0,-1 z m 0,2 a 0.50005,0.50005 0 1 0 0,1 h 11 a 0.50005,0.50005 0 1 0 0,-1 z" id="path23186-9" inkscape:connector-curvature="0"/>
</g>
</g>
- <g
- style="display:inline;opacity:1;fill:#ffffff;enable-background:new"
- id="g12563-2"
- transform="translate(-84.000002,4.4999696e-6)"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- inkscape:export-xdpi="96"
- inkscape:export-ydpi="96">
- <path
- inkscape:connector-curvature="0"
- id="rect12547-2"
- d="m 405,32 v 8 h 14 v -8 z m 2.50781,2 h 8.98438 c 0.67616,-0.0096 0.67616,1.009563 0,1 h -8.98438 c -0.67616,0.0096 -0.67616,-1.009563 0,-1 z m 0,3 h 8.98438 c 0.67616,-0.0096 0.67616,1.009563 0,1 h -8.98438 c -0.67616,0.0096 -0.67616,-1.009563 0,-1 z"
- style="opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:1.00000003, 2.00000004;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke"
- sodipodi:nodetypes="ccccccccccccccc" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 407.50781,42 a 0.50005,0.50005 0 1 0 0,1 h 8.98438 a 0.50005,0.50005 0 1 0 0,-1 z m 0,3 a 0.50005,0.50005 0 1 0 0,1 h 8.98438 a 0.50005,0.50005 0 1 0 0,-1 z"
- id="path12541-0"
- inkscape:connector-curvature="0" />
- </g>
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 279.5,32 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 13 a 0.50005,0.50005 0 0 0 0.5,0.5 h 13 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -13 A 0.50005,0.50005 0 0 0 292.5,32 Z m 0.5,1 h 12 v 12 h -12 z"
- id="rect12615-8"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 282.56641,35 a 0.50005,0.50005 0 1 0 -0.008,1 l 4.9375,0.03125 a 0.50005,0.50005 0 1 0 0.008,-1 z m 0,2 a 0.50005,0.50005 0 1 0 -0.008,1 l 3.9375,0.03125 a 0.50005,0.50005 0 1 0 0.008,-1 z m 0.004,2 a 0.50006099,0.50006099 0 1 0 -0.0156,1 l 1.9375,0.03125 a 0.50006099,0.50006099 0 1 0 0.0156,-1 z m -0.006,2 a 0.50005,0.50005 0 1 0 -0.004,1 l 5.9375,0.03125 a 0.50005,0.50005 0 1 0 0.004,-1 z"
- id="path12623-2"
- inkscape:connector-curvature="0" />
- <g
- transform="translate(-1.8536743e-6,4.4999696e-6)"
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g10061"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- inkscape:export-xdpi="96"
- inkscape:export-ydpi="96">
- <g
- id="g9978"
- transform="translate(159,3)"
- style="display:inline;fill:#ffffff;enable-background:new">
- <g
- style="display:inline;fill:#ffffff;stroke-width:1.25052631;enable-background:new"
- id="g9976"
- transform="matrix(0.79966332,0,0,0.79966332,-130.65118,113.69494)">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 142,578 c -2.19759,0 -4,1.80241 -4,4 0,0.9193 0.32769,1.75955 0.85547,2.4375 l -3.70899,3.70898 a 0.50029086,0.50029086 0 1 0 0.70704,0.70704 l 3.70898,-3.70899 C 140.24045,585.67231 141.0807,586 142,586 c 2.19759,0 4,-1.80241 4,-4 0,-2.19759 -1.80241,-4 -4,-4 z m 0,1 c 1.65213,0 3,1.34787 3,3 0,1.65213 -1.34787,3 -3,3 -1.65214,0 -3,-1.34787 -3,-3 0,-1.65214 1.34786,-3 3,-3 z"
- transform="matrix(1.2505263,0,0,1.2505263,-35.450942,-145.9301)"
- id="path9971"
- inkscape:connector-curvature="0" />
+ <g style="display:inline;opacity:1;fill:#ffffff;enable-background:new" id="g12563-2" transform="translate(-84.000002,4.4999696e-6)" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" inkscape:export-xdpi="96" inkscape:export-ydpi="96">
+ <path inkscape:connector-curvature="0" id="rect12547-2" d="m 405,32 v 8 h 14 v -8 z m 2.50781,2 h 8.98438 c 0.67616,-0.0096 0.67616,1.009563 0,1 h -8.98438 c -0.67616,0.0096 -0.67616,-1.009563 0,-1 z m 0,3 h 8.98438 c 0.67616,-0.0096 0.67616,1.009563 0,1 h -8.98438 c -0.67616,0.0096 -0.67616,-1.009563 0,-1 z" style="opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:1.00000003, 2.00000004;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke" sodipodi:nodetypes="ccccccccccccccc"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 407.50781,42 a 0.50005,0.50005 0 1 0 0,1 h 8.98438 a 0.50005,0.50005 0 1 0 0,-1 z m 0,3 a 0.50005,0.50005 0 1 0 0,1 h 8.98438 a 0.50005,0.50005 0 1 0 0,-1 z" id="path12541-0" inkscape:connector-curvature="0"/>
+ </g>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 279.5,32 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 13 a 0.50005,0.50005 0 0 0 0.5,0.5 h 13 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -13 A 0.50005,0.50005 0 0 0 292.5,32 Z m 0.5,1 h 12 v 12 h -12 z" id="rect12615-8" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 282.56641,35 a 0.50005,0.50005 0 1 0 -0.008,1 l 4.9375,0.03125 a 0.50005,0.50005 0 1 0 0.008,-1 z m 0,2 a 0.50005,0.50005 0 1 0 -0.008,1 l 3.9375,0.03125 a 0.50005,0.50005 0 1 0 0.008,-1 z m 0.004,2 a 0.50006099,0.50006099 0 1 0 -0.0156,1 l 1.9375,0.03125 a 0.50006099,0.50006099 0 1 0 0.0156,-1 z m -0.006,2 a 0.50005,0.50005 0 1 0 -0.004,1 l 5.9375,0.03125 a 0.50005,0.50005 0 1 0 0.004,-1 z" id="path12623-2" inkscape:connector-curvature="0"/>
+ <g transform="translate(-1.8536743e-6,4.4999696e-6)" style="display:inline;fill:#ffffff;enable-background:new" id="g10061" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" inkscape:export-xdpi="96" inkscape:export-ydpi="96">
+ <g id="g9978" transform="translate(159,3)" style="display:inline;fill:#ffffff;enable-background:new">
+ <g style="display:inline;fill:#ffffff;stroke-width:1.25052631;enable-background:new" id="g9976" transform="matrix(0.79966332,0,0,0.79966332,-130.65118,113.69494)">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 142,578 c -2.19759,0 -4,1.80241 -4,4 0,0.9193 0.32769,1.75955 0.85547,2.4375 l -3.70899,3.70898 a 0.50029086,0.50029086 0 1 0 0.70704,0.70704 l 3.70898,-3.70899 C 140.24045,585.67231 141.0807,586 142,586 c 2.19759,0 4,-1.80241 4,-4 0,-2.19759 -1.80241,-4 -4,-4 z m 0,1 c 1.65213,0 3,1.34787 3,3 0,1.65213 -1.34787,3 -3,3 -1.65214,0 -3,-1.34787 -3,-3 0,-1.65214 1.34786,-3 3,-3 z" transform="matrix(1.2505263,0,0,1.2505263,-35.450942,-145.9301)" id="path9971" inkscape:connector-curvature="0"/>
</g>
</g>
- <g
- style="display:inline;opacity:0.6;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:0.80000001;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:new"
- transform="translate(-21.00001,84.99938)"
- id="g10042">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 135.48438,579 c -0.12718,0.004 -0.248,0.0564 -0.3379,0.14648 l -3,3 c -0.31479,0.315 -0.0918,0.85335 0.35352,0.85352 h 3 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 V 580 h 0.5 c 0.67616,0.01 0.67616,-1.00956 0,-1 h -1 v 0.002 c -0.005,0 -0.0101,-0.002 -0.0156,-0.002 z M 132,584 v 7.5 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 9 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -4 c 0.01,-0.67616 -1.00956,-0.67616 -1,0 v 3.5 h -8 v -7 z"
- transform="translate(21.000012,-84.999384)"
- id="path10038"
- inkscape:connector-curvature="0" />
+ <g style="display:inline;opacity:0.6;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:0.80000001;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:new" transform="translate(-21.00001,84.99938)" id="g10042">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 135.48438,579 c -0.12718,0.004 -0.248,0.0564 -0.3379,0.14648 l -3,3 c -0.31479,0.315 -0.0918,0.85335 0.35352,0.85352 h 3 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 V 580 h 0.5 c 0.67616,0.01 0.67616,-1.00956 0,-1 h -1 v 0.002 c -0.005,0 -0.0101,-0.002 -0.0156,-0.002 z M 132,584 v 7.5 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 9 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -4 c 0.01,-0.67616 -1.00956,-0.67616 -1,0 v 3.5 h -8 v -7 z" transform="translate(21.000012,-84.999384)" id="path10038" inkscape:connector-curvature="0"/>
</g>
</g>
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 370.49414,224.00195 a 0.50005,0.50005 0 0 0 -0.34766,0.14649 l -4,3.99804 a 0.50005,0.50005 0 0 0 0,0.70704 l 4,4 a 0.50005,0.50005 0 0 0 0.70508,0 l 3.99219,-3.97852 a 0.50005,0.50005 0 0 0 0.002,-0.70703 l -3.99218,-4.01953 a 0.50005,0.50005 0 0 0 -0.35938,-0.14649 z m 0.004,1.20899 3.28711,3.30859 L 370.5,231.79297 367.20703,228.5 Z"
- id="path23352-4"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 349.49414,224 c -0.13124,0.001 -0.25681,0.0537 -0.34961,0.14648 l -3.99805,4 c -0.19519,0.19527 -0.19519,0.51177 0,0.70704 l 3.99805,4 c 0.19526,0.19518 0.51177,0.19518 0.70703,0 l 3.99219,-3.97852 c 0.19574,-0.19471 0.19663,-0.51121 0.002,-0.70703 l -3.99218,-4.01953 c -0.0949,-0.0959 -0.2245,-0.14948 -0.35943,-0.14844 z"
- id="path23378-3"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="cccccccccc" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 328.48047,226.75 a 0.50005,0.50005 0 0 0 -0.39063,0.21484 l -3.99023,5.72461 a 0.50005,0.50005 0 0 0 -0.0898,0.27735 L 324,233.49219 A 0.50005,0.50005 0 0 0 324.5,234 h 8 a 0.50005,0.50005 0 0 0 0.5,-0.5 V 233 a 0.50005,0.50005 0 0 0 -0.0898,-0.28516 l -4,-5.75 A 0.50005,0.50005 0 0 0 328.48047,226.75 Z m 0.0195,1.375 3.39062,4.875 h -6.78906 z"
- id="path23380-3"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 307.48242,226.75 c -0.15739,0.006 -0.30286,0.0854 -0.39258,0.21484 l -4,5.75 c -0.0583,0.0837 -0.0897,0.18317 -0.0898,0.28516 v 0.5 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 8 c 0.27999,2e-5 0.50544,-0.22983 0.5,-0.50977 l -0.01,-0.47461 c -0.002,-0.0985 -0.0321,-0.19425 -0.0879,-0.27539 l -3.99023,-5.77539 c -0.0971,-0.14016 -0.25903,-0.22114 -0.42945,-0.21484 z"
- id="path23382-9"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="cccccccccccc" />
- <g
- style="display:inline;opacity:1;fill:#ffffff;enable-background:new"
- id="g12105"
- transform="translate(-147.00001,-566.99994)"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- inkscape:export-xdpi="96"
- inkscape:export-ydpi="96">
- <rect
- y="597.99994"
- x="278"
- height="16"
- width="16"
- id="rect12101"
- style="display:inline;overflow:visible;visibility:visible;opacity:0;fill:#ffffff;stroke:none;stroke-width:3;marker:none;enable-background:accumulate" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 286,599 c -3.8542,0 -7,3.1458 -7,7 0,3.8542 3.1458,7 7,7 3.8542,0 7,-3.1458 7,-7 0,-3.8542 -3.1458,-7 -7,-7 z m 0,2 c 2.77332,0 5,2.22668 5,5 0,2.77332 -2.22668,5 -5,5 -2.77332,0 -5,-2.22668 -5,-5 0,-2.77332 2.22668,-5 5,-5 z"
- id="path12103"
- inkscape:connector-curvature="0" />
- </g>
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="M 6.5,32 A 0.50005,0.50005 0 0 0 6,32.5 v 13 A 0.50005,0.50005 0 0 0 6.5,46 h 13 A 0.50005,0.50005 0 0 0 20,45.5 v -13 A 0.50005,0.50005 0 0 0 19.5,32 Z M 7,33 H 19 V 45 H 7 Z"
- id="rect12121"
- inkscape:connector-curvature="0" />
- <g
- transform="translate(-1.8536743e-6,4.4999696e-6)"
- style="display:inline;opacity:1;fill:#ffffff;enable-background:new"
- id="g12135"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- inkscape:export-xdpi="96"
- inkscape:export-ydpi="96">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 158.5,222 a 0.50005,0.50005 0 0 0 -0.35352,0.14648 L 155.29297,225 H 153.5 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 5 a 0.50005,0.50005 0 0 0 0.5,0.5 h 1.79297 l 2.85351,2.85352 A 0.50005,0.50005 0 0 0 158.5,234 h 1 a 0.50005,0.50005 0 0 0 0.5,-0.5 V 222.78125 222.5 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m 0.20703,1 H 159 v 10 h -0.29297 l -2.85351,-2.85352 A 0.50005,0.50005 0 0 0 155.5,230 H 154 v -4 h 1.5 a 0.50005,0.50005 0 0 0 0.35352,-0.14648 z"
- id="path12129"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 165.4668,223.01562 a 0.50005,0.50005 0 0 0 -0.42188,0.72071 c 1.27607,2.70648 1.27309,5.84072 -0.008,8.54492 a 0.50017783,0.50017783 0 1 0 0.9043,0.42773 c 1.40867,-2.97397 1.41118,-6.42391 0.008,-9.40039 a 0.50005,0.50005 0 0 0 -0.48242,-0.29297 z m -2.86133,0.9375 a 0.50005,0.50005 0 0 0 -0.43359,0.74219 c 1.10287,2.06013 1.10465,4.5334 0.006,6.59571 a 0.50023236,0.50023236 0 1 0 0.88282,0.4707 c 1.25518,-2.35583 1.25203,-5.18378 -0.008,-7.53711 a 0.50005,0.50005 0 0 0 -0.44726,-0.27149 z"
- id="path12133"
- inkscape:connector-curvature="0" />
- </g>
- <g
- id="g6417"
- style="fill:#ffffff">
- <path
- id="path8180-3"
- d="m 470.66016,493.97656 c -0.37961,-0.006 -0.76447,0.0652 -1.1211,0.21289 -0.93286,0.38641 -1.54492,1.30084 -1.54492,2.31055 v 3.5 h 1 v -3.5 c 0,-0.60813 0.3659,-1.154 0.92774,-1.38672 0.5437,-0.22521 1.42162,-0.0569 1.71874,0.24024 l 0.5,0.5 c 0.47128,0.49023 1.19727,-0.23577 0.70704,-0.70704 l -0.5,-0.5 c -0.35144,-0.35143 -0.81472,-0.56325 -1.31055,-0.63867 -0.12396,-0.0188 -0.25042,-0.0294 -0.37695,-0.0312 z m 8.67382,0 c -0.12653,0.002 -0.25299,0.0124 -0.37695,0.0312 -0.49583,0.0754 -0.95911,0.28724 -1.31055,0.63867 l -0.5,0.5 c -0.49023,0.47127 0.23577,1.19727 0.70704,0.70704 l 0.5,-0.5 c 0.29713,-0.29714 1.17505,-0.46545 1.71875,-0.24024 C 480.63411,495.346 481,495.89187 481,496.5 v 3.5 h 1 v -3.5 c 0,-1.00971 -0.61206,-1.92414 -1.54492,-2.31055 -0.35663,-0.1477 -0.74149,-0.21856 -1.1211,-0.21289 z M 468.49414,501 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 6 a 0.50005,0.50005 0 0 0 0.5,0.5 h 1 3.00586 a 0.50005,0.50005 0 0 0 0.41602,-0.22266 L 474.76758,505 h 0.46484 l 1.85156,2.77734 A 0.50005,0.50005 0 0 0 477.5,508 h 2.99414 1 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -6 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z M 474,502 v 2.34766 L 472.23242,507 h -2.23828 -1 L 469,502.00195 Z m 1.99414,0 5,0.002 V 507 h -0.5 H 480 477.76758 L 476,504.34766 Z"
- style="fill:#ffffff;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1"
- inkscape:connector-curvature="0" />
- <path
- sodipodi:nodetypes="ccccccccccc"
- inkscape:connector-curvature="0"
- id="path8043-2"
- d="m 470.49414,503 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 2 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 H 471.5 c 0.16717,-10e-6 0.32328,-0.0836 0.41602,-0.22266 l 1,-1.5 c 0.0559,-0.0838 0.0852,-0.18249 0.084,-0.2832 l -0.006,-0.5 c -0.003,-0.27384 -0.22614,-0.49413 -0.5,-0.49414 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.3;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
- </g>
- <path
- style="opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke"
- d="m 115,32 v 2 h 6 v -2 z m 6,2 v 2 h 2 v -2 z m 2,2 v 6 h 2 v -6 z m 0,6 h -2 v 2 h 2 z m -2,2 h -6 v 2 h 6 z m -6,0 v -2 h -2 v 2 z m -2,-2 v -6 h -2 v 6 z m 0,-6 h 2 v -2 h -2 z"
- id="rect23113-8"
- inkscape:connector-curvature="0" />
- <g
- style="display:inline;opacity:1;fill:#ffffff;enable-background:new"
- transform="translate(-420.00718,439.99283)"
- id="g7406-1-2"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- inkscape:export-xdpi="96"
- inkscape:export-ydpi="96">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 27.492188,598.99219 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 9 a 0.50005,0.50005 0 0 0 0.5,0.5 h 13 a 0.50005,0.50005 0 0 0 0.5,-0.49805 L 41,605 l -1,-0.002 -0.0059,2.99414 H 27.992188 v -8 h 8 v 3.5 c 2.9e-5,0.27613 0.223869,0.49997 0.5,0.5 h 4 c 0.44533,-1.7e-4 0.668305,-0.53852 0.353515,-0.85352 l -4,-4 c -0.09376,-0.0938 -0.22116,-0.14439 -0.353515,-0.14453 v -0.002 h -0.0078 z M 35,610 l -2,0.004 v 1.98828 h -2.507812 c -0.67616,-0.01 -0.67616,1.00956 0,1 h 7 c 0.676159,0.01 0.676159,-1.00956 0,-1 H 35 Z"
- transform="translate(420.00718,-439.99283)"
- id="path7395-0-0"
- inkscape:connector-curvature="0" />
- </g>
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 53.494141,601.99414 a 0.50005,0.50005 0 0 0 -0.347657,0.85938 l 3.646485,3.64648 -3.646485,3.64648 a 0.50005,0.50005 0 1 0 0.707032,0.70704 l 4,-4 a 0.50005,0.50005 0 0 0 0,-0.70704 l -4,-4 a 0.50005,0.50005 0 0 0 -0.359375,-0.15234 z"
- id="path9518-7-7"
- inkscape:connector-curvature="0" />
- <g
- id="g6733"
- transform="translate(-42.000002,503.9)"
- style="display:inline;opacity:1;fill:#ffffff;enable-background:new"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- inkscape:export-xdpi="96"
- inkscape:export-ydpi="96">
- <rect
- ry="0"
- rx="0"
- y="31"
- x="68"
- height="16"
- width="16"
- id="rect4338"
- style="opacity:0;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 81.75,32.099609 c -1.433114,0 -2.573994,0.599965 -3.328125,1.414063 -0.754131,0.814098 -1.193245,1.779187 -1.615234,2.65039 -0.42199,0.871204 -0.825206,1.64712 -1.308594,2.146485 -0.483388,0.499365 -0.99066,0.789062 -1.998047,0.789062 H 69 v 2 h 4.5 c 1.476988,0 2.648427,-0.585302 3.435547,-1.398437 0.78712,-0.813135 1.246208,-1.787219 1.671875,-2.666016 0.425667,-0.878796 0.819561,-1.663707 1.28125,-2.162109 0.461689,-0.498402 0.919442,-0.773438 1.861328,-0.773438 H 83 v -2 z"
- id="path4336"
- inkscape:connector-curvature="0" />
- <g
- id="g23052"
- style="opacity:0.7;fill:#ffffff">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.20000005;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 27,536.90039 v 1.19922 h 0.75 c 0.646429,0 1.301953,0.38 1.880859,1.04297 0.578907,0.66296 1.046871,1.58637 1.289063,2.49023 0.207018,0.77346 1.367174,0.46292 1.160156,-0.31054 -0.287808,-1.07411 -0.818828,-2.13723 -1.544922,-2.96875 -0.726093,-0.83153 -1.681585,-1.45313 -2.785156,-1.45313 z m 13.25,9 c -1.91571,0 -2.93215,0.90502 -3.558594,1.66992 -0.313222,0.38245 -0.555819,0.7142 -0.798828,0.91797 -0.243008,0.20377 -0.458964,0.3125 -0.892578,0.3125 -0.401011,0 -0.71548,-0.20341 -1.054688,-0.64648 -0.339207,-0.44308 -0.639641,-1.1033 -0.878906,-1.79492 -0.238226,-0.80225 -1.442094,-0.38505 -1.132812,0.39257 0.260735,0.7537 0.585301,1.5146 1.058594,2.13282 C 33.46548,549.50298 34.151011,550 35,550 c 0.691386,0 1.25668,-0.25378 1.662109,-0.59375 0.405429,-0.33997 0.678457,-0.73364 0.958985,-1.07617 0.561056,-0.68506 1.044616,-1.23047 2.628906,-1.23047 H 41 v -1.19922 z"
- transform="translate(42.000002,-503.9)"
- id="path4334"
- inkscape:connector-curvature="0" />
- </g>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 370.49414,224.00195 a 0.50005,0.50005 0 0 0 -0.34766,0.14649 l -4,3.99804 a 0.50005,0.50005 0 0 0 0,0.70704 l 4,4 a 0.50005,0.50005 0 0 0 0.70508,0 l 3.99219,-3.97852 a 0.50005,0.50005 0 0 0 0.002,-0.70703 l -3.99218,-4.01953 a 0.50005,0.50005 0 0 0 -0.35938,-0.14649 z m 0.004,1.20899 3.28711,3.30859 L 370.5,231.79297 367.20703,228.5 Z" id="path23352-4" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 349.49414,224 c -0.13124,0.001 -0.25681,0.0537 -0.34961,0.14648 l -3.99805,4 c -0.19519,0.19527 -0.19519,0.51177 0,0.70704 l 3.99805,4 c 0.19526,0.19518 0.51177,0.19518 0.70703,0 l 3.99219,-3.97852 c 0.19574,-0.19471 0.19663,-0.51121 0.002,-0.70703 l -3.99218,-4.01953 c -0.0949,-0.0959 -0.2245,-0.14948 -0.35943,-0.14844 z" id="path23378-3" inkscape:connector-curvature="0" sodipodi:nodetypes="cccccccccc"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 328.48047,226.75 a 0.50005,0.50005 0 0 0 -0.39063,0.21484 l -3.99023,5.72461 a 0.50005,0.50005 0 0 0 -0.0898,0.27735 L 324,233.49219 A 0.50005,0.50005 0 0 0 324.5,234 h 8 a 0.50005,0.50005 0 0 0 0.5,-0.5 V 233 a 0.50005,0.50005 0 0 0 -0.0898,-0.28516 l -4,-5.75 A 0.50005,0.50005 0 0 0 328.48047,226.75 Z m 0.0195,1.375 3.39062,4.875 h -6.78906 z" id="path23380-3" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 307.48242,226.75 c -0.15739,0.006 -0.30286,0.0854 -0.39258,0.21484 l -4,5.75 c -0.0583,0.0837 -0.0897,0.18317 -0.0898,0.28516 v 0.5 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 8 c 0.27999,2e-5 0.50544,-0.22983 0.5,-0.50977 l -0.01,-0.47461 c -0.002,-0.0985 -0.0321,-0.19425 -0.0879,-0.27539 l -3.99023,-5.77539 c -0.0971,-0.14016 -0.25903,-0.22114 -0.42945,-0.21484 z" id="path23382-9" inkscape:connector-curvature="0" sodipodi:nodetypes="cccccccccccc"/>
+ <g style="display:inline;opacity:1;fill:#ffffff;enable-background:new" id="g12105" transform="translate(-147.00001,-566.99994)" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" inkscape:export-xdpi="96" inkscape:export-ydpi="96">
+ <rect y="597.99994" x="278" height="16" width="16" id="rect12101" style="display:inline;overflow:visible;visibility:visible;opacity:0;fill:#ffffff;stroke:none;stroke-width:3;marker:none;enable-background:accumulate"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 286,599 c -3.8542,0 -7,3.1458 -7,7 0,3.8542 3.1458,7 7,7 3.8542,0 7,-3.1458 7,-7 0,-3.8542 -3.1458,-7 -7,-7 z m 0,2 c 2.77332,0 5,2.22668 5,5 0,2.77332 -2.22668,5 -5,5 -2.77332,0 -5,-2.22668 -5,-5 0,-2.77332 2.22668,-5 5,-5 z" id="path12103" inkscape:connector-curvature="0"/>
</g>
- <g
- id="g7579"
- style="fill:#ffffff">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 48.499998,536.00001 c -0.276131,3e-5 -0.499972,0.22387 -0.5,0.5 v 2 c 2.8e-5,0.27613 0.223869,0.49997 0.5,0.5 h 4 c 0.276131,-3e-5 0.499972,-0.22387 0.5,-0.5 v -2 c -2.8e-5,-0.27613 -0.223869,-0.49997 -0.5,-0.5 z m 7,6 c -0.276131,3e-5 -0.499972,0.22387 -0.5,0.5 v 2 c 2.8e-5,0.27613 0.223869,0.49997 0.5,0.5 h 6 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -2 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z m 0,5 c -0.276131,3e-5 -0.499972,0.22387 -0.5,0.5 v 2 c 2.8e-5,0.27613 0.223869,0.49997 0.5,0.5 h 6 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -2 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z"
- id="rect5843"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="ccccccccccccccccccccccccccc" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 50,540 v 8.5 a 0.50005,0.50005 0 0 0 0.5,0.5 H 54 v -1 h -3 v -4 h 3 v -1 h -3 v -3 z"
- id="path5849"
- inkscape:connector-curvature="0" />
- </g>
- <g
- id="g7627"
- style="fill:#ffffff">
- <g
- transform="matrix(1,0,0,-1,-42.000002,917.99993)"
- id="g4806"
- style="opacity:0.6;fill:#ffffff">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 300.5,375 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 3 a 0.50005,0.50005 0 0 0 0.5,0.5 h 5.5 v -1 h -5 v -2 h 5 v -1 z m 8.5,0 v 1 h 2 v 2 h -2 v 1 h 2.5 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -3 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z"
- id="path4801"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 302.5,378 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 3 a 0.50005,0.50005 0 0 0 0.5,0.5 h 3.5 v -1 h -3 v -2 h 3 v -1 z m 6.5,0 v 1 h 4 v 2 h -4 v 1 h 4.5 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -3 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z"
- id="path4804"
- inkscape:connector-curvature="0" />
- </g>
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 265,536 v 13.96484 h 1 V 536 Z m -4.5,10 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 3 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 3.5 v -4 z m 6.5,0 v 4 h 4.5 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -3 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z"
- id="path4817"
- inkscape:connector-curvature="0" />
- </g>
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 218.5,74 c -0.27613,2.8e-5 -0.49997,0.223869 -0.5,0.5 v 13 c 1.7e-4,0.445324 0.53852,0.668302 0.85352,0.353516 l 3.64648,-3.646485 3.64648,3.646485 c 0.315,0.314786 0.85335,0.09181 0.85352,-0.353516 v -13 c -3e-5,-0.276131 -0.22387,-0.499972 -0.5,-0.5 z"
- id="rect9857"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="cccccccccc" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 326.49023,56 a 0.50005,0.50005 0 0 0 -0.34375,0.152344 l -4,4 a 0.50005,0.50005 0 0 0 0,0.707031 l 4,4 a 0.50005,0.50005 0 1 0 0.70704,-0.707031 l -3.14649,-3.146485 H 334.5 a 0.50005,0.50005 0 1 0 0,-1 h -10.79297 l 3.14649,-3.146484 A 0.50005,0.50005 0 0 0 326.49023,56 Z"
- id="path12420"
- inkscape:connector-curvature="0" />
- <g
- id="g12536"
- transform="matrix(0,1,1,0,270,-183)"
- style="display:inline;opacity:1;fill:#ffffff;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;enable-background:new"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- inkscape:export-xdpi="96"
- inkscape:export-ydpi="96">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 261.49023,51.996094 a 0.50005,0.50005 0 0 0 -0.34375,0.15039 l -4,4 a 0.50005,0.50005 0 0 0 0,0.707032 l 4,4 a 0.50005,0.50005 0 1 0 0.70704,-0.707032 L 258.70703,57 H 268.5 c 0.83435,0 1.5,0.665651 1.5,1.5 v 5 a 0.50005,0.50005 0 1 0 1,0 v -5 c 0,-1.374789 -1.12521,-2.5 -2.5,-2.5 h -9.79297 l 3.14649,-3.146484 a 0.50005,0.50005 0 0 0 -0.36329,-0.857422 z"
- id="path12534"
- inkscape:connector-curvature="0" />
- </g>
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 350.50195,56 a 0.50005,0.50005 0 0 0 -0.34765,0.859375 l 3.14648,3.146484 h -10.79297 a 0.50005,0.50005 0 1 0 0,1 h 10.79297 l -3.14648,3.146485 a 0.50005,0.50005 0 1 0 0.70703,0.707031 l 4,-4 a 0.50005,0.50005 0 0 0 0,-0.707031 l -4,-4 A 0.50005,0.50005 0 0 0 350.50195,56 Z"
- id="path9970"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 283.49023,52.996094 a 0.50005,0.50005 0 0 0 -0.34375,0.15039 l -4,4 a 0.50005,0.50005 0 0 0 0,0.707032 l 4,4 a 0.50005,0.50005 0 1 0 0.70704,-0.707032 L 280.70703,58 H 288 c 2.21506,0 4,1.784939 4,4 0,2.215061 -1.78494,4 -4,4 h -1.5 a 0.50005,0.50005 0 1 0 0,1 h 1.5 c 2.7555,0 5,-2.244499 5,-5 0,-2.755501 -2.2445,-5 -5,-5 h -7.29297 l 3.14649,-3.146484 a 0.50005,0.50005 0 0 0 -0.36329,-0.857422 z"
- id="path13225"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 309.49414,52.994141 a 0.50005,0.50005 0 0 0 -0.34766,0.859375 L 312.29297,57 H 305 c -2.7555,0 -5,2.244499 -5,5 0,2.755501 2.2445,5 5,5 h 1.5 a 0.50005,0.50005 0 1 0 0,-1 H 305 c -2.21506,0 -4,-1.784939 -4,-4 0,-2.215061 1.78494,-4 4,-4 h 7.29297 l -3.14649,3.146484 a 0.50005,0.50005 0 1 0 0.70704,0.707032 l 4,-4 a 0.50005,0.50005 0 0 0 0,-0.707032 l -4,-4 a 0.50005,0.50005 0 0 0 -0.35938,-0.152343 z"
- id="path13229"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999988;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="M 355.49219,73.992188 A 0.50004994,0.50004994 0 0 0 355,74.5 v 3.792969 l -2.11914,-2.117188 a 0.50004994,0.50004994 0 0 0 -0.0234,-0.02539 c -10e-4,-0.0015 -0.002,-0.0024 -0.004,-0.0039 a 0.50004994,0.50004994 0 0 0 -0.1875,-0.121093 c -1.78999,-1.727877 -3.76997,-2.331734 -5.85938,-1.875 -2.1873,0.478135 -3.98484,2.053048 -4.77539,4.175781 a 0.50004994,0.50004994 0 1 0 0.9375,0.347656 c 0.67415,-1.810183 2.19925,-3.142137 4.05078,-3.546875 1.87803,-0.410528 3.46011,0.02939 5.12305,1.722656 a 0.50004994,0.50004994 0 0 0 0.002,0.002 0.50004994,0.50004994 0 0 0 0.002,0.002 0.50004994,0.50004994 0 0 0 0.0332,0.03125 L 354.29297,79 H 350.5 a 0.50004994,0.50004994 0 1 0 0,1 h 5 a 0.50004994,0.50004994 0 0 0 0.5,-0.5 v -5 a 0.50004994,0.50004994 0 0 0 -0.50781,-0.507812 z"
- id="path13235"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999988;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 342.49805,81.992188 a 0.50004994,0.50004994 0 0 0 -0.5,0.5 v 5 a 0.50004994,0.50004994 0 1 0 1,0 v -3.792969 l 2.11914,2.11914 a 0.50004994,0.50004994 0 0 0 0.0234,0.02539 l 0.004,0.002 c 7.2e-4,7.3e-4 0.001,0.0012 0.002,0.002 a 0.50004994,0.50004994 0 0 0 0.18555,0.121094 c 1.78998,1.727877 3.76997,2.331734 5.85938,1.875 2.1873,-0.478136 3.98484,-2.053048 4.77539,-4.175781 a 0.50028327,0.50028327 0 1 0 -0.9375,-0.34961 c -0.67415,1.810184 -2.19925,3.14409 -4.05078,3.548829 -1.87804,0.410528 -3.46011,-0.03135 -5.12305,-1.72461 a 0.50004994,0.50004994 0 0 0 -0.004,-0.0039 l -0.0332,-0.03125 -2.11328,-2.115234 h 3.79297 a 0.50004994,0.50004994 0 1 0 0,-1 z"
- id="path13252"
- inkscape:connector-curvature="0" />
- <g
- id="g12053"
- transform="translate(0.99999815,210)"
- style="fill:#ffffff">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.89999998;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 237.49414,326.05078 c -0.11724,0.001 -0.22936,0.0482 -0.3125,0.13086 l -2,2 c -0.17593,0.17578 -0.17593,0.46094 0,0.63672 l 2,2 c 0.17578,0.17593 0.46094,0.17593 0.63672,0 l 2,-2 c 0.17593,-0.17578 0.17593,-0.46094 0,-0.63672 l -2,-2 c -0.086,-0.0855 -0.20293,-0.13272 -0.32422,-0.13086 z m 11,0 c -0.11724,0.001 -0.22936,0.0482 -0.3125,0.13086 l -2,2 c -0.17593,0.17578 -0.17593,0.46094 0,0.63672 l 2,2 c 0.17578,0.17593 0.46094,0.17593 0.63672,0 l 2,-2 c 0.17593,-0.17578 0.17593,-0.46094 0,-0.63672 l -2,-2 c -0.086,-0.0855 -0.20293,-0.13272 -0.32422,-0.13086 z m -6.02734,6.75 c -0.1137,0.009 -0.21981,0.0605 -0.29688,0.14453 l -3,3.25 c -0.16377,0.17723 -0.15861,0.45209 0.0117,0.62305 l 3,3 c 0.17578,0.17593 0.46094,0.17593 0.63672,0 l 3,-3 c 0.17031,-0.17096 0.17547,-0.44582 0.0117,-0.62305 l -3,-3.25 c -0.0927,-0.10101 -0.22649,-0.15422 -0.36328,-0.14453 z m 0.0332,1.11133 2.37695,2.57617 -2.37695,2.375 -2.37695,-2.37695 z"
- id="path12048"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="cccccccccccccccccccccccccccccccccccc" />
- <path
- style="opacity:0.5;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke"
- d="m 239.12109,326 1.43946,1.43945 c 0.58556,0.5858 0.58556,1.5353 0,2.1211 L 239.12109,331 h 7.75782 l -1.43946,-1.43945 c -0.58556,-0.5858 -0.58556,-1.5353 0,-2.1211 L 246.87891,326 Z"
- id="path12051"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="ccccccccc" />
- </g>
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g23466"
- transform="translate(-1.8536743e-6,-0.999995)">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 10.482422,494 c -0.189602,0.007 -0.359053,0.12023 -0.4375,0.29297 l -3.7734376,8.25 c -0.00134,0.003 -0.00264,0.007 -0.00391,0.01 C 6.1587525,502.80633 6,503.10119 6,503.5 c 0,0.83813 0.5261723,1.53471 1.296875,1.92188 0.7707027,0.38715 1.7901254,0.55582 3.023437,0.57226 0.295371,0.003 0.52928,-0.24867 0.503907,-0.54297 9.47e-4,0.0108 -0.01109,-0.37852 -0.01563,-0.70898 -0.0045,-0.33047 -0.0078,-0.6698 -0.0078,-0.74219 0,-1.86768 1.015625,-3.51914 2.519531,-4.4375 0.228366,-0.13928 0.306682,-0.43361 0.177735,-0.66797 L 10.9375,494.25781 C 10.846425,494.09307 10.670549,493.99343 10.482422,494 Z M 18,494 c -1.098638,0 -1.999999,0.90136 -2,2 1e-6,1.09864 0.901362,2 2,2 1.098638,0 1.999999,-0.90136 2,-2 -1e-6,-1.09864 -0.901362,-2 -2,-2 z m -2,6 c -2.203217,0 -3.999999,1.79678 -4,4 10e-7,2.20322 1.796783,4 4,4 2.203217,0 3.999999,-1.79678 4,-4 -1e-6,-2.20322 -1.796783,-4 -4,-4 z m 0,1 c 1.662777,0 2.999999,1.33722 3,3 -1e-6,1.66278 -1.337223,3 -3,3 -1.662777,0 -2.999999,-1.33722 -3,-3 10e-7,-1.66278 1.337223,-3 3,-3 z m -0.541016,1.0332 C 14.658737,502.0332 14,502.69389 14,503.49414 a 0.50005,0.50005 0 1 0 1,0 c 0,-0.25981 0.199172,-0.46094 0.458984,-0.46094 a 0.50005,0.50005 0 1 0 0,-1 z"
- transform="translate(1.8536743e-6,0.999995)"
- id="path10645"
- inkscape:connector-curvature="0" />
- </g>
- <rect
- style="display:inline;overflow:visible;visibility:visible;opacity:0;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2.70000005;marker:none;enable-background:accumulate"
- id="rect12082"
- width="16"
- height="16"
- x="26"
- y="136"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- inkscape:export-xdpi="96"
- inkscape:export-ydpi="96" />
- <g
- transform="translate(-1.8536743e-6,4.4999696e-6)"
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g14497">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="M 324.60938,536 C 323.75288,536 323,536.6483 323,537.5 v 3 c 0,0.8517 0.75288,1.5 1.60938,1.5 h 4.78124 C 330.24712,542 331,541.3517 331,540.5 v -3 c 0,-0.8517 -0.75287,-1.5 -1.60938,-1.5 z M 332,537 v 3 c 0.56267,0 1,-0.50398 1,-1.03125 v -0.9375 C 333,537.50408 332.56269,537 332,537 Z m -7.53516,3 a 0.50005,0.50005 0 0 1 0.0352,0 h 5 a 0.50005,0.50005 0 1 1 0,1 h -5 a 0.50030966,0.50030966 0 0 1 -0.0352,-1 z m -1.85546,4 C 321.75288,544 321,544.6483 321,545.5 v 3 c 0,0.8517 0.75288,1.5 1.60938,1.5 h 4.78124 C 328.24712,550 329,549.3517 329,548.5 v -3 c 0,-0.8517 -0.75287,-1.5 -1.60938,-1.5 z M 330,546 v 3 c 0.56267,0 1,-0.50398 1,-1.03125 v -0.9375 C 331,546.50408 330.56269,546 330,546 Z m -7.53516,2 a 0.50005,0.50005 0 0 1 0.0352,0 h 5 a 0.50005,0.50005 0 1 1 0,1 h -5 a 0.50030966,0.50030966 0 0 1 -0.0352,-1 z"
- transform="translate(1.8536743e-6,-4.4999696e-6)"
- id="rect12085"
- inkscape:connector-curvature="0" />
- <g
- transform="translate(0,231)"
- style="opacity:1;fill:#ffffff"
- id="g12112">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.7;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 332.5,307 v 1 c 0.55917,0 0.9084,0.14278 1.13281,0.36719 C 333.85722,308.5916 334,308.94083 334,309.5 v 5 c 0,0.55917 -0.14278,0.9084 -0.36719,1.13281 C 333.4084,315.85722 333.05917,316 332.5,316 h -2 v 1 h 2 c 0.73927,0 1.38886,-0.20918 1.83984,-0.66016 C 334.79082,315.88886 335,315.23927 335,314.5 v -5 c 0,-0.73927 -0.20918,-1.38886 -0.66016,-1.83984 C 333.88886,307.20918 333.23927,307 332.5,307 Z"
- id="path12102"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="ccsssssccsssssc" />
- </g>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="M 6.5,32 A 0.50005,0.50005 0 0 0 6,32.5 v 13 A 0.50005,0.50005 0 0 0 6.5,46 h 13 A 0.50005,0.50005 0 0 0 20,45.5 v -13 A 0.50005,0.50005 0 0 0 19.5,32 Z M 7,33 H 19 V 45 H 7 Z" id="rect12121" inkscape:connector-curvature="0"/>
+ <g transform="translate(-1.8536743e-6,4.4999696e-6)" style="display:inline;opacity:1;fill:#ffffff;enable-background:new" id="g12135" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" inkscape:export-xdpi="96" inkscape:export-ydpi="96">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 158.5,222 a 0.50005,0.50005 0 0 0 -0.35352,0.14648 L 155.29297,225 H 153.5 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 5 a 0.50005,0.50005 0 0 0 0.5,0.5 h 1.79297 l 2.85351,2.85352 A 0.50005,0.50005 0 0 0 158.5,234 h 1 a 0.50005,0.50005 0 0 0 0.5,-0.5 V 222.78125 222.5 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m 0.20703,1 H 159 v 10 h -0.29297 l -2.85351,-2.85352 A 0.50005,0.50005 0 0 0 155.5,230 H 154 v -4 h 1.5 a 0.50005,0.50005 0 0 0 0.35352,-0.14648 z" id="path12129" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 165.4668,223.01562 a 0.50005,0.50005 0 0 0 -0.42188,0.72071 c 1.27607,2.70648 1.27309,5.84072 -0.008,8.54492 a 0.50017783,0.50017783 0 1 0 0.9043,0.42773 c 1.40867,-2.97397 1.41118,-6.42391 0.008,-9.40039 a 0.50005,0.50005 0 0 0 -0.48242,-0.29297 z m -2.86133,0.9375 a 0.50005,0.50005 0 0 0 -0.43359,0.74219 c 1.10287,2.06013 1.10465,4.5334 0.006,6.59571 a 0.50023236,0.50023236 0 1 0 0.88282,0.4707 c 1.25518,-2.35583 1.25203,-5.18378 -0.008,-7.53711 a 0.50005,0.50005 0 0 0 -0.44726,-0.27149 z" id="path12133" inkscape:connector-curvature="0"/>
</g>
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 218.5,472 a 0.50005,0.50005 0 1 0 0,1 h 3 a 0.50005,0.50005 0 1 0 0,-1 z m -2,2 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 12 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 7 c 0.67616,0.01 0.67616,-1.00956 0,-1 H 217 v -1 h 2.50781 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 V 477 H 229 v 2.5 c 0,0.525 -0.14815,0.87861 -0.38477,1.11523 C 228.37862,480.85186 228.02499,481 227.5,481 h -1 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 2.5 h -4.5 c -0.67616,-0.01 -0.67616,1.00956 0,1 h 5 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 V 482 h 0.5 c 0.72501,0 1.37138,-0.22683 1.82227,-0.67773 C 229.77315,480.87137 230,480.225 230,479.5 v -3 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 H 224 v -1.5 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z m 0.5,1 h 6 v 1 h -6 z m 4,3 v 1 h 1 v -1 z m 2,0 v 1 h 1 v -1 z m 2,0 v 1 h 1 v -1 z m 2,0 v 1 h 1 v -1 z"
- id="path12120"
- inkscape:connector-curvature="0" />
- <g
- id="g12136"
- transform="translate(21.999998,314.99995)"
- style="fill:#ffffff" />
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g12254"
- transform="translate(-21.000002,-20.999995)"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- inkscape:export-xdpi="96"
- inkscape:export-ydpi="96">
- <path
- style="opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none"
- d="m 75,599 v 2 h 1 v -2 z m 3,0 v 1 h 2 v -1 z m 4,0 v 2 h 1 v -2 z m -6,3 c -2.197587,0 -4,1.80241 -4,4 0,0.91965 0.327327,1.75942 0.855469,2.4375 l -3.708985,3.70898 a 0.50005001,0.50005001 0 1 0 0.707032,0.70704 L 73.5625,609.14453 C 74.240452,609.67231 75.080704,610 76,610 c 2.197595,0 3.998047,-1.80241 3.998047,-4 0,-2.19759 -1.800452,-4 -3.998047,-4 z m 6,1 v 2 h 1 v -2 z m -6,0.002 c 1.652136,0 3,1.34592 3,2.99805 0,1.65213 -1.347864,3 -3,3 -1.652128,0 -3,-1.34787 -3,-3 0,-1.65214 1.347872,-2.99805 3,-2.99805 z M 82,607 v 2 h 1 v -2 z m -7,4 v 2 h 1 v -2 z m 7,0 v 2 h 1 v -2 z m -4,1 v 1 h 2 v -1 z"
- transform="translate(21.000002,20.999995)"
- id="rect12197"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.25;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 96,620 v 3.5 h 1 V 621 h 6 v 12 h -6 v -2.25 H 96 V 634 h 8 v -14 z"
- id="rect12222"
- inkscape:connector-curvature="0" />
- </g>
- <g
- id="g5759"
- style="fill:#ffffff">
- <path
- id="path12148"
- d="m 161.5,578 c -3.02272,0 -5.5,2.47726 -5.5,5.5 0,1.3328 0.48165,2.55856 1.2793,3.51367 l -4.13282,4.13281 a 0.50005,0.50005 0 1 0 0.70704,0.70704 l 4.13281,-4.13282 C 158.94144,588.51835 160.1672,589 161.5,589 c 3.02273,0 5.5,-2.47727 5.5,-5.5 0,-3.02274 -2.47727,-5.5 -5.5,-5.5 z m 0,1 c 2.47727,0 4.5,2.02272 4.5,4.5 0,2.47727 -2.02273,4.5 -4.5,4.5 -2.47726,0 -4.5,-2.02273 -4.5,-4.5 0,-2.47728 2.02274,-4.5 4.5,-4.5 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- sodipodi:nodetypes="ccccscccccccccccccsccc"
- inkscape:connector-curvature="0"
- id="path12161"
- d="m 159.5,583 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 2.2168 c -2.1e-4,0.14132 0.0594,0.27613 0.16406,0.37109 0.61652,0.55704 1.43526,0.91211 2.33594,0.91211 0.90068,0 1.71942,-0.35507 2.33594,-0.91211 0.10467,-0.095 0.16427,-0.22977 0.16406,-0.37109 V 583.5 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z m 0.97266,6.91992 c -0.2654,0.0146 -0.47303,0.2342 -0.47266,0.5 V 591.5 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 2 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -1.08008 c -4.1e-4,-0.30465 -0.27082,-0.53814 -0.57227,-0.49414 -0.31225,0.0453 -0.61944,0.0742 -0.92773,0.0742 -0.30829,0 -0.61548,-0.0289 -0.92773,-0.0742 -0.0329,-0.005 -0.0663,-0.007 -0.0996,-0.006 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" />
- </g>
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g12207"
- transform="translate(20.999998,4.4999696e-6)"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- inkscape:export-xdpi="96"
- inkscape:export-ydpi="96">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:7.17647076;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 223.5,578 c -3.57273,0 -6.5,2.92727 -6.5,6.5 0,1.60752 0.59683,3.08042 1.57422,4.21875 l -2.42774,2.42773 a 0.50005,0.50005 0 1 0 0.70704,0.70704 l 2.42578,-2.42579 c 1.13822,0.977 2.61355,1.57227 4.2207,1.57227 3.57273,0 6.5,-2.92728 6.5,-6.5 0,-3.57273 -2.92727,-6.5 -6.5,-6.5 z m 0,1 c 3.02727,0 5.5,2.47272 5.5,5.5 0,3.02727 -2.47273,5.5 -5.5,5.5 -3.02727,0 -5.5,-2.47273 -5.5,-5.5 0,-3.02728 2.47273,-5.5 5.5,-5.5 z m -3,5 a 0.50005,0.50005 0 1 0 0,1 h 6 a 0.50005,0.50005 0 1 0 0,-1 z"
- transform="translate(-20.999998,-4.4999696e-6)"
- id="path12193"
- inkscape:connector-curvature="0" />
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- transform="translate(61.94871,1.10183)"
- id="g12200" />
- <rect
- y="577.04999"
- x="193.95"
- height="16"
- width="16"
- id="rect12202"
- style="display:inline;overflow:visible;visibility:visible;opacity:0;fill:#ffffff;stroke:none;stroke-width:3;marker:none;enable-background:accumulate" />
- </g>
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g12222"
- transform="rotate(-180,422.50583,500.99795)"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- inkscape:export-xdpi="96"
- inkscape:export-ydpi="96">
- <g
- id="g23057"
- style="opacity:1;fill:#ffffff">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 415.99805,494 c -0.46823,5.5e-4 -0.93866,0.108 -1.3711,0.32422 l -6.83789,3.39453 a 0.50005,0.50005 0 0 0 -0.0273,0.0137 c -2.00082,1.15513 -3.06722,3.4434 -2.66602,5.71875 0.40121,2.27536 2.18559,4.05973 4.46094,4.46094 0.56884,0.1003 1.13889,0.11012 1.69141,0.0352 1.65755,-0.22472 3.1599,-1.20077 4.02734,-2.70313 a 0.50005,0.50005 0 0 0 0.0156,-0.0293 l 3.38476,-6.84179 c 0.57659,-1.15316 0.3761,-2.57898 -0.54687,-3.50196 -0.57687,-0.57686 -1.35049,-0.872 -2.13086,-0.87109 z m 0.3125,1.02539 c 0.41467,0.0623 0.80824,0.24966 1.11133,0.55273 0.60613,0.60614 0.74722,1.57588 0.36132,2.34766 a 0.50005,0.50005 0 0 0 -0.002,0.002 l -3.375,6.82032 c -0.9493,1.63933 -2.81295,2.50814 -4.67578,2.17968 -1.86473,-0.3288 -3.32159,-1.78565 -3.65039,-3.65039 -0.3288,-1.86473 0.54196,-3.7311 2.18164,-4.67773 l 6.81055,-3.38086 a 0.50005,0.50005 0 0 0 0.002,0 c 0.38589,-0.19295 0.82165,-0.25567 1.23633,-0.19336 z m -0.29883,0.9707 c -0.54636,0 -1,0.45364 -1,1 0,0.54636 0.45364,1 1,1 0.54636,0 1,-0.45364 1,-1 0,-0.54636 -0.45364,-1 -1,-1 z m -5.5,3 c -1.92707,0 -3.5,1.57293 -3.5,3.5 0,1.92707 1.57293,3.5 3.5,3.5 1.92707,0 3.5,-1.57293 3.5,-3.5 0,-1.92707 -1.57293,-3.5 -3.5,-3.5 z m 0,1.97461 a 1.4874268,1.5 0 0 1 1.48828,1.5 1.4874268,1.5 0 0 1 -1.48828,1.5 1.4874268,1.5 0 0 1 -1.48828,-1.5 1.4874268,1.5 0 0 1 1.48828,-1.5 z"
- transform="rotate(180,422.50583,500.99795)"
- id="circle12201"
- inkscape:connector-curvature="0" />
- </g>
+ <g id="g6417" style="fill:#ffffff">
+ <path id="path8180-3" d="m 470.66016,493.97656 c -0.37961,-0.006 -0.76447,0.0652 -1.1211,0.21289 -0.93286,0.38641 -1.54492,1.30084 -1.54492,2.31055 v 3.5 h 1 v -3.5 c 0,-0.60813 0.3659,-1.154 0.92774,-1.38672 0.5437,-0.22521 1.42162,-0.0569 1.71874,0.24024 l 0.5,0.5 c 0.47128,0.49023 1.19727,-0.23577 0.70704,-0.70704 l -0.5,-0.5 c -0.35144,-0.35143 -0.81472,-0.56325 -1.31055,-0.63867 -0.12396,-0.0188 -0.25042,-0.0294 -0.37695,-0.0312 z m 8.67382,0 c -0.12653,0.002 -0.25299,0.0124 -0.37695,0.0312 -0.49583,0.0754 -0.95911,0.28724 -1.31055,0.63867 l -0.5,0.5 c -0.49023,0.47127 0.23577,1.19727 0.70704,0.70704 l 0.5,-0.5 c 0.29713,-0.29714 1.17505,-0.46545 1.71875,-0.24024 C 480.63411,495.346 481,495.89187 481,496.5 v 3.5 h 1 v -3.5 c 0,-1.00971 -0.61206,-1.92414 -1.54492,-2.31055 -0.35663,-0.1477 -0.74149,-0.21856 -1.1211,-0.21289 z M 468.49414,501 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 6 a 0.50005,0.50005 0 0 0 0.5,0.5 h 1 3.00586 a 0.50005,0.50005 0 0 0 0.41602,-0.22266 L 474.76758,505 h 0.46484 l 1.85156,2.77734 A 0.50005,0.50005 0 0 0 477.5,508 h 2.99414 1 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -6 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z M 474,502 v 2.34766 L 472.23242,507 h -2.23828 -1 L 469,502.00195 Z m 1.99414,0 5,0.002 V 507 h -0.5 H 480 477.76758 L 476,504.34766 Z" style="fill:#ffffff;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" inkscape:connector-curvature="0"/>
+ <path sodipodi:nodetypes="ccccccccccc" inkscape:connector-curvature="0" id="path8043-2" d="m 470.49414,503 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 2 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 H 471.5 c 0.16717,-10e-6 0.32328,-0.0836 0.41602,-0.22266 l 1,-1.5 c 0.0559,-0.0838 0.0852,-0.18249 0.084,-0.2832 l -0.006,-0.5 c -0.003,-0.27384 -0.22614,-0.49413 -0.5,-0.49414 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.3;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
</g>
- <g
- transform="translate(-1.8536743e-6,4.4999696e-6)"
- id="g13413"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- inkscape:export-xdpi="96"
- inkscape:export-ydpi="96"
- style="display:inline;fill:#ffffff;enable-background:new">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.00000012;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0.5;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 475.5,579 c -0.82252,0 -1.5,0.67748 -1.5,1.5 0,0.82252 0.67748,1.5 1.5,1.5 0.82252,0 1.5,-0.67748 1.5,-1.5 0,-0.82252 -0.67748,-1.5 -1.5,-1.5 z m 0,5 c -0.82252,0 -1.5,0.67748 -1.5,1.5 0,0.82252 0.67748,1.5 1.5,1.5 0.82252,0 1.5,-0.67748 1.5,-1.5 0,-0.82252 -0.67748,-1.5 -1.5,-1.5 z m 0,5 c -0.82252,0 -1.5,0.67748 -1.5,1.5 0,0.82252 0.67748,1.5 1.5,1.5 0.82252,0 1.5,-0.67748 1.5,-1.5 0,-0.82252 -0.67748,-1.5 -1.5,-1.5 z"
- id="ellipse12367"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="sssssssssssssss" />
- </g>
- <g
- transform="translate(-1.4853674e-5,-83.999995)"
- id="g8655"
- style="display:inline;opacity:0.98999999;fill:#ffffff;enable-background:new"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- inkscape:export-xdpi="96"
- inkscape:export-ydpi="96">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 475,157.99609 c -1.79823,1e-5 -2.78534,0.23261 -3.38867,0.75196 C 471.00799,159.2674 471,160.00249 471,160.49609 v 0.5 h -0.002 c -0.12828,0 -0.91099,4e-5 -1.63867,0.53711 -0.72848,0.53766 -1.35958,1.60963 -1.35938,3.4668 9e-5,0.84676 0.12547,1.43896 0.35352,1.89453 0.22804,0.45557 0.5457,0.7425 0.81445,0.98047 a 0.50086817,0.50086817 0 1 0 0.66406,-0.75 c -0.2639,-0.23368 -0.44506,-0.40021 -0.58398,-0.67773 -0.13888,-0.27753 -0.24792,-0.69815 -0.248,-1.44727 -1.7e-4,-1.64286 0.494,-2.32325 0.95312,-2.66211 0.45913,-0.33885 0.92388,-0.3418 1.04688,-0.3418 h 0.44336 a 0.50005,0.50005 0 0 0 0.0586,0.004 l 3,-0.01 a 0.50005,0.50005 0 0 0 -0.002,-1 h -0.002 -0.002 L 472,160.99414 v -0.49805 c 0,-0.4936 -0.008,-0.75638 0.26367,-0.99023 0.27167,-0.23385 1.03456,-0.50976 2.73633,-0.50977 1.70177,0 2.46467,0.27592 2.73633,0.50977 0.27166,0.23385 0.26367,0.49663 0.26367,0.99023 v 1.99414 c -6e-5,0.47857 -0.26457,0.78886 -0.8457,1.12891 -0.58114,0.34005 -1.43184,0.62116 -2.30664,0.90234 -0.87481,0.28119 -1.77478,0.56315 -2.50586,0.98829 -0.73108,0.42513 -1.34192,1.08253 -1.3418,1.98046 v 2.01368 c 0,0.4936 0.008,1.22869 0.61133,1.74804 0.60334,0.51936 1.59044,0.75196 3.38867,0.75196 1.79823,-1e-5 2.78534,-0.23261 3.38867,-0.75196 C 478.99201,170.7326 479,169.99751 479,169.50391 v -0.5 c 0.127,0 0.91215,5.4e-4 1.64062,-0.53711 0.72848,-0.53766 1.35958,-1.60963 1.35938,-3.4668 -1.6e-4,-1.56962 -0.66959,-2.34844 -1.13672,-2.84375 a 0.5001364,0.5001364 0 1 0 -0.72656,0.6875 c 0.47073,0.49913 0.86314,0.83133 0.86328,2.15625 1.7e-4,1.64286 -0.494,2.32325 -0.95312,2.66211 -0.45913,0.33885 -0.92388,0.3418 -1.04688,0.3418 h -0.44336 A 0.50005,0.50005 0 0 0 478.49805,168 l -3,0.01 a 0.50005,0.50005 0 0 0 0.002,1 h 0.002 0.002 L 478,169.00586 v 0.49805 c 0,0.4936 0.008,0.75638 -0.26367,0.99023 -0.27167,0.23385 -1.03456,0.50976 -2.73633,0.50977 -1.70177,0 -2.46467,-0.27592 -2.73633,-0.50977 C 471.99201,170.26029 472,169.99751 472,169.50391 v -2.01368 c -6e-5,-0.47218 0.26437,-0.77913 0.8457,-1.11718 0.58133,-0.33805 1.43145,-0.61908 2.30664,-0.90039 0.8752,-0.28132 1.77441,-0.56222 2.50586,-0.99024 0.73146,-0.42801 1.34168,-1.09087 1.3418,-1.99219 v -1.99414 c 0,-0.4936 -0.008,-1.22869 -0.61133,-1.74804 -0.60334,-0.51936 -1.59044,-0.75196 -3.38867,-0.75196 z"
- id="path12249"
- inkscape:connector-curvature="0" />
- </g>
- <g
- id="g8671"
- style="display:inline;opacity:0.98999999;fill:#ffffff;enable-background:new"
- transform="translate(-1.031325,-21.999745)"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- inkscape:export-xdpi="96"
- inkscape:export-ydpi="96">
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.75542808px;marker:none;enable-background:accumulate"
- d="m 493.5,74 c -0.27613,2.8e-5 -0.49997,0.223869 -0.5,0.5 v 9.640625 c -0.56586,-0.207564 -1.28645,-0.181296 -1.98242,0.07227 -1.35506,0.496297 -2.23747,1.698784 -1.9707,2.685547 0.26595,0.987122 1.58042,1.385047 2.93554,0.888671 1.10845,-0.406749 1.93232,-1.304268 2.00977,-2.189453 0.006,-0.03222 0.008,-0.06493 0.008,-0.09766 V 85.474609 76 h 8 v 7.140625 c -0.56586,-0.207559 -1.28645,-0.181291 -1.98242,0.07227 -1.35507,0.496303 -2.23747,1.698788 -1.9707,2.685547 0.26596,0.987109 1.58042,1.385032 2.93554,0.888671 1.10846,-0.406754 1.93232,-1.304272 2.00977,-2.189453 0.006,-0.03222 0.008,-0.06493 0.008,-0.09766 V 84.474609 74.5 c -3e-5,-0.276131 -0.22387,-0.499972 -0.5,-0.5 z"
- transform="translate(1.031325,21.999745)"
- id="ellipse8665"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="ccccccccccccccccccccc" />
- </g>
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g12503"
- transform="translate(47.999998,90.000005)"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- inkscape:export-xdpi="96"
- inkscape:export-ydpi="96">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 464.5,-16 c -0.67616,-0.0096 -0.67616,1.009563 0,1 h 1.5 v 12 h -1.5 c -0.67616,-0.00956 -0.67616,1.0095626 0,1 h 5 c 0.67616,0.00956 0.67616,-1.0095626 0,-1 H 468 v -6 h 3 v 0.5 c -0.01,0.6761613 1.00956,0.6761613 1,0 v -0.9199219 c 0.009,-0.053677 0.009,-0.1084325 0,-0.1621093 V -10.5 c 0.01,-0.676161 -1.00956,-0.676161 -1,0 v 0.5 h -3 v -5 h 6 v 1.5 c -0.01,0.676161 1.00956,0.676161 1,0 v -2 c -3e-5,-0.276131 -0.22387,-0.499972 -0.5,-0.5 z"
- id="path12501"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="cccccccccccccccccccccccccc" />
- </g>
- <g
- transform="matrix(0.92857149,0,0,0.92857137,106.93015,-501.7093)"
- style="display:inline;opacity:0.98999999;fill:#ffffff;stroke-width:1.07692313;enable-background:new"
- id="g8599"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- inkscape:export-xdpi="96"
- inkscape:export-ydpi="96">
- <path
- sodipodi:nodetypes="cccccccccccssccsssss"
- inkscape:connector-curvature="0"
- id="path8595"
- transform="matrix(1.076923,0,0,1.0769231,-739.76878,506.92345)"
- d="m 992.67578,105.26367 c -0.19597,-0.18575 -0.45872,-0.28437 -0.72851,-0.27344 -0.89539,0.0396 -1.29072,1.14623 -0.62305,1.74415 L 992.69727,108 H 986 c -1.36099,-0.0279 -1.36099,2.02794 0,2 h 3.0918 c -0.003,0.002 -0.005,0.004 -0.008,0.006 l -4.75,4.24805 c -0.99479,0.88933 0.3392,2.38151 1.33399,1.49218 l 2.33984,-2.09375 C 988.08993,116.60772 990.52575,119 993.5,119 c 3.02565,0 5.49805,-2.47428 5.49805,-5.5 0,-1.56564 -0.66395,-2.97983 -1.72241,-3.98356 z M 993.5,110 c 1.94471,0 3.5,1.5551 3.5,3.5 0,1.94489 -1.55529,3.5 -3.5,3.5 -1.94472,0 -3.5,-1.55511 -3.5,-3.5 0,-1.9449 1.55528,-3.5 3.5,-3.5 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
- <path
- id="path8597"
- d="m 331.99999,629.15424 a 1.86519,1.8457757 0 0 1 -1.86519,1.84577 1.86519,1.8457757 0 0 1 -1.86519,-1.84577 1.86519,1.8457757 0 0 1 1.86519,-1.84578 1.86519,1.8457757 0 0 1 1.86519,1.84578 z"
- style="opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:2.15384626;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke"
- inkscape:connector-curvature="0" />
- </g>
- <g
- id="g12575"
- transform="matrix(0.8666665,0,0,0.8666665,-253.07368,16.407198)"
- style="display:inline;opacity:1;fill:#ffffff;stroke-width:1.15384638;enable-background:new"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- inkscape:export-xdpi="96"
- inkscape:export-ydpi="96">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 285.49219,388.99219 c -0.2763,0.004 -0.49651,0.23152 -0.49219,0.50781 v 2.6543 c -0.76567,0.19832 -1.43883,0.61396 -1.95508,1.18359 l -2.1914,-2.19141 c -0.0944,-0.0966 -0.22433,-0.15264 -0.35938,-0.15234 -0.4485,2.4e-4 -0.66889,0.54638 -0.34766,0.85938 l 2.32032,2.32031 C 282.17933,394.72335 282.0013,395.33918 282,396 h -2.5 c -0.66693,0 -0.66693,1 0,1 h 2.64062 c 0.19916,0.76891 0.61811,1.44388 1.19141,1.96094 l -2.18555,2.18554 c -0.4717,0.4717 0.23534,1.17874 0.70704,0.70704 l 2.3164,-2.31641 c 0.54947,0.28561 1.16223,0.46289 1.82227,0.46289 0.003,0 0.005,10e-6 0.008,0 v 2.5 c 0,0.66693 1,0.66693 1,0 v -2.64648 c 0.76569,-0.20169 1.4388,-0.6203 1.95312,-1.19336 l 2.19336,2.19336 c 0.47143,0.50593 1.2141,-0.23683 0.70704,-0.70704 l -2.32422,-2.32421 c 0.28283,-0.54738 0.45703,-1.15786 0.45703,-1.81446 0,-0.003 0,-0.005 0,-0.008 H 292.5 c 0.66693,0 0.66693,-1 0,-1 h -2.66016 c -0.20083,-0.76245 -0.61615,-1.43374 -1.18554,-1.94727 l 2.19922,-2.19921 c 0.32695,-0.31816 0.0927,-0.87325 -0.36329,-0.85938 -0.12999,0.004 -0.25338,0.0589 -0.34375,0.15234 l -2.33007,2.33008 C 287.26914,392.1921 286.6571,392.01496 286,392.01367 V 389.5 c 0.004,-0.28226 -0.22555,-0.51222 -0.50781,-0.50781 z m 0.5,4.02148 c 1.65884,0 2.99414,1.3353 2.99414,2.99414 0,1.65885 -1.3353,2.99219 -2.99414,2.99219 C 284.33334,399 283,397.66666 283,396.00781 c 0,-1.65884 1.33334,-2.99414 2.99219,-2.99414 z"
- transform="matrix(1.1538464,0,0,1.1538464,292.00815,-18.931386)"
- id="circle12556"
- inkscape:connector-curvature="0" />
- </g>
- <g
- id="g6143"
- style="fill:#ffffff">
- <g
- inkscape:export-ydpi="96"
- inkscape:export-xdpi="96"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- id="g12901"
- transform="matrix(-0.79928788,0,0,0.79928788,828.43189,282.2677)"
- style="display:inline;opacity:0.7;fill:#ffffff;stroke-width:1.25111365;enable-background:new">
- <path
- id="path12894"
- transform="matrix(-1.2511137,0,0,1.2511137,1036.4625,-353.14898)"
- d="m 535.49805,458.00391 a 0.50004999,0.50004999 0 0 0 -0.50391,0.50781 l 0.002,1.33984 c -0.37236,0.0723 -0.71902,0.21977 -1.02148,0.42774 l -1.12695,-1.12305 a 0.50004999,0.50004999 0 0 0 -0.3418,-0.15039 0.50004999,0.50004999 0 0 0 -0.36328,0.85742 l 1.12695,1.12305 c -0.20781,0.30095 -0.35637,0.64504 -0.42969,1.01562 l -1.3457,0.004 a 0.50033487,0.50033487 0 0 0 0.002,1 l 1.33789,-0.002 c 0.0677,0.37781 0.20888,0.73164 0.41602,1.03906 l -1.10742,1.10937 a 0.50004999,0.50004999 0 1 0 0.70508,0.70508 l 1.10351,-1.10156 c 0.30838,0.21694 0.66219,0.37111 1.04492,0.44531 l -0.002,1.30078 a 0.50033678,0.50033678 0 1 0 1,0.004 l 0.002,-1.30274 c 0.3865,-0.0701 0.74651,-0.21619 1.0586,-0.43164 l 1.08203,1.08594 a 0.50005719,0.50005719 0 1 0 0.70703,-0.70508 l -1.08398,-1.08984 c 0.21441,-0.31231 0.36249,-0.67226 0.43164,-1.05859 h 1.30664 a 0.50098,0.50098 0 1 0 0,-1.00196 h -1.3125 c -0.0748,-0.37855 -0.23067,-0.72769 -0.44532,-1.0332 l 1.10352,-1.10547 a 0.50004999,0.50004999 0 0 0 -0.34961,-0.85937 0.50004999,0.50004999 0 0 0 -0.35742,0.15234 l -1.10938,1.10742 c -0.30548,-0.20557 -0.65624,-0.346 -1.03125,-0.41406 l -0.004,-1.33984 a 0.50004999,0.50004999 0 0 0 -0.49219,-0.50586 0.50004999,0.50004999 0 0 1 -0.002,0 z m -0.002,3.29882 c 0.66274,0 1.20117,0.53844 1.20118,1.20118 0,0.66273 -0.53844,1.19921 -1.20118,1.19921 -0.66273,0 -1.19921,-0.53648 -1.19921,-1.19921 0,-0.66273 0.53648,-1.20117 1.19921,-1.20118 z"
- style="display:inline;opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.99999988;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:new"
- inkscape:connector-curvature="0" />
- </g>
- <g
- inkscape:export-ydpi="96"
- inkscape:export-xdpi="96"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- style="display:inline;opacity:1;fill:#ffffff;stroke-width:1.25111365;enable-background:new"
- transform="matrix(-0.79928788,0,0,0.79928788,833.43189,275.2677)"
- id="g12909">
- <path
- id="path12903"
- transform="matrix(-1.2511137,0,0,1.2511137,1042.718,-344.39118)"
- d="m 540.49805,451.00391 a 0.50004999,0.50004999 0 0 0 -0.50391,0.50781 l 0.002,1.33984 c -0.37236,0.0723 -0.71902,0.21977 -1.02148,0.42774 l -1.12695,-1.12305 a 0.50004999,0.50004999 0 0 0 -0.3418,-0.15039 0.50004999,0.50004999 0 0 0 -0.36328,0.85742 l 1.12695,1.12305 c -0.20781,0.30095 -0.35637,0.64503 -0.42969,1.01562 l -1.3457,0.004 a 0.50033487,0.50033487 0 0 0 0.002,1 l 1.33789,-0.002 c 0.0677,0.37781 0.20888,0.73164 0.41602,1.03906 l -1.10742,1.10937 a 0.50004999,0.50004999 0 1 0 0.70508,0.70508 l 1.10351,-1.10156 c 0.30838,0.21694 0.66219,0.37111 1.04492,0.44531 l -0.002,1.30078 a 0.50033678,0.50033678 0 1 0 1,0.004 l 0.002,-1.30274 c 0.386,-0.07 0.74484,-0.21858 1.05664,-0.43359 l 1.08399,1.08789 a 0.50005719,0.50005719 0 1 0 0.70703,-0.70508 l -1.08398,-1.08984 c 0.21441,-0.31231 0.36249,-0.67226 0.43164,-1.05859 h 1.30664 a 0.50098,0.50098 0 1 0 0,-1.00196 h -1.3125 c -0.0748,-0.37855 -0.23067,-0.72769 -0.44532,-1.0332 l 1.10352,-1.10547 a 0.50004999,0.50004999 0 0 0 -0.34961,-0.85937 0.50004999,0.50004999 0 0 0 -0.35742,0.15234 l -1.10938,1.10742 c -0.30548,-0.20557 -0.65624,-0.346 -1.03125,-0.41406 l -0.004,-1.33984 a 0.50004999,0.50004999 0 0 0 -0.49219,-0.50586 0.50004999,0.50004999 0 0 1 -0.002,0 z m -0.002,3.29882 c 0.66274,0 1.20117,0.53844 1.20118,1.20118 0,0.66273 -0.53844,1.19921 -1.20118,1.19921 -0.66273,0 -1.19921,-0.53648 -1.19921,-1.19921 0,-0.66273 0.53648,-1.20117 1.19921,-1.20118 z"
- style="display:inline;opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.99999988;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:new"
- inkscape:connector-curvature="0" />
- </g>
+ <path style="opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke" d="m 115,32 v 2 h 6 v -2 z m 6,2 v 2 h 2 v -2 z m 2,2 v 6 h 2 v -6 z m 0,6 h -2 v 2 h 2 z m -2,2 h -6 v 2 h 6 z m -6,0 v -2 h -2 v 2 z m -2,-2 v -6 h -2 v 6 z m 0,-6 h 2 v -2 h -2 z" id="rect23113-8" inkscape:connector-curvature="0"/>
+ <g style="display:inline;opacity:1;fill:#ffffff;enable-background:new" transform="translate(-420.00718,439.99283)" id="g7406-1-2" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" inkscape:export-xdpi="96" inkscape:export-ydpi="96">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 27.492188,598.99219 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 9 a 0.50005,0.50005 0 0 0 0.5,0.5 h 13 a 0.50005,0.50005 0 0 0 0.5,-0.49805 L 41,605 l -1,-0.002 -0.0059,2.99414 H 27.992188 v -8 h 8 v 3.5 c 2.9e-5,0.27613 0.223869,0.49997 0.5,0.5 h 4 c 0.44533,-1.7e-4 0.668305,-0.53852 0.353515,-0.85352 l -4,-4 c -0.09376,-0.0938 -0.22116,-0.14439 -0.353515,-0.14453 v -0.002 h -0.0078 z M 35,610 l -2,0.004 v 1.98828 h -2.507812 c -0.67616,-0.01 -0.67616,1.00956 0,1 h 7 c 0.676159,0.01 0.676159,-1.00956 0,-1 H 35 Z" transform="translate(420.00718,-439.99283)" id="path7395-0-0" inkscape:connector-curvature="0"/>
</g>
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g12259"
- transform="matrix(0,-1,-1,0,312,-85.999995)"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- inkscape:export-xdpi="96"
- inkscape:export-ydpi="96">
- <g
- style="display:inline;opacity:1;fill:#ffffff;enable-background:new"
- transform="rotate(90,-175.5,-141.5)"
- id="g12255"
- mask="none">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 237.5,284 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 4 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 4 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -4 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z"
- id="path12253"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="ccccccccc" />
- </g>
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m -614.5,272 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 3 a 0.50005,0.50005 0 0 0 0.5,0.5 h 0.50781 v 5 H -614.5 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 3 a 0.50005,0.50005 0 0 0 0.5,0.5 h 3 a 0.50005,0.50005 0 0 0 0.5,-0.5 V 284 h 5 v 0.5 a 0.50005,0.50005 0 0 0 0.5,0.5 h 3 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -3 a 0.50005,0.50005 0 0 0 -0.5,-0.5 h -0.49219 v -3.5 a 0.50005,0.50005 0 1 0 -1,0 V 281 H -605.5 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 1.5 h -5 v -1.5 a 0.50005,0.50005 0 0 0 -0.5,-0.5 h -1.49219 v -5 H -611.5 a 0.50005,0.50005 0 0 0 0.5,-0.5 V 274 h 3.5 a 0.50005,0.50005 0 1 0 0,-1 h -3.5 v -0.5 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m 0.5,1 h 2 v 2 h -1.41406 a 0.50005,0.50005 0 0 0 -0.16016,0 H -614 Z m 0,9 h 2 v 2 h -2 z m 9,0 h 2 v 2 h -2 z"
- id="path12257"
- inkscape:connector-curvature="0" />
- </g>
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g12585"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- inkscape:export-xdpi="96"
- inkscape:export-ydpi="96"
- transform="matrix(-1,0,0,1,782,4.4999696e-6)">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="M 387.53125,473 C 386.69103,473 386,473.69103 386,474.53125 V 475 h -0.5 c -0.84022,0 -1.5,0.70952 -1.5,1.53125 v 0.9375 c 0,0.82173 0.65978,1.53125 1.5,1.53125 h 0.96875 c 0.1915,0 0.40039,-0.14519 0.61133,-0.21289 l 0.3164,0.31641 a 0.50005,0.50005 0 1 0 0.70704,-0.70704 l -0.5,-0.5 a 0.50005,0.50005 0 0 0 -0.70704,0 C 386.86607,477.9269 386.67628,478 386.46875,478 H 385.5 c -0.28602,0 -0.5,-0.22674 -0.5,-0.53125 v -0.9375 C 385,476.22674 385.21398,476 385.5,476 h 0.96875 c 0.02,0 0.0255,2.9e-4 0.0156,0 A 0.50005,0.50005 0 0 0 387,475.48438 c 2.9e-4,0.01 0,0.004 0,-0.0156 v -0.9375 C 387,474.24523 387.24523,474 387.53125,474 h 0.9375 c 0.28603,0 0.53125,0.24521 0.53125,0.53125 v 0.9375 c 0,0.20745 -0.0731,0.39731 -0.10352,0.42773 a 0.50005,0.50005 0 0 0 0,0.70704 l 0.5,0.5 a 0.50005,0.50005 0 1 0 0.70704,-0.70704 l -0.31641,-0.3164 C 389.85483,475.86914 390,475.66029 390,475.46875 v -0.9375 C 390,473.69101 389.30896,473 388.46875,473 Z m 6.71289,7.74414 a 0.50005,0.50005 0 0 0 -0.34766,0.85938 l 0.5,0.5 a 0.50005,0.50005 0 0 0 0.70704,0 c -0.0536,0.0536 0.0619,-0.0282 0.21093,-0.0586 C 395.46351,482.01449 395.64626,482 395.75,482 h 0.75 c 0.30453,0 0.5,0.19546 0.5,0.5 v 0.9375 c 0,0.30451 -0.23248,0.5625 -0.5,0.5625 h -0.9375 c -0.02,0 -0.0255,-2.9e-4 -0.0156,0 a 0.50005,0.50005 0 0 0 -0.46485,0.2832 0.50005,0.50005 0 0 0 -0.0117,0.0215 c -0.002,0.004 -0.003,0.004 -0.006,0.01 -0.006,0.0121 -0.0155,0.0273 -0.0273,0.0566 -0.006,0.0147 -0.012,0.0324 -0.0195,0.0606 -0.007,0.0281 -0.0176,0.13022 -0.0176,0.13086 V 485.5 c 0,0.28602 -0.24525,0.53126 -0.53125,0.53125 H 393.5 c -0.28602,0 -0.5,-0.22674 -0.5,-0.53125 v -0.9375 c 0,-0.19821 0.0977,-0.45261 0.11133,-0.4668 a 0.50005,0.50005 0 0 0 -0.008,-0.69922 l -0.5,-0.5 a 0.50005,0.50005 0 1 0 -0.70704,0.70704 l 0.31836,0.31836 C 392.14451,484.14157 392,484.36068 392,484.5625 V 485.5 c 0,0.82173 0.65978,1.53125 1.5,1.53125 h 0.96875 C 395.30899,487.03126 396,486.34022 396,485.5 V 485 h 0.5 c 0.85872,0 1.5,-0.74077 1.5,-1.5625 V 482.5 c 0,-0.82174 -0.67829,-1.5 -1.5,-1.5 h -0.75 c -0.17782,0 -0.40107,0.0167 -0.63477,0.0645 -0.0763,0.0156 -0.15636,0.0877 -0.23437,0.10938 l -0.27734,-0.27735 a 0.50005,0.50005 0 0 0 -0.35938,-0.15234 z"
- id="path12199"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 393.5,473 c -0.82416,0 -1.5,0.67974 -1.5,1.5 v 1 c 0,0.42842 0.21502,0.76851 0.50586,1.03711 l -4.96289,4.96484 C 387.27424,481.21375 386.93403,481 386.50781,481 h -1 c -0.82026,0 -1.5,0.67584 -1.5,1.5 0,0.82416 0.67974,1.5 1.5,1.5 h 1 0.5 v 0.5 1 c 0,0.82026 0.67585,1.5 1.5,1.5 0.82416,0 1.5,-0.67975 1.5,-1.5 v -1 c 0,-0.42841 -0.21502,-0.76851 -0.50586,-1.03711 l 4.96289,-4.96484 C 394.73357,478.78626 395.07378,479 395.5,479 h 1 c 0.82026,0 1.5,-0.67584 1.5,-1.5 0,-0.82416 -0.67974,-1.5 -1.5,-1.5 h -1 -0.5 v -0.5 -1 c 0,-0.82026 -0.67584,-1.5 -1.5,-1.5 z"
- id="path12208"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="sssccsssscccssssccsssscccss" />
- </g>
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 388.50781,494 c -0.82415,0 -1.5,0.67974 -1.5,1.5 v 1 0.5 h -0.5 -1 c -0.82026,0 -1.5,0.67584 -1.5,1.5 0,0.82416 0.67974,1.5 1.5,1.5 h 1 c 0.42622,0 0.76643,-0.21374 1.03516,-0.50195 l 4.96289,4.96484 C 392.21502,504.73149 392,505.07159 392,505.5 v 1 c 0,0.82025 0.67584,1.5 1.5,1.5 0.82416,0 1.5,-0.67974 1.5,-1.5 v -1 -0.5 h 0.5 1 c 0.82026,0 1.5,-0.67584 1.5,-1.5 0,-0.82416 -0.67974,-1.5 -1.5,-1.5 h -1 c -0.42622,0 -0.76642,0.21375 -1.03516,0.50195 l -4.96289,-4.96484 c 0.29085,-0.2686 0.50586,-0.60869 0.50586,-1.03711 v -1 c 0,-0.82026 -0.67584,-1.5 -1.5,-1.5 z"
- id="path12213"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="sscccssssccsssscccssssccsss" />
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g12687"
- transform="translate(-1.8536743e-6,42.000005)"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- inkscape:export-xdpi="96"
- inkscape:export-ydpi="96">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 313.48633,389.00977 a 0.50005,0.50005 0 0 0 -0.13281,0.0156 l -10.64454,2.70117 a 0.50005,0.50005 0 0 0 -0.0176,0.006 c -0.39202,0.1157 -0.73529,0.32904 -1.00782,0.60156 -0.57977,0.57978 -0.79354,1.4303 -0.73828,2.33399 0.0553,0.90369 0.37679,1.88678 0.94141,2.83789 a 0.50005,0.50005 0 0 0 0,0.002 c 0.0547,0.092 0.11038,0.1837 0.16992,0.27539 a 0.50056694,0.50056694 0 1 0 0.83984,-0.54492 c -0.0521,-0.0802 -0.10227,-0.16121 -0.15039,-0.24219 -0.4939,-0.83198 -0.75942,-1.68043 -0.80273,-2.38867 -0.0433,-0.70823 0.13039,-1.24953 0.44726,-1.5664 0.16272,-0.16272 0.36207,-0.28412 0.58399,-0.34961 l 9.81055,-2.49024 -2.49024,9.81445 c -0.0654,0.2249 -0.18247,0.41294 -0.34961,0.58008 -0.32315,0.32316 -0.90925,0.49604 -1.67187,0.42578 -0.76263,-0.0702 -1.66859,-0.38268 -2.52735,-0.93164 a 0.50005,0.50005 0 1 0 -0.53906,0.8418 c 0.97998,0.62645 2.02029,0.99785 2.97656,1.08594 0.95627,0.0881 1.86106,-0.10716 2.46875,-0.71485 0.27194,-0.27193 0.4884,-0.61189 0.60352,-1.00781 a 0.50005,0.50005 0 0 0 0.004,-0.0176 l 2.70117,-10.64453 a 0.50005,0.50005 0 0 0 -0.47461,-0.62304 z M 308,393.99414 a 1,1 0 0 0 -1,1 1,1 0 0 0 0.0352,0.25586 l -0.88868,0.88867 a 0.50005,0.50005 0 1 0 0.70704,0.70703 l 0.88671,-0.88672 a 1,1 0 0 0 0.25977,0.0352 1,1 0 0 0 1,-1 1,1 0 0 0 -1,-1 z m -3.50977,3.99219 a 0.50005,0.50005 0 0 0 -0.34375,0.15234 l -1,1 a 0.50005,0.50005 0 1 0 0.70704,0.70703 l 1,-1 a 0.50005,0.50005 0 0 0 -0.36329,-0.85937 z m -3.00195,3 a 0.50005,0.50005 0 0 0 -0.3418,0.15234 l -1,1.00391 a 0.50005,0.50005 0 1 0 0.70704,0.70508 l 1,-1.00391 a 0.50005,0.50005 0 0 0 -0.36524,-0.85742 z"
- transform="translate(1.8536743e-6,-42.000005)"
- id="path7527-5"
- inkscape:connector-curvature="0" />
- </g>
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g12682"
- transform="translate(-1.8536743e-6,42.000005)"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- inkscape:export-xdpi="96"
- inkscape:export-ydpi="96">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 325.05469,389.00391 c -0.66782,-0.018 -1.21728,4.6e-4 -1.57813,0.002 h -0.002 c -0.34416,2.5e-4 -0.65424,0.0639 -0.91602,0.22852 -0.2623,0.16491 -0.44433,0.43888 -0.51367,0.7207 -0.13867,0.56363 0.037,1.13654 0.3125,1.76758 0.55094,1.26206 1.63318,2.77176 2.73438,4.10351 a 0.50004997,0.50004997 0 1 0 0.76953,-0.63867 c -1.06758,-1.2911 -2.11546,-2.78301 -2.58789,-3.86523 -0.23622,-0.54112 -0.29509,-0.9754 -0.25782,-1.12696 0.0186,-0.0758 0.0265,-0.0852 0.0742,-0.11523 0.0478,-0.03 0.16614,-0.0742 0.38672,-0.0742 a 0.50004997,0.50004997 0 0 0 0.002,0 c 1.54352,-0.006 5.58742,-0.20164 8.14453,2.35547 2.5571,2.5571 2.35972,6.59906 2.35351,8.14258 a 0.50004997,0.50004997 0 0 0 0,0.002 c 0,0.22058 -0.0442,0.33897 -0.0742,0.38672 -0.03,0.0477 -0.0375,0.0575 -0.11328,0.0762 -0.15155,0.0373 -0.58779,-0.0216 -1.1289,-0.25781 -1.08223,-0.47244 -2.57414,-1.52227 -3.86524,-2.58985 a 0.50015227,0.50015227 0 1 0 -0.63672,0.77149 c 1.33176,1.1012 2.8395,2.18343 4.10157,2.73437 0.63103,0.27547 1.20395,0.45117 1.76757,0.3125 0.28182,-0.0693 0.55774,-0.25136 0.72266,-0.51367 0.16426,-0.26126 0.22607,-0.57268 0.22656,-0.91601 v -0.004 c 0.006,-1.44452 0.29493,-5.9121 -2.64648,-8.85352 -2.20662,-2.20661 -5.27193,-2.59451 -7.27539,-2.64843 z m 3.95117,4.99023 a 1,1 0 0 0 -1,1 1,1 0 0 0 0.0332,0.25781 l -0.88672,0.88672 a 0.50005,0.50005 0 1 0 0.70704,0.70703 l 0.88671,-0.88672 a 1,1 0 0 0 0.25977,0.0352 1,1 0 0 0 1,-1 1,1 0 0 0 -1,-1 z m -3.50977,3.99219 a 0.50005,0.50005 0 0 0 -0.34375,0.15234 l -1,1 a 0.50005,0.50005 0 1 0 0.70704,0.70703 l 1,-1 a 0.50005,0.50005 0 0 0 -0.36329,-0.85937 z m -3.00195,3 a 0.50005,0.50005 0 0 0 -0.34375,0.15234 l -1,1.00391 a 0.50005,0.50005 0 1 0 0.70899,0.70508 l 1,-1.00391 a 0.50005,0.50005 0 0 0 -0.36524,-0.85742 z"
- transform="translate(1.8536743e-6,-42.000005)"
- id="path7537-6"
- inkscape:connector-curvature="0" />
- </g>
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g12674"
- transform="translate(-1.8536743e-6,63.000005)"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- inkscape:export-xdpi="96"
- inkscape:export-ydpi="96">
- <path
- style="opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:3.70000005;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none"
- d="m 343.50586,388.99219 a 0.50005,0.50005 0 0 0 -0.35547,0.14648 l -1.00391,1.00781 a 0.50005,0.50005 0 0 0 -0.0937,0.57618 l 3,6 a 0.50005,0.50005 0 1 0 0.89454,-0.44532 l -2.83985,-5.67968 0.60547,-0.60547 h 6.4707 l 4.72266,10.39062 -0.60937,0.60938 -5.98633,0.008 -0.35743,-0.72656 a 0.50005,0.50005 0 1 0 -0.89648,0.4414 l 0.49414,1.00586 A 0.50005,0.50005 0 0 0 348,402 l 6.50586,-0.008 a 0.50005,0.50005 0 0 0 0.35352,-0.14649 l 1,-1 a 0.50005,0.50005 0 0 0 0.10156,-0.56054 l -5,-11 a 0.50005,0.50005 0 0 0 -0.45508,-0.29297 z m 5.5,6.00195 a 1,1 0 0 0 -1,1 1,1 0 0 0 0.0332,0.25977 l -0.14258,0.14257 a 0.50005,0.50005 0 1 0 0.70704,0.70704 l 0.14453,-0.14454 a 1,1 0 0 0 0.25781,0.0352 1,1 0 0 0 1,-1 1,1 0 0 0 -1,-1 z m -2.50977,2.99219 a 0.50005,0.50005 0 0 0 -0.34375,0.15234 l -1,1 a 0.50005,0.50005 0 1 0 0.70704,0.70703 l 1,-1 a 0.50005,0.50005 0 0 0 -0.36329,-0.85937 z m -3.00195,3 a 0.50005,0.50005 0 0 0 -0.34375,0.15234 l -1,1.00391 a 0.50005,0.50005 0 1 0 0.70899,0.70508 l 1,-1.00391 a 0.50005,0.50005 0 0 0 -0.36524,-0.85742 z"
- transform="translate(1.8536743e-6,-63.000005)"
- id="circle12662"
- inkscape:connector-curvature="0" />
- </g>
- <g
- id="g12707"
- style="display:inline;opacity:0.98999999;fill:#ffffff;stroke-width:1.07692313;enable-background:new"
- transform="matrix(0.92857149,0,0,0.92857137,22.930148,44.290705)"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- inkscape:export-xdpi="96"
- inkscape:export-ydpi="96">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 327.94922,619.99609 c -0.89539,0.0396 -1.29072,1.14622 -0.62305,1.74414 l 1.37305,1.26563 h -6.69727 c -1.36099,-0.0279 -1.36099,2.02794 0,2 h 3.0918 c -0.003,0.002 -0.005,0.004 -0.008,0.006 l -4.75,4.24805 c -0.99479,0.88933 0.33919,2.38151 1.33398,1.49218 l 2.33985,-2.09375 c 0.0823,2.95524 2.51793,5.34766 5.49218,5.34766 3.02565,0 5.49805,-2.47428 5.49805,-5.5 0,-1.56564 -0.6642,-2.98065 -1.72266,-3.98438 l -4.59961,-4.25195 c -0.19597,-0.18575 -0.45872,-0.28437 -0.72851,-0.27344 z m 1.55273,5.00977 c 1.94471,0 3.5,1.5551 3.5,3.5 0,1.94489 -1.55529,3.5 -3.5,3.5 -1.94472,0 -3.5,-1.55511 -3.5,-3.5 0,-1.9449 1.55528,-3.5 3.5,-3.5 z m -0.0176,1.78516 a 1.7319623,1.7139345 0 0 0 -1.73243,1.71484 1.7319623,1.7139345 0 0 0 1.73243,1.71289 1.7319623,1.7139345 0 0 0 1.73242,-1.71289 1.7319623,1.7139345 0 0 0 -1.73242,-1.71484 z"
- transform="matrix(1.076923,0,0,1.0769231,-24.694004,-47.697685)"
- id="path12703"
- inkscape:connector-curvature="0" />
- </g>
- <g
- transform="translate(-210.00712,-588.00007)"
- id="g12466"
- style="display:inline;opacity:1;fill:#ffffff;enable-background:new"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- inkscape:export-xdpi="96"
- inkscape:export-ydpi="96">
- <g
- transform="translate(22)"
- id="g12463"
- style="fill:#ffffff">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 557.5,620 a 0.50005,0.50005 0 1 0 0,1 h 6.99219 a 0.50005,0.50005 0 1 0 0,-1 z m 0,2 a 0.50005,0.50005 0 1 0 0,1 h 6.99219 a 0.50005,0.50005 0 1 0 0,-1 z m 0,2 a 0.50005,0.50005 0 1 0 0,1 h 6.99219 a 0.50005,0.50005 0 1 0 0,-1 z m 0,5 a 0.50005,0.50005 0 1 0 0,1 h 6.99219 a 0.50005,0.50005 0 1 0 0,-1 z m 0,2 a 0.50005,0.50005 0 1 0 0,1 h 6.99219 a 0.50005,0.50005 0 1 0 0,-1 z m 0,2 a 0.50005,0.50005 0 1 0 0,1 h 7 a 0.50005,0.50005 0 1 0 0,-1 z"
- id="path12459"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 553.48438,620 a 0.50005,0.50005 0 0 0 -0.3379,0.14648 l -2,2 a 0.50005,0.50005 0 1 0 0.70704,0.70704 L 553,621.70703 V 625.5 a 0.50005,0.50005 0 1 0 1,0 v -5 A 0.50005,0.50005 0 0 0 553.48438,620 Z M 553,628 c -0.79172,0 -1.70536,0.42737 -1.98047,1.35938 a 0.50062501,0.50062501 0 1 0 0.96094,0.28124 C 552.10464,629.21999 552.55814,629 553,629 c 0.31942,0 0.59941,0.0632 0.75391,0.16602 0.1545,0.10279 0.25034,0.21211 0.2539,0.58789 5.6e-4,0.20689 -0.076,0.32805 -0.29687,0.52148 -0.22152,0.19398 -0.57835,0.40234 -0.9668,0.64453 -0.38845,0.24219 -0.81151,0.52364 -1.1543,0.93555 -0.34278,0.4119 -0.58774,0.96871 -0.58984,1.64258 A 0.50005,0.50005 0 0 0 551.5,634 h 3 a 0.50005,0.50005 0 1 0 0,-1 h -2.32227 c 0.0615,-0.1621 0.068,-0.36972 0.17969,-0.50391 0.22282,-0.26775 0.55267,-0.50197 0.91602,-0.72851 0.36335,-0.22654 0.7571,-0.44007 1.09765,-0.73828 0.34056,-0.29822 0.6393,-0.73918 0.63672,-1.28125 a 0.50005,0.50005 0 0 0 0,-0.002 c -0.006,-0.62417 -0.29003,-1.13985 -0.69922,-1.41211 C 553.89941,628.06173 553.43058,628 553,628 Z"
- id="path12461"
- inkscape:connector-curvature="0" />
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 53.494141,601.99414 a 0.50005,0.50005 0 0 0 -0.347657,0.85938 l 3.646485,3.64648 -3.646485,3.64648 a 0.50005,0.50005 0 1 0 0.707032,0.70704 l 4,-4 a 0.50005,0.50005 0 0 0 0,-0.70704 l -4,-4 a 0.50005,0.50005 0 0 0 -0.359375,-0.15234 z" id="path9518-7-7" inkscape:connector-curvature="0"/>
+ <g id="g6733" transform="translate(-42.000002,503.9)" style="display:inline;opacity:1;fill:#ffffff;enable-background:new" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" inkscape:export-xdpi="96" inkscape:export-ydpi="96">
+ <rect ry="0" rx="0" y="31" x="68" height="16" width="16" id="rect4338" style="opacity:0;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 81.75,32.099609 c -1.433114,0 -2.573994,0.599965 -3.328125,1.414063 -0.754131,0.814098 -1.193245,1.779187 -1.615234,2.65039 -0.42199,0.871204 -0.825206,1.64712 -1.308594,2.146485 -0.483388,0.499365 -0.99066,0.789062 -1.998047,0.789062 H 69 v 2 h 4.5 c 1.476988,0 2.648427,-0.585302 3.435547,-1.398437 0.78712,-0.813135 1.246208,-1.787219 1.671875,-2.666016 0.425667,-0.878796 0.819561,-1.663707 1.28125,-2.162109 0.461689,-0.498402 0.919442,-0.773438 1.861328,-0.773438 H 83 v -2 z" id="path4336" inkscape:connector-curvature="0"/>
+ <g id="g23052" style="opacity:0.7;fill:#ffffff">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.20000005;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 27,536.90039 v 1.19922 h 0.75 c 0.646429,0 1.301953,0.38 1.880859,1.04297 0.578907,0.66296 1.046871,1.58637 1.289063,2.49023 0.207018,0.77346 1.367174,0.46292 1.160156,-0.31054 -0.287808,-1.07411 -0.818828,-2.13723 -1.544922,-2.96875 -0.726093,-0.83153 -1.681585,-1.45313 -2.785156,-1.45313 z m 13.25,9 c -1.91571,0 -2.93215,0.90502 -3.558594,1.66992 -0.313222,0.38245 -0.555819,0.7142 -0.798828,0.91797 -0.243008,0.20377 -0.458964,0.3125 -0.892578,0.3125 -0.401011,0 -0.71548,-0.20341 -1.054688,-0.64648 -0.339207,-0.44308 -0.639641,-1.1033 -0.878906,-1.79492 -0.238226,-0.80225 -1.442094,-0.38505 -1.132812,0.39257 0.260735,0.7537 0.585301,1.5146 1.058594,2.13282 C 33.46548,549.50298 34.151011,550 35,550 c 0.691386,0 1.25668,-0.25378 1.662109,-0.59375 0.405429,-0.33997 0.678457,-0.73364 0.958985,-1.07617 0.561056,-0.68506 1.044616,-1.23047 2.628906,-1.23047 H 41 v -1.19922 z" transform="translate(42.000002,-503.9)" id="path4334" inkscape:connector-curvature="0"/>
</g>
</g>
- <g
- transform="translate(-1.8536743e-6,4.4999696e-6)"
- id="g21139"
- style="display:inline;opacity:0.7;fill:#ffffff;enable-background:new">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.3;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 412,179 c -3.86007,0 -7,3.13993 -7,7 0,3.86007 3.13993,7 7,7 3.86007,0 7,-3.13993 7,-7 0,-3.86007 -3.13993,-7 -7,-7 z m 0,1 c 3.31963,0 6,2.68037 6,6 0,3.31963 -2.68037,6 -6,6 -3.31963,0 -6,-2.68037 -6,-6 0,-3.31963 2.68037,-6 6,-6 z"
- id="path12522"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.99999988;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 412,184 c -1.09865,0 -2,0.90135 -2,2 0,1.09865 0.90135,2 2,2 1.09865,0 2,-0.90135 2,-2 0,-1.09865 -0.90135,-2 -2,-2 z"
- id="path12526"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="sssss" />
- </g>
- <g
- transform="rotate(-180,670.50713,476.50011)"
- style="display:inline;opacity:0.98999999;fill:#ffffff;enable-background:new"
- id="g9316-9"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- inkscape:export-xdpi="96"
- inkscape:export-ydpi="96">
- <g
- transform="translate(438,704)"
- id="g8254-6"
- style="fill:#ffffff" />
- <g
- style="fill:#ffffff;stroke-width:1.09491563"
- id="g8219-5"
- transform="matrix(0.99217072,0,0,0.84072177,457.69618,698.42569)" />
- <g
- id="g8268-6"
- transform="rotate(90,613.50354,483.5038)"
- style="fill:#ffffff">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="M 746.49219,-91.007812 A 0.50005,0.50005 0 0 0 746,-90.5 v 2.503906 l -2.5,0.0039 a 0.50005,0.50005 0 1 0 0,1 l 3,-0.0039 a 0.50005,0.50005 0 0 0 0.5,-0.5 V -90.5 a 0.50005,0.50005 0 0 0 -0.50781,-0.507812 z m 2.00781,3.015624 a 0.50005,0.50005 0 1 0 0,1 h 3 a 0.50005,0.50005 0 1 0 0,-1 z m 5,0 a 0.50005,0.50005 0 1 0 0,1 h 3 a 0.50005,0.50005 0 1 0 0,-1 z m -7.00781,1.986329 A 0.50005,0.50005 0 0 0 746,-85.5 v 3 a 0.50005,0.50005 0 1 0 1,0 v -3 a 0.50005,0.50005 0 0 0 -0.50781,-0.505859 z m 0,5 A 0.50005,0.50005 0 0 0 746,-80.5 v 3 a 0.50005,0.50005 0 1 0 1,0 v -3 a 0.50005,0.50005 0 0 0 -0.50781,-0.505859 z"
- id="path8265-4"
- inkscape:connector-curvature="0" />
- </g>
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 160.5,327 c -0.8223,0 -1.5,0.67765 -1.5,1.5 v 4 c 0,0.82235 0.6777,1.5 1.5,1.5 h 5 c 0.8224,0 1.5,-0.67765 1.5,-1.5 v -4 c 0,-0.82235 -0.6776,-1.5 -1.5,-1.5 z m 0,5 h 5 a 0.50005,0.50005 0 1 1 0,1 h -5 a 0.50005,0.50005 0 1 1 0,-1 z"
- transform="rotate(180,670.50713,476.50011)"
- id="rect8324-7-9-0"
- inkscape:connector-curvature="0" />
- </g>
- <g
- transform="translate(-1022,-287.00021)"
- style="display:inline;opacity:0.98999999;fill:#ffffff;enable-background:new"
- id="g9304-8"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- inkscape:export-xdpi="96"
- inkscape:export-ydpi="96">
- <g
- transform="translate(419,704)"
- id="g8292-1"
- style="fill:#ffffff">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="M 746.49219,-91.007812 A 0.50005,0.50005 0 0 0 746,-90.5 v 3 a 0.50005,0.50005 0 1 0 1,0 v -3 a 0.50005,0.50005 0 0 0 -0.50781,-0.507812 z m 0,5 A 0.50005,0.50005 0 0 0 746,-85.5 v 3 a 0.50005,0.50005 0 1 0 1,0 v -3 a 0.50005,0.50005 0 0 0 -0.50781,-0.507812 z m 0,5 A 0.50005,0.50005 0 0 0 746,-80.5 v 3 a 0.50005,0.50005 0 1 0 1,0 v -3 a 0.50005,0.50005 0 0 0 -0.50781,-0.507812 z"
- id="path8290-6"
- inkscape:connector-curvature="0" />
+ <g id="g7579" style="fill:#ffffff">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 48.499998,536.00001 c -0.276131,3e-5 -0.499972,0.22387 -0.5,0.5 v 2 c 2.8e-5,0.27613 0.223869,0.49997 0.5,0.5 h 4 c 0.276131,-3e-5 0.499972,-0.22387 0.5,-0.5 v -2 c -2.8e-5,-0.27613 -0.223869,-0.49997 -0.5,-0.5 z m 7,6 c -0.276131,3e-5 -0.499972,0.22387 -0.5,0.5 v 2 c 2.8e-5,0.27613 0.223869,0.49997 0.5,0.5 h 6 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -2 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z m 0,5 c -0.276131,3e-5 -0.499972,0.22387 -0.5,0.5 v 2 c 2.8e-5,0.27613 0.223869,0.49997 0.5,0.5 h 6 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -2 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z" id="rect5843" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccccccccccccccccccccccccc"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 50,540 v 8.5 a 0.50005,0.50005 0 0 0 0.5,0.5 H 54 v -1 h -3 v -4 h 3 v -1 h -3 v -3 z" id="path5849" inkscape:connector-curvature="0"/>
+ </g>
+ <g id="g7627" style="fill:#ffffff">
+ <g transform="matrix(1,0,0,-1,-42.000002,917.99993)" id="g4806" style="opacity:0.6;fill:#ffffff">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 300.5,375 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 3 a 0.50005,0.50005 0 0 0 0.5,0.5 h 5.5 v -1 h -5 v -2 h 5 v -1 z m 8.5,0 v 1 h 2 v 2 h -2 v 1 h 2.5 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -3 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z" id="path4801" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 302.5,378 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 3 a 0.50005,0.50005 0 0 0 0.5,0.5 h 3.5 v -1 h -3 v -2 h 3 v -1 z m 6.5,0 v 1 h 4 v 2 h -4 v 1 h 4.5 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -3 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z" id="path4804" inkscape:connector-curvature="0"/>
</g>
- <g
- transform="translate(435,709)"
- id="g8299-5"
- style="fill:#ffffff" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 134.5,330 c -0.8224,0 -1.5,0.67765 -1.5,1.5 v 4 c 0,0.82235 0.6776,1.5 1.5,1.5 h 5 c 0.8224,0 1.5,-0.67765 1.5,-1.5 v -4 c 0,-0.82235 -0.6776,-1.5 -1.5,-1.5 z m 0,5 h 5 a 0.50005,0.50005 0 1 1 0,1 h -5 a 0.50005,0.50005 0 1 1 0,-1 z"
- transform="translate(1022,287.00021)"
- id="rect8324-7-9"
- inkscape:connector-curvature="0" />
- </g>
- <g
- transform="translate(-1021,-287.00021)"
- style="display:inline;opacity:0.98999999;fill:#ffffff;enable-background:new"
- id="g9296-0"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- inkscape:export-xdpi="96"
- inkscape:export-ydpi="96">
- <g
- id="g8328-6"
- transform="translate(415,710)"
- style="fill:#ffffff">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 115.5,331 c -0.82235,0 -1.5,0.67765 -1.5,1.5 v 4 c 0,0.82235 0.67765,1.5 1.5,1.5 h 5 c 0.82235,0 1.5,-0.67765 1.5,-1.5 v -4 c 0,-0.82235 -0.67765,-1.5 -1.5,-1.5 z m 0,5 h 5 a 0.50005,0.50005 0 1 1 0,1 h -5 a 0.50005,0.50005 0 1 1 0,-1 z"
- transform="translate(606,-422.99979)"
- id="rect8324-7"
- inkscape:connector-curvature="0" />
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 265,536 v 13.96484 h 1 V 536 Z m -4.5,10 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 3 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 3.5 v -4 z m 6.5,0 v 4 h 4.5 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -3 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z" id="path4817" inkscape:connector-curvature="0"/>
+ </g>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 218.5,74 c -0.27613,2.8e-5 -0.49997,0.223869 -0.5,0.5 v 13 c 1.7e-4,0.445324 0.53852,0.668302 0.85352,0.353516 l 3.64648,-3.646485 3.64648,3.646485 c 0.315,0.314786 0.85335,0.09181 0.85352,-0.353516 v -13 c -3e-5,-0.276131 -0.22387,-0.499972 -0.5,-0.5 z" id="rect9857" inkscape:connector-curvature="0" sodipodi:nodetypes="cccccccccc"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 326.49023,56 a 0.50005,0.50005 0 0 0 -0.34375,0.152344 l -4,4 a 0.50005,0.50005 0 0 0 0,0.707031 l 4,4 a 0.50005,0.50005 0 1 0 0.70704,-0.707031 l -3.14649,-3.146485 H 334.5 a 0.50005,0.50005 0 1 0 0,-1 h -10.79297 l 3.14649,-3.146484 A 0.50005,0.50005 0 0 0 326.49023,56 Z" id="path12420" inkscape:connector-curvature="0"/>
+ <g id="g12536" transform="matrix(0,1,1,0,270,-183)" style="display:inline;opacity:1;fill:#ffffff;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;enable-background:new" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" inkscape:export-xdpi="96" inkscape:export-ydpi="96">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 261.49023,51.996094 a 0.50005,0.50005 0 0 0 -0.34375,0.15039 l -4,4 a 0.50005,0.50005 0 0 0 0,0.707032 l 4,4 a 0.50005,0.50005 0 1 0 0.70704,-0.707032 L 258.70703,57 H 268.5 c 0.83435,0 1.5,0.665651 1.5,1.5 v 5 a 0.50005,0.50005 0 1 0 1,0 v -5 c 0,-1.374789 -1.12521,-2.5 -2.5,-2.5 h -9.79297 l 3.14649,-3.146484 a 0.50005,0.50005 0 0 0 -0.36329,-0.857422 z" id="path12534" inkscape:connector-curvature="0"/>
+ </g>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 350.50195,56 a 0.50005,0.50005 0 0 0 -0.34765,0.859375 l 3.14648,3.146484 h -10.79297 a 0.50005,0.50005 0 1 0 0,1 h 10.79297 l -3.14648,3.146485 a 0.50005,0.50005 0 1 0 0.70703,0.707031 l 4,-4 a 0.50005,0.50005 0 0 0 0,-0.707031 l -4,-4 A 0.50005,0.50005 0 0 0 350.50195,56 Z" id="path9970" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 283.49023,52.996094 a 0.50005,0.50005 0 0 0 -0.34375,0.15039 l -4,4 a 0.50005,0.50005 0 0 0 0,0.707032 l 4,4 a 0.50005,0.50005 0 1 0 0.70704,-0.707032 L 280.70703,58 H 288 c 2.21506,0 4,1.784939 4,4 0,2.215061 -1.78494,4 -4,4 h -1.5 a 0.50005,0.50005 0 1 0 0,1 h 1.5 c 2.7555,0 5,-2.244499 5,-5 0,-2.755501 -2.2445,-5 -5,-5 h -7.29297 l 3.14649,-3.146484 a 0.50005,0.50005 0 0 0 -0.36329,-0.857422 z" id="path13225" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 309.49414,52.994141 a 0.50005,0.50005 0 0 0 -0.34766,0.859375 L 312.29297,57 H 305 c -2.7555,0 -5,2.244499 -5,5 0,2.755501 2.2445,5 5,5 h 1.5 a 0.50005,0.50005 0 1 0 0,-1 H 305 c -2.21506,0 -4,-1.784939 -4,-4 0,-2.215061 1.78494,-4 4,-4 h 7.29297 l -3.14649,3.146484 a 0.50005,0.50005 0 1 0 0.70704,0.707032 l 4,-4 a 0.50005,0.50005 0 0 0 0,-0.707032 l -4,-4 a 0.50005,0.50005 0 0 0 -0.35938,-0.152343 z" id="path13229" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999988;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="M 355.49219,73.992188 A 0.50004994,0.50004994 0 0 0 355,74.5 v 3.792969 l -2.11914,-2.117188 a 0.50004994,0.50004994 0 0 0 -0.0234,-0.02539 c -10e-4,-0.0015 -0.002,-0.0024 -0.004,-0.0039 a 0.50004994,0.50004994 0 0 0 -0.1875,-0.121093 c -1.78999,-1.727877 -3.76997,-2.331734 -5.85938,-1.875 -2.1873,0.478135 -3.98484,2.053048 -4.77539,4.175781 a 0.50004994,0.50004994 0 1 0 0.9375,0.347656 c 0.67415,-1.810183 2.19925,-3.142137 4.05078,-3.546875 1.87803,-0.410528 3.46011,0.02939 5.12305,1.722656 a 0.50004994,0.50004994 0 0 0 0.002,0.002 0.50004994,0.50004994 0 0 0 0.002,0.002 0.50004994,0.50004994 0 0 0 0.0332,0.03125 L 354.29297,79 H 350.5 a 0.50004994,0.50004994 0 1 0 0,1 h 5 a 0.50004994,0.50004994 0 0 0 0.5,-0.5 v -5 a 0.50004994,0.50004994 0 0 0 -0.50781,-0.507812 z" id="path13235" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999988;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 342.49805,81.992188 a 0.50004994,0.50004994 0 0 0 -0.5,0.5 v 5 a 0.50004994,0.50004994 0 1 0 1,0 v -3.792969 l 2.11914,2.11914 a 0.50004994,0.50004994 0 0 0 0.0234,0.02539 l 0.004,0.002 c 7.2e-4,7.3e-4 0.001,0.0012 0.002,0.002 a 0.50004994,0.50004994 0 0 0 0.18555,0.121094 c 1.78998,1.727877 3.76997,2.331734 5.85938,1.875 2.1873,-0.478136 3.98484,-2.053048 4.77539,-4.175781 a 0.50028327,0.50028327 0 1 0 -0.9375,-0.34961 c -0.67415,1.810184 -2.19925,3.14409 -4.05078,3.548829 -1.87804,0.410528 -3.46011,-0.03135 -5.12305,-1.72461 a 0.50004994,0.50004994 0 0 0 -0.004,-0.0039 l -0.0332,-0.03125 -2.11328,-2.115234 h 3.79297 a 0.50004994,0.50004994 0 1 0 0,-1 z" id="path13252" inkscape:connector-curvature="0"/>
+ <g id="g12053" transform="translate(0.99999815,210)" style="fill:#ffffff">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.89999998;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 237.49414,326.05078 c -0.11724,0.001 -0.22936,0.0482 -0.3125,0.13086 l -2,2 c -0.17593,0.17578 -0.17593,0.46094 0,0.63672 l 2,2 c 0.17578,0.17593 0.46094,0.17593 0.63672,0 l 2,-2 c 0.17593,-0.17578 0.17593,-0.46094 0,-0.63672 l -2,-2 c -0.086,-0.0855 -0.20293,-0.13272 -0.32422,-0.13086 z m 11,0 c -0.11724,0.001 -0.22936,0.0482 -0.3125,0.13086 l -2,2 c -0.17593,0.17578 -0.17593,0.46094 0,0.63672 l 2,2 c 0.17578,0.17593 0.46094,0.17593 0.63672,0 l 2,-2 c 0.17593,-0.17578 0.17593,-0.46094 0,-0.63672 l -2,-2 c -0.086,-0.0855 -0.20293,-0.13272 -0.32422,-0.13086 z m -6.02734,6.75 c -0.1137,0.009 -0.21981,0.0605 -0.29688,0.14453 l -3,3.25 c -0.16377,0.17723 -0.15861,0.45209 0.0117,0.62305 l 3,3 c 0.17578,0.17593 0.46094,0.17593 0.63672,0 l 3,-3 c 0.17031,-0.17096 0.17547,-0.44582 0.0117,-0.62305 l -3,-3.25 c -0.0927,-0.10101 -0.22649,-0.15422 -0.36328,-0.14453 z m 0.0332,1.11133 2.37695,2.57617 -2.37695,2.375 -2.37695,-2.37695 z" id="path12048" inkscape:connector-curvature="0" sodipodi:nodetypes="cccccccccccccccccccccccccccccccccccc"/>
+ <path style="opacity:0.5;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke" d="m 239.12109,326 1.43946,1.43945 c 0.58556,0.5858 0.58556,1.5353 0,2.1211 L 239.12109,331 h 7.75782 l -1.43946,-1.43945 c -0.58556,-0.5858 -0.58556,-1.5353 0,-2.1211 L 246.87891,326 Z" id="path12051" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccccccc"/>
+ </g>
+ <g style="display:inline;fill:#ffffff;enable-background:new" id="g23466" transform="translate(-1.8536743e-6,-0.999995)">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 10.482422,494 c -0.189602,0.007 -0.359053,0.12023 -0.4375,0.29297 l -3.7734376,8.25 c -0.00134,0.003 -0.00264,0.007 -0.00391,0.01 C 6.1587525,502.80633 6,503.10119 6,503.5 c 0,0.83813 0.5261723,1.53471 1.296875,1.92188 0.7707027,0.38715 1.7901254,0.55582 3.023437,0.57226 0.295371,0.003 0.52928,-0.24867 0.503907,-0.54297 9.47e-4,0.0108 -0.01109,-0.37852 -0.01563,-0.70898 -0.0045,-0.33047 -0.0078,-0.6698 -0.0078,-0.74219 0,-1.86768 1.015625,-3.51914 2.519531,-4.4375 0.228366,-0.13928 0.306682,-0.43361 0.177735,-0.66797 L 10.9375,494.25781 C 10.846425,494.09307 10.670549,493.99343 10.482422,494 Z M 18,494 c -1.098638,0 -1.999999,0.90136 -2,2 1e-6,1.09864 0.901362,2 2,2 1.098638,0 1.999999,-0.90136 2,-2 -1e-6,-1.09864 -0.901362,-2 -2,-2 z m -2,6 c -2.203217,0 -3.999999,1.79678 -4,4 10e-7,2.20322 1.796783,4 4,4 2.203217,0 3.999999,-1.79678 4,-4 -1e-6,-2.20322 -1.796783,-4 -4,-4 z m 0,1 c 1.662777,0 2.999999,1.33722 3,3 -1e-6,1.66278 -1.337223,3 -3,3 -1.662777,0 -2.999999,-1.33722 -3,-3 10e-7,-1.66278 1.337223,-3 3,-3 z m -0.541016,1.0332 C 14.658737,502.0332 14,502.69389 14,503.49414 a 0.50005,0.50005 0 1 0 1,0 c 0,-0.25981 0.199172,-0.46094 0.458984,-0.46094 a 0.50005,0.50005 0 1 0 0,-1 z" transform="translate(1.8536743e-6,0.999995)" id="path10645" inkscape:connector-curvature="0"/>
+ </g>
+ <rect style="display:inline;overflow:visible;visibility:visible;opacity:0;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2.70000005;marker:none;enable-background:accumulate" id="rect12082" width="16" height="16" x="26" y="136" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" inkscape:export-xdpi="96" inkscape:export-ydpi="96"/>
+ <g transform="translate(-1.8536743e-6,4.4999696e-6)" style="display:inline;fill:#ffffff;enable-background:new" id="g14497">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="M 324.60938,536 C 323.75288,536 323,536.6483 323,537.5 v 3 c 0,0.8517 0.75288,1.5 1.60938,1.5 h 4.78124 C 330.24712,542 331,541.3517 331,540.5 v -3 c 0,-0.8517 -0.75287,-1.5 -1.60938,-1.5 z M 332,537 v 3 c 0.56267,0 1,-0.50398 1,-1.03125 v -0.9375 C 333,537.50408 332.56269,537 332,537 Z m -7.53516,3 a 0.50005,0.50005 0 0 1 0.0352,0 h 5 a 0.50005,0.50005 0 1 1 0,1 h -5 a 0.50030966,0.50030966 0 0 1 -0.0352,-1 z m -1.85546,4 C 321.75288,544 321,544.6483 321,545.5 v 3 c 0,0.8517 0.75288,1.5 1.60938,1.5 h 4.78124 C 328.24712,550 329,549.3517 329,548.5 v -3 c 0,-0.8517 -0.75287,-1.5 -1.60938,-1.5 z M 330,546 v 3 c 0.56267,0 1,-0.50398 1,-1.03125 v -0.9375 C 331,546.50408 330.56269,546 330,546 Z m -7.53516,2 a 0.50005,0.50005 0 0 1 0.0352,0 h 5 a 0.50005,0.50005 0 1 1 0,1 h -5 a 0.50030966,0.50030966 0 0 1 -0.0352,-1 z" transform="translate(1.8536743e-6,-4.4999696e-6)" id="rect12085" inkscape:connector-curvature="0"/>
+ <g transform="translate(0,231)" style="opacity:1;fill:#ffffff" id="g12112">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.7;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 332.5,307 v 1 c 0.55917,0 0.9084,0.14278 1.13281,0.36719 C 333.85722,308.5916 334,308.94083 334,309.5 v 5 c 0,0.55917 -0.14278,0.9084 -0.36719,1.13281 C 333.4084,315.85722 333.05917,316 332.5,316 h -2 v 1 h 2 c 0.73927,0 1.38886,-0.20918 1.83984,-0.66016 C 334.79082,315.88886 335,315.23927 335,314.5 v -5 c 0,-0.73927 -0.20918,-1.38886 -0.66016,-1.83984 C 333.88886,307.20918 333.23927,307 332.5,307 Z" id="path12102" inkscape:connector-curvature="0" sodipodi:nodetypes="ccsssssccsssssc"/>
</g>
- <g
- id="g8338-5"
- transform="rotate(90,593.00354,462.0038)"
- style="fill:#ffffff">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="M 746.49219,-91.007812 A 0.50005,0.50005 0 0 0 746,-90.5 v 3 a 0.50005,0.50005 0 1 0 1,0 v -3 a 0.50005,0.50005 0 0 0 -0.50781,-0.507812 z m 0,5 A 0.50005,0.50005 0 0 0 746,-85.5 v 3 a 0.50005,0.50005 0 1 0 1,0 v -3 a 0.50005,0.50005 0 0 0 -0.50781,-0.507812 z m 0,5 A 0.50005,0.50005 0 0 0 746,-80.5 v 3 a 0.50005,0.50005 0 1 0 1,0 v -3 a 0.50005,0.50005 0 0 0 -0.50781,-0.507812 z"
- id="path8336-9"
- inkscape:connector-curvature="0" />
+ </g>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 218.5,472 a 0.50005,0.50005 0 1 0 0,1 h 3 a 0.50005,0.50005 0 1 0 0,-1 z m -2,2 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 12 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 7 c 0.67616,0.01 0.67616,-1.00956 0,-1 H 217 v -1 h 2.50781 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 V 477 H 229 v 2.5 c 0,0.525 -0.14815,0.87861 -0.38477,1.11523 C 228.37862,480.85186 228.02499,481 227.5,481 h -1 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 2.5 h -4.5 c -0.67616,-0.01 -0.67616,1.00956 0,1 h 5 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 V 482 h 0.5 c 0.72501,0 1.37138,-0.22683 1.82227,-0.67773 C 229.77315,480.87137 230,480.225 230,479.5 v -3 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 H 224 v -1.5 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z m 0.5,1 h 6 v 1 h -6 z m 4,3 v 1 h 1 v -1 z m 2,0 v 1 h 1 v -1 z m 2,0 v 1 h 1 v -1 z m 2,0 v 1 h 1 v -1 z" id="path12120" inkscape:connector-curvature="0"/>
+ <g id="g12136" transform="translate(21.999998,314.99995)" style="fill:#ffffff"/>
+ <g style="display:inline;fill:#ffffff;enable-background:new" id="g12254" transform="translate(-21.000002,-20.999995)" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" inkscape:export-xdpi="96" inkscape:export-ydpi="96">
+ <path style="opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none" d="m 75,599 v 2 h 1 v -2 z m 3,0 v 1 h 2 v -1 z m 4,0 v 2 h 1 v -2 z m -6,3 c -2.197587,0 -4,1.80241 -4,4 0,0.91965 0.327327,1.75942 0.855469,2.4375 l -3.708985,3.70898 a 0.50005001,0.50005001 0 1 0 0.707032,0.70704 L 73.5625,609.14453 C 74.240452,609.67231 75.080704,610 76,610 c 2.197595,0 3.998047,-1.80241 3.998047,-4 0,-2.19759 -1.800452,-4 -3.998047,-4 z m 6,1 v 2 h 1 v -2 z m -6,0.002 c 1.652136,0 3,1.34592 3,2.99805 0,1.65213 -1.347864,3 -3,3 -1.652128,0 -3,-1.34787 -3,-3 0,-1.65214 1.347872,-2.99805 3,-2.99805 z M 82,607 v 2 h 1 v -2 z m -7,4 v 2 h 1 v -2 z m 7,0 v 2 h 1 v -2 z m -4,1 v 1 h 2 v -1 z" transform="translate(21.000002,20.999995)" id="rect12197" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.25;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 96,620 v 3.5 h 1 V 621 h 6 v 12 h -6 v -2.25 H 96 V 634 h 8 v -14 z" id="rect12222" inkscape:connector-curvature="0"/>
+ </g>
+ <g id="g5759" style="fill:#ffffff">
+ <path id="path12148" d="m 161.5,578 c -3.02272,0 -5.5,2.47726 -5.5,5.5 0,1.3328 0.48165,2.55856 1.2793,3.51367 l -4.13282,4.13281 a 0.50005,0.50005 0 1 0 0.70704,0.70704 l 4.13281,-4.13282 C 158.94144,588.51835 160.1672,589 161.5,589 c 3.02273,0 5.5,-2.47727 5.5,-5.5 0,-3.02274 -2.47727,-5.5 -5.5,-5.5 z m 0,1 c 2.47727,0 4.5,2.02272 4.5,4.5 0,2.47727 -2.02273,4.5 -4.5,4.5 -2.47726,0 -4.5,-2.02273 -4.5,-4.5 0,-2.47728 2.02274,-4.5 4.5,-4.5 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path sodipodi:nodetypes="ccccscccccccccccccsccc" inkscape:connector-curvature="0" id="path12161" d="m 159.5,583 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 2.2168 c -2.1e-4,0.14132 0.0594,0.27613 0.16406,0.37109 0.61652,0.55704 1.43526,0.91211 2.33594,0.91211 0.90068,0 1.71942,-0.35507 2.33594,-0.91211 0.10467,-0.095 0.16427,-0.22977 0.16406,-0.37109 V 583.5 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z m 0.97266,6.91992 c -0.2654,0.0146 -0.47303,0.2342 -0.47266,0.5 V 591.5 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 2 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -1.08008 c -4.1e-4,-0.30465 -0.27082,-0.53814 -0.57227,-0.49414 -0.31225,0.0453 -0.61944,0.0742 -0.92773,0.0742 -0.30829,0 -0.61548,-0.0289 -0.92773,-0.0742 -0.0329,-0.005 -0.0663,-0.007 -0.0996,-0.006 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"/>
+ </g>
+ <g style="display:inline;fill:#ffffff;enable-background:new" id="g12207" transform="translate(20.999998,4.4999696e-6)" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" inkscape:export-xdpi="96" inkscape:export-ydpi="96">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:7.17647076;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 223.5,578 c -3.57273,0 -6.5,2.92727 -6.5,6.5 0,1.60752 0.59683,3.08042 1.57422,4.21875 l -2.42774,2.42773 a 0.50005,0.50005 0 1 0 0.70704,0.70704 l 2.42578,-2.42579 c 1.13822,0.977 2.61355,1.57227 4.2207,1.57227 3.57273,0 6.5,-2.92728 6.5,-6.5 0,-3.57273 -2.92727,-6.5 -6.5,-6.5 z m 0,1 c 3.02727,0 5.5,2.47272 5.5,5.5 0,3.02727 -2.47273,5.5 -5.5,5.5 -3.02727,0 -5.5,-2.47273 -5.5,-5.5 0,-3.02728 2.47273,-5.5 5.5,-5.5 z m -3,5 a 0.50005,0.50005 0 1 0 0,1 h 6 a 0.50005,0.50005 0 1 0 0,-1 z" transform="translate(-20.999998,-4.4999696e-6)" id="path12193" inkscape:connector-curvature="0"/>
+ <g style="display:inline;fill:#ffffff;enable-background:new" transform="translate(61.94871,1.10183)" id="g12200"/>
+ <rect y="577.04999" x="193.95" height="16" width="16" id="rect12202" style="display:inline;overflow:visible;visibility:visible;opacity:0;fill:#ffffff;stroke:none;stroke-width:3;marker:none;enable-background:accumulate"/>
+ </g>
+ <g style="display:inline;fill:#ffffff;enable-background:new" id="g12222" transform="rotate(-180,422.50583,500.99795)" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" inkscape:export-xdpi="96" inkscape:export-ydpi="96">
+ <g id="g23057" style="opacity:1;fill:#ffffff">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 415.99805,494 c -0.46823,5.5e-4 -0.93866,0.108 -1.3711,0.32422 l -6.83789,3.39453 a 0.50005,0.50005 0 0 0 -0.0273,0.0137 c -2.00082,1.15513 -3.06722,3.4434 -2.66602,5.71875 0.40121,2.27536 2.18559,4.05973 4.46094,4.46094 0.56884,0.1003 1.13889,0.11012 1.69141,0.0352 1.65755,-0.22472 3.1599,-1.20077 4.02734,-2.70313 a 0.50005,0.50005 0 0 0 0.0156,-0.0293 l 3.38476,-6.84179 c 0.57659,-1.15316 0.3761,-2.57898 -0.54687,-3.50196 -0.57687,-0.57686 -1.35049,-0.872 -2.13086,-0.87109 z m 0.3125,1.02539 c 0.41467,0.0623 0.80824,0.24966 1.11133,0.55273 0.60613,0.60614 0.74722,1.57588 0.36132,2.34766 a 0.50005,0.50005 0 0 0 -0.002,0.002 l -3.375,6.82032 c -0.9493,1.63933 -2.81295,2.50814 -4.67578,2.17968 -1.86473,-0.3288 -3.32159,-1.78565 -3.65039,-3.65039 -0.3288,-1.86473 0.54196,-3.7311 2.18164,-4.67773 l 6.81055,-3.38086 a 0.50005,0.50005 0 0 0 0.002,0 c 0.38589,-0.19295 0.82165,-0.25567 1.23633,-0.19336 z m -0.29883,0.9707 c -0.54636,0 -1,0.45364 -1,1 0,0.54636 0.45364,1 1,1 0.54636,0 1,-0.45364 1,-1 0,-0.54636 -0.45364,-1 -1,-1 z m -5.5,3 c -1.92707,0 -3.5,1.57293 -3.5,3.5 0,1.92707 1.57293,3.5 3.5,3.5 1.92707,0 3.5,-1.57293 3.5,-3.5 0,-1.92707 -1.57293,-3.5 -3.5,-3.5 z m 0,1.97461 a 1.4874268,1.5 0 0 1 1.48828,1.5 1.4874268,1.5 0 0 1 -1.48828,1.5 1.4874268,1.5 0 0 1 -1.48828,-1.5 1.4874268,1.5 0 0 1 1.48828,-1.5 z" transform="rotate(180,422.50583,500.99795)" id="circle12201" inkscape:connector-curvature="0"/>
</g>
</g>
- <path
- inkscape:connector-curvature="0"
- id="path22951-5"
- d="m 52.5,410 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 3 a 0.50005,0.50005 0 0 0 0.5,0.5 h 3 A 0.50005,0.50005 0 0 0 56,413.5 V 412 h 0.5 c 1.293073,0 2.425866,0.35206 3.21875,1.00977 C 60.511634,413.66747 61,414.62406 61,416 c 0,1.58333 -0.78109,3.05511 -2.240234,4.16406 C 57.300621,421.27301 55.159091,422 52.5,422 H 52 v -1.5 A 0.50005,0.50005 0 0 0 51.5,420 h -3 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 3 a 0.50005,0.50005 0 0 0 0.5,0.5 h 3 A 0.50005,0.50005 0 0 0 52,423.5 V 423 h 0.5 c 2.840909,0 5.199379,-0.77301 6.865234,-2.03906 C 61.03109,419.69489 62,417.91667 62,416 62,414.37594 61.372824,413.08253 60.357422,412.24023 59.34202,411.39794 57.973784,411 56.5,411 H 56 v -0.5 A 0.50005,0.50005 0 0 0 55.5,410 Z m 0.5,1 h 2 v 2 h -2 z m -4,10 h 2 v 2 h -2 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 53.5,431 a 1.50015,1.50015 0 1 0 0,3 H 55 c 1.249468,0.006 2.332699,0.37671 3.013672,0.94141 0.682107,0.56564 1.059323,1.26298 0.988281,2.4707 -0.09036,1.53611 -0.972327,2.5432 -2.498047,3.35351 -1.525719,0.81032 -3.632465,1.22991 -5.447265,1.23438 H 49.5 a 1.50015,1.50015 0 1 0 0,3 h 1.5625 0.002 c 2.24072,-0.006 4.728077,-0.46126 6.845703,-1.58594 2.117627,-1.12468 3.928252,-3.11228 4.087891,-5.82617 0.120132,-2.04228 -0.719411,-3.83841 -2.068359,-4.95703 -1.348949,-1.11862 -3.108979,-1.6232 -4.923829,-1.63086 h -0.002 z"
- id="path8588-0"
- inkscape:connector-curvature="0" />
- <rect
- style="display:inline;opacity:0;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:new"
- id="rect5217-4-0"
- width="16"
- height="16"
- x="110"
- y="430"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- inkscape:export-xdpi="96"
- inkscape:export-ydpi="96" />
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g12761"
- transform="translate(71.999998,4.4999696e-6)"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- inkscape:export-xdpi="96"
- inkscape:export-ydpi="96">
- <path
- style="display:inline;opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;enable-background:new"
- d="m 51.5,515 a 0.50005,0.50005 0 0 0 -0.353516,0.14648 l -3,3 A 0.50005,0.50005 0 0 0 48,518.5 v 10 a 0.50005,0.50005 0 0 0 0.5,0.5 h 10 a 0.50005,0.50005 0 0 0 0.353516,-0.14648 l 3,-3 A 0.50005,0.50005 0 0 0 62,525.5 v -10 A 0.50005,0.50005 0 0 0 61.5,515 Z m 0.207031,1 H 61 v 9.29297 L 58.292969,528 H 49 v -9.29297 z M 52,519 v 2 h 2 v -2 z m 2,2 v 2 h 2 v -2 z m 2,0 h 2 v -2 h -2 z m 0,2 v 2 h 2 v -2 z m 0,2 h -2 v 2 h 2 z m -2,0 v -2 h -2 v 2 z m -2,0 h -2 v 2 h 2 z m 0,-2 v -2 h -2 v 2 z"
- transform="translate(-71.999998,-4.4999696e-6)"
- id="path12740"
- inkscape:connector-curvature="0" />
- </g>
- <g
- transform="translate(-1.8536743e-6,4.4999696e-6)"
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g12793"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- inkscape:export-xdpi="96"
- inkscape:export-ydpi="96">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 92.496094,325.99414 a 0.50005,0.50005 0 0 0 -0.382813,0.82227 l 4.5,5.5 a 0.50005,0.50005 0 0 0 0.773438,0 l 4.500001,-5.5 a 0.50005,0.50005 0 1 0 -0.77344,-0.63282 L 97,331.21094 92.886719,326.18359 a 0.50005,0.50005 0 0 0 -0.390625,-0.18945 z"
- id="path10173-4"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 91.25,334 c -0.683851,0 -1.25,0.56615 -1.25,1.25 v 3.5 c 0,0.68385 0.566149,1.25 1.25,1.25 h 3.5 c 0.683851,0 1.25,-0.56615 1.25,-1.25 v -3.5 C 96,334.56615 95.433851,334 94.75,334 Z m 8,0 c -0.683851,0 -1.25,0.56615 -1.25,1.25 v 3.5 c 0,0.68385 0.566149,1.25 1.25,1.25 h 3.5 c 0.68385,0 1.25,-0.56615 1.25,-1.25 v -3.5 c 0,-0.68385 -0.56615,-1.25 -1.25,-1.25 z m -7.75,4 h 2 1 a 0.50005,0.50005 0 1 1 0,1 h -1 -2 a 0.50005,0.50005 0 1 1 0,-1 z m 8,0 h 2 1 a 0.50005,0.50005 0 1 1 0,1 h -1 -2 a 0.50005,0.50005 0 1 1 0,-1 z"
- id="rect13911"
- inkscape:connector-curvature="0" />
- </g>
- <g
- id="g12836"
- style="display:inline;opacity:1;fill:#ffffff;enable-background:new"
- transform="translate(-123,458.99979)"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- inkscape:export-xdpi="96"
- inkscape:export-ydpi="96">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 540.5,263 c -2.47936,0 -4.5,2.02064 -4.5,4.5 0,2.47936 2.02064,4.5 4.5,4.5 2.47936,0 4.5,-2.02064 4.5,-4.5 0,-2.47936 -2.02064,-4.5 -4.5,-4.5 z m 0,1 c 1.93892,0 3.5,1.56108 3.5,3.5 0,1.40621 -0.82672,2.60476 -2.01758,3.16211 -0.16784,-2.48561 -2.15892,-4.47669 -4.64453,-4.64453 C 537.89524,264.82672 539.09379,264 540.5,264 Z"
- transform="translate(123,-458.99979)"
- id="path12830"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.7;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 657.50195,-192.93359 a 0.50004997,0.50004997 0 0 0 -0.22656,0.0508 c -2.27231,1.07327 -3.57921,3.51034 -3.21484,5.99609 0.36436,2.48575 2.31598,4.44563 4.80078,4.82227 2.48479,0.37663 4.92837,-0.91763 6.01367,-3.1836 a 0.50013262,0.50013262 0 1 0 -0.90234,-0.43164 c -0.89704,1.8729 -2.90867,2.93833 -4.96289,2.62696 -2.05422,-0.31138 -3.6598,-1.92406 -3.96094,-3.97852 -0.30115,-2.05446 0.77387,-4.06001 2.65234,-4.94727 a 0.50004997,0.50004997 0 0 0 -0.19922,-0.95507 z"
- id="path12834"
- inkscape:connector-curvature="0" />
- </g>
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g12981"
- transform="translate(-1.8536743e-6,-20.999995)"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- inkscape:export-xdpi="96"
- inkscape:export-ydpi="96">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 226.5,206.99414 a 0.50004997,0.50004997 0 0 0 -0.34766,0.85938 L 228.29883,210 h -10.5918 l 2.14649,-2.14648 a 0.50004997,0.50004997 0 1 0 -0.70704,-0.70704 l -2.95703,2.95704 a 0.50004997,0.50004997 0 0 0 -0.002,0.79296 0.50004997,0.50004997 0 0 0 0.008,0.006 l 2.95117,2.95118 a 0.50004997,0.50004997 0 1 0 0.70704,-0.70704 L 217.70703,211 h 10.5918 l -2.14649,2.14648 a 0.50004997,0.50004997 0 1 0 0.70704,0.70704 l 2.96484,-2.9668 a 0.50004997,0.50004997 0 0 0 0.0195,-0.0156 l 0.0156,-0.0176 a 0.50004997,0.50004997 0 0 0 0.0234,-0.68164 0.50004997,0.50004997 0 0 0 -0.0234,-0.0254 0.50004997,0.50004997 0 0 0 -0.01,-0.01 l -2.99023,-2.99024 A 0.50004997,0.50004997 0 0 0 226.5,206.99414 Z"
- id="path12879"
- inkscape:connector-curvature="0" />
- <path
- id="circle12970"
- style="opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.99999994;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke"
- d="m 224.00001,202.49817 a 1.498175,1.498175 0 0 1 -1.49818,1.49817 1.498175,1.498175 0 0 1 -1.49817,-1.49817 1.498175,1.498175 0 0 1 1.49817,-1.49818 1.498175,1.498175 0 0 1 1.49818,1.49818 z m 5,0 a 1.498175,1.498175 0 0 1 -1.49818,1.49817 1.498175,1.498175 0 0 1 -1.49817,-1.49817 1.498175,1.498175 0 0 1 1.49817,-1.49818 1.498175,1.498175 0 0 1 1.49818,1.49818 z m -10,0 a 1.498175,1.498175 0 0 1 -1.49818,1.49817 1.498175,1.498175 0 0 1 -1.49817,-1.49817 1.498175,1.498175 0 0 1 1.49817,-1.49818 1.498175,1.498175 0 0 1 1.49818,1.49818 z"
- inkscape:connector-curvature="0" />
- </g>
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 94.513672,32 a 0.50005,0.50005 0 0 0 -0.417969,0.203125 c -2.416051,3.180716 -3.444751,6.003207 -3.857422,8.287109 -0.412671,2.283903 -0.216543,4.049887 -0.21875,5.00586 a 0.50005,0.50005 0 1 0 1,0.0039 c 0.0025,-1.084327 -0.183742,-2.690936 0.203125,-4.832031 0.386868,-2.141095 1.341004,-4.795942 3.667969,-7.859375 A 0.50005,0.50005 0 0 0 94.513672,32 Z m 4.955078,3.001953 a 0.50005,0.50005 0 0 0 -0.304688,0.126953 c -4.123582,3.585034 -5.171874,7.536346 -5.171874,10.376953 a 0.50005,0.50005 0 1 0 1,0 c 0,-2.600212 0.913619,-6.219783 4.828124,-9.623047 A 0.50005,0.50005 0 0 0 99.46875,35.001953 Z m 4.02539,5.003906 c -3.01703,-0.0065 -5.494281,2.470749 -5.501952,5.498047 a 0.50005,0.50005 0 1 0 1,0.0039 c 0.0063,-2.484383 2.030992,-4.507263 4.500002,-4.501953 a 0.50005,0.50005 0 1 0 0.002,-1 z"
- id="path18476-0-2"
- inkscape:connector-curvature="0" />
- <g
- style="display:inline;opacity:1;fill:#ffffff;enable-background:new"
- id="g7347"
- transform="translate(921.00001,-553)"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- inkscape:export-xdpi="96"
- inkscape:export-ydpi="96">
- <rect
- transform="scale(-1,1)"
- style="display:inline;overflow:visible;visibility:visible;opacity:0;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.79999995;marker:none;enable-background:accumulate"
- id="rect7240"
- width="16"
- height="16"
- x="396"
- y="731" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m -408.50391,736.99414 a 0.50005,0.50005 0 0 0 -0.43554,0.26563 c -1.5311,2.80698 -2.01417,5.0457 -2.02149,8.22461 a 0.50005,0.50005 0 1 0 1,0.004 c 0.007,-3.0834 0.43147,-5.05503 1.90039,-7.74805 a 0.50005,0.50005 0 0 0 -0.44336,-0.74609 z m 6.99805,2 a 0.50005,0.50005 0 0 0 -0.37891,0.18555 C -403.15877,740.70849 -404,742.16634 -404,745.5 a 0.50005,0.50005 0 1 0 1,0 c 0,-3.18014 0.65877,-4.20849 1.88477,-5.67969 a 0.50005,0.50005 0 0 0 -0.39063,-0.82617 z"
- id="path7245"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m -407.5,732 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 3 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 3 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -3 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z m 7,2 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 3 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 3 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -3 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z"
- id="path7250"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="cccccccccccccccccc" />
- </g>
- <g
- id="g6932"
- style="fill:#ffffff">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 543.50781,181.99023 a 1.50015,1.50015 0 0 0 -0.67773,0.16797 c -3.41741,1.7087 -5.83009,5.05846 -5.83008,9.3418 a 1.50015,1.50015 0 1 0 3,0 c -10e-6,-3.21666 1.58731,-5.3669 4.16992,-6.6582 a 1.50015,1.50015 0 0 0 -0.66211,-2.85157 z"
- id="path7270"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 536.49609,179.00195 a 0.50005,0.50005 0 0 0 -0.35351,0.12891 c -4.08383,3.59037 -5.14329,7.80863 -5.13086,13.36328 a 0.50005,0.50005 0 1 0 1,-0.002 c -0.0122,-5.43221 0.92902,-9.21403 4.79101,-12.60938 a 0.50005,0.50005 0 0 0 -0.30664,-0.88086 z"
- id="path7282"
- inkscape:connector-curvature="0" />
- </g>
- <g
- style="display:inline;opacity:1;fill:#ffffff;enable-background:new"
- transform="translate(919,-532)"
- id="g6686"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- inkscape:export-xdpi="96"
- inkscape:export-ydpi="96">
- <rect
- transform="scale(-1,1)"
- style="display:inline;overflow:visible;visibility:visible;opacity:0;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.79999995;marker:none;enable-background:accumulate"
- id="rect6673"
- width="16"
- height="16"
- x="415"
- y="710" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m -416.49609,713.99609 a 0.50005,0.50005 0 0 0 -0.31055,0.10938 c -0.21339,0.16596 -0.41872,0.33348 -0.61524,0.50195 -4.0339,3.45843 -4.51787,6.50897 -4.57812,9.88281 a 0.50009544,0.50009544 0 1 0 1,0.0195 c 0.059,-3.3038 0.37586,-5.83955 4.22852,-9.14258 0.1842,-0.15793 0.37703,-0.31626 0.57812,-0.47266 a 0.50005,0.50005 0 0 0 -0.30273,-0.89844 z"
- id="path6675"
- inkscape:connector-curvature="0" />
- <path
- id="path6688"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m -427.5,716 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 3 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 3 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -3 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z m -2,5 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 3 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 3 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -3 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z m 5,-10 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 3 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 3 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -3 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="ccccccccccccccccccccccccccc" />
- </g>
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 265.00049,180.00029 c -0.56524,0 -1.07102,0.24537 -1.44727,0.61718 -0.37625,0.37181 -0.64955,0.85716 -0.88086,1.40821 -0.46263,1.10209 -0.75684,2.49042 -1.08008,3.85937 -0.32324,1.36896 -0.67626,2.7158 -1.17383,3.66406 -0.49757,0.94827 -1.04163,1.45118 -1.91211,1.45118 a 0.50005,0.50005 0 1 0 0,1 c 1.29399,0 2.21222,-0.8721 2.79688,-1.98633 0.58466,-1.11424 0.93562,-2.51739 1.26172,-3.89844 0.32609,-1.38105 0.62614,-2.74272 1.0293,-3.70312 0.20157,-0.48021 0.4296,-0.85424 0.6621,-1.08399 0.2325,-0.22975 0.4436,-0.32812 0.74415,-0.32812 0.30054,0 0.51164,0.0984 0.74414,0.32812 0.23249,0.22975 0.46053,0.60378 0.66211,1.08399 0.40315,0.9604 0.7032,2.32207 1.02929,3.70312 0.3261,1.38105 0.67511,2.7842 1.25977,3.89844 0.58466,1.11423 1.50289,1.98633 2.79687,1.98633 a 0.50005,0.50005 0 1 0 0,-1 c -0.87047,0 -1.41258,-0.50291 -1.91015,-1.45118 -0.49757,-0.94826 -0.85059,-2.2951 -1.17383,-3.66406 -0.32324,-1.36895 -0.61745,-2.75728 -1.08008,-3.85937 -0.23131,-0.55105 -0.50461,-1.0364 -0.88086,-1.40821 -0.37625,-0.37181 -0.88203,-0.61718 -1.44726,-0.61718 z"
- id="path10124-9"
- inkscape:connector-curvature="0" />
- <path
- inkscape:connector-curvature="0"
- id="path10162-3"
- d="m 349.01758,181.25 a 0.50005,0.50005 0 0 0 -0.41992,0.20312 l -6.48243,8.7461 a 0.50005,0.50005 0 1 0 0.80274,0.5957 L 349,182.58984 l 6.07031,8.20313 a 0.50005,0.50005 0 1 0 0.80469,-0.59375 l -6.47266,-8.7461 A 0.50005,0.50005 0 0 0 349.01758,181.25 Z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
- <rect
- style="display:inline;overflow:visible;visibility:visible;opacity:0;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.79999995;marker:none;enable-background:accumulate"
- id="rect18819-6"
- width="16"
- height="16"
- x="320"
- y="178"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- inkscape:export-xdpi="96"
- inkscape:export-ydpi="96" />
- <g
- style="display:inline;fill:#ffffff;stroke-width:1.03551209;enable-background:new"
- id="g10170-0"
- transform="matrix(0.93036376,0,0,1.0023904,257.63778,150.90833)"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- inkscape:export-xdpi="96"
- inkscape:export-ydpi="96">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.03551209;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="M 23.460938,40.029297 A 0.51780782,0.51780782 0 0 1 22.96875,39.486328 L 23,38.607422 v -0.0039 c 0.0063,-2.697355 1.432558,-5.191614 3.748047,-6.542969 2.32064,-1.354362 5.185219,-1.354362 7.505859,0 2.32064,1.354362 3.748047,3.85629 3.748047,6.560547 v 0.882812 a 0.51780782,0.51780782 0 1 1 -1.035156,0 V 38.6211 c 0,-2.339918 -1.23548,-4.49829 -3.236328,-5.666016 -2.000849,-1.167726 -4.460089,-1.167727 -6.460938,0 -2.000848,1.167726 -3.234375,3.326098 -3.234375,5.666016 a 0.51780782,0.51780782 0 0 1 -0.002,0.01758 l -0.0293,0.882812 a 0.51780782,0.51780782 0 0 1 -0.542968,0.507813 z"
- id="path10174-7"
- inkscape:connector-curvature="0" />
- </g>
- <rect
- y="178"
- x="299"
- height="16"
- width="16"
- id="rect4967"
- style="display:inline;overflow:visible;visibility:visible;opacity:0;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.79999995;marker:none;enable-background:accumulate"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- inkscape:export-xdpi="96"
- inkscape:export-ydpi="96" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 307,180 c -1.24829,0 -2.24461,0.83463 -3,1.93555 -0.75539,1.10091 -1.32403,2.51399 -1.76367,3.91601 -0.87928,2.80405 -1.23047,5.58594 -1.23047,5.58594 a 0.50013931,0.50013931 0 1 0 0.99219,0.12695 c 0,0 0.34791,-2.71791 1.19336,-5.41406 0.42272,-1.34808 0.97296,-2.68677 1.63281,-3.64844 C 305.48407,181.54029 306.19904,181 307,181 c 0.80095,0 1.51593,0.54029 2.17578,1.50195 0.65985,0.96167 1.21009,2.30036 1.63281,3.64844 0.84545,2.69615 1.19336,5.41406 1.19336,5.41406 a 0.50013931,0.50013931 0 1 0 0.99219,-0.12695 c 0,0 -0.35119,-2.78189 -1.23047,-5.58594 -0.43964,-1.40202 -1.00828,-2.8151 -1.76367,-3.91601 C 309.24461,180.83464 308.24829,180 307,180 Z"
- id="path13261"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 327.48047,181 a 0.50005,0.50005 0 0 0 -0.46875,0.39453 c -0.73399,3.42527 -2.46804,7.48775 -5.67969,8.63477 a 0.50005,0.50005 0 1 0 0.33594,0.9414 c 3.19373,-1.14062 4.90029,-4.45895 5.83203,-7.61914 0.93174,3.16019 2.6383,6.47852 5.83203,7.61914 a 0.50005,0.50005 0 1 0 0.33594,-0.9414 c -3.21165,-1.14702 -4.9457,-5.2095 -5.67969,-8.63477 A 0.50005,0.50005 0 0 0 327.48047,181 Z"
- id="path10168-6-7"
- inkscape:connector-curvature="0" />
- <g
- transform="matrix(-1,0,0,1,401.98389,150.99638)"
- id="g13323"
- style="display:inline;opacity:1;fill:#ffffff;stroke:#ffffff">
- <path
- inkscape:connector-curvature="0"
- id="path13321"
- d="M 9.96875,29.048828 C 9.4658605,28.864829 8.9025328,28.986924 8.5410156,29.310547 8.1794984,29.63417 7.9598217,30.084792 7.7695312,30.613281 7.3889504,31.670259 7.1601578,33.086794 6.90625,34.523438 c -0.2539078,1.436643 -0.5324149,2.889409 -0.9414062,3.929687 -0.2044957,0.520139 -0.4424423,0.932648 -0.6894532,1.1875 -0.2470108,0.254852 -0.473033,0.363281 -0.7851562,0.363281 a 0.50005,0.50005 0 1 0 0,1 c 0.5904168,0 1.1159371,-0.267683 1.5039062,-0.667968 0.3879692,-0.400286 0.6690516,-0.922242 0.9023438,-1.515626 0.4665844,-1.186767 0.7390333,-2.679616 0.9941406,-4.123046 0.2551073,-1.443431 0.4935421,-2.842034 0.8183594,-3.744141 0.1624086,-0.451054 0.3541704,-0.76594 0.5,-0.896484 0.1458295,-0.130544 0.1865427,-0.15232 0.4160156,-0.06836 0.057045,0.02087 0.1634141,0.101911 0.2832031,0.296875 0.1197889,0.194965 0.2422649,0.485737 0.3515629,0.826172 0.218596,0.680871 0.393488,1.55941 0.582031,2.373047 0.188543,0.813637 0.358157,1.549689 0.740234,2.082031 0.191039,0.266171 0.511622,0.515788 0.900391,0.50586 0.388769,-0.0099 0.704011,-0.230804 1.001953,-0.542969 0.337514,-0.353626 0.595779,-0.497442 0.722656,-0.529297 0.126878,-0.03186 0.138013,-0.02504 0.242188,0.06836 0.20835,0.186805 0.512485,0.892009 0.740234,1.732422 0.227749,0.840413 0.429042,1.804722 0.716797,2.601563 0.143877,0.39842 0.30542,0.75895 0.542969,1.05664 0.237548,0.297691 0.601614,0.544922 1.027343,0.544922 a 0.50005,0.50005 0 1 0 0,-1 c -0.0724,0 -0.124723,-0.01782 -0.246093,-0.169922 -0.12137,-0.152098 -0.260285,-0.426776 -0.384766,-0.771484 -0.248961,-0.689415 -0.452791,-1.642926 -0.691406,-2.523438 -0.238616,-0.880511 -0.460258,-1.699598 -1.037109,-2.216796 -0.288426,-0.2586 -0.735893,-0.398016 -1.154297,-0.292969 -0.418405,0.105047 -0.794027,0.38192 -1.203125,0.810547 -0.205362,0.215165 -0.318948,0.232836 -0.302735,0.232422 0.01621,-4.14e-4 0.02252,0.02861 -0.0625,-0.08984 C 12.22449,34.745505 11.999507,34.047965 11.816406,33.257812 11.633305,32.46766 11.457527,31.57275 11.210938,30.804688 11.087643,30.420656 10.949285,30.066996 10.761719,29.761719 10.574152,29.456442 10.328076,29.1803 9.96875,29.048828 Z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
- </g>
- <g
- style="display:inline;opacity:1;fill:#ffffff;enable-background:new"
- id="g5270-3"
- transform="translate(497.99495,-311.99288)"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- inkscape:export-xdpi="96"
- inkscape:export-ydpi="96">
- <path
- id="path5169-5"
- style="opacity:0;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none"
- d="m -115,532 h 16.005051 v 16 H -115 Z"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="ccccc" />
- <g
- transform="translate(-1)"
- id="g5191-5"
- style="fill:#ffffff">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 386.48633,221 c -0.27614,0.004 -0.49651,0.23167 -0.49219,0.50781 v 1 6.55664 C 384.86022,229.298 384,230.30731 384,231.50781 c 0,1.372 1.12214,2.49414 2.49414,2.49414 1.372,0 2.49414,-1.12214 2.49414,-2.49414 0,-1.20116 -0.8593,-2.21054 -1.99414,-2.44336 v -6.55664 -1 c 0.004,-0.28226 -0.22555,-0.51223 -0.50781,-0.50781 z m 1.00781,1.00781 v 3 h 1 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -2 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z m -1,8.00586 c 0.83156,0 1.49414,0.66258 1.49414,1.49414 0,0.83156 -0.66258,1.49414 -1.49414,1.49414 -0.83156,0 -1.49414,-0.66258 -1.49414,-1.49414 0,-0.83156 0.66258,-1.49414 1.49414,-1.49414 z"
- transform="translate(-496.99495,311.99288)"
- id="path5112-6"
- inkscape:connector-curvature="0" />
+ <g transform="translate(-1.8536743e-6,4.4999696e-6)" id="g13413" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" inkscape:export-xdpi="96" inkscape:export-ydpi="96" style="display:inline;fill:#ffffff;enable-background:new">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.00000012;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0.5;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 475.5,579 c -0.82252,0 -1.5,0.67748 -1.5,1.5 0,0.82252 0.67748,1.5 1.5,1.5 0.82252,0 1.5,-0.67748 1.5,-1.5 0,-0.82252 -0.67748,-1.5 -1.5,-1.5 z m 0,5 c -0.82252,0 -1.5,0.67748 -1.5,1.5 0,0.82252 0.67748,1.5 1.5,1.5 0.82252,0 1.5,-0.67748 1.5,-1.5 0,-0.82252 -0.67748,-1.5 -1.5,-1.5 z m 0,5 c -0.82252,0 -1.5,0.67748 -1.5,1.5 0,0.82252 0.67748,1.5 1.5,1.5 0.82252,0 1.5,-0.67748 1.5,-1.5 0,-0.82252 -0.67748,-1.5 -1.5,-1.5 z" id="ellipse12367" inkscape:connector-curvature="0" sodipodi:nodetypes="sssssssssssssss"/>
+ </g>
+ <g transform="matrix(0.92857149,0,0,0.92857137,106.93015,-501.7093)" style="display:inline;opacity:0.98999999;fill:#ffffff;stroke-width:1.07692313;enable-background:new" id="g8599" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" inkscape:export-xdpi="96" inkscape:export-ydpi="96">
+ <path sodipodi:nodetypes="cccccccccccssccsssss" inkscape:connector-curvature="0" id="path8595" transform="matrix(1.076923,0,0,1.0769231,-739.76878,506.92345)" d="m 992.67578,105.26367 c -0.19597,-0.18575 -0.45872,-0.28437 -0.72851,-0.27344 -0.89539,0.0396 -1.29072,1.14623 -0.62305,1.74415 L 992.69727,108 H 986 c -1.36099,-0.0279 -1.36099,2.02794 0,2 h 3.0918 c -0.003,0.002 -0.005,0.004 -0.008,0.006 l -4.75,4.24805 c -0.99479,0.88933 0.3392,2.38151 1.33399,1.49218 l 2.33984,-2.09375 C 988.08993,116.60772 990.52575,119 993.5,119 c 3.02565,0 5.49805,-2.47428 5.49805,-5.5 0,-1.56564 -0.66395,-2.97983 -1.72241,-3.98356 z M 993.5,110 c 1.94471,0 3.5,1.5551 3.5,3.5 0,1.94489 -1.55529,3.5 -3.5,3.5 -1.94472,0 -3.5,-1.55511 -3.5,-3.5 0,-1.9449 1.55528,-3.5 3.5,-3.5 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
+ <path id="path8597" d="m 331.99999,629.15424 a 1.86519,1.8457757 0 0 1 -1.86519,1.84577 1.86519,1.8457757 0 0 1 -1.86519,-1.84577 1.86519,1.8457757 0 0 1 1.86519,-1.84578 1.86519,1.8457757 0 0 1 1.86519,1.84578 z" style="opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:2.15384626;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke" inkscape:connector-curvature="0"/>
+ </g>
+ <g id="g12575" transform="matrix(0.8666665,0,0,0.8666665,-253.07368,16.407198)" style="display:inline;opacity:1;fill:#ffffff;stroke-width:1.15384638;enable-background:new" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" inkscape:export-xdpi="96" inkscape:export-ydpi="96">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 285.49219,388.99219 c -0.2763,0.004 -0.49651,0.23152 -0.49219,0.50781 v 2.6543 c -0.76567,0.19832 -1.43883,0.61396 -1.95508,1.18359 l -2.1914,-2.19141 c -0.0944,-0.0966 -0.22433,-0.15264 -0.35938,-0.15234 -0.4485,2.4e-4 -0.66889,0.54638 -0.34766,0.85938 l 2.32032,2.32031 C 282.17933,394.72335 282.0013,395.33918 282,396 h -2.5 c -0.66693,0 -0.66693,1 0,1 h 2.64062 c 0.19916,0.76891 0.61811,1.44388 1.19141,1.96094 l -2.18555,2.18554 c -0.4717,0.4717 0.23534,1.17874 0.70704,0.70704 l 2.3164,-2.31641 c 0.54947,0.28561 1.16223,0.46289 1.82227,0.46289 0.003,0 0.005,10e-6 0.008,0 v 2.5 c 0,0.66693 1,0.66693 1,0 v -2.64648 c 0.76569,-0.20169 1.4388,-0.6203 1.95312,-1.19336 l 2.19336,2.19336 c 0.47143,0.50593 1.2141,-0.23683 0.70704,-0.70704 l -2.32422,-2.32421 c 0.28283,-0.54738 0.45703,-1.15786 0.45703,-1.81446 0,-0.003 0,-0.005 0,-0.008 H 292.5 c 0.66693,0 0.66693,-1 0,-1 h -2.66016 c -0.20083,-0.76245 -0.61615,-1.43374 -1.18554,-1.94727 l 2.19922,-2.19921 c 0.32695,-0.31816 0.0927,-0.87325 -0.36329,-0.85938 -0.12999,0.004 -0.25338,0.0589 -0.34375,0.15234 l -2.33007,2.33008 C 287.26914,392.1921 286.6571,392.01496 286,392.01367 V 389.5 c 0.004,-0.28226 -0.22555,-0.51222 -0.50781,-0.50781 z m 0.5,4.02148 c 1.65884,0 2.99414,1.3353 2.99414,2.99414 0,1.65885 -1.3353,2.99219 -2.99414,2.99219 C 284.33334,399 283,397.66666 283,396.00781 c 0,-1.65884 1.33334,-2.99414 2.99219,-2.99414 z" transform="matrix(1.1538464,0,0,1.1538464,292.00815,-18.931386)" id="circle12556" inkscape:connector-curvature="0"/>
+ </g>
+ <g id="g6143" style="fill:#ffffff">
+ <g inkscape:export-ydpi="96" inkscape:export-xdpi="96" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" id="g12901" transform="matrix(-0.79928788,0,0,0.79928788,828.43189,282.2677)" style="display:inline;opacity:0.7;fill:#ffffff;stroke-width:1.25111365;enable-background:new">
+ <path id="path12894" transform="matrix(-1.2511137,0,0,1.2511137,1036.4625,-353.14898)" d="m 535.49805,458.00391 a 0.50004999,0.50004999 0 0 0 -0.50391,0.50781 l 0.002,1.33984 c -0.37236,0.0723 -0.71902,0.21977 -1.02148,0.42774 l -1.12695,-1.12305 a 0.50004999,0.50004999 0 0 0 -0.3418,-0.15039 0.50004999,0.50004999 0 0 0 -0.36328,0.85742 l 1.12695,1.12305 c -0.20781,0.30095 -0.35637,0.64504 -0.42969,1.01562 l -1.3457,0.004 a 0.50033487,0.50033487 0 0 0 0.002,1 l 1.33789,-0.002 c 0.0677,0.37781 0.20888,0.73164 0.41602,1.03906 l -1.10742,1.10937 a 0.50004999,0.50004999 0 1 0 0.70508,0.70508 l 1.10351,-1.10156 c 0.30838,0.21694 0.66219,0.37111 1.04492,0.44531 l -0.002,1.30078 a 0.50033678,0.50033678 0 1 0 1,0.004 l 0.002,-1.30274 c 0.3865,-0.0701 0.74651,-0.21619 1.0586,-0.43164 l 1.08203,1.08594 a 0.50005719,0.50005719 0 1 0 0.70703,-0.70508 l -1.08398,-1.08984 c 0.21441,-0.31231 0.36249,-0.67226 0.43164,-1.05859 h 1.30664 a 0.50098,0.50098 0 1 0 0,-1.00196 h -1.3125 c -0.0748,-0.37855 -0.23067,-0.72769 -0.44532,-1.0332 l 1.10352,-1.10547 a 0.50004999,0.50004999 0 0 0 -0.34961,-0.85937 0.50004999,0.50004999 0 0 0 -0.35742,0.15234 l -1.10938,1.10742 c -0.30548,-0.20557 -0.65624,-0.346 -1.03125,-0.41406 l -0.004,-1.33984 a 0.50004999,0.50004999 0 0 0 -0.49219,-0.50586 0.50004999,0.50004999 0 0 1 -0.002,0 z m -0.002,3.29882 c 0.66274,0 1.20117,0.53844 1.20118,1.20118 0,0.66273 -0.53844,1.19921 -1.20118,1.19921 -0.66273,0 -1.19921,-0.53648 -1.19921,-1.19921 0,-0.66273 0.53648,-1.20117 1.19921,-1.20118 z" style="display:inline;opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.99999988;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:new" inkscape:connector-curvature="0"/>
</g>
- <g
- transform="translate(-2.9999978)"
- style="display:inline;opacity:0.7;fill:#ffffff;enable-background:new"
- id="g5186-5-5-7">
- <path
- id="path5179-0-9-1"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m -97.896484,538.39648 -1.707032,1.70704 0.75,0.75 c 0.195265,0.19518 0.511767,0.19518 0.707032,0 l 0.52539,-0.5254 0.47461,-0.4746 c 0.19519,-0.19527 0.19519,-0.51177 0,-0.70704 z m -0.614086,-1.39969 a 0.50005,0.50005 0 0 0 -0.34376,0.15039 l -4.4121,4.41015 c -0.38435,-0.27257 -0.83195,-0.45926 -1.31446,-0.52734 a 0.50005,0.50005 0 0 0 -0.0996,-0.006 0.50005,0.50005 0 0 0 -0.041,0.99609 c 0.71727,0.10121 1.32147,0.58072 1.58398,1.25586 0.26252,0.67514 0.14019,1.43694 -0.32031,1.9961 -0.46051,0.55917 -1.18354,0.82547 -1.89649,0.69726 a 0.50014796,0.50014796 0 1 0 -0.17773,0.98438 c 1.06733,0.19194 2.15825,-0.20977 2.84766,-1.04688 0.6894,-0.83711 0.87347,-1.98341 0.48047,-2.99414 -0.0911,-0.23424 -0.21129,-0.45079 -0.35352,-0.65039 l 4.41016,-4.4082 a 0.50005,0.50005 0 0 0 -0.36328,-0.85742 z"
- inkscape:connector-curvature="0" />
+ <g inkscape:export-ydpi="96" inkscape:export-xdpi="96" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" style="display:inline;opacity:1;fill:#ffffff;stroke-width:1.25111365;enable-background:new" transform="matrix(-0.79928788,0,0,0.79928788,833.43189,275.2677)" id="g12909">
+ <path id="path12903" transform="matrix(-1.2511137,0,0,1.2511137,1042.718,-344.39118)" d="m 540.49805,451.00391 a 0.50004999,0.50004999 0 0 0 -0.50391,0.50781 l 0.002,1.33984 c -0.37236,0.0723 -0.71902,0.21977 -1.02148,0.42774 l -1.12695,-1.12305 a 0.50004999,0.50004999 0 0 0 -0.3418,-0.15039 0.50004999,0.50004999 0 0 0 -0.36328,0.85742 l 1.12695,1.12305 c -0.20781,0.30095 -0.35637,0.64503 -0.42969,1.01562 l -1.3457,0.004 a 0.50033487,0.50033487 0 0 0 0.002,1 l 1.33789,-0.002 c 0.0677,0.37781 0.20888,0.73164 0.41602,1.03906 l -1.10742,1.10937 a 0.50004999,0.50004999 0 1 0 0.70508,0.70508 l 1.10351,-1.10156 c 0.30838,0.21694 0.66219,0.37111 1.04492,0.44531 l -0.002,1.30078 a 0.50033678,0.50033678 0 1 0 1,0.004 l 0.002,-1.30274 c 0.386,-0.07 0.74484,-0.21858 1.05664,-0.43359 l 1.08399,1.08789 a 0.50005719,0.50005719 0 1 0 0.70703,-0.70508 l -1.08398,-1.08984 c 0.21441,-0.31231 0.36249,-0.67226 0.43164,-1.05859 h 1.30664 a 0.50098,0.50098 0 1 0 0,-1.00196 h -1.3125 c -0.0748,-0.37855 -0.23067,-0.72769 -0.44532,-1.0332 l 1.10352,-1.10547 a 0.50004999,0.50004999 0 0 0 -0.34961,-0.85937 0.50004999,0.50004999 0 0 0 -0.35742,0.15234 l -1.10938,1.10742 c -0.30548,-0.20557 -0.65624,-0.346 -1.03125,-0.41406 l -0.004,-1.33984 a 0.50004999,0.50004999 0 0 0 -0.49219,-0.50586 0.50004999,0.50004999 0 0 1 -0.002,0 z m -0.002,3.29882 c 0.66274,0 1.20117,0.53844 1.20118,1.20118 0,0.66273 -0.53844,1.19921 -1.20118,1.19921 -0.66273,0 -1.19921,-0.53648 -1.19921,-1.19921 0,-0.66273 0.53648,-1.20117 1.19921,-1.20118 z" style="display:inline;opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.99999988;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:new" inkscape:connector-curvature="0"/>
</g>
</g>
- <g
- style="display:inline;opacity:1;fill:#ffffff;enable-background:new"
- id="g7388-6"
- transform="translate(731,-238)"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- inkscape:export-xdpi="96"
- inkscape:export-ydpi="96">
- <rect
- transform="scale(-1,1)"
- style="display:inline;overflow:visible;visibility:visible;opacity:0;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.79999995;marker:none;enable-background:accumulate"
- id="rect7384-9"
- width="16"
- height="16"
- x="437"
- y="710" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m -447.96289,710.98828 a 1.0001,1.0001 0 0 0 -0.83789,0.41211 c -3.30626,4.40835 -3.18183,10.96743 -3.18555,12.58399 a 1.0001,1.0001 0 1 0 2,0.006 c 0.004,-1.64212 0.0934,-7.79897 2.78711,-11.39062 a 1.0001,1.0001 0 0 0 -0.76367,-1.61133 z m 4.97461,3.00195 a 1.0001,1.0001 0 0 0 -0.69727,0.28125 c -2.25424,2.12239 -3.3739,3.98924 -3.89062,5.64258 C -448.0929,721.56741 -448,722.96385 -448,724 a 1.0001,1.0001 0 1 0 2,0 c 0,-1.13631 -0.0696,-2.20308 0.33203,-3.48828 0.40167,-1.28521 1.28135,-2.83224 3.35352,-4.7832 a 1.0001,1.0001 0 0 0 -0.67383,-1.73829 z m 3.94531,4.00782 a 1.0001,1.0001 0 0 0 -0.16797,0.0234 C -441.66808,718.54973 -444,720.82862 -444,724 a 1.0001,1.0001 0 1 0 2,0 c 0,-2.17354 1.66808,-3.68979 3.21094,-4.02148 a 1.0001,1.0001 0 0 0 -0.25391,-1.98047 z"
- id="path7133-7"
- inkscape:connector-curvature="0" />
- </g>
- <path
- inkscape:connector-curvature="0"
- id="path13682"
- d="m 100.45117,431 c -0.36065,0.005 -0.725199,0.0666 -1.080078,0.1875 -1.419514,0.48381 -2.371094,1.8128 -2.371094,3.3125 a 0.50005006,0.50005006 0 1 1 -1,0 c 0,-0.53249 0.102694,-1.04562 0.277344,-1.52734 -0.0921,0.0103 -0.173784,0.0274 -0.277344,0.0273 -3.307786,0 -6,2.69221 -6,6 0,3.30779 2.692214,6 6,6 3.307786,0 6.000002,-2.69221 6.000002,-6 v -0.002 c -4.7e-4,-0.11093 0.014,-0.19694 0.0332,-0.27344 -0.83987,0.3046 -1.77022,0.36483 -2.67578,0.12695 a 0.50005006,0.50005006 0 1 1 0.253906,-0.96679 c 1.450494,0.38101 2.978064,-0.20116 3.806644,-1.45118 0.82858,-1.25001 0.7694,-2.88277 -0.14649,-4.07031 -0.68691,-0.89068 -1.73836,-1.37897 -2.82031,-1.36328 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.00000012;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0.5;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
- <g
- transform="translate(-1.8536743e-6,4.4999696e-6)"
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g14534">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.00000012;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0.5;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 100.24805,410.01367 c -1.271268,0.11136 -2.328782,0.98616 -2.845706,2.17774 -2.575841,-0.61979 -5.266939,0.50372 -6.597656,2.80859 -1.356612,2.34971 -0.965414,5.32365 0.953124,7.24219 1.918537,1.91853 4.892473,2.30974 7.242188,0.95312 2.30486,-1.33072 3.42838,-4.02182 2.80859,-6.59765 1.3618,-0.59077 2.3103,-1.88718 2.17774,-3.40235 -0.14775,-1.68875 -1.49289,-3.03389 -3.18164,-3.18164 -0.1894,-0.0166 -0.37503,-0.0159 -0.55664,0 z m 0.0234,0.9961 c 0.14685,-0.0133 0.29578,-0.0133 0.44727,0 1.21193,0.10603 2.16545,1.05955 2.27148,2.27148 0.10604,1.21192 -0.66865,2.31795 -1.84375,2.63281 a 0.50005006,0.50005006 0 0 0 -0.35937,0.58203 l 0.0352,0.17969 a 0.50005006,0.50005006 0 0 0 0.008,0.0293 c 0.58634,2.18824 -0.36816,4.49227 -2.33008,5.625 -1.961931,1.13272 -4.433244,0.80698 -6.035156,-0.79492 -1.601912,-1.60191 -1.927645,-4.07323 -0.794922,-6.03516 1.132722,-1.96193 3.43675,-2.91642 5.625,-2.33008 a 0.50005006,0.50005006 0 0 0 0.0293,0.008 l 0.179687,0.0352 a 0.50005006,0.50005006 0 0 0 0.582032,-0.35937 c 0.275511,-1.02822 1.157648,-1.75045 2.185539,-1.84375 z M 94.5,416 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 3 a 0.50005,0.50005 0 0 0 0.5,0.5 h 3 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -3 A 0.50005,0.50005 0 0 0 97.5,416 Z m 0.5,1 h 2 v 2 h -2 z"
- transform="translate(1.8536743e-6,-4.4999696e-6)"
- id="circle13742"
- inkscape:connector-curvature="0" />
- </g>
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g14020"
- transform="translate(153.00001,38.000005)"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- inkscape:export-xdpi="96"
- inkscape:export-ydpi="96">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0.5;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m -76.5,394 -3.751953,0.006 c -0.228491,0.001 -0.427071,0.15722 -0.482422,0.37891 l -1.25,4.99414 c -0.07853,0.31517 0.159565,0.6204 0.484375,0.62095 h 3.75 c 0.22922,-3.6e-4 0.428845,-0.15652 0.484375,-0.37891 l 1.25,-5 C -75.936984,394.30587 -76.175116,394.00052 -76.5,394 Z m 6,0 -3.751953,0.006 c -0.228491,0.001 -0.427071,0.15722 -0.482422,0.37891 l -1.25,4.99414 c -0.07853,0.31517 0.159565,0.6204 0.484375,0.62095 h 3.75 c 0.22922,-3.6e-4 0.428845,-0.15652 0.484375,-0.37891 l 1.25,-5 C -69.936984,394.30587 -70.175116,394.00052 -70.5,394 Z m -8,7 -3.751953,0.006 c -0.228491,0.001 -0.427071,0.15722 -0.482422,0.37891 l -1.25,4.99414 c -0.07853,0.31517 0.159565,0.6204 0.484375,0.62095 h 3.75 c 0.22922,-3.6e-4 0.428845,-0.15652 0.484375,-0.37891 l 1.25,-5 C -77.936984,401.30587 -78.175116,401.00052 -78.5,401 Z m 6,0 -3.751953,0.006 c -0.228491,0.001 -0.427071,0.15722 -0.482422,0.37891 l -1.25,4.99414 c -0.07853,0.31517 0.159565,0.6204 0.484375,0.62095 h 3.75 c 0.22922,-3.6e-4 0.428845,-0.15652 0.484375,-0.37891 l 1.25,-5 C -71.936984,401.30587 -72.175116,401.00052 -72.5,401 Z"
- id="path13999"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="cccccccccccccccccccccccccccccccccccc" />
- </g>
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 11.455078,430.98242 a 1.50015,1.50015 0 0 0 -1.4765624,1.52149 v 6.3789 l -3.5605468,3.56055 a 1.50015,1.50015 0 1 0 2.1210937,2.12109 l 3.5605465,-3.56054 h 6.378907 a 1.50015,1.50015 0 1 0 0,-3 h -5.5 v -5.5 a 1.50015,1.50015 0 0 0 -1.523438,-1.52149 z"
- id="path12350-2"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 199.50586,431 c -0.31034,2.7e-4 -0.5455,0.28021 -0.49219,0.58594 0.36378,2.06995 0.21088,3.24033 -0.13086,3.98828 -0.34174,0.74794 -0.89741,1.14621 -1.5625,1.65234 -0.66509,0.50614 -1.42742,1.12518 -1.87304,2.24414 -0.44562,1.11896 -0.57595,2.68203 -0.19141,5.10742 0.0385,0.24306 0.24806,0.422 0.49414,0.42188 h 8.75586 c 0.30739,1.4e-4 0.54213,-0.27449 0.49414,-0.57812 -0.36857,-2.32471 -0.21903,-3.70089 0.13086,-4.58204 0.34989,-0.88114 0.89751,-1.32255 1.54492,-1.8164 0.64741,-0.49385 1.4068,-1.03318 1.86328,-2.03516 0.45648,-1.00198 0.58623,-2.39428 0.20313,-4.57422 C 208.70043,431.17484 208.49284,431.0002 208.25,431 Z"
- id="path8644-7"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="ccccscccccssccc" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 96.5,473 c -2.087116,0 -3.478164,1.04607 -4.390625,2.1875 a 0.50024408,0.50024408 0 0 0 0.78125,0.625 C 93.690488,474.81193 94.734388,474 96.5,474 c 2.098393,0 3.134109,0.87695 3.75195,1.94531 C 100.8698,477.01367 101,478.31651 101,479 h -5.25 c -1.273438,0 -2.443243,0.36418 -3.314453,1.05469 -0.87121,0.69051 -1.427734,1.72791 -1.427735,2.94531 10e-7,1.2174 0.556525,2.2548 1.427735,2.94531 C 93.306757,486.63582 94.476562,487 95.75,487 h 0.75 c 1.755585,0 3.387714,-0.96684 4.53711,-2.0332 0.0781,0.53303 0.28951,1.00434 0.64062,1.35547 C 102.12862,486.77315 102.775,487 103.5,487 a 0.50005,0.50005 0 1 0 0,-1 c -0.525,0 -0.87862,-0.14815 -1.11523,-0.38477 C 102.14815,485.37862 102,485.025 102,484.5 V 479 c 0,-0.79721 -0.12242,-2.24322 -0.88086,-3.55469 C 100.3607,474.13385 98.896459,473 96.5,473 Z m -0.75,7 H 101 v 3.56055 C 100.04582,484.68473 98.18875,486 96.5,486 h -0.75 c -1.081007,0 -2.03187,-0.31555 -2.693359,-0.83984 -0.66149,-0.52429 -1.048828,-1.23676 -1.048829,-2.16016 10e-7,-0.9234 0.387339,-1.63587 1.048829,-2.16016 C 93.718131,480.31555 94.668993,480 95.75,480 Z"
- id="path10278-2"
- inkscape:connector-curvature="0" />
- <g
- style="display:inline;opacity:1;fill:#ffffff;enable-background:new"
- id="g12310-0"
- transform="translate(62.999998,210)"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- inkscape:export-xdpi="96"
- inkscape:export-ydpi="96">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 222,431 c -0.1326,2e-5 -0.25976,0.0527 -0.35352,0.14648 L 218.79297,434 H 216.5 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 7 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 2.29297 l 2.85351,2.85352 c 0.0938,0.0938 0.22092,0.14646 0.35352,0.14648 h 0.5 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 V 431.78125 431.5 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z m 6.4668,2.01562 a 0.50005,0.50005 0 0 0 -0.42188,0.72071 c 1.27607,2.70648 1.27328,5.84072 -0.008,8.54492 a 0.50017783,0.50017783 0 1 0 0.9043,0.42773 c 1.40867,-2.97397 1.41099,-6.42391 0.008,-9.40039 a 0.50005,0.50005 0 0 0 -0.48242,-0.29297 z m -2.86133,0.9375 a 0.50005,0.50005 0 0 0 -0.43359,0.74219 c 1.10286,2.06013 1.1045,4.5334 0.006,6.59571 a 0.50023236,0.50023236 0 1 0 0.88282,0.4707 c 1.25518,-2.35583 1.25221,-5.18378 -0.008,-7.53711 a 0.50005,0.50005 0 0 0 -0.44726,-0.27149 z"
- transform="translate(-62.999998,-210)"
- id="path12304-9"
- inkscape:connector-curvature="0" />
- </g>
- <g
- id="g5260"
- transform="translate(21,42)"
- style="fill:#ffffff">
- <path
- inkscape:connector-curvature="0"
- id="path13014"
- d="m 176.5,410 a 0.50005,0.50005 0 1 0 0,1 h 0.79297 L 178,411.70703 v 10.58594 L 177.29297,423 H 176.5 a 0.50005,0.50005 0 1 0 0,1 h 1 a 0.50005,0.50005 0 0 0 0.35352,-0.14648 l 0.64648,-0.64649 0.64648,0.64649 A 0.50005,0.50005 0 0 0 179.5,424 h 1 a 0.50005,0.50005 0 1 0 0,-1 h -0.79297 L 179,422.29297 V 411.70703 L 179.70703,411 H 180.5 a 0.50005,0.50005 0 1 0 0,-1 h -1 a 0.50005,0.50005 0 0 0 -0.35352,0.14648 l -0.64648,0.64649 -0.64648,-0.64649 A 0.50005,0.50005 0 0 0 177.5,410 Z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" />
- <path
- inkscape:connector-curvature="0"
- id="path13066"
- d="m 174.5,414 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 5 a 0.50005,0.50005 0 0 0 0.5,0.5 h 2.5 v -1 h -2 v -4 h 2 v -1 z m 5.5,0 v 1 h 7.00781 v 4 H 180 v 1 h 7.50781 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -5 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" />
- </g>
- <g
- transform="translate(-1.8536743e-6,4.4999696e-6)"
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g13176"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- inkscape:export-xdpi="96"
- inkscape:export-ydpi="96">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 14,472 c -0.486111,0 -0.97894,0.16032 -1.363281,0.50195 C 12.252378,472.84359 12,473.375 12,474 v 4 H 8.5 c -0.2761309,3e-5 -0.4999724,0.22387 -0.5,0.5 v 4 c 0,0.33333 -0.182083,0.72505 -0.4785156,1.02148 C 7.2250518,483.81792 6.8333333,484 6.5,484 c -0.2761309,3e-5 -0.4999724,0.22387 -0.5,0.5 v 2 c 2.76e-5,0.27613 0.2238691,0.49997 0.5,0.5 h 3 c 0.1325988,-2e-5 0.259759,-0.0527 0.3535156,-0.14648 L 11,485.70703 V 486.5 c 2.8e-5,0.27613 0.223869,0.49997 0.5,0.5 h 5 c 1.777778,0 3.5,-1.46429 3.5,-3.5 v -5 c -2.8e-5,-0.27613 -0.223869,-0.49997 -0.5,-0.5 H 16 v -4 c 0,-0.625 -0.252378,-1.15641 -0.636719,-1.49805 C 14.97894,472.16032 14.486111,472 14,472 Z m 0,1 c 0.263889,0 0.52106,0.0897 0.699219,0.24805 C 14.877378,473.40641 15,473.625 15,474 v 4 h -0.5 c -0.676161,-0.01 -0.676161,1.00956 0,1 H 19 v 1 H 9 v -1 h 3.5 c 0.276131,-3e-5 0.499972,-0.22387 0.5,-0.5 V 474 c 0,-0.375 0.122622,-0.59359 0.300781,-0.75195 C 13.47894,473.08968 13.736111,473 14,473 Z m -5,8 h 10 v 2.5 c 0,1.46429 -1.277778,2.5 -2.5,2.5 H 16 v -1.5 c 0.0044,-0.28227 -0.225547,-0.51223 -0.507812,-0.50781 C 15.216044,483.9965 14.995681,484.22386 15,484.5 v 1.5 h -3 v -1.5 c -1.7e-4,-0.44532 -0.538517,-0.6683 -0.853516,-0.35352 L 9.2929688,486 H 7 v -1.22266 C 7.4441801,484.6575 7.9061001,484.55093 8.2285156,484.22852 8.682083,483.77495 9,483.16667 9,482.5 Z"
- transform="translate(1.8536743e-6,-4.4999696e-6)"
- id="path5504-6"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="scsccccccccccccccsccccscsscscccccccccscsccssccccccccccccsc" />
- </g>
- <g
- transform="translate(-664,-513.00021)"
- style="display:inline;opacity:0.98999999;fill:#ffffff;enable-background:new"
- id="g8745-3"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- inkscape:export-xdpi="96"
- inkscape:export-ydpi="96">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 475.25,53 a 0.50005,0.50005 0 0 0 -0.21289,0.04687 l -5.75391,2.708984 a 0.50005,0.50005 0 0 0 -0.28515,0.453125 v 7.292969 a 0.50005,0.50005 0 0 0 0.27539,0.447266 l 6.00195,3.001953 a 0.50005,0.50005 0 0 0 0.44727,0 l 6.00195,-3.001953 A 0.50005,0.50005 0 0 0 482,63.501953 v -6.916015 a 0.50005,0.50005 0 0 0 0,-0.181641 v -0.195313 a 0.50005,0.50005 0 0 0 -0.28711,-0.453125 l -5.75,-2.707031 A 0.50005,0.50005 0 0 0 475.75,53 Z m 0.11133,1 h 0.27734 l 5.00977,2.359375 -5.14844,2.509766 -5.14844,-2.509766 z M 469.99805,57.298828 475,59.738281 v 5.957031 l -5.00195,-2.501953 z M 481,57.300781 v 5.892578 l -5,2.5 v -5.955078 z"
- transform="translate(664,513.00021)"
- id="path8739-6"
- inkscape:connector-curvature="0" />
- </g>
- <g
- transform="translate(-801.00006,344.99979)"
- id="g13204"
- style="display:inline;opacity:0.98999999;fill:#ffffff;enable-background:new"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- inkscape:export-xdpi="96"
- inkscape:export-ydpi="96">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999988;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 1339.5,-270 a 0.50004994,0.50004994 0 1 0 0,1 h 6 a 0.50004994,0.50004994 0 1 0 0,-1 z m 0,3 a 0.50004994,0.50004994 0 1 0 0,1 h 6 a 0.50004994,0.50004994 0 1 0 0,-1 z m 0,3 a 0.50004994,0.50004994 0 1 0 0,1 h 6 a 0.50004994,0.50004994 0 1 0 0,-1 z m -7,3 a 0.50004994,0.50004994 0 1 0 0,1 h 13 a 0.50004994,0.50004994 0 1 0 0,-1 z m -0.014,3 a 0.50004994,0.50004994 0 1 0 0,1 h 13.0449 a 0.50004994,0.50004994 0 1 0 0,-1 z"
- id="path13198"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 1332.4922,-263 c -0.2761,-0.004 -0.4965,-0.23166 -0.4922,-0.50781 v -5.08789 c 0,-0.86662 0.4883,-1.66406 1.2578,-2.08789 0.7696,-0.42387 1.709,-0.42387 2.4785,0 0.7695,0.42383 1.2559,1.22127 1.2559,2.08789 v 5.08789 c 0.01,0.67616 -1.0096,0.67616 -1,0 V -266 H 1333 v 2.49219 c 0,0.28226 -0.2255,0.51222 -0.5078,0.50781 z m 0.5078,-4 h 2.9922 v -1.5957 c 0,-0.49379 -0.2728,-0.95455 -0.7383,-1.21094 -0.4655,-0.25638 -1.0482,-0.25638 -1.5137,0 -0.4655,0.25639 -0.7402,0.71715 -0.7402,1.21094 z"
- id="path13202"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="ccccccccccccccsccsc" />
- </g>
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="M 114.49219,166.99219 A 0.50005,0.50005 0 0 0 114,167.5 v 1.5 h -2.5 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 2 a 0.50005,0.50005 0 1 0 1,0 V 170 h 2.5 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -2 a 0.50005,0.50005 0 0 0 -0.50781,-0.50781 z"
- id="path4913-5-0"
- inkscape:connector-curvature="0" />
- <g
- style="display:inline;opacity:0.6;fill:#ffffff;enable-background:new"
- id="g10431-7"
- transform="matrix(1,0,0,-1,52.999998,288.99725)"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- inkscape:export-xdpi="96"
- inkscape:export-ydpi="96" />
- <g
- transform="translate(62.999998,189)"
- id="g13463"
- style="display:inline;opacity:1;fill:#ffffff;enable-background:new"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- inkscape:export-xdpi="96"
- inkscape:export-ydpi="96">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 221.5,410 a 0.50005,0.50005 0 0 0 -0.35352,0.14648 L 218.29297,413 H 216.5 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 7 a 0.50005,0.50005 0 0 0 0.5,0.5 h 1.79297 l 2.85351,2.85352 A 0.50005,0.50005 0 0 0 221.5,424 h 1 a 0.50005,0.50005 0 0 0 0.5,-0.5 V 410.78125 410.5 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m 0.20703,1 H 222 v 12 h -0.29297 l -2.85351,-2.85352 A 0.50005,0.50005 0 0 0 218.5,420 H 217 v -6 h 1.5 a 0.50005,0.50005 0 0 0 0.35352,-0.14648 z m 6.75977,1.01562 a 0.50005,0.50005 0 0 0 -0.42188,0.72071 c 1.27607,2.70648 1.27328,5.84072 -0.008,8.54492 a 0.50017783,0.50017783 0 1 0 0.9043,0.42773 c 1.40867,-2.97397 1.41099,-6.42391 0.008,-9.40039 a 0.50005,0.50005 0 0 0 -0.48242,-0.29297 z m -2.86133,0.9375 a 0.50005,0.50005 0 0 0 -0.43359,0.74219 c 1.10286,2.06013 1.1045,4.5334 0.006,6.59571 a 0.50023236,0.50023236 0 1 0 0.88282,0.4707 c 1.25518,-2.35583 1.25221,-5.18378 -0.008,-7.53711 a 0.50005,0.50005 0 0 0 -0.44726,-0.27149 z"
- transform="translate(-62.999998,-189)"
- id="path13456"
- inkscape:connector-curvature="0" />
- </g>
- <g
- transform="translate(-274.03132,440.00025)"
- style="display:inline;opacity:0.98999999;fill:#ffffff;enable-background:new"
- id="g13513"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- inkscape:export-xdpi="96"
- inkscape:export-ydpi="96">
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.75542808px;marker:none;enable-background:accumulate"
- d="m 220.5,536 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 9.64062 a 1.8365096,2.6222708 64.987834 0 0 -1.98242,0.0723 1.8365096,2.6222708 64.987834 0 0 -1.9707,2.68555 1.8365096,2.6222708 64.987834 0 0 2.93554,0.88867 1.8365096,2.6222708 64.987834 0 0 2.00977,-2.18945 A 0.50005,0.50005 0 0 0 221,547.5 V 547.47461 538 h 8 v 7.14062 a 1.8365125,2.6222911 64.988434 0 0 -1.98242,0.0723 1.8365125,2.6222911 64.988434 0 0 -1.9707,2.68555 1.8365125,2.6222911 64.988434 0 0 2.93554,0.88867 1.8365125,2.6222911 64.988434 0 0 2.00977,-2.18945 A 0.50005,0.50005 0 0 0 230,546.5 v -10 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z"
- transform="translate(274.03132,-440.00025)"
- id="ellipse13504"
- inkscape:connector-curvature="0" />
- </g>
- <g
- transform="translate(-1.8536743e-6,4.4999696e-6)"
- id="g12940-5"
- style="display:inline;opacity:1;fill:#ffffff;stroke:#ffffff;enable-background:new"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- inkscape:export-xdpi="96"
- inkscape:export-ydpi="96">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="M 411.49219,577.94727 A 0.50005,0.50005 0 0 0 411,578.45508 v 7 a 0.50005,0.50005 0 1 0 1,0 v -7 a 0.50005,0.50005 0 0 0 -0.50781,-0.50781 z M 408.47656,580 a 0.50005,0.50005 0 0 0 -0.22265,0.0684 c -2.54449,1.43695 -3.79437,4.38222 -3.03125,7.16797 0.76312,2.78575 3.34282,4.71875 6.27734,4.71875 2.93452,0 5.51422,-1.933 6.27734,-4.71875 0.76312,-2.78575 -0.48676,-5.73102 -3.03125,-7.16797 a 0.50025967,0.50025967 0 1 0 -0.49218,0.87109 c 2.15894,1.21922 3.20113,3.68764 2.55859,6.03321 -0.64254,2.34557 -2.81597,3.98242 -5.3125,3.98242 -2.49653,0 -4.66996,-1.63685 -5.3125,-3.98242 -0.64254,-2.34557 0.39965,-4.81399 2.55859,-6.03321 A 0.50005,0.50005 0 0 0 408.47656,580 Z"
- transform="translate(1.8536743e-6,-4.4999696e-6)"
- id="path12897-5"
- inkscape:connector-curvature="0" />
- </g>
- <g
- style="display:inline;opacity:1;fill:#ffffff;enable-background:new"
- id="g10027-7"
- transform="translate(109,-110)"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- inkscape:export-xdpi="96"
- inkscape:export-ydpi="96">
- <path
- sodipodi:nodetypes="sssssccccccccccccc"
- inkscape:connector-curvature="0"
- id="path9906-8-8"
- d="m 264.5,688 c -1.933,0 -3.5,1.567 -3.5,3.5 0,1.933 1.567,3.5 3.5,3.5 1.933,0 3.5,-1.567 3.5,-3.5 0,-1.933 -1.567,-3.5 -3.5,-3.5 z m -0.5,1 h 1 v 2 h 2 v 1 h -2 v 2 h -1 v -2 h -2 v -1 h 2 z"
- style="display:inline;opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.80000001;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:new" />
- <g
- id="g9914-5"
- transform="translate(99.99999,195.99938)"
- style="display:inline;opacity:0.6;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:0.80000001;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:new">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 366.48438,579 c -0.12718,0.004 -0.248,0.0564 -0.3379,0.14648 l -3,3 c -0.31479,0.315 -0.0918,0.85335 0.35352,0.85352 h 3 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 V 580 h 1.5 c 0.67616,0.01 0.67616,-1.00956 0,-1 h -2 v 0.002 c -0.005,0 -0.0101,-0.002 -0.0156,-0.002 z M 363,584 v 7.5 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 10 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -5 c 0.01,-0.67616 -1.00956,-0.67616 -1,0 v 4.5 h -9 v -7 z"
- transform="translate(-208.99999,-85.99938)"
- id="path9910-5"
- inkscape:connector-curvature="0" />
+ <g style="display:inline;fill:#ffffff;enable-background:new" id="g12259" transform="matrix(0,-1,-1,0,312,-85.999995)" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" inkscape:export-xdpi="96" inkscape:export-ydpi="96">
+ <g style="display:inline;opacity:1;fill:#ffffff;enable-background:new" transform="rotate(90,-175.5,-141.5)" id="g12255" mask="none">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 237.5,284 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 4 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 4 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -4 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z" id="path12253" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccccccc"/>
</g>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m -614.5,272 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 3 a 0.50005,0.50005 0 0 0 0.5,0.5 h 0.50781 v 5 H -614.5 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 3 a 0.50005,0.50005 0 0 0 0.5,0.5 h 3 a 0.50005,0.50005 0 0 0 0.5,-0.5 V 284 h 5 v 0.5 a 0.50005,0.50005 0 0 0 0.5,0.5 h 3 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -3 a 0.50005,0.50005 0 0 0 -0.5,-0.5 h -0.49219 v -3.5 a 0.50005,0.50005 0 1 0 -1,0 V 281 H -605.5 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 1.5 h -5 v -1.5 a 0.50005,0.50005 0 0 0 -0.5,-0.5 h -1.49219 v -5 H -611.5 a 0.50005,0.50005 0 0 0 0.5,-0.5 V 274 h 3.5 a 0.50005,0.50005 0 1 0 0,-1 h -3.5 v -0.5 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m 0.5,1 h 2 v 2 h -1.41406 a 0.50005,0.50005 0 0 0 -0.16016,0 H -614 Z m 0,9 h 2 v 2 h -2 z m 9,0 h 2 v 2 h -2 z" id="path12257" inkscape:connector-curvature="0"/>
</g>
- <g
- transform="translate(365,4.4999696e-6)"
- id="g13349"
- style="display:inline;opacity:0.6;fill:#ffffff;enable-background:new"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- inkscape:export-xdpi="96"
- inkscape:export-ydpi="96">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 349.5,578 c -1.48507,0 -2.8535,0.46731 -3.86133,1.33594 C 344.63084,580.20456 344,581.48473 344,583 v 3 c 0,0.83333 -0.007,1.35913 -0.11133,1.78711 -0.10481,0.42798 -0.303,0.80502 -0.77929,1.40039 A 0.50005,0.50005 0 0 0 343,589.5 v 2 a 0.50005,0.50005 0 0 0 0.5,0.5 h 1 1 a 0.50005,0.50005 0 0 0 0.33008,-0.12305 l 1.64648,-1.44336 1.41992,1.41993 A 0.50005,0.50005 0 0 0 349.25,592 h 0.5 a 0.50005,0.50005 0 0 0 0.35352,-0.14648 l 1.39648,-1.39649 1.39648,1.39649 A 0.50005,0.50005 0 0 0 353.25,592 h 1.25 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -2 -1 -5.5 c 0,-1.51527 -0.63084,-2.79544 -1.63867,-3.66406 C 352.3535,578.46731 350.98507,578 349.5,578 Z m 0,1 c 1.27493,0 2.40681,0.40238 3.20898,1.09375 C 353.51116,580.78512 354,581.75527 354,583 v 5.5 1 1.5 h -0.54297 l -1.60351,-1.60352 a 0.50005,0.50005 0 0 0 -0.70704,0 L 349.54297,591 h -0.0859 l -1.60351,-1.60352 a 0.50005,0.50005 0 0 0 -0.6836,-0.0234 L 345.3125,591 H 344.5 344 v -1.38867 c 0.42104,-0.55984 0.73249,-1.05984 0.86133,-1.58594 C 345.00652,587.43254 345,586.83333 345,586 v -3 c 0,-1.24473 0.48884,-2.21488 1.29102,-2.90625 C 347.09319,579.40238 348.22507,579 349.5,579 Z m -1.00586,2.99219 a 0.50005,0.50005 0 0 0 -0.34766,0.15429 l -0.64648,0.64649 -0.64648,-0.64649 a 0.50005,0.50005 0 0 0 -0.35938,-0.15234 0.50005,0.50005 0 0 0 -0.34766,0.85938 l 0.64649,0.64648 -0.64649,0.64648 a 0.50005,0.50005 0 1 0 0.70704,0.70704 l 0.64648,-0.64649 0.64648,0.64649 a 0.50005,0.50005 0 1 0 0.70704,-0.70704 l -0.64649,-0.64648 0.64649,-0.64648 a 0.50005,0.50005 0 0 0 -0.35938,-0.86133 z m 4,0 a 0.50005,0.50005 0 0 0 -0.34766,0.15429 l -0.64648,0.64649 -0.64648,-0.64649 a 0.50005,0.50005 0 0 0 -0.35938,-0.15234 0.50005,0.50005 0 0 0 -0.34766,0.85938 l 0.64649,0.64648 -0.64649,0.64648 a 0.50005,0.50005 0 1 0 0.70704,0.70704 l 0.64648,-0.64649 0.64648,0.64649 a 0.50005,0.50005 0 1 0 0.70704,-0.70704 l -0.64649,-0.64648 0.64649,-0.64648 a 0.50005,0.50005 0 0 0 -0.35938,-0.86133 z"
- transform="translate(-365,-4.4999696e-6)"
- id="path13343"
- inkscape:connector-curvature="0" />
- </g>
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 291.98438,431.0625 c -1.31822,0 -2.69153,0.28723 -3.69727,1.29297 a 1.0001,1.0001 0 1 0 1.41406,1.41406 c 0.49426,-0.49426 1.2483,-0.70703 2.28321,-0.70703 a 1.0001,1.0001 0 1 0 0,-2 z m -7.24024,3.04297 c -0.74589,-0.0115 -1.46694,0.0868 -2.13086,0.30664 -1.32784,0.43972 -2.4721,1.53683 -2.61719,3.06055 -0.19518,2.0499 0.80702,3.49399 1.02735,4.3457 0.14607,0.56468 0.0225,0.72298 -0.18164,0.91797 -0.20413,0.19499 -0.61247,0.33203 -0.84961,0.33203 a 1.0001,1.0001 0 1 0 0,2 c 0.76285,0 1.57391,-0.25956 2.23047,-0.88672 0.65655,-0.62715 1.03297,-1.71849 0.73632,-2.86523 -0.37187,-1.43756 -1.0944,-2.37562 -0.97265,-3.6543 0.0682,-0.71615 0.4403,-1.08149 1.25586,-1.35156 0.81556,-0.27008 2.03005,-0.27431 3.23242,0.0684 1.20237,0.34267 2.38417,1.01511 3.21875,1.95703 0.83458,0.94191 1.35114,2.12713 1.29297,3.68945 -0.0218,0.58526 -0.18864,0.77371 -0.37305,0.89453 -0.18441,0.12083 -0.50228,0.18156 -0.91016,0.0723 -0.65709,-0.17607 -1.01294,-0.58503 -1.30078,-1.30274 -0.28784,-0.7177 -0.4082,-1.70364 -0.4082,-2.62695 a 1.0001,1.0001 0 1 0 -2,0 c 0,1.07669 0.11104,2.27463 0.55078,3.37109 0.43975,1.09647 1.30771,2.13309 2.64063,2.49024 0.84212,0.22565 1.76567,0.1664 2.52343,-0.33008 0.75729,-0.49617 1.23505,-1.42269 1.2754,-2.49219 v -0.002 c 0.0762,-2.06159 -0.66061,-3.80964 -1.79493,-5.08984 -1.1347,-1.28064 -2.63964,-2.11968 -4.16601,-2.55469 -0.76319,-0.21751 -1.53341,-0.33806 -2.2793,-0.34961 z"
- id="path8292"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 495.50391,451.99219 c -1.93006,0 -3.50391,1.57292 -3.50391,3.5 v 2 c 0,0.41666 0.19292,0.77495 0.45898,1.04101 0.26607,0.26607 0.62435,0.45899 1.04102,0.45899 a 0.50005,0.50005 0 1 0 0,-1 c -0.0833,0 -0.22505,-0.0571 -0.33398,-0.16602 C 493.05708,457.71724 493,457.57552 493,457.49219 v -2 c 0,-1.38664 1.11314,-2.5 2.50391,-2.5 h 1.0039 c 1.39077,0 2.50196,1.11336 2.50196,2.5 v 2 c 0,0.0833 -0.0571,0.22505 -0.16602,0.33398 -0.10893,0.10893 -0.25065,0.16602 -0.33398,0.16602 a 0.50005,0.50005 0 1 0 0,1 c 0.41666,0 0.77494,-0.19292 1.04101,-0.45899 0.26607,-0.26606 0.45899,-0.62435 0.45899,-1.04101 v -2 c 0,-1.92708 -1.57191,-3.5 -3.50196,-3.5 z m 3.94921,7.41406 a 0.50005,0.50005 0 0 0 -0.48632,0.33203 c -0.17381,0.48217 -0.35767,1.04392 -0.75391,1.48047 -0.39624,0.43655 -0.98986,0.78906 -2.17578,0.78906 -1.18761,0 -1.78805,-0.34711 -2.19141,-0.77929 -0.40336,-0.43219 -0.59802,-0.98975 -0.78515,-1.47266 a 0.50005,0.50005 0 0 0 -0.67578,-0.27344 c -0.97162,0.44606 -1.78522,0.89986 -2.38868,1.45508 C 489.39264,461.49272 489,462.19074 489,462.99219 v 2.5 a 0.50005,0.50005 0 0 0 0.5,0.5 h 13.00977 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -2.5 c 0,-0.79711 -0.38431,-1.49976 -0.98243,-2.06446 -0.59811,-0.56469 -1.40897,-1.02891 -2.38086,-1.47461 a 0.50005,0.50005 0 0 0 -0.19336,-0.0469 z m 0.17579,1.19922 c 0.68529,0.34567 1.33558,0.69455 1.71289,1.05078 0.46505,0.43906 0.66797,0.84399 0.66797,1.33594 v 2 H 490 v -2 c 0,-0.49365 0.20477,-0.8868 0.67383,-1.31836 0.38208,-0.35154 1.03995,-0.69804 1.73437,-1.04492 0.1643,0.40983 0.28954,0.83601 0.70508,1.28125 0.58146,0.623 1.5239,1.09765 2.92383,1.09765 1.40162,0 2.34196,-0.48473 2.91601,-1.11719 0.40651,-0.44786 0.51938,-0.87307 0.67579,-1.28515 z"
- id="path6745-8"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 134.50977,472.99414 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 3 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 1.5039 c 0.0205,0.58311 0.0403,1.03618 -0.0488,1.24805 -0.22838,0.54301 -0.5609,0.82668 -1.00781,1.10937 -0.44691,0.28269 -1.00733,0.53131 -1.53711,0.97461 -0.52977,0.4433 -1.00108,1.10059 -1.22656,2.08789 -0.22548,0.9873 -0.2332,2.29903 0.0625,4.16406 0.0385,0.24311 0.24801,0.42203 0.49414,0.42188 h 8.75586 c 0.30739,1.4e-4 0.54213,-0.2745 0.49414,-0.57812 -0.36883,-2.32606 -0.21493,-3.6368 0.12305,-4.40821 0.33798,-0.7714 0.85304,-1.08606 1.49804,-1.45508 0.645,-0.36901 1.43565,-0.7809 1.90821,-1.70703 0.47255,-0.92613 0.59571,-2.25921 0.21289,-4.4375 C 145.70043,474.17484 145.49284,474.0002 145.25,474 h -7.24023 v -0.50586 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z m 0.5,1 h 2 v 2 h -2 z m 3,1.00586 h 6.78125 c 0.25456,1.74951 0.14487,2.81594 -0.15235,3.39844 -0.3247,0.63637 -0.84774,0.91198 -1.51367,1.29297 -0.66593,0.38098 -1.46183,0.87882 -1.91797,1.91992 -0.41222,0.94085 -0.49675,2.35477 -0.23633,4.38867 h -7.73437 c -0.19264,-1.47462 -0.23076,-2.65205 -0.0684,-3.36328 0.18281,-0.80045 0.49635,-1.21142 0.89258,-1.54297 0.39622,-0.33155 0.90291,-0.56523 1.42968,-0.89844 0.52678,-0.33321 1.07351,-0.7985 1.39649,-1.5664 0.22021,-0.52359 0.17686,-1.05487 0.13867,-1.63477 h 0.48438 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 z"
- id="path13566"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="ccccccscsccccccccccccccccccccccccccccccccc" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 160.5,431 a 1.5,1.5 0 0 0 -1.5,1.5 1.5,1.5 0 0 0 0.0879,0.5 h -4.56836 a 1.50015,1.50015 0 1 0 0,3 H 158 v 1.94922 c -1.31983,1.3363 -2.47353,2.76999 -2.9707,5.25586 a 1.50015,1.50015 0 1 0 2.9414,0.58984 c 0.37009,-1.85045 0.99513,-2.60285 2.0293,-3.6289 1.03417,1.02605 1.65921,1.77845 2.0293,3.6289 a 1.50015,1.50015 0 1 0 2.9414,-0.58984 c -0.49717,-2.48587 -1.65087,-3.91956 -2.9707,-5.25586 V 436 h 3.48047 a 1.50015,1.50015 0 1 0 0,-3 h -2.53711 c -0.0387,0.18925 -0.094,0.37697 -0.17774,0.55664 C 162.35553,434.4361 161.47038,435 160.5,435 a 0.50005,0.50005 0 1 1 0,-1 1.5,1.5 0 0 0 0.41406,-0.0586 c 0.009,-0.002 0.0169,-0.005 0.0254,-0.008 a 1.5,1.5 0 0 0 0.35157,-0.16211 c 0.006,-0.004 0.0133,-0.006 0.0195,-0.01 a 1.5,1.5 0 0 0 0.004,-0.002 1.5,1.5 0 0 0 0.29102,-0.25 c 0.009,-0.0103 0.0202,-0.0187 0.0293,-0.0293 a 1.5,1.5 0 0 0 0.21484,-0.33008 c 0.003,-0.006 0.007,-0.01 0.01,-0.0156 0.002,-0.005 0.004,-0.0104 0.006,-0.0156 A 1.5,1.5 0 0 0 162,432.5 1.5,1.5 0 0 0 160.5,431 Z"
- id="path13634"
- inkscape:connector-curvature="0"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- inkscape:export-xdpi="96"
- inkscape:export-ydpi="96" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 428.49023,603.99414 a 0.50005,0.50005 0 0 0 -0.34961,0.85938 l 4,4 a 0.50005,0.50005 0 0 0 0.70704,0 l 4,-4 a 0.50005,0.50005 0 1 0 -0.70704,-0.70704 l -3.64648,3.64649 -3.64648,-3.64649 a 0.50005,0.50005 0 0 0 -0.35743,-0.15234 z"
- id="path13549"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 410.49414,601.99414 a 0.50005,0.50005 0 0 0 -0.34766,0.85938 l 3.64649,3.64648 -3.64649,3.64648 a 0.50005,0.50005 0 1 0 0.70704,0.70704 l 4,-4 a 0.50005,0.50005 0 0 0 0,-0.70704 l -4,-4 a 0.50005,0.50005 0 0 0 -0.35938,-0.15234 z"
- id="path13551"
- inkscape:connector-curvature="0" />
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- transform="rotate(-180,307.00525,417)"
- id="g13597"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- inkscape:export-xdpi="96"
- inkscape:export-ydpi="96">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 289.50391,410 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 1.5 h -0.99414 c -1.17529,0 -2.25213,0.41841 -2.88477,1.18164 -0.28029,0.32895 -0.0395,0.83456 0.39258,0.82422 0.14712,-0.004 0.28501,-0.0726 0.37695,-0.1875 C 286.27001,413.36537 287.08306,413 288.00977,413 h 0.99414 v 0.5 a 0.50005,0.50005 0 0 0 0.5,0.5 h 3 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -3 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m 0.5,1 h 2 v 2 h -2 z m -4.58594,3.95898 c -1.10666,0.0478 -2.07229,0.36866 -2.82031,0.91211 -0.99737,0.72461 -1.58789,1.85424 -1.58789,3.12891 v 1 h -1.50586 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 3 a 0.50005,0.50005 0 0 0 0.5,0.5 h 3 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -3 a 0.50005,0.50005 0 0 0 -0.5,-0.5 h -0.49414 v -1 c 0,-0.97533 0.41802,-1.76979 1.17578,-2.32031 0.75777,-0.55053 1.87662,-0.84701 3.26562,-0.6836 1.98998,0.23412 3.41358,1.22814 4.10352,2.33203 0.68994,1.10391 0.68215,2.23778 -0.14844,3.06836 -0.83795,0.83796 -1.98844,0.89361 -3.08398,0.26368 -1.09554,-0.62994 -2.08242,-1.9799 -2.31641,-3.96875 -0.0504,-0.69579 -1.10528,-0.57121 -0.99219,0.11718 0.26601,2.26115 1.40414,3.91119 2.8086,4.71875 0.70223,0.40379 1.48456,0.58895 2.23632,0.52735 0.75176,-0.0616 1.47366,-0.37015 2.05469,-0.95117 1.16941,-1.16942 1.16162,-2.91055 0.28906,-4.30664 -0.87256,-1.3961 -2.57396,-2.52709 -4.83398,-2.79297 -0.39761,-0.0468 -0.78151,-0.0608 -1.15039,-0.0449 z M 280.00391,421 h 2 v 2 h -2 z"
- transform="rotate(180,307.00525,417)"
- id="path13595"
- inkscape:connector-curvature="0" />
- </g>
- <rect
- style="display:inline;opacity:0;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:new"
- id="rect13550"
- width="16"
- height="16"
- x="488.00128"
- y="430.00018"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- inkscape:export-xdpi="96"
- inkscape:export-ydpi="96" />
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g13226"
- transform="translate(-189,84.000005)">
- <path
- style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;marker:none;enable-background:accumulate"
- d="m 285,536 -0.15625,1.90625 c -0.6231,0.14227 -1.07677,0.25145 -1.59375,0.59375 l -1.75,-1.5 -1.5,1.5 1.5,1.75 c -0.34229,0.51699 -0.45148,0.97065 -0.59375,1.59375 L 279,542 v 1 1 l 1.90625,0.15625 c 0.14227,0.6231 0.25145,1.07677 0.59375,1.59375 l -1.5,1.75 1.5,1.5 1.75,-1.5 c 0.51699,0.34229 0.97065,0.45148 1.59375,0.59375 L 285,550 h 1 1 l 0.15625,-1.90625 c 0.6231,-0.14227 1.07677,-0.25145 1.59375,-0.59375 l 1.75,1.5 1.5,-1.5 -1.5,-1.75 c 0.34229,-0.51699 0.45148,-0.97065 0.59375,-1.59375 L 293,544 v -1 -1 l -1.90625,-0.15625 C 290.95148,541.22065 290.8423,540.76698 290.5,540.25 l 1.5,-1.75 -1.5,-1.5 -1.75,1.5 c -0.51699,-0.34229 -0.97065,-0.45148 -1.59375,-0.59375 L 287,536 h -1 z m 1,5 c 1.11641,0 2,0.88359 2,2 0,1.11641 -0.88359,2 -2,2 -1.11641,0 -2,-0.88359 -2,-2 0,-1.11641 0.88359,-2 2,-2 z"
- transform="translate(189,-84.000005)"
- id="path52982-3"
- inkscape:connector-curvature="0" />
- </g>
- <g
- style="display:inline;opacity:1;fill:#ffffff;stroke-width:1.14285719;enable-background:new"
- id="g13938"
- transform="matrix(0.875,0,0,0.875,-254.625,-304.87495)"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- inkscape:export-xdpi="96"
- inkscape:export-ydpi="96">
- <rect
- style="display:inline;overflow:visible;visibility:visible;opacity:0;fill:#ffffff;stroke:none;stroke-width:3.42857146;marker:none;enable-background:accumulate"
- id="rect13853"
- width="16"
- height="16"
- x="299"
- y="408.99994" />
- </g>
- <g
- transform="translate(-1.8536743e-6,4.4999696e-6)"
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g14058"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- inkscape:export-xdpi="96"
- inkscape:export-ydpi="96">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 451.5,536 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 9 a 0.50005,0.50005 0 0 0 0.5,0.5 h 9 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -9 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m 0.5,1 h 8 v 8 h -8 z"
- id="path14208"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="M 449.49219,537.99219 A 0.50005,0.50005 0 0 0 449,538.5 v 9 a 0.50005,0.50005 0 0 0 0.5,0.5 h 9 a 0.50005,0.50005 0 1 0 0,-1 H 450 v -8.5 a 0.50005,0.50005 0 0 0 -0.50781,-0.50781 z m -2,2 A 0.50005,0.50005 0 0 0 447,540.5 v 9 a 0.50005,0.50005 0 0 0 0.5,0.5 h 9 a 0.50005,0.50005 0 1 0 0,-1 H 448 v -8.5 a 0.50005,0.50005 0 0 0 -0.50781,-0.50781 z"
- id="path14212"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 460.48438,536 c -0.12717,0.004 -0.248,0.0564 -0.3379,0.14648 l -9,9 c -0.31479,0.315 -0.0918,0.85335 0.35352,0.85352 h 9 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -9 c 1.1e-4,-0.28235 -0.23341,-0.50879 -0.51562,-0.5 z"
- id="path14252"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="cccccccc" />
- </g>
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.98999999;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 414.55664,159.95508 a 0.50005,0.50005 0 0 0 -0.47461,0.61133 L 414.38867,162 h -4.70898 l 0.30859,-1.39062 a 0.5003812,0.5003812 0 1 0 -0.97656,-0.21876 L 408.6543,162 H 406.5 a 0.50005,0.50005 0 1 0 0,1 h 1.93164 l -0.66602,3 H 405.5 a 0.50005,0.50005 0 1 0 0,1 h 2.04297 l -0.53125,2.39062 a 0.5003812,0.5003812 0 1 0 0.97656,0.21876 L 408.56836,167 h 6.88672 l 0.55664,2.60352 a 0.50005,0.50005 0 1 0 0.97656,-0.20704 L 416.47656,167 H 418.5 a 0.50005,0.50005 0 1 0 0,-1 h -2.23633 l -0.63867,-3 h 1.875 a 0.50005,0.50005 0 1 0 0,-1 h -2.08984 l -0.34961,-1.64258 a 0.50005,0.50005 0 0 0 -0.50391,-0.40234 z M 409.45703,163 h 5.14453 l 0.64063,3 h -6.45117 z"
- id="path13985"
- inkscape:connector-curvature="0" />
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g14370"
- transform="translate(20.999998,4.4999696e-6)">
- <path
- id="rect14323"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 141.51562,82 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 5 a 0.50005,0.50005 0 0 0 0.5,0.5 H 145.5 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -5 A 0.50005,0.50005 0 0 0 145.5,82 Z m 0.5,1 H 145 v 4 h -2.98438 z m -9.5,-1 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 5 a 0.50005,0.50005 0 0 0 0.5,0.5 H 136.5 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -5 A 0.50005,0.50005 0 0 0 136.5,82 Z m 0.5,1 H 136 v 4 h -2.98438 z m 8.5,-9 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 5 a 0.50005,0.50005 0 0 0 0.5,0.5 H 145.5 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -5 A 0.50005,0.50005 0 0 0 145.5,74 Z m 0.5,1 H 145 v 4 h -2.98438 z m -9.5,-1 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 5 a 0.50005,0.50005 0 0 0 0.5,0.5 H 136.5 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -5 A 0.50005,0.50005 0 0 0 136.5,74 Z m 0.5,1 H 136 v 4 h -2.98438 z"
- inkscape:connector-curvature="0" />
- </g>
- <g
- id="g6448"
- style="fill:#ffffff">
- <path
- d="m 103,78.000008 h 1 v 1 h -1 z m 0,-3 h 1 v 1 h -1 z m -8,3 h 1 v 1 h -1 z m 0,3 h 1 v 1 h -1 z m 0,-6 h 1 v 1 h -1 z"
- style="display:inline;opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;enable-background:new"
- id="rect14452"
- inkscape:connector-curvature="0" />
- <path
- d="m 98.515625,74 c -0.276131,2.8e-5 -0.499972,0.223869 -0.5,0.5 v 6 c 2.8e-5,0.276131 0.223869,0.499972 0.5,0.5 H 101.5 c 0.27613,-2.8e-5 0.49997,-0.223869 0.5,-0.5 v -6 c -3e-5,-0.276131 -0.22387,-0.499972 -0.5,-0.5 z m 0.5,1 H 101 v 2 h -1.984375 z m 0,3 H 101 v 2 h -1.984375 z m -8.5,-4 c -0.276131,2.8e-5 -0.499972,0.223869 -0.5,0.5 v 12 c 2.8e-5,0.276131 0.223869,0.499972 0.5,0.5 H 93.5 c 0.276131,-2.8e-5 0.499972,-0.223869 0.5,-0.5 v -12 c -2.8e-5,-0.276131 -0.223869,-0.499972 -0.5,-0.5 z m 0.5,1 H 93 v 2 h -1.984375 z m 0,3 H 93 v 2 h -1.984375 z m 0,3 H 93 v 2 h -1.984375 z m 0,3 H 93 v 2 h -1.984375 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- id="path14479"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="cccccccccccccccccccccccccccccccccccccccccccccccc" />
- </g>
- <g
- transform="translate(-1.8536743e-6,4.4999696e-6)"
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g14591">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 9.25,74 a 0.50005,0.50005 0 0 0 -0.4765625,0.351562 l -2.75,8.820313 A 0.50005,0.50005 0 0 0 6,83.320312 v 0.173829 a 0.50005,0.50005 0 1 0 1,0 v -0.09766 L 7.7460938,81 A 0.50005,0.50005 0 0 0 7.75,81 h 3.5 a 0.50005,0.50005 0 0 0 0.0039,0 L 12,83.396484 v 0.09766 a 0.50005,0.50005 0 1 0 1,0 v -0.173829 a 0.50005,0.50005 0 0 0 -0.02344,-0.148437 l -2.75,-8.820313 A 0.50005,0.50005 0 0 0 9.75,74 Z M 9.5,75.375 10.941406,80 H 8.0585938 Z"
- id="path14584"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 14.5,79 a 0.50005,0.50005 0 1 0 0,1 H 19 v 0.08008 l -4.896484,6.365234 A 0.50005,0.50005 0 0 0 14,86.75 v 0.75 a 0.50005,0.50005 0 0 0 0.5,0.5 h 5 a 0.50005,0.50005 0 1 0 0,-1 H 15 v -0.08008 l 4.896484,-6.365234 A 0.50005,0.50005 0 0 0 20,80.25 V 79.5 A 0.50005,0.50005 0 0 0 19.5,79 Z"
- id="path14589"
- inkscape:connector-curvature="0" />
- </g>
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 69.5,74 a 0.50005,0.50005 0 1 0 0,1 h 13 a 0.50005,0.50005 0 1 0 0,-1 z m 0,3 a 0.50005,0.50005 0 1 0 0,1 h 10 a 0.50005,0.50005 0 1 0 0,-1 z m 0,3 a 0.50005,0.50005 0 1 0 0,1 h 7 a 0.50005,0.50005 0 1 0 0,-1 z m 0,3 a 0.50005,0.50005 0 1 0 0,1 h 4 a 0.50005,0.50005 0 1 0 0,-1 z m 0,3 a 0.50005,0.50005 0 1 0 0,1 h 1 a 0.50005,0.50005 0 1 0 0,-1 z"
- id="path14593"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 30.474609,74.994141 a 0.50004997,0.50004997 0 0 0 -0.40625,0.757812 L 33.128906,81 H 27.5 a 0.50004997,0.50004997 0 1 0 0,1 h 5.628906 l -3.060547,5.248047 a 0.50004997,0.50004997 0 1 0 0.863282,0.503906 L 34,82.492188 l 3.068359,5.259765 a 0.50004997,0.50004997 0 1 0 0.863282,-0.503906 L 34.871094,82 H 40.5 a 0.50004997,0.50004997 0 1 0 0,-1 h -5.628906 l 3.060547,-5.248047 A 0.50004997,0.50004997 0 1 0 37.068359,75.248047 L 34,80.507812 30.931641,75.248047 a 0.50004997,0.50004997 0 0 0 -0.457032,-0.253906 z"
- id="path14603"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="M 50.494141,73.992188 A 0.50004997,0.50004997 0 0 0 50.417969,74 H 49.5 a 0.50004997,0.50004997 0 1 0 0,1 H 50 v 1.125 c 0,1.632015 0.971328,2.853007 2.201172,3.775391 L 53,80.5 v 0.5 0.5 l -0.798828,0.599609 C 50.971326,83.021991 50,84.242992 50,85.875 V 87 h -0.5 a 0.50004997,0.50004997 0 1 0 0,1 h 0.921875 a 0.50004997,0.50004997 0 0 0 0.160156,0 h 7.837891 a 0.50004997,0.50004997 0 0 0 0.162109,0 H 59.5 a 0.50004997,0.50004997 0 1 0 0,-1 H 59 v -1.125 c 0,-1.632008 -0.969373,-2.853009 -2.199219,-3.775391 L 56,81.5 V 81.035156 A 0.50004997,0.50004997 0 0 0 56,81 v -0.5 l 0.800781,-0.599609 C 58.030625,78.978007 59,77.757015 59,76.125 V 75 h 0.5 a 0.50004997,0.50004997 0 1 0 0,-1 h -0.919922 a 0.50004997,0.50004997 0 0 0 -0.162109,0 h -7.835938 a 0.50004997,0.50004997 0 0 0 -0.08789,-0.0078 z M 51,75 h 7 v 1.125 c 0,1.245243 -0.698245,2.147707 -1.800781,2.974609 l -1,0.75 A 0.50004997,0.50004997 0 0 0 55,80.25 V 80.964844 81 81.75 a 0.50004997,0.50004997 0 0 0 0.199219,0.400391 l 1,0.75 C 57.301151,83.726838 57.999238,84.628869 58,85.873047 V 87 h -7 v -1.125 -0.002 c 7.62e-4,-1.244178 0.698849,-2.146209 1.800781,-2.972656 l 1,-0.75 A 0.50004997,0.50004997 0 0 0 54,81.75 V 81.035156 A 0.50004997,0.50004997 0 0 0 54,81 v -0.75 a 0.50004997,0.50004997 0 0 0 -0.199219,-0.400391 l -1,-0.75 C 51.698847,78.273158 51.000762,77.371141 51,76.126953 v -0.002 z"
- id="path14614"
- inkscape:connector-curvature="0" />
- <g
- inkscape:export-ydpi="96"
- inkscape:export-xdpi="96"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- id="g14256"
- transform="translate(-21.000002,4.4999696e-6)"
- style="display:inline;opacity:0.4;fill:#ffffff;enable-background:new">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 92.496094,325.99414 a 0.50005,0.50005 0 0 0 -0.382813,0.82227 l 4.5,5.5 a 0.50005,0.50005 0 0 0 0.773438,0 l 4.500001,-5.5 a 0.50005,0.50005 0 1 0 -0.77344,-0.63282 L 97,331.21094 92.886719,326.18359 a 0.50005,0.50005 0 0 0 -0.390625,-0.18945 z"
- id="path14250"
- inkscape:connector-curvature="0" />
- <path
- id="path14254"
- d="m 91.25,334 c -0.683851,0 -1.25,0.56615 -1.25,1.25 v 3.5 c 0,0.68385 0.566149,1.25 1.25,1.25 h 3.5 c 0.683851,0 1.25,-0.56615 1.25,-1.25 v -3.5 C 96,334.56615 95.433851,334 94.75,334 Z m 8,0 c -0.683851,0 -1.25,0.56615 -1.25,1.25 v 3.5 c 0,0.68385 0.566149,1.25 1.25,1.25 h 3.5 c 0.68385,0 1.25,-0.56615 1.25,-1.25 v -3.5 c 0,-0.68385 -0.56615,-1.25 -1.25,-1.25 z m -7.75,4 h 2 1 a 0.50005,0.50005 0 1 1 0,1 h -1 -2 a 0.50005,0.50005 0 1 1 0,-1 z m 8,0 h 2 1 a 0.50005,0.50005 0 1 1 0,1 h -1 -2 a 0.50005,0.50005 0 1 1 0,-1 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- inkscape:connector-curvature="0" />
- </g>
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="M 6.5,116 A 0.50005,0.50005 0 0 0 6,116.5 v 4 a 0.50005,0.50005 0 1 0 1,0 V 117 h 3.5 a 0.50005,0.50005 0 1 0 0,-1 z m 9.007812,0 a 0.50005,0.50005 0 1 0 0,1 h 3.5 v 3.5 a 0.50005,0.50005 0 1 0 1,0 v -4 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m -9.0156245,9 A 0.50005,0.50005 0 0 0 6,125.50781 v 4 a 0.50005,0.50005 0 0 0 0.5,0.5 h 4 a 0.50005,0.50005 0 1 0 0,-1 H 7 v -3.5 A 0.50005,0.50005 0 0 0 6.4921875,125 Z M 19.5,125 a 0.50005,0.50005 0 0 0 -0.492188,0.50781 v 3.5 h -3.5 a 0.50005,0.50005 0 1 0 0,1 h 4 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -4 A 0.50005,0.50005 0 0 0 19.5,125 Z"
- id="path13927"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 48,11 v 2 h 2 v -2 z m 2,4 v 2 h 2 v -2 z m 2,3 v 2 h 2 v -2 z m 3,3 v 2 h 1.5 v 1 H 59 v 1 h 3 v -2 h -3 v -1 h -2 v -1 z"
- id="path14341"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="cccccccccccccccccccccccccccc" />
- <g
- transform="matrix(-1,0,0,1,1290,302.99979)"
- style="display:inline;opacity:0.98999999;fill:#ffffff;enable-background:new"
- id="g8530-0"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- inkscape:export-xdpi="96"
- inkscape:export-ydpi="96">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 1258.4766,-286 a 0.50005,0.50005 0 0 0 -0.4102,0.25195 l -4,7 A 0.50005,0.50005 0 0 0 1254.5,-278 h 8 a 0.50005,0.50005 0 0 0 0.4336,-0.74805 l -4,-7 A 0.50005,0.50005 0 0 0 1258.4766,-286 Z m 0.023,1.50781 3.1387,5.49219 h -6.2774 z"
- id="path8523-4"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 1253.5,-289 c -0.8225,0 -1.5,0.67749 -1.5,1.5 0,0.82251 0.6775,1.5 1.5,1.5 0.8225,0 1.5,-0.67749 1.5,-1.5 0,-0.82251 -0.6775,-1.5 -1.5,-1.5 z"
- id="ellipse8525-5"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="sssss" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="M 27.5,11 A 0.50005,0.50005 0 0 0 27,11.5 v 10.851562 l 1,-1.75 V 12 h 12 v 12 h -3.099609 c 0.122248,0.339531 0.117057,0.686553 0.0039,1 H 40.5 A 0.50005,0.50005 0 0 0 41,24.5 v -13 A 0.50005,0.50005 0 0 0 40.5,11 Z"
- transform="matrix(-1,0,0,1,1290,-302.99979)"
- id="path8528-7"
- inkscape:connector-curvature="0" />
- </g>
- <path
- sodipodi:nodetypes="cccccccccccccccccccccccccccccc"
- inkscape:connector-curvature="0"
- id="path14394"
- d="m 98.999998,11.000004 v 4.000002 h -1 -1 v 3 h -1 v -2 h -1 v 5.000001 h -1 v -2.000001 h -1 v 3.560548 h -1 v -2.085938 h -1 v 2.525389 h -1 v 2 L 104,25.000007 v -2.421875 h -1 v -4.578126 h -1 v 2.000001 h -1 v -6.000003 h -1.000002 v -3 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 76,11 c -0.08389,-2.87e-4 -0.166503,0.02054 -0.240234,0.06055 l -5.5,3 C 70.099297,14.148474 69.999666,14.317023 70,14.5 v 7 c -3.35e-4,0.182978 0.0993,0.351528 0.259766,0.439453 l 5.5,3 C 75.833498,24.979467 75.916111,25.000288 76,25 h 1 c 0.08389,2.87e-4 0.166503,-0.02053 0.240234,-0.06055 l 5.5,-3 C 82.900703,21.851526 83.000334,21.682977 83,21.5 v -7 c 3.35e-4,-0.182978 -0.0993,-0.351528 -0.259766,-0.439453 l -5.5,-3 C 77.166502,11.020533 77.083889,10.999712 77,11 Z m 0.382812,2 h 0.240235 L 81,15.390625 v 5.21875 L 76.617188,23 H 76.382812 L 72,20.609375 v -5.21875 z"
- id="path14426"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="cccccccccccccccccccccccccc" />
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g14475"
- transform="translate(-1.8536743e-6,25.000005)">
- <g
- transform="matrix(1,0,0,-1,-294,368)"
- id="g4806-1"
- style="opacity:1;fill:#ffffff">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 300.5,375 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 3 a 0.50005,0.50005 0 0 0 0.5,0.5 h 11 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -3 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m 0.5,1 h 10 v 2 h -10 z"
- id="path4801-8"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 302.5,378 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 3 a 0.50005,0.50005 0 0 0 0.5,0.5 h 11 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -3 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m 0.5,1 h 10 v 2 h -10 z"
- id="path4804-1"
- inkscape:connector-curvature="0" />
+ <g style="display:inline;fill:#ffffff;enable-background:new" id="g12585" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" inkscape:export-xdpi="96" inkscape:export-ydpi="96" transform="matrix(-1,0,0,1,782,4.4999696e-6)">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="M 387.53125,473 C 386.69103,473 386,473.69103 386,474.53125 V 475 h -0.5 c -0.84022,0 -1.5,0.70952 -1.5,1.53125 v 0.9375 c 0,0.82173 0.65978,1.53125 1.5,1.53125 h 0.96875 c 0.1915,0 0.40039,-0.14519 0.61133,-0.21289 l 0.3164,0.31641 a 0.50005,0.50005 0 1 0 0.70704,-0.70704 l -0.5,-0.5 a 0.50005,0.50005 0 0 0 -0.70704,0 C 386.86607,477.9269 386.67628,478 386.46875,478 H 385.5 c -0.28602,0 -0.5,-0.22674 -0.5,-0.53125 v -0.9375 C 385,476.22674 385.21398,476 385.5,476 h 0.96875 c 0.02,0 0.0255,2.9e-4 0.0156,0 A 0.50005,0.50005 0 0 0 387,475.48438 c 2.9e-4,0.01 0,0.004 0,-0.0156 v -0.9375 C 387,474.24523 387.24523,474 387.53125,474 h 0.9375 c 0.28603,0 0.53125,0.24521 0.53125,0.53125 v 0.9375 c 0,0.20745 -0.0731,0.39731 -0.10352,0.42773 a 0.50005,0.50005 0 0 0 0,0.70704 l 0.5,0.5 a 0.50005,0.50005 0 1 0 0.70704,-0.70704 l -0.31641,-0.3164 C 389.85483,475.86914 390,475.66029 390,475.46875 v -0.9375 C 390,473.69101 389.30896,473 388.46875,473 Z m 6.71289,7.74414 a 0.50005,0.50005 0 0 0 -0.34766,0.85938 l 0.5,0.5 a 0.50005,0.50005 0 0 0 0.70704,0 c -0.0536,0.0536 0.0619,-0.0282 0.21093,-0.0586 C 395.46351,482.01449 395.64626,482 395.75,482 h 0.75 c 0.30453,0 0.5,0.19546 0.5,0.5 v 0.9375 c 0,0.30451 -0.23248,0.5625 -0.5,0.5625 h -0.9375 c -0.02,0 -0.0255,-2.9e-4 -0.0156,0 a 0.50005,0.50005 0 0 0 -0.46485,0.2832 0.50005,0.50005 0 0 0 -0.0117,0.0215 c -0.002,0.004 -0.003,0.004 -0.006,0.01 -0.006,0.0121 -0.0155,0.0273 -0.0273,0.0566 -0.006,0.0147 -0.012,0.0324 -0.0195,0.0606 -0.007,0.0281 -0.0176,0.13022 -0.0176,0.13086 V 485.5 c 0,0.28602 -0.24525,0.53126 -0.53125,0.53125 H 393.5 c -0.28602,0 -0.5,-0.22674 -0.5,-0.53125 v -0.9375 c 0,-0.19821 0.0977,-0.45261 0.11133,-0.4668 a 0.50005,0.50005 0 0 0 -0.008,-0.69922 l -0.5,-0.5 a 0.50005,0.50005 0 1 0 -0.70704,0.70704 l 0.31836,0.31836 C 392.14451,484.14157 392,484.36068 392,484.5625 V 485.5 c 0,0.82173 0.65978,1.53125 1.5,1.53125 h 0.96875 C 395.30899,487.03126 396,486.34022 396,485.5 V 485 h 0.5 c 0.85872,0 1.5,-0.74077 1.5,-1.5625 V 482.5 c 0,-0.82174 -0.67829,-1.5 -1.5,-1.5 h -0.75 c -0.17782,0 -0.40107,0.0167 -0.63477,0.0645 -0.0763,0.0156 -0.15636,0.0877 -0.23437,0.10938 l -0.27734,-0.27735 a 0.50005,0.50005 0 0 0 -0.35938,-0.15234 z" id="path12199" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 393.5,473 c -0.82416,0 -1.5,0.67974 -1.5,1.5 v 1 c 0,0.42842 0.21502,0.76851 0.50586,1.03711 l -4.96289,4.96484 C 387.27424,481.21375 386.93403,481 386.50781,481 h -1 c -0.82026,0 -1.5,0.67584 -1.5,1.5 0,0.82416 0.67974,1.5 1.5,1.5 h 1 0.5 v 0.5 1 c 0,0.82026 0.67585,1.5 1.5,1.5 0.82416,0 1.5,-0.67975 1.5,-1.5 v -1 c 0,-0.42841 -0.21502,-0.76851 -0.50586,-1.03711 l 4.96289,-4.96484 C 394.73357,478.78626 395.07378,479 395.5,479 h 1 c 0.82026,0 1.5,-0.67584 1.5,-1.5 0,-0.82416 -0.67974,-1.5 -1.5,-1.5 h -1 -0.5 v -0.5 -1 c 0,-0.82026 -0.67584,-1.5 -1.5,-1.5 z" id="path12208" inkscape:connector-curvature="0" sodipodi:nodetypes="sssccsssscccssssccsssscccss"/>
+ </g>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 388.50781,494 c -0.82415,0 -1.5,0.67974 -1.5,1.5 v 1 0.5 h -0.5 -1 c -0.82026,0 -1.5,0.67584 -1.5,1.5 0,0.82416 0.67974,1.5 1.5,1.5 h 1 c 0.42622,0 0.76643,-0.21374 1.03516,-0.50195 l 4.96289,4.96484 C 392.21502,504.73149 392,505.07159 392,505.5 v 1 c 0,0.82025 0.67584,1.5 1.5,1.5 0.82416,0 1.5,-0.67974 1.5,-1.5 v -1 -0.5 h 0.5 1 c 0.82026,0 1.5,-0.67584 1.5,-1.5 0,-0.82416 -0.67974,-1.5 -1.5,-1.5 h -1 c -0.42622,0 -0.76642,0.21375 -1.03516,0.50195 l -4.96289,-4.96484 c 0.29085,-0.2686 0.50586,-0.60869 0.50586,-1.03711 v -1 c 0,-0.82026 -0.67584,-1.5 -1.5,-1.5 z" id="path12213" inkscape:connector-curvature="0" sodipodi:nodetypes="sscccssssccsssscccssssccsss"/>
+ <g style="display:inline;fill:#ffffff;enable-background:new" id="g12687" transform="translate(-1.8536743e-6,42.000005)" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" inkscape:export-xdpi="96" inkscape:export-ydpi="96">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 313.48633,389.00977 a 0.50005,0.50005 0 0 0 -0.13281,0.0156 l -10.64454,2.70117 a 0.50005,0.50005 0 0 0 -0.0176,0.006 c -0.39202,0.1157 -0.73529,0.32904 -1.00782,0.60156 -0.57977,0.57978 -0.79354,1.4303 -0.73828,2.33399 0.0553,0.90369 0.37679,1.88678 0.94141,2.83789 a 0.50005,0.50005 0 0 0 0,0.002 c 0.0547,0.092 0.11038,0.1837 0.16992,0.27539 a 0.50056694,0.50056694 0 1 0 0.83984,-0.54492 c -0.0521,-0.0802 -0.10227,-0.16121 -0.15039,-0.24219 -0.4939,-0.83198 -0.75942,-1.68043 -0.80273,-2.38867 -0.0433,-0.70823 0.13039,-1.24953 0.44726,-1.5664 0.16272,-0.16272 0.36207,-0.28412 0.58399,-0.34961 l 9.81055,-2.49024 -2.49024,9.81445 c -0.0654,0.2249 -0.18247,0.41294 -0.34961,0.58008 -0.32315,0.32316 -0.90925,0.49604 -1.67187,0.42578 -0.76263,-0.0702 -1.66859,-0.38268 -2.52735,-0.93164 a 0.50005,0.50005 0 1 0 -0.53906,0.8418 c 0.97998,0.62645 2.02029,0.99785 2.97656,1.08594 0.95627,0.0881 1.86106,-0.10716 2.46875,-0.71485 0.27194,-0.27193 0.4884,-0.61189 0.60352,-1.00781 a 0.50005,0.50005 0 0 0 0.004,-0.0176 l 2.70117,-10.64453 a 0.50005,0.50005 0 0 0 -0.47461,-0.62304 z M 308,393.99414 a 1,1 0 0 0 -1,1 1,1 0 0 0 0.0352,0.25586 l -0.88868,0.88867 a 0.50005,0.50005 0 1 0 0.70704,0.70703 l 0.88671,-0.88672 a 1,1 0 0 0 0.25977,0.0352 1,1 0 0 0 1,-1 1,1 0 0 0 -1,-1 z m -3.50977,3.99219 a 0.50005,0.50005 0 0 0 -0.34375,0.15234 l -1,1 a 0.50005,0.50005 0 1 0 0.70704,0.70703 l 1,-1 a 0.50005,0.50005 0 0 0 -0.36329,-0.85937 z m -3.00195,3 a 0.50005,0.50005 0 0 0 -0.3418,0.15234 l -1,1.00391 a 0.50005,0.50005 0 1 0 0.70704,0.70508 l 1,-1.00391 a 0.50005,0.50005 0 0 0 -0.36524,-0.85742 z" transform="translate(1.8536743e-6,-42.000005)" id="path7527-5" inkscape:connector-curvature="0"/>
+ </g>
+ <g style="display:inline;fill:#ffffff;enable-background:new" id="g12682" transform="translate(-1.8536743e-6,42.000005)" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" inkscape:export-xdpi="96" inkscape:export-ydpi="96">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 325.05469,389.00391 c -0.66782,-0.018 -1.21728,4.6e-4 -1.57813,0.002 h -0.002 c -0.34416,2.5e-4 -0.65424,0.0639 -0.91602,0.22852 -0.2623,0.16491 -0.44433,0.43888 -0.51367,0.7207 -0.13867,0.56363 0.037,1.13654 0.3125,1.76758 0.55094,1.26206 1.63318,2.77176 2.73438,4.10351 a 0.50004997,0.50004997 0 1 0 0.76953,-0.63867 c -1.06758,-1.2911 -2.11546,-2.78301 -2.58789,-3.86523 -0.23622,-0.54112 -0.29509,-0.9754 -0.25782,-1.12696 0.0186,-0.0758 0.0265,-0.0852 0.0742,-0.11523 0.0478,-0.03 0.16614,-0.0742 0.38672,-0.0742 a 0.50004997,0.50004997 0 0 0 0.002,0 c 1.54352,-0.006 5.58742,-0.20164 8.14453,2.35547 2.5571,2.5571 2.35972,6.59906 2.35351,8.14258 a 0.50004997,0.50004997 0 0 0 0,0.002 c 0,0.22058 -0.0442,0.33897 -0.0742,0.38672 -0.03,0.0477 -0.0375,0.0575 -0.11328,0.0762 -0.15155,0.0373 -0.58779,-0.0216 -1.1289,-0.25781 -1.08223,-0.47244 -2.57414,-1.52227 -3.86524,-2.58985 a 0.50015227,0.50015227 0 1 0 -0.63672,0.77149 c 1.33176,1.1012 2.8395,2.18343 4.10157,2.73437 0.63103,0.27547 1.20395,0.45117 1.76757,0.3125 0.28182,-0.0693 0.55774,-0.25136 0.72266,-0.51367 0.16426,-0.26126 0.22607,-0.57268 0.22656,-0.91601 v -0.004 c 0.006,-1.44452 0.29493,-5.9121 -2.64648,-8.85352 -2.20662,-2.20661 -5.27193,-2.59451 -7.27539,-2.64843 z m 3.95117,4.99023 a 1,1 0 0 0 -1,1 1,1 0 0 0 0.0332,0.25781 l -0.88672,0.88672 a 0.50005,0.50005 0 1 0 0.70704,0.70703 l 0.88671,-0.88672 a 1,1 0 0 0 0.25977,0.0352 1,1 0 0 0 1,-1 1,1 0 0 0 -1,-1 z m -3.50977,3.99219 a 0.50005,0.50005 0 0 0 -0.34375,0.15234 l -1,1 a 0.50005,0.50005 0 1 0 0.70704,0.70703 l 1,-1 a 0.50005,0.50005 0 0 0 -0.36329,-0.85937 z m -3.00195,3 a 0.50005,0.50005 0 0 0 -0.34375,0.15234 l -1,1.00391 a 0.50005,0.50005 0 1 0 0.70899,0.70508 l 1,-1.00391 a 0.50005,0.50005 0 0 0 -0.36524,-0.85742 z" transform="translate(1.8536743e-6,-42.000005)" id="path7537-6" inkscape:connector-curvature="0"/>
+ </g>
+ <g style="display:inline;fill:#ffffff;enable-background:new" id="g12674" transform="translate(-1.8536743e-6,63.000005)" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" inkscape:export-xdpi="96" inkscape:export-ydpi="96">
+ <path style="opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:3.70000005;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none" d="m 343.50586,388.99219 a 0.50005,0.50005 0 0 0 -0.35547,0.14648 l -1.00391,1.00781 a 0.50005,0.50005 0 0 0 -0.0937,0.57618 l 3,6 a 0.50005,0.50005 0 1 0 0.89454,-0.44532 l -2.83985,-5.67968 0.60547,-0.60547 h 6.4707 l 4.72266,10.39062 -0.60937,0.60938 -5.98633,0.008 -0.35743,-0.72656 a 0.50005,0.50005 0 1 0 -0.89648,0.4414 l 0.49414,1.00586 A 0.50005,0.50005 0 0 0 348,402 l 6.50586,-0.008 a 0.50005,0.50005 0 0 0 0.35352,-0.14649 l 1,-1 a 0.50005,0.50005 0 0 0 0.10156,-0.56054 l -5,-11 a 0.50005,0.50005 0 0 0 -0.45508,-0.29297 z m 5.5,6.00195 a 1,1 0 0 0 -1,1 1,1 0 0 0 0.0332,0.25977 l -0.14258,0.14257 a 0.50005,0.50005 0 1 0 0.70704,0.70704 l 0.14453,-0.14454 a 1,1 0 0 0 0.25781,0.0352 1,1 0 0 0 1,-1 1,1 0 0 0 -1,-1 z m -2.50977,2.99219 a 0.50005,0.50005 0 0 0 -0.34375,0.15234 l -1,1 a 0.50005,0.50005 0 1 0 0.70704,0.70703 l 1,-1 a 0.50005,0.50005 0 0 0 -0.36329,-0.85937 z m -3.00195,3 a 0.50005,0.50005 0 0 0 -0.34375,0.15234 l -1,1.00391 a 0.50005,0.50005 0 1 0 0.70899,0.70508 l 1,-1.00391 a 0.50005,0.50005 0 0 0 -0.36524,-0.85742 z" transform="translate(1.8536743e-6,-63.000005)" id="circle12662" inkscape:connector-curvature="0"/>
+ </g>
+ <g id="g12707" style="display:inline;opacity:0.98999999;fill:#ffffff;stroke-width:1.07692313;enable-background:new" transform="matrix(0.92857149,0,0,0.92857137,22.930148,44.290705)" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" inkscape:export-xdpi="96" inkscape:export-ydpi="96">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 327.94922,619.99609 c -0.89539,0.0396 -1.29072,1.14622 -0.62305,1.74414 l 1.37305,1.26563 h -6.69727 c -1.36099,-0.0279 -1.36099,2.02794 0,2 h 3.0918 c -0.003,0.002 -0.005,0.004 -0.008,0.006 l -4.75,4.24805 c -0.99479,0.88933 0.33919,2.38151 1.33398,1.49218 l 2.33985,-2.09375 c 0.0823,2.95524 2.51793,5.34766 5.49218,5.34766 3.02565,0 5.49805,-2.47428 5.49805,-5.5 0,-1.56564 -0.6642,-2.98065 -1.72266,-3.98438 l -4.59961,-4.25195 c -0.19597,-0.18575 -0.45872,-0.28437 -0.72851,-0.27344 z m 1.55273,5.00977 c 1.94471,0 3.5,1.5551 3.5,3.5 0,1.94489 -1.55529,3.5 -3.5,3.5 -1.94472,0 -3.5,-1.55511 -3.5,-3.5 0,-1.9449 1.55528,-3.5 3.5,-3.5 z m -0.0176,1.78516 a 1.7319623,1.7139345 0 0 0 -1.73243,1.71484 1.7319623,1.7139345 0 0 0 1.73243,1.71289 1.7319623,1.7139345 0 0 0 1.73242,-1.71289 1.7319623,1.7139345 0 0 0 -1.73242,-1.71484 z" transform="matrix(1.076923,0,0,1.0769231,-24.694004,-47.697685)" id="path12703" inkscape:connector-curvature="0"/>
+ </g>
+ <g transform="translate(-210.00712,-588.00007)" id="g12466" style="display:inline;opacity:1;fill:#ffffff;enable-background:new" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" inkscape:export-xdpi="96" inkscape:export-ydpi="96">
+ <g transform="translate(22)" id="g12463" style="fill:#ffffff">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 557.5,620 a 0.50005,0.50005 0 1 0 0,1 h 6.99219 a 0.50005,0.50005 0 1 0 0,-1 z m 0,2 a 0.50005,0.50005 0 1 0 0,1 h 6.99219 a 0.50005,0.50005 0 1 0 0,-1 z m 0,2 a 0.50005,0.50005 0 1 0 0,1 h 6.99219 a 0.50005,0.50005 0 1 0 0,-1 z m 0,5 a 0.50005,0.50005 0 1 0 0,1 h 6.99219 a 0.50005,0.50005 0 1 0 0,-1 z m 0,2 a 0.50005,0.50005 0 1 0 0,1 h 6.99219 a 0.50005,0.50005 0 1 0 0,-1 z m 0,2 a 0.50005,0.50005 0 1 0 0,1 h 7 a 0.50005,0.50005 0 1 0 0,-1 z" id="path12459" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 553.48438,620 a 0.50005,0.50005 0 0 0 -0.3379,0.14648 l -2,2 a 0.50005,0.50005 0 1 0 0.70704,0.70704 L 553,621.70703 V 625.5 a 0.50005,0.50005 0 1 0 1,0 v -5 A 0.50005,0.50005 0 0 0 553.48438,620 Z M 553,628 c -0.79172,0 -1.70536,0.42737 -1.98047,1.35938 a 0.50062501,0.50062501 0 1 0 0.96094,0.28124 C 552.10464,629.21999 552.55814,629 553,629 c 0.31942,0 0.59941,0.0632 0.75391,0.16602 0.1545,0.10279 0.25034,0.21211 0.2539,0.58789 5.6e-4,0.20689 -0.076,0.32805 -0.29687,0.52148 -0.22152,0.19398 -0.57835,0.40234 -0.9668,0.64453 -0.38845,0.24219 -0.81151,0.52364 -1.1543,0.93555 -0.34278,0.4119 -0.58774,0.96871 -0.58984,1.64258 A 0.50005,0.50005 0 0 0 551.5,634 h 3 a 0.50005,0.50005 0 1 0 0,-1 h -2.32227 c 0.0615,-0.1621 0.068,-0.36972 0.17969,-0.50391 0.22282,-0.26775 0.55267,-0.50197 0.91602,-0.72851 0.36335,-0.22654 0.7571,-0.44007 1.09765,-0.73828 0.34056,-0.29822 0.6393,-0.73918 0.63672,-1.28125 a 0.50005,0.50005 0 0 0 0,-0.002 c -0.006,-0.62417 -0.29003,-1.13985 -0.69922,-1.41211 C 553.89941,628.06173 553.43058,628 553,628 Z" id="path12461" inkscape:connector-curvature="0"/>
</g>
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="M 8.5,-4 A 0.50005,0.50005 0 0 0 8,-3.5 v 3 A 0.50005,0.50005 0 0 0 8.5,0 h 11 A 0.50005,0.50005 0 0 0 20,-0.5 v -3 A 0.50005,0.50005 0 0 0 19.5,-4 Z M 9,-3 h 10 v 2 H 9 Z"
- id="path4817-4"
- inkscape:connector-curvature="0" />
- </g>
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g14588"
- transform="translate(-42.000002,25.000005)">
- <path
- id="path14541"
- d="m 153.5,-9 c -0.27613,2.76e-5 -0.49997,0.2238691 -0.5,0.5 v 8 c 3e-5,0.27613094 0.22387,0.499972391047 0.5,0.5 h 8 c 0.27613,-2.7608953e-5 0.49997,-0.22386906 0.5,-0.5 v -8 c -3e-5,-0.2761309 -0.22387,-0.4999724 -0.5,-0.5 z m 6.5,1 c 0.54636,0 1,0.4536376 1,1 0,0.5463624 -0.45364,1 -1,1 -0.54636,0 -1,-0.4536376 -1,-1 0,-0.5463624 0.45364,-1 1,-1 z m -2.98047,1.75 c 0.17034,0.00643 0.32566,0.099184 0.41211,0.2460938 l 2.5,4.25 C 160.12825,-1.4202448 159.88728,-0.99936558 159.5,-1 h -5 c -0.38728,6.3442e-4 -0.62825,-0.4202448 -0.43164,-0.7539062 l 2.5,-4.25 c 0.0935,-0.1589489 0.26691,-0.2535338 0.45117,-0.2460938 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <g
- id="g14560"
- transform="translate(147)"
- style="fill:#ffffff">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 10.5,-14 c -0.276131,2.8e-5 -0.499972,0.223869 -0.5,0.5 v 3 c 2.8e-5,0.276131 0.223869,0.499972 0.5,0.5 h 9 c 0.276131,-2.8e-5 0.499972,-0.223869 0.5,-0.5 v -3 c -2.8e-5,-0.276131 -0.223869,-0.499972 -0.5,-0.5 z m 0.5,1 h 8 v 2 h -8 z m 5,7 v 1 h 3 v 2 h -3 v 1 h 3.5 c 0.276131,-2.76e-5 0.499972,-0.2238691 0.5,-0.5 v -3 c -2.8e-5,-0.2761309 -0.223869,-0.4999724 -0.5,-0.5 z"
- id="path14558"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="ccccccccccccccccccccccccc" />
+ </g>
+ <g transform="translate(-1.8536743e-6,4.4999696e-6)" id="g21139" style="display:inline;opacity:0.7;fill:#ffffff;enable-background:new">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.3;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 412,179 c -3.86007,0 -7,3.13993 -7,7 0,3.86007 3.13993,7 7,7 3.86007,0 7,-3.13993 7,-7 0,-3.86007 -3.13993,-7 -7,-7 z m 0,1 c 3.31963,0 6,2.68037 6,6 0,3.31963 -2.68037,6 -6,6 -3.31963,0 -6,-2.68037 -6,-6 0,-3.31963 2.68037,-6 6,-6 z" id="path12522" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.99999988;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 412,184 c -1.09865,0 -2,0.90135 -2,2 0,1.09865 0.90135,2 2,2 1.09865,0 2,-0.90135 2,-2 0,-1.09865 -0.90135,-2 -2,-2 z" id="path12526" inkscape:connector-curvature="0" sodipodi:nodetypes="sssss"/>
+ </g>
+ <g transform="rotate(-180,670.50713,476.50011)" style="display:inline;opacity:0.98999999;fill:#ffffff;enable-background:new" id="g9316-9" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" inkscape:export-xdpi="96" inkscape:export-ydpi="96">
+ <g transform="translate(438,704)" id="g8254-6" style="fill:#ffffff"/>
+ <g style="fill:#ffffff;stroke-width:1.09491563" id="g8219-5" transform="matrix(0.99217072,0,0,0.84072177,457.69618,698.42569)"/>
+ <g id="g8268-6" transform="rotate(90,613.50354,483.5038)" style="fill:#ffffff">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="M 746.49219,-91.007812 A 0.50005,0.50005 0 0 0 746,-90.5 v 2.503906 l -2.5,0.0039 a 0.50005,0.50005 0 1 0 0,1 l 3,-0.0039 a 0.50005,0.50005 0 0 0 0.5,-0.5 V -90.5 a 0.50005,0.50005 0 0 0 -0.50781,-0.507812 z m 2.00781,3.015624 a 0.50005,0.50005 0 1 0 0,1 h 3 a 0.50005,0.50005 0 1 0 0,-1 z m 5,0 a 0.50005,0.50005 0 1 0 0,1 h 3 a 0.50005,0.50005 0 1 0 0,-1 z m -7.00781,1.986329 A 0.50005,0.50005 0 0 0 746,-85.5 v 3 a 0.50005,0.50005 0 1 0 1,0 v -3 a 0.50005,0.50005 0 0 0 -0.50781,-0.505859 z m 0,5 A 0.50005,0.50005 0 0 0 746,-80.5 v 3 a 0.50005,0.50005 0 1 0 1,0 v -3 a 0.50005,0.50005 0 0 0 -0.50781,-0.505859 z" id="path8265-4" inkscape:connector-curvature="0"/>
</g>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 160.5,327 c -0.8223,0 -1.5,0.67765 -1.5,1.5 v 4 c 0,0.82235 0.6777,1.5 1.5,1.5 h 5 c 0.8224,0 1.5,-0.67765 1.5,-1.5 v -4 c 0,-0.82235 -0.6776,-1.5 -1.5,-1.5 z m 0,5 h 5 a 0.50005,0.50005 0 1 1 0,1 h -5 a 0.50005,0.50005 0 1 1 0,-1 z" transform="rotate(180,670.50713,476.50011)" id="rect8324-7-9-0" inkscape:connector-curvature="0"/>
</g>
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g14668"
- transform="matrix(-1,0,0,1,530,30.000005)">
- <path
- inkscape:connector-curvature="0"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 258.5,-19 c -0.27613,2.8e-5 -0.49997,0.223869 -0.5,0.5 v 13 c 3e-5,0.2761309 0.22387,0.4999724 0.5,0.5 h 13 c 0.27613,-2.76e-5 0.49997,-0.2238691 0.5,-0.5 v -13 c -3e-5,-0.276131 -0.22387,-0.499972 -0.5,-0.5 z m 1.5,2 h 6 v 4 h 4 v 6 h -6 v -4 h -4 z"
- id="path14664" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:0.5;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.89999986;marker:none;enable-background:accumulate"
- d="m 260,-17 h 6 v 4 h -2 v 2 h -4 z"
- id="path14666"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="ccccccc" />
- </g>
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.55;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="M 261.03125,601 C 260.46859,601 260,601.46859 260,602.03125 v 7.9375 c 0,0.56266 0.46859,1.03125 1.03125,1.03125 h 7.9375 C 269.53141,611 270,610.53141 270,609.96875 v -7.9375 C 270,601.46859 269.53141,601 268.96875,601 Z m 0,1 h 7.9375 c 0.026,0 0.0312,0.005 0.0312,0.0312 v 7.9375 c 0,0.026 -0.005,0.0312 -0.0312,0.0312 h -7.9375 c -0.026,0 -0.0312,-0.005 -0.0312,-0.0312 v -7.9375 c 0,-0.026 0.005,-0.0312 0.0312,-0.0312 z"
- id="rect13790"
- inkscape:connector-curvature="0" />
- <path
- inkscape:connector-curvature="0"
- id="path13905"
- d="M 282.03125,601 C 281.46859,601 281,601.46859 281,602.03125 v 7.9375 c 0,0.56266 0.46859,1.03125 1.03125,1.03125 h 7.9375 C 290.53141,611 291,610.53141 291,609.96875 v -7.9375 C 291,601.46859 290.53141,601 289.96875,601 Z m 6.94922,1.99023 a 1.0001,1.0001 0 0 1 0.72656,1.7168 l -4,4 a 1.0001,1.0001 0 0 1 -1.41406,0 l -2,-2 a 1.0001,1.0001 0 1 1 1.41406,-1.41406 l 1.29297,1.29297 3.29297,-3.29297 a 1.0001,1.0001 0 0 1 0.6875,-0.30274 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 265,622 c -2.7555,0 -5,2.2445 -5,5 0,2.7555 2.2445,5 5,5 2.7555,0 5,-2.2445 5,-5 0,-2.7555 -2.2445,-5 -5,-5 z m 0,1 c 2.21506,0 4,1.78494 4,4 0,2.21506 -1.78494,4 -4,4 -2.21506,0 -4,-1.78494 -4,-4 0,-2.21506 1.78494,-4 4,-4 z"
- id="path13966"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 286,622 c -2.7555,0 -5,2.2445 -5,5 0,2.7555 2.2445,5 5,5 2.7555,0 5,-2.2445 5,-5 0,-2.7555 -2.2445,-5 -5,-5 z"
- id="circle13982"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="sssss" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 220.4707,623.75 c -0.26463,0.0156 -0.47113,0.23492 -0.4707,0.5 v 4.25 c 1.7e-4,0.35718 0.36395,0.59902 0.69336,0.46094 l 4.75,-2 c 0.39771,-0.16741 0.41088,-0.72615 0.0215,-0.91211 l -4.75,-2.25 c -0.076,-0.0366 -0.15996,-0.0534 -0.24416,-0.0488 z"
- id="path14031"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="cccccccc" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 370,625 c -1.09865,0 -2,0.90135 -2,2 0,1.09865 0.90135,2 2,2 1.09865,0 2,-0.90135 2,-2 0,-1.09865 -0.90135,-2 -2,-2 z"
- id="circle14040"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="sssss" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 28.5,431 a 1.50015,1.50015 0 0 0 -1.341797,2.16992 l 5.5,11 a 1.50015,1.50015 0 0 0 2.683594,0 l 5.5,-11 A 1.50015,1.50015 0 0 0 39.5,431 Z m 2.425781,3 h 6.148438 L 34,440.14648 Z"
- id="path14201"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="M 306.49219,577.99219 A 0.50004997,0.50004997 0 0 0 306,578.5 v 2.79297 l -2.14648,-2.14649 a 0.50004997,0.50004997 0 1 0 -0.70704,0.70704 L 306,582.70703 v 0.58203 c -0.58959,0.34718 -0.99219,0.98165 -0.99219,1.71094 h -0.30078 l -2.85351,-2.85352 a 0.50004997,0.50004997 0 0 0 -0.35938,-0.15234 0.50004997,0.50004997 0 0 0 -0.34766,0.85938 L 303.29297,585 H 300.5 a 0.50004997,0.50004997 0 1 0 0,1 h 2.79297 l -2.14649,2.14648 a 0.50004997,0.50004997 0 1 0 0.70704,0.70704 L 304.70703,586 h 0.58203 c 0.34718,0.58959 0.98165,0.99219 1.71094,0.99219 v 0.30078 l -2.85352,2.85351 a 0.50004997,0.50004997 0 1 0 0.70704,0.70704 L 307,588.70703 V 591.5 a 0.50004997,0.50004997 0 1 0 1,0 v -2.79297 l 2.14648,2.14649 a 0.50004997,0.50004997 0 1 0 0.70704,-0.70704 L 308,587.29297 v -0.58203 c 0.58959,-0.34718 0.99219,-0.98165 0.99219,-1.71094 h 0.30078 l 2.85351,2.85352 a 0.50004997,0.50004997 0 1 0 0.70704,-0.70704 L 310.70703,585 H 313.5 a 0.50004997,0.50004997 0 1 0 0,-1 h -2.79297 l 2.14649,-2.14648 a 0.50004997,0.50004997 0 0 0 -0.36329,-0.85743 0.50004997,0.50004997 0 0 0 -0.34375,0.15039 L 309.29297,584 h -0.58203 c -0.34718,-0.58959 -0.98165,-0.99219 -1.71094,-0.99219 v -0.30078 l 2.85352,-2.85351 a 0.50004997,0.50004997 0 1 0 -0.70704,-0.70704 L 307,581.29297 V 578.5 a 0.50004997,0.50004997 0 0 0 -0.50781,-0.50781 z M 307,584.00781 c 0.55427,0 0.99219,0.43792 0.99219,0.99219 0,0.55427 -0.43792,0.99219 -0.99219,0.99219 -0.55427,0 -0.99219,-0.43792 -0.99219,-0.99219 0,-0.55427 0.43792,-0.99219 0.99219,-0.99219 z"
- id="path14282"
- inkscape:connector-curvature="0" />
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g14048"
- transform="translate(294,571)">
- <g
- transform="matrix(-0.53033009,-0.53033009,-0.53033009,0.53033009,472.85846,-15.235808)"
- id="g13853"
- style="fill:#ffffff;stroke:#ffffff;stroke-width:1.33333337;stroke-miterlimit:4;stroke-dasharray:none">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.33333337;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 306.99023,243.60938 a 0.66673335,0.66673335 0 0 0 -0.65625,0.67578 v 4.99023 h -4.99023 a 0.666995,0.666995 0 1 0 0,1.33399 h 4.99023 v 4.99023 a 0.66673335,0.66673335 0 1 0 1.33204,0 v -4.99023 h 4.99023 a 0.666995,0.666995 0 1 0 0,-1.33399 h -4.99023 v -4.99023 a 0.66673335,0.66673335 0 0 0 -0.67579,-0.67578 z"
- id="path13850"
- inkscape:connector-curvature="0" />
+ <g transform="translate(-1022,-287.00021)" style="display:inline;opacity:0.98999999;fill:#ffffff;enable-background:new" id="g9304-8" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" inkscape:export-xdpi="96" inkscape:export-ydpi="96">
+ <g transform="translate(419,704)" id="g8292-1" style="fill:#ffffff">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="M 746.49219,-91.007812 A 0.50005,0.50005 0 0 0 746,-90.5 v 3 a 0.50005,0.50005 0 1 0 1,0 v -3 a 0.50005,0.50005 0 0 0 -0.50781,-0.507812 z m 0,5 A 0.50005,0.50005 0 0 0 746,-85.5 v 3 a 0.50005,0.50005 0 1 0 1,0 v -3 a 0.50005,0.50005 0 0 0 -0.50781,-0.507812 z m 0,5 A 0.50005,0.50005 0 0 0 746,-80.5 v 3 a 0.50005,0.50005 0 1 0 1,0 v -3 a 0.50005,0.50005 0 0 0 -0.50781,-0.507812 z" id="path8290-6" inkscape:connector-curvature="0"/>
</g>
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="M 177.49219,-56.007812 A 0.50005,0.50005 0 0 0 177,-55.5 v 6 a 0.50005,0.50005 0 1 0 1,0 V -52 h 0.5 a 0.50005,0.50005 0 1 0 0,-1 H 178 v -2.5 a 0.50005,0.50005 0 0 0 -0.50781,-0.507812 z m 7.00195,0.002 a 0.50005,0.50005 0 0 0 -0.34766,0.859375 l 2.64649,2.646484 -2.64649,2.646484 a 0.50005,0.50005 0 1 0 0.70704,0.707032 l 3,-3 a 0.50005,0.50005 0 0 0 0,-0.707032 l -3,-3 a 0.50005,0.50005 0 0 0 -0.35938,-0.152343 z M 180.5,-53 a 0.50005,0.50005 0 1 0 0,1 h 1 a 0.50005,0.50005 0 1 0 0,-1 z m 3,0 a 0.50005,0.50005 0 1 0 0,1 h 1 a 0.50005,0.50005 0 1 0 0,-1 z"
- id="path13907"
- inkscape:connector-curvature="0" />
- </g>
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- transform="rotate(-180,275.49999,225.99747)"
- id="g14033">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 184.49414,-76.005859 c -0.4494,8.8e-5 -0.67059,0.546839 -0.34766,0.859375 l 2.64649,2.646484 -2.64649,2.646484 c -0.4905,0.471264 0.23578,1.197538 0.70704,0.707032 l 3,-3 c 0.19518,-0.195265 0.19518,-0.511767 0,-0.707032 l -3,-3 c -0.0942,-0.09737 -0.2239,-0.152345 -0.35938,-0.152343 z M 175.49219,-73 c -0.27615,0.0043 -0.49651,0.231666 -0.49219,0.507812 v 1 c -0.01,0.676161 1.00956,0.676161 1,0 v -1 c 0.004,-0.282265 -0.22554,-0.512227 -0.50781,-0.507812 z m 5.00781,0 c -0.67616,-0.0096 -0.67616,1.009563 0,1 h 1 c 0.67616,0.0096 0.67616,-1.009563 0,-1 z m 3,0 c -0.67616,-0.0096 -0.67616,1.009563 0,1 h 1 c 0.67616,0.0096 0.67616,-1.009563 0,-1 z m -6,0.0078 c -0.67616,-0.0096 -0.67616,1.009563 0,1 h 1 c 0.67616,0.0096 0.67616,-1.009563 0,-1 z M 175.49219,-70 c -0.27615,0.0043 -0.49651,0.231666 -0.49219,0.507812 v 1 c -0.01,0.676161 1.00956,0.676161 1,0 v -1 c 0.004,-0.282265 -0.22554,-0.512227 -0.50781,-0.507812 z"
- id="path14029"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="cccccccccccccccccccccccccccccccccccc" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 175.5,-67 c -0.8225,0 -1.5,0.677495 -1.5,1.5 0,0.822505 0.6775,1.5 1.5,1.5 0.8225,0 1.5,-0.677495 1.5,-1.5 0,-0.822505 -0.6775,-1.5 -1.5,-1.5 z"
- id="circle14031"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="sssss" />
- </g>
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g14223"
- transform="rotate(-180,317.49493,236.50149)">
- <g
- style="fill:#ffffff;stroke:#ffffff;stroke-width:1.33333337;stroke-miterlimit:4;stroke-dasharray:none"
- id="g14219"
- transform="matrix(-0.53033009,-0.53033009,-0.53033009,0.53033009,472.85846,-15.235808)">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.33333337;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 306.99023,243.60938 a 0.66673335,0.66673335 0 0 0 -0.65625,0.67578 v 4.99023 h -4.99023 a 0.666995,0.666995 0 1 0 0,1.33399 h 4.99023 v 4.99023 a 0.66673335,0.66673335 0 1 0 1.33204,0 v -4.99023 h 4.99023 a 0.666995,0.666995 0 1 0 0,-1.33399 h -4.99023 v -4.99023 a 0.66673335,0.66673335 0 0 0 -0.67579,-0.67578 z"
- id="path14217"
- inkscape:connector-curvature="0" />
+ <g transform="translate(435,709)" id="g8299-5" style="fill:#ffffff"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 134.5,330 c -0.8224,0 -1.5,0.67765 -1.5,1.5 v 4 c 0,0.82235 0.6776,1.5 1.5,1.5 h 5 c 0.8224,0 1.5,-0.67765 1.5,-1.5 v -4 c 0,-0.82235 -0.6776,-1.5 -1.5,-1.5 z m 0,5 h 5 a 0.50005,0.50005 0 1 1 0,1 h -5 a 0.50005,0.50005 0 1 1 0,-1 z" transform="translate(1022,287.00021)" id="rect8324-7-9" inkscape:connector-curvature="0"/>
+ </g>
+ <g transform="translate(-1021,-287.00021)" style="display:inline;opacity:0.98999999;fill:#ffffff;enable-background:new" id="g9296-0" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" inkscape:export-xdpi="96" inkscape:export-ydpi="96">
+ <g id="g8328-6" transform="translate(415,710)" style="fill:#ffffff">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 115.5,331 c -0.82235,0 -1.5,0.67765 -1.5,1.5 v 4 c 0,0.82235 0.67765,1.5 1.5,1.5 h 5 c 0.82235,0 1.5,-0.67765 1.5,-1.5 v -4 c 0,-0.82235 -0.67765,-1.5 -1.5,-1.5 z m 0,5 h 5 a 0.50005,0.50005 0 1 1 0,1 h -5 a 0.50005,0.50005 0 1 1 0,-1 z" transform="translate(606,-422.99979)" id="rect8324-7" inkscape:connector-curvature="0"/>
</g>
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="M 177.49219,-56.007812 A 0.50005,0.50005 0 0 0 177,-55.5 v 6 a 0.50005,0.50005 0 1 0 1,0 V -52 h 0.5 a 0.50005,0.50005 0 1 0 0,-1 H 178 v -2.5 a 0.50005,0.50005 0 0 0 -0.50781,-0.507812 z m 7.00195,0.002 a 0.50005,0.50005 0 0 0 -0.34766,0.859375 l 2.64649,2.646484 -2.64649,2.646484 a 0.50005,0.50005 0 1 0 0.70704,0.707032 l 3,-3 a 0.50005,0.50005 0 0 0 0,-0.707032 l -3,-3 a 0.50005,0.50005 0 0 0 -0.35938,-0.152343 z M 180.5,-53 a 0.50005,0.50005 0 1 0 0,1 h 1 a 0.50005,0.50005 0 1 0 0,-1 z m 3,0 a 0.50005,0.50005 0 1 0 0,1 h 1 a 0.50005,0.50005 0 1 0 0,-1 z"
- id="path14221"
- inkscape:connector-curvature="0" />
- </g>
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g14371"
- transform="matrix(1,0,0,-1,336,494)">
- <g
- transform="matrix(1,0,0,-1,0,-99.00505)"
- id="g14352"
- style="fill:#ffffff">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 520.49414,515 a 0.50005,0.50005 0 0 0 -0.34766,0.85938 l 2.64649,2.64648 -2.64649,2.64648 a 0.50005,0.50005 0 1 0 0.70704,0.70704 l 3,-3 a 0.50005,0.50005 0 0 0 0,-0.70704 l -3,-3 A 0.50005,0.50005 0 0 0 520.49414,515 Z m 0.0332,2.99414 a 0.50005,0.50005 0 0 0 -0.14843,0.0215 l -1,0.25 a 0.50005,0.50005 0 0 0 0.0937,0.98633 0.50005,0.50005 0 0 0 0.14843,-0.0176 l 1,-0.25 a 0.50005,0.50005 0 0 0 -0.0937,-0.99024 z m -3,0.75 a 0.50005,0.50005 0 0 0 -0.14843,0.0215 l -1,0.25 a 0.50005,0.50005 0 0 0 0.0937,0.98633 0.50005,0.50005 0 0 0 0.14843,-0.0176 l 1,-0.25 a 0.50005,0.50005 0 0 0 -0.0937,-0.99024 z m -3.02343,1.24805 a 0.50005,0.50005 0 0 0 -0.35743,0.15429 l -1,1 a 0.50005,0.50005 0 0 0 0.34766,0.85938 0.50005,0.50005 0 0 0 0.35938,-0.15234 l 1,-1 a 0.50005,0.50005 0 0 0 -0.34961,-0.86133 z m -1.9961,3 A 0.50005,0.50005 0 0 0 512,523.5 v 1 a 0.50005,0.50005 0 0 0 0.49219,0.50781 A 0.50005,0.50005 0 0 0 513,524.5 v -1 a 0.50005,0.50005 0 0 0 -0.49219,-0.50781 z"
- transform="translate(-336,-593.00505)"
- id="path14350"
- inkscape:connector-curvature="0" />
+ <g id="g8338-5" transform="rotate(90,593.00354,462.0038)" style="fill:#ffffff">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="M 746.49219,-91.007812 A 0.50005,0.50005 0 0 0 746,-90.5 v 3 a 0.50005,0.50005 0 1 0 1,0 v -3 a 0.50005,0.50005 0 0 0 -0.50781,-0.507812 z m 0,5 A 0.50005,0.50005 0 0 0 746,-85.5 v 3 a 0.50005,0.50005 0 1 0 1,0 v -3 a 0.50005,0.50005 0 0 0 -0.50781,-0.507812 z m 0,5 A 0.50005,0.50005 0 0 0 746,-80.5 v 3 a 0.50005,0.50005 0 1 0 1,0 v -3 a 0.50005,0.50005 0 0 0 -0.50781,-0.507812 z" id="path8336-9" inkscape:connector-curvature="0"/>
</g>
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 176.5,-32 c 0.8225,0 1.5,-0.677495 1.5,-1.5 0,-0.822505 -0.6775,-1.5 -1.5,-1.5 -0.8225,0 -1.5,0.677495 -1.5,1.5 0,0.822505 0.6775,1.5 1.5,1.5 z"
- id="circle14357"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="sssss" />
- </g>
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g14377"
- transform="translate(210,592)">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 184.49414,-76.005859 c -0.4494,8.8e-5 -0.67059,0.546839 -0.34766,0.859375 l 2.64649,2.646484 -2.64649,2.646484 c -0.4905,0.471264 0.23578,1.197538 0.70704,0.707032 l 3,-3 c 0.19518,-0.195265 0.19518,-0.511767 0,-0.707032 l -3,-3 c -0.0942,-0.09737 -0.2239,-0.152345 -0.35938,-0.152343 z M 175.49219,-73 c -0.27615,0.0043 -0.49651,0.231666 -0.49219,0.507812 v 1 c -0.01,0.676161 1.00956,0.676161 1,0 v -1 c 0.004,-0.282265 -0.22554,-0.512227 -0.50781,-0.507812 z m 5.00781,0 c -0.67616,-0.0096 -0.67616,1.009563 0,1 h 1 c 0.67616,0.0096 0.67616,-1.009563 0,-1 z m 3,0 c -0.67616,-0.0096 -0.67616,1.009563 0,1 h 1 c 0.67616,0.0096 0.67616,-1.009563 0,-1 z m -6,0.0078 c -0.67616,-0.0096 -0.67616,1.009563 0,1 h 1 c 0.67616,0.0096 0.67616,-1.009563 0,-1 z M 175.49219,-70 c -0.27615,0.0043 -0.49651,0.231666 -0.49219,0.507812 v 1 c -0.01,0.676161 1.00956,0.676161 1,0 v -1 c 0.004,-0.282265 -0.22554,-0.512227 -0.50781,-0.507812 z"
- id="path14373"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="cccccccccccccccccccccccccccccccccccc" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 175.5,-67 c -0.8225,0 -1.5,0.677495 -1.5,1.5 0,0.822505 0.6775,1.5 1.5,1.5 0.8225,0 1.5,-0.677495 1.5,-1.5 0,-0.822505 -0.6775,-1.5 -1.5,-1.5 z"
- id="circle14375"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="sssss" />
- </g>
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- transform="matrix(-1,0,0,1,676.99998,550)"
- id="g14389">
- <g
- id="g14381"
- transform="matrix(1,0,0,-1,0,-99.00505)"
- style="fill:#ffffff">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="M 500.50586,518.99219 A 0.50005,0.50005 0 0 0 500,519.5 v 1 a 0.50005,0.50005 0 1 0 1,0 v -1 a 0.50005,0.50005 0 0 0 -0.49219,-0.50781 0.50005,0.50005 0 0 1 -0.002,0 z m -8.00977,2.99609 a 0.50005,0.50005 0 0 0 -0.34961,0.15234 l -3,3 a 0.50005,0.50005 0 0 0 0,0.70704 l 3,3 a 0.50005,0.50005 0 0 0 0.35938,0.15234 0.50005,0.50005 0 0 0 0.34766,-0.85938 l -2.64649,-2.64648 2.64649,-2.64648 a 0.50005,0.50005 0 0 0 -0.35743,-0.85938 z m 7.00977,0.006 a 0.50005,0.50005 0 0 0 -0.35938,0.15234 l -1,1 a 0.50005,0.50005 0 1 0 0.70704,0.70704 l 1,-1 a 0.50005,0.50005 0 0 0 -0.34766,-0.85938 z m -3.0293,2.00391 a 0.50005,0.50005 0 0 0 -0.0976,0.0176 l -1,0.25 a 0.50005,0.50005 0 1 0 0.24218,0.96876 l 1,-0.25 a 0.50005,0.50005 0 0 0 -0.0937,-0.98633 0.50005,0.50005 0 0 0 -0.0508,0 z m -3,0.75 a 0.50005,0.50005 0 0 0 -0.0976,0.0176 l -1,0.25 a 0.50005,0.50005 0 1 0 0.24218,0.96876 l 1,-0.25 a 0.50005,0.50005 0 0 0 -0.0937,-0.98633 0.50005,0.50005 0 0 0 -0.0508,0 z"
- transform="rotate(-180,338.49999,225.49747)"
- id="path14379"
- inkscape:connector-curvature="0" />
+ </g>
+ <path inkscape:connector-curvature="0" id="path22951-5" d="m 52.5,410 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 3 a 0.50005,0.50005 0 0 0 0.5,0.5 h 3 A 0.50005,0.50005 0 0 0 56,413.5 V 412 h 0.5 c 1.293073,0 2.425866,0.35206 3.21875,1.00977 C 60.511634,413.66747 61,414.62406 61,416 c 0,1.58333 -0.78109,3.05511 -2.240234,4.16406 C 57.300621,421.27301 55.159091,422 52.5,422 H 52 v -1.5 A 0.50005,0.50005 0 0 0 51.5,420 h -3 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 3 a 0.50005,0.50005 0 0 0 0.5,0.5 h 3 A 0.50005,0.50005 0 0 0 52,423.5 V 423 h 0.5 c 2.840909,0 5.199379,-0.77301 6.865234,-2.03906 C 61.03109,419.69489 62,417.91667 62,416 62,414.37594 61.372824,413.08253 60.357422,412.24023 59.34202,411.39794 57.973784,411 56.5,411 H 56 v -0.5 A 0.50005,0.50005 0 0 0 55.5,410 Z m 0.5,1 h 2 v 2 h -2 z m -4,10 h 2 v 2 h -2 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 53.5,431 a 1.50015,1.50015 0 1 0 0,3 H 55 c 1.249468,0.006 2.332699,0.37671 3.013672,0.94141 0.682107,0.56564 1.059323,1.26298 0.988281,2.4707 -0.09036,1.53611 -0.972327,2.5432 -2.498047,3.35351 -1.525719,0.81032 -3.632465,1.22991 -5.447265,1.23438 H 49.5 a 1.50015,1.50015 0 1 0 0,3 h 1.5625 0.002 c 2.24072,-0.006 4.728077,-0.46126 6.845703,-1.58594 2.117627,-1.12468 3.928252,-3.11228 4.087891,-5.82617 0.120132,-2.04228 -0.719411,-3.83841 -2.068359,-4.95703 -1.348949,-1.11862 -3.108979,-1.6232 -4.923829,-1.63086 h -0.002 z" id="path8588-0" inkscape:connector-curvature="0"/>
+ <rect style="display:inline;opacity:0;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:new" id="rect5217-4-0" width="16" height="16" x="110" y="430" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" inkscape:export-xdpi="96" inkscape:export-ydpi="96"/>
+ <g style="display:inline;fill:#ffffff;enable-background:new" id="g12761" transform="translate(71.999998,4.4999696e-6)" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" inkscape:export-xdpi="96" inkscape:export-ydpi="96">
+ <path style="display:inline;opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;enable-background:new" d="m 51.5,515 a 0.50005,0.50005 0 0 0 -0.353516,0.14648 l -3,3 A 0.50005,0.50005 0 0 0 48,518.5 v 10 a 0.50005,0.50005 0 0 0 0.5,0.5 h 10 a 0.50005,0.50005 0 0 0 0.353516,-0.14648 l 3,-3 A 0.50005,0.50005 0 0 0 62,525.5 v -10 A 0.50005,0.50005 0 0 0 61.5,515 Z m 0.207031,1 H 61 v 9.29297 L 58.292969,528 H 49 v -9.29297 z M 52,519 v 2 h 2 v -2 z m 2,2 v 2 h 2 v -2 z m 2,0 h 2 v -2 h -2 z m 0,2 v 2 h 2 v -2 z m 0,2 h -2 v 2 h 2 z m -2,0 v -2 h -2 v 2 z m -2,0 h -2 v 2 h 2 z m 0,-2 v -2 h -2 v 2 z" transform="translate(-71.999998,-4.4999696e-6)" id="path12740" inkscape:connector-curvature="0"/>
+ </g>
+ <g transform="translate(-1.8536743e-6,4.4999696e-6)" style="display:inline;fill:#ffffff;enable-background:new" id="g12793" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" inkscape:export-xdpi="96" inkscape:export-ydpi="96">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 92.496094,325.99414 a 0.50005,0.50005 0 0 0 -0.382813,0.82227 l 4.5,5.5 a 0.50005,0.50005 0 0 0 0.773438,0 l 4.500001,-5.5 a 0.50005,0.50005 0 1 0 -0.77344,-0.63282 L 97,331.21094 92.886719,326.18359 a 0.50005,0.50005 0 0 0 -0.390625,-0.18945 z" id="path10173-4" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 91.25,334 c -0.683851,0 -1.25,0.56615 -1.25,1.25 v 3.5 c 0,0.68385 0.566149,1.25 1.25,1.25 h 3.5 c 0.683851,0 1.25,-0.56615 1.25,-1.25 v -3.5 C 96,334.56615 95.433851,334 94.75,334 Z m 8,0 c -0.683851,0 -1.25,0.56615 -1.25,1.25 v 3.5 c 0,0.68385 0.566149,1.25 1.25,1.25 h 3.5 c 0.68385,0 1.25,-0.56615 1.25,-1.25 v -3.5 c 0,-0.68385 -0.56615,-1.25 -1.25,-1.25 z m -7.75,4 h 2 1 a 0.50005,0.50005 0 1 1 0,1 h -1 -2 a 0.50005,0.50005 0 1 1 0,-1 z m 8,0 h 2 1 a 0.50005,0.50005 0 1 1 0,1 h -1 -2 a 0.50005,0.50005 0 1 1 0,-1 z" id="rect13911" inkscape:connector-curvature="0"/>
+ </g>
+ <g id="g12836" style="display:inline;opacity:1;fill:#ffffff;enable-background:new" transform="translate(-123,458.99979)" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" inkscape:export-xdpi="96" inkscape:export-ydpi="96">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 540.5,263 c -2.47936,0 -4.5,2.02064 -4.5,4.5 0,2.47936 2.02064,4.5 4.5,4.5 2.47936,0 4.5,-2.02064 4.5,-4.5 0,-2.47936 -2.02064,-4.5 -4.5,-4.5 z m 0,1 c 1.93892,0 3.5,1.56108 3.5,3.5 0,1.40621 -0.82672,2.60476 -2.01758,3.16211 -0.16784,-2.48561 -2.15892,-4.47669 -4.64453,-4.64453 C 537.89524,264.82672 539.09379,264 540.5,264 Z" transform="translate(123,-458.99979)" id="path12830" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.7;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 657.50195,-192.93359 a 0.50004997,0.50004997 0 0 0 -0.22656,0.0508 c -2.27231,1.07327 -3.57921,3.51034 -3.21484,5.99609 0.36436,2.48575 2.31598,4.44563 4.80078,4.82227 2.48479,0.37663 4.92837,-0.91763 6.01367,-3.1836 a 0.50013262,0.50013262 0 1 0 -0.90234,-0.43164 c -0.89704,1.8729 -2.90867,2.93833 -4.96289,2.62696 -2.05422,-0.31138 -3.6598,-1.92406 -3.96094,-3.97852 -0.30115,-2.05446 0.77387,-4.06001 2.65234,-4.94727 a 0.50004997,0.50004997 0 0 0 -0.19922,-0.95507 z" id="path12834" inkscape:connector-curvature="0"/>
+ </g>
+ <g style="display:inline;fill:#ffffff;enable-background:new" id="g12981" transform="translate(-1.8536743e-6,-20.999995)" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" inkscape:export-xdpi="96" inkscape:export-ydpi="96">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 226.5,206.99414 a 0.50004997,0.50004997 0 0 0 -0.34766,0.85938 L 228.29883,210 h -10.5918 l 2.14649,-2.14648 a 0.50004997,0.50004997 0 1 0 -0.70704,-0.70704 l -2.95703,2.95704 a 0.50004997,0.50004997 0 0 0 -0.002,0.79296 0.50004997,0.50004997 0 0 0 0.008,0.006 l 2.95117,2.95118 a 0.50004997,0.50004997 0 1 0 0.70704,-0.70704 L 217.70703,211 h 10.5918 l -2.14649,2.14648 a 0.50004997,0.50004997 0 1 0 0.70704,0.70704 l 2.96484,-2.9668 a 0.50004997,0.50004997 0 0 0 0.0195,-0.0156 l 0.0156,-0.0176 a 0.50004997,0.50004997 0 0 0 0.0234,-0.68164 0.50004997,0.50004997 0 0 0 -0.0234,-0.0254 0.50004997,0.50004997 0 0 0 -0.01,-0.01 l -2.99023,-2.99024 A 0.50004997,0.50004997 0 0 0 226.5,206.99414 Z" id="path12879" inkscape:connector-curvature="0"/>
+ <path id="circle12970" style="opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.99999994;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke" d="m 224.00001,202.49817 a 1.498175,1.498175 0 0 1 -1.49818,1.49817 1.498175,1.498175 0 0 1 -1.49817,-1.49817 1.498175,1.498175 0 0 1 1.49817,-1.49818 1.498175,1.498175 0 0 1 1.49818,1.49818 z m 5,0 a 1.498175,1.498175 0 0 1 -1.49818,1.49817 1.498175,1.498175 0 0 1 -1.49817,-1.49817 1.498175,1.498175 0 0 1 1.49817,-1.49818 1.498175,1.498175 0 0 1 1.49818,1.49818 z m -10,0 a 1.498175,1.498175 0 0 1 -1.49818,1.49817 1.498175,1.498175 0 0 1 -1.49817,-1.49817 1.498175,1.498175 0 0 1 1.49817,-1.49818 1.498175,1.498175 0 0 1 1.49818,1.49818 z" inkscape:connector-curvature="0"/>
+ </g>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 94.513672,32 a 0.50005,0.50005 0 0 0 -0.417969,0.203125 c -2.416051,3.180716 -3.444751,6.003207 -3.857422,8.287109 -0.412671,2.283903 -0.216543,4.049887 -0.21875,5.00586 a 0.50005,0.50005 0 1 0 1,0.0039 c 0.0025,-1.084327 -0.183742,-2.690936 0.203125,-4.832031 0.386868,-2.141095 1.341004,-4.795942 3.667969,-7.859375 A 0.50005,0.50005 0 0 0 94.513672,32 Z m 4.955078,3.001953 a 0.50005,0.50005 0 0 0 -0.304688,0.126953 c -4.123582,3.585034 -5.171874,7.536346 -5.171874,10.376953 a 0.50005,0.50005 0 1 0 1,0 c 0,-2.600212 0.913619,-6.219783 4.828124,-9.623047 A 0.50005,0.50005 0 0 0 99.46875,35.001953 Z m 4.02539,5.003906 c -3.01703,-0.0065 -5.494281,2.470749 -5.501952,5.498047 a 0.50005,0.50005 0 1 0 1,0.0039 c 0.0063,-2.484383 2.030992,-4.507263 4.500002,-4.501953 a 0.50005,0.50005 0 1 0 0.002,-1 z" id="path18476-0-2" inkscape:connector-curvature="0"/>
+ <g style="display:inline;opacity:1;fill:#ffffff;enable-background:new" id="g7347" transform="translate(921.00001,-553)" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" inkscape:export-xdpi="96" inkscape:export-ydpi="96">
+ <rect transform="scale(-1,1)" style="display:inline;overflow:visible;visibility:visible;opacity:0;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.79999995;marker:none;enable-background:accumulate" id="rect7240" width="16" height="16" x="396" y="731"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m -408.50391,736.99414 a 0.50005,0.50005 0 0 0 -0.43554,0.26563 c -1.5311,2.80698 -2.01417,5.0457 -2.02149,8.22461 a 0.50005,0.50005 0 1 0 1,0.004 c 0.007,-3.0834 0.43147,-5.05503 1.90039,-7.74805 a 0.50005,0.50005 0 0 0 -0.44336,-0.74609 z m 6.99805,2 a 0.50005,0.50005 0 0 0 -0.37891,0.18555 C -403.15877,740.70849 -404,742.16634 -404,745.5 a 0.50005,0.50005 0 1 0 1,0 c 0,-3.18014 0.65877,-4.20849 1.88477,-5.67969 a 0.50005,0.50005 0 0 0 -0.39063,-0.82617 z" id="path7245" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m -407.5,732 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 3 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 3 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -3 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z m 7,2 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 3 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 3 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -3 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z" id="path7250" inkscape:connector-curvature="0" sodipodi:nodetypes="cccccccccccccccccc"/>
+ </g>
+ <g id="g6932" style="fill:#ffffff">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 543.50781,181.99023 a 1.50015,1.50015 0 0 0 -0.67773,0.16797 c -3.41741,1.7087 -5.83009,5.05846 -5.83008,9.3418 a 1.50015,1.50015 0 1 0 3,0 c -10e-6,-3.21666 1.58731,-5.3669 4.16992,-6.6582 a 1.50015,1.50015 0 0 0 -0.66211,-2.85157 z" id="path7270" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 536.49609,179.00195 a 0.50005,0.50005 0 0 0 -0.35351,0.12891 c -4.08383,3.59037 -5.14329,7.80863 -5.13086,13.36328 a 0.50005,0.50005 0 1 0 1,-0.002 c -0.0122,-5.43221 0.92902,-9.21403 4.79101,-12.60938 a 0.50005,0.50005 0 0 0 -0.30664,-0.88086 z" id="path7282" inkscape:connector-curvature="0"/>
+ </g>
+ <g style="display:inline;opacity:1;fill:#ffffff;enable-background:new" transform="translate(919,-532)" id="g6686" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" inkscape:export-xdpi="96" inkscape:export-ydpi="96">
+ <rect transform="scale(-1,1)" style="display:inline;overflow:visible;visibility:visible;opacity:0;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.79999995;marker:none;enable-background:accumulate" id="rect6673" width="16" height="16" x="415" y="710"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m -416.49609,713.99609 a 0.50005,0.50005 0 0 0 -0.31055,0.10938 c -0.21339,0.16596 -0.41872,0.33348 -0.61524,0.50195 -4.0339,3.45843 -4.51787,6.50897 -4.57812,9.88281 a 0.50009544,0.50009544 0 1 0 1,0.0195 c 0.059,-3.3038 0.37586,-5.83955 4.22852,-9.14258 0.1842,-0.15793 0.37703,-0.31626 0.57812,-0.47266 a 0.50005,0.50005 0 0 0 -0.30273,-0.89844 z" id="path6675" inkscape:connector-curvature="0"/>
+ <path id="path6688" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m -427.5,716 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 3 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 3 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -3 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z m -2,5 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 3 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 3 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -3 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z m 5,-10 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 3 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 3 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -3 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccccccccccccccccccccccccc"/>
+ </g>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 265.00049,180.00029 c -0.56524,0 -1.07102,0.24537 -1.44727,0.61718 -0.37625,0.37181 -0.64955,0.85716 -0.88086,1.40821 -0.46263,1.10209 -0.75684,2.49042 -1.08008,3.85937 -0.32324,1.36896 -0.67626,2.7158 -1.17383,3.66406 -0.49757,0.94827 -1.04163,1.45118 -1.91211,1.45118 a 0.50005,0.50005 0 1 0 0,1 c 1.29399,0 2.21222,-0.8721 2.79688,-1.98633 0.58466,-1.11424 0.93562,-2.51739 1.26172,-3.89844 0.32609,-1.38105 0.62614,-2.74272 1.0293,-3.70312 0.20157,-0.48021 0.4296,-0.85424 0.6621,-1.08399 0.2325,-0.22975 0.4436,-0.32812 0.74415,-0.32812 0.30054,0 0.51164,0.0984 0.74414,0.32812 0.23249,0.22975 0.46053,0.60378 0.66211,1.08399 0.40315,0.9604 0.7032,2.32207 1.02929,3.70312 0.3261,1.38105 0.67511,2.7842 1.25977,3.89844 0.58466,1.11423 1.50289,1.98633 2.79687,1.98633 a 0.50005,0.50005 0 1 0 0,-1 c -0.87047,0 -1.41258,-0.50291 -1.91015,-1.45118 -0.49757,-0.94826 -0.85059,-2.2951 -1.17383,-3.66406 -0.32324,-1.36895 -0.61745,-2.75728 -1.08008,-3.85937 -0.23131,-0.55105 -0.50461,-1.0364 -0.88086,-1.40821 -0.37625,-0.37181 -0.88203,-0.61718 -1.44726,-0.61718 z" id="path10124-9" inkscape:connector-curvature="0"/>
+ <path inkscape:connector-curvature="0" id="path10162-3" d="m 349.01758,181.25 a 0.50005,0.50005 0 0 0 -0.41992,0.20312 l -6.48243,8.7461 a 0.50005,0.50005 0 1 0 0.80274,0.5957 L 349,182.58984 l 6.07031,8.20313 a 0.50005,0.50005 0 1 0 0.80469,-0.59375 l -6.47266,-8.7461 A 0.50005,0.50005 0 0 0 349.01758,181.25 Z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
+ <rect style="display:inline;overflow:visible;visibility:visible;opacity:0;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.79999995;marker:none;enable-background:accumulate" id="rect18819-6" width="16" height="16" x="320" y="178" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" inkscape:export-xdpi="96" inkscape:export-ydpi="96"/>
+ <g style="display:inline;fill:#ffffff;stroke-width:1.03551209;enable-background:new" id="g10170-0" transform="matrix(0.93036376,0,0,1.0023904,257.63778,150.90833)" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" inkscape:export-xdpi="96" inkscape:export-ydpi="96">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.03551209;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="M 23.460938,40.029297 A 0.51780782,0.51780782 0 0 1 22.96875,39.486328 L 23,38.607422 v -0.0039 c 0.0063,-2.697355 1.432558,-5.191614 3.748047,-6.542969 2.32064,-1.354362 5.185219,-1.354362 7.505859,0 2.32064,1.354362 3.748047,3.85629 3.748047,6.560547 v 0.882812 a 0.51780782,0.51780782 0 1 1 -1.035156,0 V 38.6211 c 0,-2.339918 -1.23548,-4.49829 -3.236328,-5.666016 -2.000849,-1.167726 -4.460089,-1.167727 -6.460938,0 -2.000848,1.167726 -3.234375,3.326098 -3.234375,5.666016 a 0.51780782,0.51780782 0 0 1 -0.002,0.01758 l -0.0293,0.882812 a 0.51780782,0.51780782 0 0 1 -0.542968,0.507813 z" id="path10174-7" inkscape:connector-curvature="0"/>
+ </g>
+ <rect y="178" x="299" height="16" width="16" id="rect4967" style="display:inline;overflow:visible;visibility:visible;opacity:0;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.79999995;marker:none;enable-background:accumulate" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" inkscape:export-xdpi="96" inkscape:export-ydpi="96"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 307,180 c -1.24829,0 -2.24461,0.83463 -3,1.93555 -0.75539,1.10091 -1.32403,2.51399 -1.76367,3.91601 -0.87928,2.80405 -1.23047,5.58594 -1.23047,5.58594 a 0.50013931,0.50013931 0 1 0 0.99219,0.12695 c 0,0 0.34791,-2.71791 1.19336,-5.41406 0.42272,-1.34808 0.97296,-2.68677 1.63281,-3.64844 C 305.48407,181.54029 306.19904,181 307,181 c 0.80095,0 1.51593,0.54029 2.17578,1.50195 0.65985,0.96167 1.21009,2.30036 1.63281,3.64844 0.84545,2.69615 1.19336,5.41406 1.19336,5.41406 a 0.50013931,0.50013931 0 1 0 0.99219,-0.12695 c 0,0 -0.35119,-2.78189 -1.23047,-5.58594 -0.43964,-1.40202 -1.00828,-2.8151 -1.76367,-3.91601 C 309.24461,180.83464 308.24829,180 307,180 Z" id="path13261" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 327.48047,181 a 0.50005,0.50005 0 0 0 -0.46875,0.39453 c -0.73399,3.42527 -2.46804,7.48775 -5.67969,8.63477 a 0.50005,0.50005 0 1 0 0.33594,0.9414 c 3.19373,-1.14062 4.90029,-4.45895 5.83203,-7.61914 0.93174,3.16019 2.6383,6.47852 5.83203,7.61914 a 0.50005,0.50005 0 1 0 0.33594,-0.9414 c -3.21165,-1.14702 -4.9457,-5.2095 -5.67969,-8.63477 A 0.50005,0.50005 0 0 0 327.48047,181 Z" id="path10168-6-7" inkscape:connector-curvature="0"/>
+ <g transform="matrix(-1,0,0,1,401.98389,150.99638)" id="g13323" style="display:inline;opacity:1;fill:#ffffff;stroke:#ffffff">
+ <path inkscape:connector-curvature="0" id="path13321" d="M 9.96875,29.048828 C 9.4658605,28.864829 8.9025328,28.986924 8.5410156,29.310547 8.1794984,29.63417 7.9598217,30.084792 7.7695312,30.613281 7.3889504,31.670259 7.1601578,33.086794 6.90625,34.523438 c -0.2539078,1.436643 -0.5324149,2.889409 -0.9414062,3.929687 -0.2044957,0.520139 -0.4424423,0.932648 -0.6894532,1.1875 -0.2470108,0.254852 -0.473033,0.363281 -0.7851562,0.363281 a 0.50005,0.50005 0 1 0 0,1 c 0.5904168,0 1.1159371,-0.267683 1.5039062,-0.667968 0.3879692,-0.400286 0.6690516,-0.922242 0.9023438,-1.515626 0.4665844,-1.186767 0.7390333,-2.679616 0.9941406,-4.123046 0.2551073,-1.443431 0.4935421,-2.842034 0.8183594,-3.744141 0.1624086,-0.451054 0.3541704,-0.76594 0.5,-0.896484 0.1458295,-0.130544 0.1865427,-0.15232 0.4160156,-0.06836 0.057045,0.02087 0.1634141,0.101911 0.2832031,0.296875 0.1197889,0.194965 0.2422649,0.485737 0.3515629,0.826172 0.218596,0.680871 0.393488,1.55941 0.582031,2.373047 0.188543,0.813637 0.358157,1.549689 0.740234,2.082031 0.191039,0.266171 0.511622,0.515788 0.900391,0.50586 0.388769,-0.0099 0.704011,-0.230804 1.001953,-0.542969 0.337514,-0.353626 0.595779,-0.497442 0.722656,-0.529297 0.126878,-0.03186 0.138013,-0.02504 0.242188,0.06836 0.20835,0.186805 0.512485,0.892009 0.740234,1.732422 0.227749,0.840413 0.429042,1.804722 0.716797,2.601563 0.143877,0.39842 0.30542,0.75895 0.542969,1.05664 0.237548,0.297691 0.601614,0.544922 1.027343,0.544922 a 0.50005,0.50005 0 1 0 0,-1 c -0.0724,0 -0.124723,-0.01782 -0.246093,-0.169922 -0.12137,-0.152098 -0.260285,-0.426776 -0.384766,-0.771484 -0.248961,-0.689415 -0.452791,-1.642926 -0.691406,-2.523438 -0.238616,-0.880511 -0.460258,-1.699598 -1.037109,-2.216796 -0.288426,-0.2586 -0.735893,-0.398016 -1.154297,-0.292969 -0.418405,0.105047 -0.794027,0.38192 -1.203125,0.810547 -0.205362,0.215165 -0.318948,0.232836 -0.302735,0.232422 0.01621,-4.14e-4 0.02252,0.02861 -0.0625,-0.08984 C 12.22449,34.745505 11.999507,34.047965 11.816406,33.257812 11.633305,32.46766 11.457527,31.57275 11.210938,30.804688 11.087643,30.420656 10.949285,30.066996 10.761719,29.761719 10.574152,29.456442 10.328076,29.1803 9.96875,29.048828 Z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
+ </g>
+ <g style="display:inline;opacity:1;fill:#ffffff;enable-background:new" id="g5270-3" transform="translate(497.99495,-311.99288)" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" inkscape:export-xdpi="96" inkscape:export-ydpi="96">
+ <path id="path5169-5" style="opacity:0;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none" d="m -115,532 h 16.005051 v 16 H -115 Z" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccc"/>
+ <g transform="translate(-1)" id="g5191-5" style="fill:#ffffff">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 386.48633,221 c -0.27614,0.004 -0.49651,0.23167 -0.49219,0.50781 v 1 6.55664 C 384.86022,229.298 384,230.30731 384,231.50781 c 0,1.372 1.12214,2.49414 2.49414,2.49414 1.372,0 2.49414,-1.12214 2.49414,-2.49414 0,-1.20116 -0.8593,-2.21054 -1.99414,-2.44336 v -6.55664 -1 c 0.004,-0.28226 -0.22555,-0.51223 -0.50781,-0.50781 z m 1.00781,1.00781 v 3 h 1 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -2 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z m -1,8.00586 c 0.83156,0 1.49414,0.66258 1.49414,1.49414 0,0.83156 -0.66258,1.49414 -1.49414,1.49414 -0.83156,0 -1.49414,-0.66258 -1.49414,-1.49414 0,-0.83156 0.66258,-1.49414 1.49414,-1.49414 z" transform="translate(-496.99495,311.99288)" id="path5112-6" inkscape:connector-curvature="0"/>
</g>
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 176.5,-32 c 0.8225,0 1.5,-0.677495 1.5,-1.5 0,-0.822505 -0.6775,-1.5 -1.5,-1.5 -0.8225,0 -1.5,0.677495 -1.5,1.5 0,0.822505 0.6775,1.5 1.5,1.5 z"
- id="circle14385"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="sssss" />
- </g>
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 412,120 c -1.65093,0 -3,1.34907 -3,3 0,1.65093 1.34907,3 3,3 1.65093,0 3,-1.34907 3,-3 0,-1.65093 -1.34907,-3 -3,-3 z m 0,1 c 1.11049,0 2,0.88951 2,2 0,1.11049 -0.88951,2 -2,2 -1.11049,0 -2,-0.88951 -2,-2 0,-1.11049 0.88951,-2 2,-2 z"
- id="circle14295"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 13.492188,54.005859 a 0.50005,0.50005 0 0 0 -0.345704,0.146485 l -3.9999996,4 a 0.50005,0.50005 0 1 0 0.7070312,0.707031 L 13,55.712891 v 9.792968 a 0.50005,0.50005 0 1 0 1,0 v -9.792968 l 3.146484,3.146484 a 0.50005,0.50005 0 1 0 0.707032,-0.707031 l -4,-4 a 0.50005,0.50005 0 0 0 -0.361328,-0.146485 z"
- id="path14327"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="M 34.492188,54.005859 A 0.50005,0.50005 0 0 0 34,54.511719 v 9.792969 l -3.146484,-3.146485 a 0.50005,0.50005 0 1 0 -0.707032,0.707031 l 4,4 a 0.50005,0.50005 0 0 0 0.707032,0 l 4,-4 A 0.50005,0.50005 0 1 0 38.146484,61.158203 L 35,64.304688 v -9.792969 a 0.50005,0.50005 0 0 0 -0.507812,-0.50586 z"
- id="path14329"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.79999995;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;enable-background:new"
- d="m 202.5,621.00003 a 5.4999997,5.4999997 0 0 0 -5.5,5.5 5.4999997,5.4999997 0 0 0 5.5,5.5 5.4999997,5.4999997 0 0 0 5.5,-5.5 5.4999997,5.4999997 0 0 0 -5.5,-5.5 z m -0.002,1.98438 a 0.50005001,0.50005001 0 0 1 0.50781,0.52343 v 2.5 h 2.50195 a 0.50005001,0.50005001 0 1 1 0,0.99805 h -2.50195 v 2.50195 a 0.50005001,0.50005001 0 0 1 -0.50586,0.50586 0.50005001,0.50005001 0 0 1 -0.49219,-0.50586 v -2.50195 h -2.5 a 0.50005001,0.50005001 0 1 1 0,-0.99805 h 2.5 v -2.5 a 0.50005001,0.50005001 0 0 1 0.49024,-0.52343 z"
- id="path14370"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 33.75,200 c -0.212514,-4.2e-4 -0.402079,0.13353 -0.472656,0.33398 L 31.644531,205 H 27.5 c -0.276131,3e-5 -0.499972,0.22387 -0.5,0.5 v 0.75 c 4.22e-4,0.17006 0.08724,0.32824 0.230469,0.41992 l 3.166015,2.03711 -1.367187,3.87695 c -0.01909,0.0533 -0.029,0.10942 -0.0293,0.16602 v 0.75 c 2.8e-5,0.27613 0.223869,0.49997 0.5,0.5 h 0.75 c 0.119714,-2e-5 0.235448,-0.043 0.326172,-0.12109 L 33.935547,211 h 0.128906 l 3.359375,2.87891 c 0.09174,0.079 0.209022,0.12201 0.330078,0.12109 L 38.5,213.99414 c 0.273087,-0.002 0.49394,-0.223 0.496094,-0.49609 L 39,212.75195 c -7.9e-5,-0.0572 -0.01,-0.11407 -0.0293,-0.16797 l -1.367187,-3.87695 3.166015,-2.03711 C 40.912757,206.57824 40.999577,206.42006 41,206.25 v -0.75 c -2.8e-5,-0.27613 -0.223869,-0.49997 -0.5,-0.5 h -4.144531 l -1.632813,-4.66602 C 34.652079,200.13353 34.462514,199.99958 34.25,200 h -0.251953 z"
- id="path14398"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="cccccccccccccccccccccccccccccccc" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 12.75,200 a 0.50004997,0.50004997 0 0 0 -0.472656,0.33398 L 10.644531,205 H 6.5 A 0.50004997,0.50004997 0 0 0 6,205.5 v 0.75 a 0.50004997,0.50004997 0 0 0 0.2304688,0.41992 l 3.1660156,2.03711 -1.3671875,3.87695 A 0.50004997,0.50004997 0 0 0 8,212.75 v 0.75 a 0.50004997,0.50004997 0 0 0 0.5,0.5 h 0.75 a 0.50004997,0.50004997 0 0 0 0.3261719,-0.12109 L 12.935547,211 h 0.128906 l 3.359375,2.87891 A 0.50004997,0.50004997 0 0 0 16.753906,214 L 17.5,213.99414 a 0.50004997,0.50004997 0 0 0 0.496094,-0.49609 L 18,212.75195 a 0.50004997,0.50004997 0 0 0 -0.0293,-0.16797 l -1.367187,-3.87695 3.166015,-2.03711 A 0.50004997,0.50004997 0 0 0 20,206.25 V 205.5 A 0.50004997,0.50004997 0 0 0 19.5,205 h -4.144531 l -1.632813,-4.66602 A 0.50004997,0.50004997 0 0 0 13.25,200 h -0.251953 z m 0.25,1.30078 1.527344,4.36524 A 0.50004997,0.50004997 0 0 0 15,206 h 3.962891 l -3.232422,2.08008 a 0.50004997,0.50004997 0 0 0 -0.201172,0.58594 L 17,212.83398 l -0.002,0.16407 h -0.06445 l -3.357422,-2.87696 A 0.50004997,0.50004997 0 0 0 13.25,210 h -0.5 a 0.50004997,0.50004997 0 0 0 -0.326172,0.12109 L 9.0644531,213 H 9 v -0.16406 l 1.470703,-4.16992 a 0.50004997,0.50004997 0 0 0 -0.201172,-0.58594 L 7.0371094,206 H 11 a 0.50004997,0.50004997 0 0 0 0.472656,-0.33398 z"
- id="path14401"
- inkscape:connector-curvature="0" />
- <g
- transform="translate(0.99996615,4.4999696e-6)"
- id="g13708"
- style="display:inline;opacity:1;fill:#ffffff;enable-background:new"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- inkscape:export-xdpi="96"
- inkscape:export-ydpi="96">
- <path
- inkscape:connector-curvature="0"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 48.5,578 c -0.276131,3e-5 -0.499972,0.22387 -0.5,0.5 L 47.9922,589 c 0,1.51667 1.219299,3 2.984374,3 1.765077,0 3.015625,-1.475 3.015626,-3 L 54,578.5 c -2.8e-5,-0.27613 -0.223869,-0.49997 -0.5,-0.5 z m 2.5,10 c 0.546362,0 1,0.45364 1,1 0,0.54636 -0.453638,1 -1,1 -0.546362,0 -1,-0.45364 -1,-1 0,-0.54636 0.453638,-1 1,-1 z"
- transform="translate(-0.99998)"
- id="path13694" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.5;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 58.492188,586 c -0.132599,2e-5 -0.259759,0.0527 -0.353516,0.14648 l -4.75,4.75 c -0.09377,0.0938 -0.14646,0.22092 -0.146484,0.35352 v 0.25 c 2.8e-5,0.27613 0.223869,0.49997 0.5,0.5 H 60.5 c 0.276131,-3e-5 0.499972,-0.22387 0.5,-0.5 v -5 c -2.8e-5,-0.27613 -0.223869,-0.49997 -0.5,-0.5 z"
- id="path13696"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="ccccccccccc" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.75;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 56.486328,579 c -0.130565,0.002 -0.25534,0.0541 -0.347656,0.14648 l -2,2 c -0.09377,0.0938 -0.14646,0.22092 -0.146484,0.35352 v 6 c 1.71e-4,0.44532 0.538516,0.6683 0.853515,0.35352 l 5,-5 c 0.19519,-0.19527 0.19519,-0.51177 0,-0.70704 l -3,-3 C 56.750515,579.05126 56.620954,578.99846 56.486328,579 Z"
- id="path13698"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="cccccccccc" />
- </g>
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g9998"
- transform="matrix(-1,0,0,1,907.99986,4.6999695e-6)">
- <g
- transform="matrix(-0.61504365,0,0,0.61502939,510.71013,122.71015)"
- id="g13879"
- style="display:inline;opacity:1;fill:#ffffff;stroke-width:1.6259197;enable-background:new" />
- <g
- id="g9988"
- style="fill:#ffffff">
- <path
- id="path13882"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.00000036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:7.40000248;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 478.49219,473.00781 a 0.50005018,0.50005018 0 0 0 -0.5,0.5 v 3.00781 a 0.50005018,0.50005018 0 0 0 0.5,0.5 c 1.00252,10e-6 2.00529,0 3.00781,0 a 0.50005018,0.50005018 0 0 0 0.5,-0.5 v -3.00781 a 0.50005018,0.50005018 0 0 0 -0.5,-0.5 c -1.00252,0 -2.0053,0 -3.00781,0 z m 0.5,1 c 0.66922,0 1.33859,0 2.00781,0 v 2.00781 c -0.66922,10e-6 -1.3386,0 -2.00781,0 z m -0.49233,3.9922 2.99609,0.006 c 0.2754,6.1e-4 0.49976,0.22265 0.5,0.49805 l 0.004,6.45885 c 0,1.02328 -0.80629,2.03747 -2,2.03711 -1.19534,0 -1.99609,-1.02155 -1.99609,-2.04297 l -0.004,-6.45704 c 1.8e-4,-0.27638 0.22362,-0.50048 0.5,-0.5 z m 1.5,6 a 1,0.99999999 0 0 0 -1,1.00001 1,0.99999999 0 0 0 1,1 1,0.99999999 0 0 0 1,-1 1,0.99999999 0 0 0 -1,-1.00001 z"
- inkscape:connector-curvature="0" />
- <path
- id="path13884"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.75;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.00000036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:7.40000248;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 469.49219,474.00781 a 0.50005018,0.50005018 0 0 0 -0.5,0.5 v 3.00781 a 0.50005018,0.50005018 0 0 0 0.5,0.5 c 1.00252,10e-6 2.00529,0 3.00781,0 a 0.50005018,0.50005018 0 0 0 0.5,-0.5 v -3.00781 a 0.50005018,0.50005018 0 0 0 -0.5,-0.5 c -1.00252,0 -2.0053,0 -3.00781,0 z m 0.5,1 c 0.66922,0 1.33859,0 2.00781,0 v 2.00781 c -0.66922,10e-6 -1.3386,0 -2.00781,0 z m 5.5151,2.99233 c 0.12999,0.002 0.25408,0.0546 0.34596,0.14655 l 1.00065,0.99942 c 0.094,0.094 0.14673,0.22146 0.14655,0.35436 v 4.0001 c 2e-5,0.4458 -0.53925,0.66879 -0.85409,0.35316 l -2.99954,-3.00067 c -0.19472,-0.19518 -0.19472,-0.51115 0,-0.70633 l 2.00009,-2.00004 c 0.0954,-0.0955 0.2254,-0.14835 0.36038,-0.14655 z"
- inkscape:connector-curvature="0" />
- <path
- id="path13886"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.5;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.00000036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:7.40000248;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 468.49219,483.00781 a 0.50005018,0.50005018 0 0 0 -0.5,0.5 v 3.00781 a 0.50005018,0.50005018 0 0 0 0.5,0.5 c 1.00252,10e-6 2.00529,0 3.00781,0 a 0.50005018,0.50005018 0 0 0 0.5,-0.5 v -3.00781 a 0.50005018,0.50005018 0 0 0 -0.5,-0.5 c -1.00252,0 -2.0053,0 -3.00781,0 z m 0.5,1 c 0.66922,0 1.33859,0 2.00781,0 v 2.00781 c -0.66922,10e-6 -1.3386,0 -2.00781,0 z m 4.52221,-1.00695 c 0.12731,0.004 0.24847,0.0555 0.33876,0.14535 l 3.00074,3.00066 c 0.31399,0.31533 0.0906,0.8529 -0.35437,0.85288 h -2.99954 c -0.27591,-1.9e-4 -0.49954,-0.22381 -0.49972,-0.49972 v -2.99946 c 7e-5,-0.28163 0.23261,-0.50765 0.51413,-0.49971 z"
- inkscape:connector-curvature="0" />
+ <g transform="translate(-2.9999978)" style="display:inline;opacity:0.7;fill:#ffffff;enable-background:new" id="g5186-5-5-7">
+ <path id="path5179-0-9-1" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m -97.896484,538.39648 -1.707032,1.70704 0.75,0.75 c 0.195265,0.19518 0.511767,0.19518 0.707032,0 l 0.52539,-0.5254 0.47461,-0.4746 c 0.19519,-0.19527 0.19519,-0.51177 0,-0.70704 z m -0.614086,-1.39969 a 0.50005,0.50005 0 0 0 -0.34376,0.15039 l -4.4121,4.41015 c -0.38435,-0.27257 -0.83195,-0.45926 -1.31446,-0.52734 a 0.50005,0.50005 0 0 0 -0.0996,-0.006 0.50005,0.50005 0 0 0 -0.041,0.99609 c 0.71727,0.10121 1.32147,0.58072 1.58398,1.25586 0.26252,0.67514 0.14019,1.43694 -0.32031,1.9961 -0.46051,0.55917 -1.18354,0.82547 -1.89649,0.69726 a 0.50014796,0.50014796 0 1 0 -0.17773,0.98438 c 1.06733,0.19194 2.15825,-0.20977 2.84766,-1.04688 0.6894,-0.83711 0.87347,-1.98341 0.48047,-2.99414 -0.0911,-0.23424 -0.21129,-0.45079 -0.35352,-0.65039 l 4.41016,-4.4082 a 0.50005,0.50005 0 0 0 -0.36328,-0.85742 z" inkscape:connector-curvature="0"/>
</g>
</g>
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 304.5,158 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 3 a 0.50005,0.50005 0 0 0 0.5,0.5 h 3 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -3 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m 0.5,1 h 2 v 2 h -2 z m 4.5,5 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 3 a 0.50005,0.50005 0 0 0 0.5,0.5 h 3 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -3 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m 0.5,1 h 2 v 2 h -2 z m -8.5,2 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 3 a 0.50005,0.50005 0 0 0 0.5,0.5 h 3 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -3 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m 0.5,1 h 2 v 2 h -2 z"
- id="rect13801"
- inkscape:connector-curvature="0" />
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g14472"
- transform="translate(-42.000002,4.4999696e-6)">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 373.5,158 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 3 a 0.50005,0.50005 0 0 0 0.5,0.5 h 3 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -3 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m 0.5,1 h 2 v 2 h -2 z m -10.5,9 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 3 a 0.50005,0.50005 0 0 0 0.5,0.5 h 3 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -3 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m 0.5,1 h 2 v 2 h -2 z"
- id="rect14387"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 366.49219,160.99219 a 0.50005,0.50005 0 0 0 -0.31641,0.12109 0.50005,0.50005 0 0 0 -0.0195,0.0156 0.50005,0.50005 0 0 0 -0.0176,0.0176 0.50005,0.50005 0 0 0 -0.002,0.004 0.50005,0.50005 0 0 0 -0.0312,0.0332 0.50005,0.50005 0 0 0 -0.002,0.004 A 0.50005,0.50005 0 0 0 366,161.58203 V 162.5 a 0.50005,0.50005 0 1 0 1,0 V 162 h 0.5 a 0.50005,0.50005 0 1 0 0,-1 h -0.91992 a 0.50005,0.50005 0 0 0 -0.0879,-0.008 z m 7,0 A 0.50005,0.50005 0 0 0 373.41797,161 H 372.5 a 0.50005,0.50005 0 1 0 0,1 h 0.5 v 0.5 a 0.50005,0.50005 0 1 0 1,0 v -0.91992 a 0.50005,0.50005 0 0 0 -0.11328,-0.4043 0.50005,0.50005 0 0 0 -0.002,-0.004 0.50005,0.50005 0 0 0 -0.0312,-0.0332 0.50005,0.50005 0 0 0 -0.004,-0.002 0.50005,0.50005 0 0 0 -0.0332,-0.0312 0.50005,0.50005 0 0 0 -0.004,-0.002 0.50005,0.50005 0 0 0 -0.32031,-0.11133 z M 369.5,161 a 0.50005,0.50005 0 1 0 0,1 h 1 a 0.50005,0.50005 0 1 0 0,-1 z m -3.00781,2.99219 A 0.50005,0.50005 0 0 0 366,164.5 v 1 a 0.50005,0.50005 0 1 0 1,0 v -1 a 0.50005,0.50005 0 0 0 -0.50781,-0.50781 z m 7,0 A 0.50005,0.50005 0 0 0 373,164.5 v 1 a 0.50005,0.50005 0 1 0 1,0 v -1 a 0.50005,0.50005 0 0 0 -0.50781,-0.50781 z m -7,3 A 0.50005,0.50005 0 0 0 366,167.5 v 0.91992 a 0.50005,0.50005 0 0 0 0.11328,0.4043 0.50005,0.50005 0 0 0 0.0156,0.0195 0.50005,0.50005 0 0 0 0.0176,0.0176 0.50005,0.50005 0 0 0 0.004,0.002 0.50005,0.50005 0 0 0 0.0332,0.0312 0.50005,0.50005 0 0 0 0.004,0.002 A 0.50005,0.50005 0 0 0 366.58203,169 H 367.5 a 0.50005,0.50005 0 1 0 0,-1 H 367 v -0.5 a 0.50005,0.50005 0 0 0 -0.50781,-0.50781 z m 7,0 A 0.50005,0.50005 0 0 0 373,167.5 v 0.5 h -0.5 a 0.50005,0.50005 0 1 0 0,1 h 0.91992 a 0.50005,0.50005 0 0 0 0.4043,-0.11328 0.50005,0.50005 0 0 0 0.004,-0.002 0.50005,0.50005 0 0 0 0.0332,-0.0312 0.50005,0.50005 0 0 0 0.002,-0.004 0.50005,0.50005 0 0 0 0.0312,-0.0332 0.50005,0.50005 0 0 0 0.002,-0.004 A 0.50005,0.50005 0 0 0 374,168.41797 V 167.5 a 0.50005,0.50005 0 0 0 -0.50781,-0.50781 z M 369.5,168 a 0.50005,0.50005 0 1 0 0,1 h 1 a 0.50005,0.50005 0 1 0 0,-1 z"
- id="path14452"
- inkscape:connector-curvature="0" />
- </g>
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g14467"
- transform="translate(-63.000002,4.4999696e-6)">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 347.5,161 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 2.5 h -1.5 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 3 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 3 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v 1 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 3 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -3 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 h -2 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -3 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z m 0.5,1 h 2 v 2 h -2 z m -2,3 h 2 v 2 h -2 z m 4,1 h 2 v 2 h -2 z"
- id="rect14393"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="ccccccccccccccccccccccccccccccccccc" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 342.49219,157.99219 a 0.50005,0.50005 0 0 0 -0.31641,0.12109 0.50005,0.50005 0 0 0 -0.0195,0.0156 0.50005,0.50005 0 0 0 -0.0176,0.0176 0.50005,0.50005 0 0 0 -0.002,0.004 0.50005,0.50005 0 0 0 -0.0312,0.0332 0.50005,0.50005 0 0 0 -0.002,0.004 0.50005,0.50005 0 0 0 -0.0274,0.0371 0.50005,0.50005 0 0 0 -0.002,0.004 A 0.50005,0.50005 0 0 0 342,158.58203 V 159.5 a 0.50005,0.50005 0 1 0 1,0 V 159 h 0.5 a 0.50005,0.50005 0 1 0 0,-1 h -0.91992 a 0.50005,0.50005 0 0 0 -0.0879,-0.008 z m 13,0 A 0.50005,0.50005 0 0 0 355.41797,158 H 354.5 a 0.50005,0.50005 0 1 0 0,1 h 0.5 v 0.5 a 0.50005,0.50005 0 1 0 1,0 v -0.91992 a 0.50005,0.50005 0 0 0 -0.11328,-0.4043 0.50005,0.50005 0 0 0 -0.002,-0.004 0.50005,0.50005 0 0 0 -0.0312,-0.0332 0.50005,0.50005 0 0 0 -0.004,-0.002 0.50005,0.50005 0 0 0 -0.0332,-0.0312 0.50005,0.50005 0 0 0 -0.004,-0.002 0.50005,0.50005 0 0 0 -0.32031,-0.11133 z M 345.5,158 a 0.50005,0.50005 0 1 0 0,1 h 1 a 0.50005,0.50005 0 1 0 0,-1 z m 3,0 a 0.50005,0.50005 0 1 0 0,1 h 1 a 0.50005,0.50005 0 1 0 0,-1 z m 3,0 a 0.50005,0.50005 0 1 0 0,1 h 1 a 0.50005,0.50005 0 1 0 0,-1 z m -9.00781,2.99219 A 0.50005,0.50005 0 0 0 342,161.5 v 1 a 0.50005,0.50005 0 1 0 1,0 v -1 a 0.50005,0.50005 0 0 0 -0.50781,-0.50781 z m 13,0 A 0.50005,0.50005 0 0 0 355,161.5 v 1 a 0.50005,0.50005 0 1 0 1,0 v -1 a 0.50005,0.50005 0 0 0 -0.50781,-0.50781 z m -13,3 A 0.50005,0.50005 0 0 0 342,164.5 v 1 a 0.50005,0.50005 0 1 0 1,0 v -1 a 0.50005,0.50005 0 0 0 -0.50781,-0.50781 z m 13,0 A 0.50005,0.50005 0 0 0 355,164.5 v 1 a 0.50005,0.50005 0 1 0 1,0 v -1 a 0.50005,0.50005 0 0 0 -0.50781,-0.50781 z m -13,3 A 0.50005,0.50005 0 0 0 342,167.5 v 1 a 0.50005,0.50005 0 1 0 1,0 v -1 a 0.50005,0.50005 0 0 0 -0.50781,-0.50781 z m 13,0 A 0.50005,0.50005 0 0 0 355,167.5 v 1 a 0.50005,0.50005 0 1 0 1,0 v -1 a 0.50005,0.50005 0 0 0 -0.50781,-0.50781 z m -13,3 A 0.50005,0.50005 0 0 0 342,170.5 v 0.91992 a 0.50005,0.50005 0 0 0 0.11328,0.4043 0.50005,0.50005 0 0 0 0.0156,0.0195 0.50005,0.50005 0 0 0 0.0176,0.0176 0.50005,0.50005 0 0 0 0.004,0.002 0.50005,0.50005 0 0 0 0.0332,0.0312 0.50005,0.50005 0 0 0 0.004,0.002 A 0.50005,0.50005 0 0 0 342.58203,172 H 343.5 a 0.50005,0.50005 0 1 0 0,-1 H 343 v -0.5 a 0.50005,0.50005 0 0 0 -0.50781,-0.50781 z m 13,0 A 0.50005,0.50005 0 0 0 355,170.5 v 0.5 h -0.5 a 0.50005,0.50005 0 1 0 0,1 h 0.91992 a 0.50005,0.50005 0 0 0 0.4043,-0.11328 0.50005,0.50005 0 0 0 0.004,-0.002 0.50005,0.50005 0 0 0 0.0332,-0.0312 0.50005,0.50005 0 0 0 0.002,-0.004 0.50005,0.50005 0 0 0 0.0312,-0.0332 0.50005,0.50005 0 0 0 0.002,-0.004 0.50005,0.50005 0 0 0 0.0274,-0.0371 0.50005,0.50005 0 0 0 0.002,-0.004 0.50005,0.50005 0 0 0 0.074,-0.35325 V 170.5 a 0.50005,0.50005 0 0 0 -0.50781,-0.50781 z M 345.5,171 a 0.50005,0.50005 0 1 0 0,1 h 1 a 0.50005,0.50005 0 1 0 0,-1 z m 3,0 a 0.50005,0.50005 0 1 0 0,1 h 1 a 0.50005,0.50005 0 1 0 0,-1 z m 3,0 a 0.50005,0.50005 0 1 0 0,1 h 1 a 0.50005,0.50005 0 1 0 0,-1 z"
- id="path14460"
- inkscape:connector-curvature="0" />
- </g>
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 118.5,201 a 0.50005,0.50005 0 0 0 -0.5,0.5 V 212 h -6.5 a 0.50005,0.50005 0 1 0 0,1 h 7 a 0.50005,0.50005 0 0 0 0.5,-0.5 V 202 h 5.5 a 0.50005,0.50005 0 1 0 0,-1 z"
- id="path13715"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 144.5,201 a 0.50005,0.50005 0 0 0 -0.35352,0.14648 L 133.29297,212 H 132.5 a 0.50005,0.50005 0 1 0 0,1 h 1 a 0.50005,0.50005 0 0 0 0.35352,-0.14648 L 144.70703,202 H 145.5 a 0.50005,0.50005 0 1 0 0,-1 z"
- id="path13875"
- inkscape:connector-curvature="0" />
- <g
- transform="translate(-1.8536743e-6,4.4999696e-6)"
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g13432">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 166,201 c -1.59692,0 -2.85915,0.78757 -3.86133,1.88086 -1.00218,1.09329 -1.79297,2.49805 -2.57422,3.87305 -0.78125,1.375 -1.55296,2.72024 -2.4414,3.68945 C 156.2346,211.41257 155.27808,212 154,212 h -0.5 a 0.50005,0.50005 0 1 0 0,1 h 0.5 c 1.59692,0 2.85915,-0.78757 3.86133,-1.88086 1.00218,-1.09329 1.79297,-2.49805 2.57422,-3.87305 0.78125,-1.375 1.55296,-2.72024 2.4414,-3.68945 C 163.7654,202.58743 164.72192,202 166,202 h 0.5 a 0.50005,0.50005 0 1 0 0,-1 z"
- id="path14036"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 154.5,200 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 2 a 0.50005,0.50005 0 0 0 0.5,0.5 h 2 a 0.50005,0.50005 0 0 0 0.5,-0.5 V 202 h 3.5 a 0.50005,0.50005 0 1 0 0,-1 H 157 v -0.5 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m 0.5,1 h 1 v 0.41992 a 0.50005,0.50005 0 0 0 0,0.16211 V 202 h -1 z m 8.50781,10 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 0.5 h -3.5 a 0.50005,0.50005 0 1 0 0,1 h 3.5 v 0.5 a 0.50005,0.50005 0 0 0 0.5,0.5 h 2 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -2 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m 0.5,1 h 1 v 1 h -1 v -0.42383 a 0.50005,0.50005 0 0 0 0,-0.15234 z"
- id="path14257"
- inkscape:connector-curvature="0" />
- </g>
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 291.5,201 a 0.50005,0.50005 0 0 0 -0.5,0.5 c 0,2.47889 -0.15954,4.38104 -0.52734,5.8125 -0.36781,1.43146 -0.92559,2.38009 -1.74024,3.05273 C 287.10312,211.71053 284.21571,212 279.5,212 a 0.50005,0.50005 0 1 0 0,1 c 4.75093,0 7.86511,-0.21053 9.86914,-1.86523 1.00202,-0.82736 1.66924,-2.00373 2.07227,-3.57227 0.36978,-1.43916 0.48747,-3.33151 0.51171,-5.5625 H 292.5 a 0.50005,0.50005 0 1 0 0,-1 z"
- id="path14276"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 312.5,201 a 0.50005,0.50005 0 0 0 -0.5,0.5 c 0,3.43021 -1.19149,5.7903 -3.2168,7.45898 -2.0253,1.66869 -4.93239,2.63003 -8.34375,3.04493 a 0.50005,0.50005 0 1 0 0.1211,0.99218 c 3.52614,-0.42885 6.61905,-1.41978 8.85937,-3.26562 2.13154,-1.75622 3.41037,-4.32825 3.5332,-7.73047 H 313.5 a 0.50005,0.50005 0 1 0 0,-1 z"
- id="path14278"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 439,201 c -1.59692,0 -2.85915,0.78757 -3.86133,1.88086 -1.00218,1.09329 -1.79297,2.49805 -2.57422,3.87305 -0.78125,1.375 -1.55296,2.72024 -2.4414,3.68945 C 429.2346,211.41257 428.27808,212 427,212 h -0.5 a 0.50005,0.50005 0 1 0 0,1 h 0.5 c 1.59692,0 2.85915,-0.78757 3.86133,-1.88086 1.00218,-1.09329 1.79297,-2.49805 2.57422,-3.87305 0.78125,-1.375 1.55296,-2.72024 2.4414,-3.68945 C 436.7654,202.58743 437.72192,202 439,202 h 0.5 a 0.50005,0.50005 0 1 0 0,-1 z"
- id="path14305"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 321.5,201 a 0.50005,0.50005 0 1 0 0,1 h 0.5 c 0.11714,0 0.21825,0.0354 0.36133,0.1582 0.14308,0.12279 0.30922,0.33684 0.46875,0.63282 0.31905,0.59195 0.61443,1.49542 0.87109,2.55468 0.51334,2.11854 0.89163,4.86411 1.30664,7.24024 a 0.50005,0.50005 0 0 0 0.98242,0.008 c 0.24141,-1.26736 0.60565,-2.19557 0.98829,-2.76953 0.38264,-0.57396 0.74023,-0.76172 1.02148,-0.76172 0.28125,0 0.63884,0.18776 1.02148,0.76172 0.38264,0.57396 0.74688,1.50217 0.98829,2.76953 a 0.50005,0.50005 0 0 0 0.96093,0.0762 c 0.24086,-0.66235 0.48023,-1.14224 0.6836,-1.42187 0.20337,-0.27964 0.32487,-0.31055 0.3457,-0.31055 0.0208,0 0.14233,0.0309 0.3457,0.31055 0.20337,0.27963 0.44274,0.75952 0.6836,1.42187 A 0.50005,0.50005 0 0 0 333.5,213 h 1 a 0.50005,0.50005 0 1 0 0,-1 h -0.69141 c -0.20925,-0.52074 -0.41629,-1.01454 -0.65429,-1.3418 -0.29663,-0.40786 -0.67513,-0.7207 -1.1543,-0.7207 -0.47917,0 -0.85767,0.31284 -1.1543,0.7207 -0.10194,0.14017 -0.18655,0.39972 -0.28125,0.57422 -0.21984,-0.70238 -0.40285,-1.50076 -0.71093,-1.96289 -0.49236,-0.73854 -1.13477,-1.20703 -1.85352,-1.20703 -0.71875,0 -1.36116,0.46849 -1.85352,1.20703 -0.20879,0.3132 -0.31334,0.90706 -0.48242,1.33008 -0.30463,-1.87209 -0.5915,-3.83467 -0.99218,-5.48828 -0.26658,-1.10016 -0.56623,-2.0626 -0.96094,-2.79492 -0.19736,-0.36617 -0.41893,-0.67716 -0.69727,-0.91602 C 322.73533,201.16153 322.38008,201 322,201 Z"
- id="path53380-0"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 342.45117,201 a 0.50059574,0.50059574 0 0 0 0.0488,1 c 0.0215,2e-5 0.18225,-1.7e-4 0.33398,0 0.0105,0.42607 0.0502,2.52232 0.33594,5.05664 0.15671,1.39002 0.37504,2.78188 0.69727,3.86719 0.16111,0.54265 0.34457,1.00922 0.59179,1.38086 0.24723,0.37163 0.61429,0.69531 1.09375,0.69531 0.39174,0 0.74881,-0.20864 0.97657,-0.48047 0.22775,-0.27182 0.37091,-0.59987 0.48632,-0.96289 0.23084,-0.72603 0.34622,-1.61436 0.46876,-2.48828 0.12253,-0.87392 0.25275,-1.73314 0.44921,-2.31641 0.0982,-0.29163 0.21467,-0.50852 0.31446,-0.62109 C 348.34784,206.01829 348.39286,206 348.5,206 c 0.16824,0 0.2932,0.0848 0.48633,0.39062 0.19312,0.30582 0.37727,0.78401 0.5625,1.28321 0.18523,0.49919 0.37171,1.01992 0.64453,1.46289 0.27281,0.44297 0.71019,0.86328 1.30664,0.86328 0.41993,0 0.77613,-0.23568 0.99219,-0.49219 0.21606,-0.2565 0.34747,-0.53797 0.4707,-0.78906 0.12323,-0.25109 0.23849,-0.47074 0.33594,-0.58984 C 353.39628,208.0098 353.41651,208 353.5,208 c 0.0859,0 0.18647,0.0811 0.39844,0.32617 0.10598,0.12255 0.22449,0.26923 0.39453,0.40625 C 354.463,208.86945 354.71104,209 355,209 c 0.008,0 0.14542,-2.8e-4 0.27539,0 0.065,1.4e-4 0.13031,6e-5 0.18164,0 0.0513,-6e-5 0.0312,0.005 0.12109,0 a 0.50080138,0.50080138 0 1 0 -0.0566,-1 c 0.0748,-0.004 -0.0172,-5e-5 -0.0664,0 -0.0492,5e-5 -0.11331,1.4e-4 -0.17774,0 -0.12885,-2.8e-4 -0.25041,0 -0.27734,0 -0.0108,0 -0.0173,0.004 -0.0801,-0.0469 -0.0628,-0.0506 -0.15527,-0.15364 -0.26562,-0.28124 C 354.43358,207.41667 354.08387,207 353.5,207 c -0.4167,0 -0.76719,0.23824 -0.97656,0.49414 -0.20937,0.2559 -0.33683,0.53625 -0.45899,0.78516 -0.12215,0.24891 -0.23808,0.46744 -0.33789,0.58593 C 351.62675,208.98373 351.59835,209 351.5,209 c -0.14972,0 -0.26794,-0.0816 -0.45703,-0.38867 -0.18909,-0.30703 -0.37082,-0.78435 -0.55664,-1.28516 -0.18583,-0.5008 -0.37575,-1.02457 -0.65625,-1.46875 C 349.54958,205.41324 349.10136,205 348.5,205 c -0.39664,0 -0.76041,0.19848 -1,0.46875 -0.23959,0.27027 -0.39279,0.60017 -0.51562,0.96484 -0.24567,0.72934 -0.36739,1.61988 -0.49024,2.4961 -0.12285,0.87621 -0.24515,1.73764 -0.43164,2.32422 -0.0933,0.29328 -0.20581,0.51202 -0.29883,0.62304 -0.093,0.11102 -0.1237,0.12305 -0.21094,0.12305 -0.027,0 -0.10877,-0.0201 -0.26171,-0.25 -0.15295,-0.22991 -0.31979,-0.62276 -0.46485,-1.11133 -0.29011,-0.97714 -0.5088,-2.33541 -0.66211,-3.69531 -0.30662,-2.7198 -0.36328,-5.45313 -0.36328,-5.45313 a 0.50005,0.50005 0 0 0 -0.5,-0.49023 c -0.0468,0 -0.74734,5e-5 -0.80078,0 a 0.50005,0.50005 0 0 0 -0.0488,0 z"
- id="path16468-1"
- inkscape:connector-curvature="0" />
- <g
- transform="translate(-1.8536743e-6,4.4999696e-6)"
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g14237">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 207.5,201 a 0.50005,0.50005 0 0 0 -0.40039,0.19922 c -1.548,2.064 -2.85356,4.80197 -4.58594,6.99023 C 200.78129,210.37772 198.70216,212 195.5,212 a 0.50005,0.50005 0 1 0 0,1 c 3.54784,0 5.96871,-1.87772 7.79883,-4.18945 1.7781,-2.24603 3.06678,-4.88493 4.4707,-6.81055 H 208.5 a 0.50005,0.50005 0 1 0 0,-1 z"
- id="path14262"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 197,199.99609 c -0.79172,0 -1.70536,0.42738 -1.98047,1.35938 a 0.50090117,0.50090117 0 1 0 0.96094,0.2832 c 0.12417,-0.42064 0.57767,-0.64258 1.01953,-0.64258 0.26308,0 0.50603,0.0889 0.67773,0.2461 0.17133,0.15683 0.29488,0.38005 0.29883,0.75976 0.001,0.2095 -0.10056,0.41777 -0.33789,0.6875 -0.23733,0.26973 -0.59584,0.56699 -0.97656,0.90235 -0.76143,0.67072 -1.65792,1.5571 -1.66211,2.90234 a 0.50005,0.50005 0 0 0 0.5,0.50195 h 3 a 0.50005,0.50005 0 1 0 0,-1 h -2.33398 c 0.18416,-0.62502 0.58645,-1.15066 1.1582,-1.65429 0.36326,-0.31999 0.74752,-0.62977 1.0664,-0.99219 0.31889,-0.36243 0.58851,-0.81103 0.58594,-1.35156 a 0.50005,0.50005 0 0 0 0,-0.002 c -0.006,-0.61869 -0.24656,-1.14755 -0.62304,-1.49218 -0.37648,-0.34464 -0.8666,-0.50782 -1.35352,-0.50782 z"
- id="path12457-3"
- inkscape:connector-curvature="0" />
- </g>
- <g
- transform="translate(-1.8536743e-6,4.4999696e-6)"
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g14233">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 186.5,201 a 0.50005,0.50005 0 0 0 -0.40039,0.19922 c -1.548,2.064 -2.85356,4.80197 -4.58594,6.99023 C 179.78129,210.37772 177.70216,212 174.5,212 a 0.50005,0.50005 0 1 0 0,1 c 3.54784,0 5.96871,-1.87772 7.79883,-4.18945 1.7781,-2.24603 3.06678,-4.88493 4.4707,-6.81055 H 187.5 a 0.50005,0.50005 0 1 0 0,-1 z"
- id="path14011"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 176.48438,199.99609 a 0.50005,0.50005 0 0 0 -0.3379,0.14649 l -2,2 a 0.50005,0.50005 0 1 0 0.70704,0.70703 L 176,201.70312 V 206.5 a 0.50005,0.50005 0 1 0 1,0 v -6.00391 a 0.50005,0.50005 0 0 0 -0.51562,-0.5 z"
- id="path12461-0"
- inkscape:connector-curvature="0" />
- </g>
- <g
- transform="translate(-1.8536743e-6,4.4999696e-6)"
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g14241">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 228.5,201 a 0.50005,0.50005 0 0 0 -0.47461,0.3418 c -0.75176,2.25527 -1.61792,4.94183 -3.29101,7.0332 -1.6731,2.09137 -4.11183,3.625 -8.23438,3.625 a 0.50005,0.50005 0 1 0 0,1 c 4.37745,0 7.18872,-1.71637 9.01562,-4 1.74159,-2.17699 2.6089,-4.81175 3.33594,-7 H 229.5 a 0.50005,0.50005 0 1 0 0,-1 z"
- id="path14266"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 218.99805,199.99609 c -0.79172,0 -1.70536,0.42738 -1.98047,1.35938 a 0.50005,0.50005 0 1 0 0.95898,0.2832 c 0.12417,-0.42064 0.57962,-0.64258 1.02149,-0.64258 0.26387,0 0.51715,0.0894 0.69531,0.24805 0.17816,0.15864 0.30325,0.37905 0.30664,0.75586 0.001,0.39768 -0.25396,0.75725 -0.76367,1.07422 a 0.50005,0.50005 0 0 0 0,0.84766 c 0.51034,0.31737 0.7656,0.67798 0.76367,1.07617 -0.004,0.37528 -0.12888,0.59561 -0.30664,0.7539 -0.17816,0.15864 -0.43144,0.24805 -0.69531,0.24805 -0.44187,0 -0.89732,-0.21999 -1.02149,-0.64062 a 0.50005,0.50005 0 1 0 -0.95898,0.28124 c 0.27511,0.93201 1.18875,1.35938 1.98047,1.35938 0.48612,0 0.97796,-0.16058 1.36133,-0.50195 0.38336,-0.34137 0.63501,-0.871 0.64062,-1.49414 a 0.50005,0.50005 0 0 0 0,-0.002 c 0.003,-0.61795 -0.34308,-1.09989 -0.77734,-1.5039 0.43425,-0.40402 0.78027,-0.88601 0.77734,-1.50391 a 0.50005,0.50005 0 0 0 0,-0.002 c -0.006,-0.62314 -0.25726,-1.15277 -0.64062,-1.49414 -0.38337,-0.34137 -0.87521,-0.50196 -1.36133,-0.50196 z"
- id="path14395"
- inkscape:connector-curvature="0" />
- </g>
- <g
- transform="translate(-1.8536743e-6,4.4999696e-6)"
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g14249">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 270.5,201 a 0.50005,0.50005 0 0 0 -0.5,0.5 c 0,3.44341 -1.07548,6.03173 -3.02344,7.79102 C 265.02861,211.0503 262.16329,212 258.5,212 a 0.50005,0.50005 0 1 0 0,1 c 3.83671,0 6.97139,-1.00062 9.14844,-2.9668 2.06597,-1.86586 3.15029,-4.63736 3.26367,-8.0332 H 271.5 a 0.50005,0.50005 0 1 0 0,-1 z"
- id="path14273"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 258.5,199.99609 a 0.50005,0.50005 0 0 0 -0.5,0.5 V 202.5 a 0.50005,0.50005 0 0 0 0.5,0.5 h 1.5 c 0.41667,0 1,0.45 1,1.5 0,1.04998 -0.58056,1.4941 -1.00195,1.49609 -0.52634,0.003 -0.86013,-0.33871 -1.05078,-0.72265 a 0.50005,0.50005 0 1 0 -0.89454,0.44531 c 0.30945,0.62316 0.97566,1.28254 1.94922,1.27734 C 261.08054,206.99099 262,205.95002 262,204.5 c 0,-1.45 -0.91667,-2.5 -2,-2.5 h -1 v -1.00391 h 2.5 a 0.50005,0.50005 0 1 0 0,-1 z"
- id="path14399"
- inkscape:connector-curvature="0" />
- </g>
- <g
- transform="translate(-1.8536743e-6,4.4999696e-6)"
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g14245">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 249.5,201 a 0.50005,0.50005 0 0 0 -0.49805,0.45508 c -0.24047,2.64524 -1.32572,5.28945 -3.23633,7.25976 C 243.85502,210.68516 241.12778,212 237.5,212 a 0.50005,0.50005 0 1 0 0,1 c 3.87222,0 6.89498,-1.43516 8.98438,-3.58984 1.97612,-2.03788 3.06007,-4.712 3.39843,-7.41016 H 250.5 a 0.50005,0.50005 0 1 0 0,-1 z"
- id="path14271"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 238.4668,199.99414 c -0.21842,0.0156 -0.40126,0.17156 -0.45118,0.38477 l -1,4 c -0.0786,0.31522 0.15949,0.62057 0.48438,0.62109 h 2.5 v 1.5 c -0.01,0.67616 1.00956,0.67616 1,0 v -4 c -0.009,-0.6573 -0.9907,-0.6573 -1,0 v 1.5 h -1.85938 l 0.84376,-3.37891 c 0.0877,-0.33109 -0.17587,-0.65038 -0.51758,-0.62695 z"
- id="path14402"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="ccccccccccccc" />
- </g>
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 375.5,201 a 0.50005,0.50005 0 0 0 -0.47852,0.35547 c -0.97912,3.26329 -1.65795,6.01658 -2.41406,7.89453 -0.37805,0.93897 -0.77714,1.65307 -1.20117,2.10156 C 370.98222,211.80006 370.56872,212 370,212 c -0.81989,0 -1.77194,-0.85368 -2.74219,-1.84961 -0.48512,-0.49796 -0.97309,-1.01146 -1.49609,-1.41992 C 365.23871,208.32201 364.66174,208 364,208 h -0.5 a 0.50005,0.50005 0 1 0 0,1 h 0.5 c 0.32338,0 0.70916,0.17799 1.14648,0.51953 0.43732,0.34154 0.9074,0.82804 1.39649,1.33008 C 367.52115,211.85368 368.58382,213 370,213 c 0.83577,0 1.56694,-0.36242 2.13281,-0.96094 0.56587,-0.59851 1.00027,-1.41738 1.40235,-2.41601 0.7683,-1.90825 1.43134,-4.57357 2.33398,-7.62305 H 376.5 a 0.50005,0.50005 0 1 0 0,-1 z"
- id="path16580-7"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 396.5,201 a 0.50005,0.50005 0 0 0 -0.40039,0.19922 c -1.548,2.064 -2.85356,4.80197 -4.58594,6.99023 C 389.78129,210.37772 387.70216,212 384.5,212 a 0.50005,0.50005 0 1 0 0,1 c 3.54784,0 5.96871,-1.87772 7.79883,-4.18945 1.7781,-2.24603 3.06678,-4.88493 4.4707,-6.81055 H 397.5 a 0.50005,0.50005 0 1 0 0,-1 z"
- id="path14011-0"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 418.5,201 c -3.54784,0 -5.96871,1.87772 -7.79883,4.18945 -1.7781,2.24603 -3.06678,4.88493 -4.4707,6.81055 H 405.5 a 0.50005,0.50005 0 1 0 0,1 h 1 a 0.50005,0.50005 0 0 0 0.40039,-0.19922 c 1.548,-2.064 2.85356,-4.80197 4.58594,-6.99023 C 413.21871,203.62228 415.29784,202 418.5,202 a 0.50005,0.50005 0 1 0 0,-1 z"
- id="path14049"
- inkscape:connector-curvature="0" />
- <g
- transform="translate(-1.8536743e-6,4.4999696e-6)"
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g14253">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 447.5,200 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 4 a 0.50005,0.50005 0 1 0 1,0 V 201 h 3.5 a 0.50005,0.50005 0 1 0 0,-1 z m 9.00781,0 a 0.50005,0.50005 0 1 0 0,1 h 3.5 v 3.5 a 0.50005,0.50005 0 1 0 1,0 v -4 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m -9.01562,9 A 0.50005,0.50005 0 0 0 447,209.50781 v 4 a 0.50005,0.50005 0 0 0 0.5,0.5 h 4 a 0.50005,0.50005 0 1 0 0,-1 H 448 v -3.5 A 0.50005,0.50005 0 0 0 447.49219,209 Z M 460.5,209 a 0.50005,0.50005 0 0 0 -0.49219,0.50781 v 3.5 h -3.5 a 0.50005,0.50005 0 1 0 0,1 h 4 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -4 A 0.50005,0.50005 0 0 0 460.5,209 Z"
- id="path13927-5"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 449.5,203 a 0.50005,0.50005 0 1 0 0,1 h 1 c 0.39167,0 0.74862,0.27445 1.13672,0.86719 0.3881,0.59273 0.74407,1.4462 1.08594,2.3164 0.34186,0.8702 0.67067,1.75605 1.06836,2.4668 0.19884,0.35538 0.41332,0.66981 0.68554,0.91797 0.27222,0.24816 0.62761,0.43164 1.02344,0.43164 0.625,0 1.13349,-0.27613 1.44727,-0.64648 0.31377,-0.37036 0.47247,-0.79704 0.61523,-1.17774 0.14276,-0.3807 0.2723,-0.71757 0.41406,-0.91016 C 458.11833,208.07304 458.20536,208 458.5,208 a 0.50005,0.50005 0 1 0 0,-1 c -0.58036,0 -1.05583,0.30196 -1.32812,0.67188 -0.2723,0.36991 -0.40839,0.78304 -0.54688,1.15234 -0.13849,0.3693 -0.27667,0.69262 -0.43945,0.88476 C 456.02276,209.90113 455.875,210 455.5,210 c -0.10417,0 -0.20191,-0.0353 -0.34961,-0.16992 -0.1477,-0.13465 -0.31994,-0.3671 -0.48828,-0.66797 -0.33669,-0.60175 -0.66413,-1.4659 -1.00977,-2.3457 -0.34563,-0.8798 -0.70841,-1.77633 -1.17968,-2.4961 C 452.00138,203.60055 451.35833,203 450.5,203 Z"
- id="path14224"
- inkscape:connector-curvature="0" />
- </g>
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g13322"
- transform="translate(-1.8536743e-6,21.000005)">
- <g
- id="g14281"
- transform="translate(84,200)"
- style="opacity:0.6;fill:#ffffff">
- <g
- transform="matrix(1,0,0,-1,-294,368)"
- id="g14276"
- style="opacity:1;fill:#ffffff">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 300.5,375 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 3 a 0.50005,0.50005 0 0 0 0.5,0.5 h 10 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -3 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m 0.5,1 h 9 v 2 h -9 z"
- id="path14272"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 304.5,378 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 3 a 0.50005,0.50005 0 0 0 0.5,0.5 h 9 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -3 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m 0.5,1 h 8 v 2 h -8 z"
- id="path14274"
- inkscape:connector-curvature="0" />
+ <g style="display:inline;opacity:1;fill:#ffffff;enable-background:new" id="g7388-6" transform="translate(731,-238)" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" inkscape:export-xdpi="96" inkscape:export-ydpi="96">
+ <rect transform="scale(-1,1)" style="display:inline;overflow:visible;visibility:visible;opacity:0;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.79999995;marker:none;enable-background:accumulate" id="rect7384-9" width="16" height="16" x="437" y="710"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m -447.96289,710.98828 a 1.0001,1.0001 0 0 0 -0.83789,0.41211 c -3.30626,4.40835 -3.18183,10.96743 -3.18555,12.58399 a 1.0001,1.0001 0 1 0 2,0.006 c 0.004,-1.64212 0.0934,-7.79897 2.78711,-11.39062 a 1.0001,1.0001 0 0 0 -0.76367,-1.61133 z m 4.97461,3.00195 a 1.0001,1.0001 0 0 0 -0.69727,0.28125 c -2.25424,2.12239 -3.3739,3.98924 -3.89062,5.64258 C -448.0929,721.56741 -448,722.96385 -448,724 a 1.0001,1.0001 0 1 0 2,0 c 0,-1.13631 -0.0696,-2.20308 0.33203,-3.48828 0.40167,-1.28521 1.28135,-2.83224 3.35352,-4.7832 a 1.0001,1.0001 0 0 0 -0.67383,-1.73829 z m 3.94531,4.00782 a 1.0001,1.0001 0 0 0 -0.16797,0.0234 C -441.66808,718.54973 -444,720.82862 -444,724 a 1.0001,1.0001 0 1 0 2,0 c 0,-2.17354 1.66808,-3.68979 3.21094,-4.02148 a 1.0001,1.0001 0 0 0 -0.25391,-1.98047 z" id="path7133-7" inkscape:connector-curvature="0"/>
+ </g>
+ <path inkscape:connector-curvature="0" id="path13682" d="m 100.45117,431 c -0.36065,0.005 -0.725199,0.0666 -1.080078,0.1875 -1.419514,0.48381 -2.371094,1.8128 -2.371094,3.3125 a 0.50005006,0.50005006 0 1 1 -1,0 c 0,-0.53249 0.102694,-1.04562 0.277344,-1.52734 -0.0921,0.0103 -0.173784,0.0274 -0.277344,0.0273 -3.307786,0 -6,2.69221 -6,6 0,3.30779 2.692214,6 6,6 3.307786,0 6.000002,-2.69221 6.000002,-6 v -0.002 c -4.7e-4,-0.11093 0.014,-0.19694 0.0332,-0.27344 -0.83987,0.3046 -1.77022,0.36483 -2.67578,0.12695 a 0.50005006,0.50005006 0 1 1 0.253906,-0.96679 c 1.450494,0.38101 2.978064,-0.20116 3.806644,-1.45118 0.82858,-1.25001 0.7694,-2.88277 -0.14649,-4.07031 -0.68691,-0.89068 -1.73836,-1.37897 -2.82031,-1.36328 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.00000012;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0.5;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
+ <g transform="translate(-1.8536743e-6,4.4999696e-6)" style="display:inline;fill:#ffffff;enable-background:new" id="g14534">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.00000012;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0.5;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 100.24805,410.01367 c -1.271268,0.11136 -2.328782,0.98616 -2.845706,2.17774 -2.575841,-0.61979 -5.266939,0.50372 -6.597656,2.80859 -1.356612,2.34971 -0.965414,5.32365 0.953124,7.24219 1.918537,1.91853 4.892473,2.30974 7.242188,0.95312 2.30486,-1.33072 3.42838,-4.02182 2.80859,-6.59765 1.3618,-0.59077 2.3103,-1.88718 2.17774,-3.40235 -0.14775,-1.68875 -1.49289,-3.03389 -3.18164,-3.18164 -0.1894,-0.0166 -0.37503,-0.0159 -0.55664,0 z m 0.0234,0.9961 c 0.14685,-0.0133 0.29578,-0.0133 0.44727,0 1.21193,0.10603 2.16545,1.05955 2.27148,2.27148 0.10604,1.21192 -0.66865,2.31795 -1.84375,2.63281 a 0.50005006,0.50005006 0 0 0 -0.35937,0.58203 l 0.0352,0.17969 a 0.50005006,0.50005006 0 0 0 0.008,0.0293 c 0.58634,2.18824 -0.36816,4.49227 -2.33008,5.625 -1.961931,1.13272 -4.433244,0.80698 -6.035156,-0.79492 -1.601912,-1.60191 -1.927645,-4.07323 -0.794922,-6.03516 1.132722,-1.96193 3.43675,-2.91642 5.625,-2.33008 a 0.50005006,0.50005006 0 0 0 0.0293,0.008 l 0.179687,0.0352 a 0.50005006,0.50005006 0 0 0 0.582032,-0.35937 c 0.275511,-1.02822 1.157648,-1.75045 2.185539,-1.84375 z M 94.5,416 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 3 a 0.50005,0.50005 0 0 0 0.5,0.5 h 3 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -3 A 0.50005,0.50005 0 0 0 97.5,416 Z m 0.5,1 h 2 v 2 h -2 z" transform="translate(1.8536743e-6,-4.4999696e-6)" id="circle13742" inkscape:connector-curvature="0"/>
+ </g>
+ <g style="display:inline;fill:#ffffff;enable-background:new" id="g14020" transform="translate(153.00001,38.000005)" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" inkscape:export-xdpi="96" inkscape:export-ydpi="96">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0.5;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m -76.5,394 -3.751953,0.006 c -0.228491,0.001 -0.427071,0.15722 -0.482422,0.37891 l -1.25,4.99414 c -0.07853,0.31517 0.159565,0.6204 0.484375,0.62095 h 3.75 c 0.22922,-3.6e-4 0.428845,-0.15652 0.484375,-0.37891 l 1.25,-5 C -75.936984,394.30587 -76.175116,394.00052 -76.5,394 Z m 6,0 -3.751953,0.006 c -0.228491,0.001 -0.427071,0.15722 -0.482422,0.37891 l -1.25,4.99414 c -0.07853,0.31517 0.159565,0.6204 0.484375,0.62095 h 3.75 c 0.22922,-3.6e-4 0.428845,-0.15652 0.484375,-0.37891 l 1.25,-5 C -69.936984,394.30587 -70.175116,394.00052 -70.5,394 Z m -8,7 -3.751953,0.006 c -0.228491,0.001 -0.427071,0.15722 -0.482422,0.37891 l -1.25,4.99414 c -0.07853,0.31517 0.159565,0.6204 0.484375,0.62095 h 3.75 c 0.22922,-3.6e-4 0.428845,-0.15652 0.484375,-0.37891 l 1.25,-5 C -77.936984,401.30587 -78.175116,401.00052 -78.5,401 Z m 6,0 -3.751953,0.006 c -0.228491,0.001 -0.427071,0.15722 -0.482422,0.37891 l -1.25,4.99414 c -0.07853,0.31517 0.159565,0.6204 0.484375,0.62095 h 3.75 c 0.22922,-3.6e-4 0.428845,-0.15652 0.484375,-0.37891 l 1.25,-5 C -71.936984,401.30587 -72.175116,401.00052 -72.5,401 Z" id="path13999" inkscape:connector-curvature="0" sodipodi:nodetypes="cccccccccccccccccccccccccccccccccccc"/>
+ </g>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 11.455078,430.98242 a 1.50015,1.50015 0 0 0 -1.4765624,1.52149 v 6.3789 l -3.5605468,3.56055 a 1.50015,1.50015 0 1 0 2.1210937,2.12109 l 3.5605465,-3.56054 h 6.378907 a 1.50015,1.50015 0 1 0 0,-3 h -5.5 v -5.5 a 1.50015,1.50015 0 0 0 -1.523438,-1.52149 z" id="path12350-2" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 199.50586,431 c -0.31034,2.7e-4 -0.5455,0.28021 -0.49219,0.58594 0.36378,2.06995 0.21088,3.24033 -0.13086,3.98828 -0.34174,0.74794 -0.89741,1.14621 -1.5625,1.65234 -0.66509,0.50614 -1.42742,1.12518 -1.87304,2.24414 -0.44562,1.11896 -0.57595,2.68203 -0.19141,5.10742 0.0385,0.24306 0.24806,0.422 0.49414,0.42188 h 8.75586 c 0.30739,1.4e-4 0.54213,-0.27449 0.49414,-0.57812 -0.36857,-2.32471 -0.21903,-3.70089 0.13086,-4.58204 0.34989,-0.88114 0.89751,-1.32255 1.54492,-1.8164 0.64741,-0.49385 1.4068,-1.03318 1.86328,-2.03516 0.45648,-1.00198 0.58623,-2.39428 0.20313,-4.57422 C 208.70043,431.17484 208.49284,431.0002 208.25,431 Z" id="path8644-7" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccscccccssccc"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 96.5,473 c -2.087116,0 -3.478164,1.04607 -4.390625,2.1875 a 0.50024408,0.50024408 0 0 0 0.78125,0.625 C 93.690488,474.81193 94.734388,474 96.5,474 c 2.098393,0 3.134109,0.87695 3.75195,1.94531 C 100.8698,477.01367 101,478.31651 101,479 h -5.25 c -1.273438,0 -2.443243,0.36418 -3.314453,1.05469 -0.87121,0.69051 -1.427734,1.72791 -1.427735,2.94531 10e-7,1.2174 0.556525,2.2548 1.427735,2.94531 C 93.306757,486.63582 94.476562,487 95.75,487 h 0.75 c 1.755585,0 3.387714,-0.96684 4.53711,-2.0332 0.0781,0.53303 0.28951,1.00434 0.64062,1.35547 C 102.12862,486.77315 102.775,487 103.5,487 a 0.50005,0.50005 0 1 0 0,-1 c -0.525,0 -0.87862,-0.14815 -1.11523,-0.38477 C 102.14815,485.37862 102,485.025 102,484.5 V 479 c 0,-0.79721 -0.12242,-2.24322 -0.88086,-3.55469 C 100.3607,474.13385 98.896459,473 96.5,473 Z m -0.75,7 H 101 v 3.56055 C 100.04582,484.68473 98.18875,486 96.5,486 h -0.75 c -1.081007,0 -2.03187,-0.31555 -2.693359,-0.83984 -0.66149,-0.52429 -1.048828,-1.23676 -1.048829,-2.16016 10e-7,-0.9234 0.387339,-1.63587 1.048829,-2.16016 C 93.718131,480.31555 94.668993,480 95.75,480 Z" id="path10278-2" inkscape:connector-curvature="0"/>
+ <g style="display:inline;opacity:1;fill:#ffffff;enable-background:new" id="g12310-0" transform="translate(62.999998,210)" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" inkscape:export-xdpi="96" inkscape:export-ydpi="96">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 222,431 c -0.1326,2e-5 -0.25976,0.0527 -0.35352,0.14648 L 218.79297,434 H 216.5 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 7 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 2.29297 l 2.85351,2.85352 c 0.0938,0.0938 0.22092,0.14646 0.35352,0.14648 h 0.5 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 V 431.78125 431.5 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z m 6.4668,2.01562 a 0.50005,0.50005 0 0 0 -0.42188,0.72071 c 1.27607,2.70648 1.27328,5.84072 -0.008,8.54492 a 0.50017783,0.50017783 0 1 0 0.9043,0.42773 c 1.40867,-2.97397 1.41099,-6.42391 0.008,-9.40039 a 0.50005,0.50005 0 0 0 -0.48242,-0.29297 z m -2.86133,0.9375 a 0.50005,0.50005 0 0 0 -0.43359,0.74219 c 1.10286,2.06013 1.1045,4.5334 0.006,6.59571 a 0.50023236,0.50023236 0 1 0 0.88282,0.4707 c 1.25518,-2.35583 1.25221,-5.18378 -0.008,-7.53711 a 0.50005,0.50005 0 0 0 -0.44726,-0.27149 z" transform="translate(-62.999998,-210)" id="path12304-9" inkscape:connector-curvature="0"/>
+ </g>
+ <g id="g5260" transform="translate(21,42)" style="fill:#ffffff">
+ <path inkscape:connector-curvature="0" id="path13014" d="m 176.5,410 a 0.50005,0.50005 0 1 0 0,1 h 0.79297 L 178,411.70703 v 10.58594 L 177.29297,423 H 176.5 a 0.50005,0.50005 0 1 0 0,1 h 1 a 0.50005,0.50005 0 0 0 0.35352,-0.14648 l 0.64648,-0.64649 0.64648,0.64649 A 0.50005,0.50005 0 0 0 179.5,424 h 1 a 0.50005,0.50005 0 1 0 0,-1 h -0.79297 L 179,422.29297 V 411.70703 L 179.70703,411 H 180.5 a 0.50005,0.50005 0 1 0 0,-1 h -1 a 0.50005,0.50005 0 0 0 -0.35352,0.14648 l -0.64648,0.64649 -0.64648,-0.64649 A 0.50005,0.50005 0 0 0 177.5,410 Z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"/>
+ <path inkscape:connector-curvature="0" id="path13066" d="m 174.5,414 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 5 a 0.50005,0.50005 0 0 0 0.5,0.5 h 2.5 v -1 h -2 v -4 h 2 v -1 z m 5.5,0 v 1 h 7.00781 v 4 H 180 v 1 h 7.50781 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -5 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"/>
+ </g>
+ <g transform="translate(-1.8536743e-6,4.4999696e-6)" style="display:inline;fill:#ffffff;enable-background:new" id="g13176" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" inkscape:export-xdpi="96" inkscape:export-ydpi="96">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 14,472 c -0.486111,0 -0.97894,0.16032 -1.363281,0.50195 C 12.252378,472.84359 12,473.375 12,474 v 4 H 8.5 c -0.2761309,3e-5 -0.4999724,0.22387 -0.5,0.5 v 4 c 0,0.33333 -0.182083,0.72505 -0.4785156,1.02148 C 7.2250518,483.81792 6.8333333,484 6.5,484 c -0.2761309,3e-5 -0.4999724,0.22387 -0.5,0.5 v 2 c 2.76e-5,0.27613 0.2238691,0.49997 0.5,0.5 h 3 c 0.1325988,-2e-5 0.259759,-0.0527 0.3535156,-0.14648 L 11,485.70703 V 486.5 c 2.8e-5,0.27613 0.223869,0.49997 0.5,0.5 h 5 c 1.777778,0 3.5,-1.46429 3.5,-3.5 v -5 c -2.8e-5,-0.27613 -0.223869,-0.49997 -0.5,-0.5 H 16 v -4 c 0,-0.625 -0.252378,-1.15641 -0.636719,-1.49805 C 14.97894,472.16032 14.486111,472 14,472 Z m 0,1 c 0.263889,0 0.52106,0.0897 0.699219,0.24805 C 14.877378,473.40641 15,473.625 15,474 v 4 h -0.5 c -0.676161,-0.01 -0.676161,1.00956 0,1 H 19 v 1 H 9 v -1 h 3.5 c 0.276131,-3e-5 0.499972,-0.22387 0.5,-0.5 V 474 c 0,-0.375 0.122622,-0.59359 0.300781,-0.75195 C 13.47894,473.08968 13.736111,473 14,473 Z m -5,8 h 10 v 2.5 c 0,1.46429 -1.277778,2.5 -2.5,2.5 H 16 v -1.5 c 0.0044,-0.28227 -0.225547,-0.51223 -0.507812,-0.50781 C 15.216044,483.9965 14.995681,484.22386 15,484.5 v 1.5 h -3 v -1.5 c -1.7e-4,-0.44532 -0.538517,-0.6683 -0.853516,-0.35352 L 9.2929688,486 H 7 v -1.22266 C 7.4441801,484.6575 7.9061001,484.55093 8.2285156,484.22852 8.682083,483.77495 9,483.16667 9,482.5 Z" transform="translate(1.8536743e-6,-4.4999696e-6)" id="path5504-6" inkscape:connector-curvature="0" sodipodi:nodetypes="scsccccccccccccccsccccscsscscccccccccscsccssccccccccccccsc"/>
+ </g>
+ <g transform="translate(-664,-513.00021)" style="display:inline;opacity:0.98999999;fill:#ffffff;enable-background:new" id="g8745-3" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" inkscape:export-xdpi="96" inkscape:export-ydpi="96">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 475.25,53 a 0.50005,0.50005 0 0 0 -0.21289,0.04687 l -5.75391,2.708984 a 0.50005,0.50005 0 0 0 -0.28515,0.453125 v 7.292969 a 0.50005,0.50005 0 0 0 0.27539,0.447266 l 6.00195,3.001953 a 0.50005,0.50005 0 0 0 0.44727,0 l 6.00195,-3.001953 A 0.50005,0.50005 0 0 0 482,63.501953 v -6.916015 a 0.50005,0.50005 0 0 0 0,-0.181641 v -0.195313 a 0.50005,0.50005 0 0 0 -0.28711,-0.453125 l -5.75,-2.707031 A 0.50005,0.50005 0 0 0 475.75,53 Z m 0.11133,1 h 0.27734 l 5.00977,2.359375 -5.14844,2.509766 -5.14844,-2.509766 z M 469.99805,57.298828 475,59.738281 v 5.957031 l -5.00195,-2.501953 z M 481,57.300781 v 5.892578 l -5,2.5 v -5.955078 z" transform="translate(664,513.00021)" id="path8739-6" inkscape:connector-curvature="0"/>
+ </g>
+ <g transform="translate(-801.00006,344.99979)" id="g13204" style="display:inline;opacity:0.98999999;fill:#ffffff;enable-background:new" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" inkscape:export-xdpi="96" inkscape:export-ydpi="96">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999988;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 1339.5,-270 a 0.50004994,0.50004994 0 1 0 0,1 h 6 a 0.50004994,0.50004994 0 1 0 0,-1 z m 0,3 a 0.50004994,0.50004994 0 1 0 0,1 h 6 a 0.50004994,0.50004994 0 1 0 0,-1 z m 0,3 a 0.50004994,0.50004994 0 1 0 0,1 h 6 a 0.50004994,0.50004994 0 1 0 0,-1 z m -7,3 a 0.50004994,0.50004994 0 1 0 0,1 h 13 a 0.50004994,0.50004994 0 1 0 0,-1 z m -0.014,3 a 0.50004994,0.50004994 0 1 0 0,1 h 13.0449 a 0.50004994,0.50004994 0 1 0 0,-1 z" id="path13198" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 1332.4922,-263 c -0.2761,-0.004 -0.4965,-0.23166 -0.4922,-0.50781 v -5.08789 c 0,-0.86662 0.4883,-1.66406 1.2578,-2.08789 0.7696,-0.42387 1.709,-0.42387 2.4785,0 0.7695,0.42383 1.2559,1.22127 1.2559,2.08789 v 5.08789 c 0.01,0.67616 -1.0096,0.67616 -1,0 V -266 H 1333 v 2.49219 c 0,0.28226 -0.2255,0.51222 -0.5078,0.50781 z m 0.5078,-4 h 2.9922 v -1.5957 c 0,-0.49379 -0.2728,-0.95455 -0.7383,-1.21094 -0.4655,-0.25638 -1.0482,-0.25638 -1.5137,0 -0.4655,0.25639 -0.7402,0.71715 -0.7402,1.21094 z" id="path13202" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccccccccccccsccsc"/>
+ </g>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="M 114.49219,166.99219 A 0.50005,0.50005 0 0 0 114,167.5 v 1.5 h -2.5 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 2 a 0.50005,0.50005 0 1 0 1,0 V 170 h 2.5 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -2 a 0.50005,0.50005 0 0 0 -0.50781,-0.50781 z" id="path4913-5-0" inkscape:connector-curvature="0"/>
+ <g style="display:inline;opacity:0.6;fill:#ffffff;enable-background:new" id="g10431-7" transform="matrix(1,0,0,-1,52.999998,288.99725)" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" inkscape:export-xdpi="96" inkscape:export-ydpi="96"/>
+ <g transform="translate(62.999998,189)" id="g13463" style="display:inline;opacity:1;fill:#ffffff;enable-background:new" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" inkscape:export-xdpi="96" inkscape:export-ydpi="96">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 221.5,410 a 0.50005,0.50005 0 0 0 -0.35352,0.14648 L 218.29297,413 H 216.5 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 7 a 0.50005,0.50005 0 0 0 0.5,0.5 h 1.79297 l 2.85351,2.85352 A 0.50005,0.50005 0 0 0 221.5,424 h 1 a 0.50005,0.50005 0 0 0 0.5,-0.5 V 410.78125 410.5 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m 0.20703,1 H 222 v 12 h -0.29297 l -2.85351,-2.85352 A 0.50005,0.50005 0 0 0 218.5,420 H 217 v -6 h 1.5 a 0.50005,0.50005 0 0 0 0.35352,-0.14648 z m 6.75977,1.01562 a 0.50005,0.50005 0 0 0 -0.42188,0.72071 c 1.27607,2.70648 1.27328,5.84072 -0.008,8.54492 a 0.50017783,0.50017783 0 1 0 0.9043,0.42773 c 1.40867,-2.97397 1.41099,-6.42391 0.008,-9.40039 a 0.50005,0.50005 0 0 0 -0.48242,-0.29297 z m -2.86133,0.9375 a 0.50005,0.50005 0 0 0 -0.43359,0.74219 c 1.10286,2.06013 1.1045,4.5334 0.006,6.59571 a 0.50023236,0.50023236 0 1 0 0.88282,0.4707 c 1.25518,-2.35583 1.25221,-5.18378 -0.008,-7.53711 a 0.50005,0.50005 0 0 0 -0.44726,-0.27149 z" transform="translate(-62.999998,-189)" id="path13456" inkscape:connector-curvature="0"/>
+ </g>
+ <g transform="translate(-274.03132,440.00025)" style="display:inline;opacity:0.98999999;fill:#ffffff;enable-background:new" id="g13513" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" inkscape:export-xdpi="96" inkscape:export-ydpi="96">
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.75542808px;marker:none;enable-background:accumulate" d="m 220.5,536 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 9.64062 a 1.8365096,2.6222708 64.987834 0 0 -1.98242,0.0723 1.8365096,2.6222708 64.987834 0 0 -1.9707,2.68555 1.8365096,2.6222708 64.987834 0 0 2.93554,0.88867 1.8365096,2.6222708 64.987834 0 0 2.00977,-2.18945 A 0.50005,0.50005 0 0 0 221,547.5 V 547.47461 538 h 8 v 7.14062 a 1.8365125,2.6222911 64.988434 0 0 -1.98242,0.0723 1.8365125,2.6222911 64.988434 0 0 -1.9707,2.68555 1.8365125,2.6222911 64.988434 0 0 2.93554,0.88867 1.8365125,2.6222911 64.988434 0 0 2.00977,-2.18945 A 0.50005,0.50005 0 0 0 230,546.5 v -10 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z" transform="translate(274.03132,-440.00025)" id="ellipse13504" inkscape:connector-curvature="0"/>
+ </g>
+ <g transform="translate(-1.8536743e-6,4.4999696e-6)" id="g12940-5" style="display:inline;opacity:1;fill:#ffffff;stroke:#ffffff;enable-background:new" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" inkscape:export-xdpi="96" inkscape:export-ydpi="96">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="M 411.49219,577.94727 A 0.50005,0.50005 0 0 0 411,578.45508 v 7 a 0.50005,0.50005 0 1 0 1,0 v -7 a 0.50005,0.50005 0 0 0 -0.50781,-0.50781 z M 408.47656,580 a 0.50005,0.50005 0 0 0 -0.22265,0.0684 c -2.54449,1.43695 -3.79437,4.38222 -3.03125,7.16797 0.76312,2.78575 3.34282,4.71875 6.27734,4.71875 2.93452,0 5.51422,-1.933 6.27734,-4.71875 0.76312,-2.78575 -0.48676,-5.73102 -3.03125,-7.16797 a 0.50025967,0.50025967 0 1 0 -0.49218,0.87109 c 2.15894,1.21922 3.20113,3.68764 2.55859,6.03321 -0.64254,2.34557 -2.81597,3.98242 -5.3125,3.98242 -2.49653,0 -4.66996,-1.63685 -5.3125,-3.98242 -0.64254,-2.34557 0.39965,-4.81399 2.55859,-6.03321 A 0.50005,0.50005 0 0 0 408.47656,580 Z" transform="translate(1.8536743e-6,-4.4999696e-6)" id="path12897-5" inkscape:connector-curvature="0"/>
+ </g>
+ <g style="display:inline;opacity:1;fill:#ffffff;enable-background:new" id="g10027-7" transform="translate(109,-110)" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" inkscape:export-xdpi="96" inkscape:export-ydpi="96">
+ <path sodipodi:nodetypes="sssssccccccccccccc" inkscape:connector-curvature="0" id="path9906-8-8" d="m 264.5,688 c -1.933,0 -3.5,1.567 -3.5,3.5 0,1.933 1.567,3.5 3.5,3.5 1.933,0 3.5,-1.567 3.5,-3.5 0,-1.933 -1.567,-3.5 -3.5,-3.5 z m -0.5,1 h 1 v 2 h 2 v 1 h -2 v 2 h -1 v -2 h -2 v -1 h 2 z" style="display:inline;opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.80000001;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:new"/>
+ <g id="g9914-5" transform="translate(99.99999,195.99938)" style="display:inline;opacity:0.6;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:0.80000001;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:new">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 366.48438,579 c -0.12718,0.004 -0.248,0.0564 -0.3379,0.14648 l -3,3 c -0.31479,0.315 -0.0918,0.85335 0.35352,0.85352 h 3 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 V 580 h 1.5 c 0.67616,0.01 0.67616,-1.00956 0,-1 h -2 v 0.002 c -0.005,0 -0.0101,-0.002 -0.0156,-0.002 z M 363,584 v 7.5 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 10 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -5 c 0.01,-0.67616 -1.00956,-0.67616 -1,0 v 4.5 h -9 v -7 z" transform="translate(-208.99999,-85.99938)" id="path9910-5" inkscape:connector-curvature="0"/>
+ </g>
+ </g>
+ <g transform="translate(365,4.4999696e-6)" id="g13349" style="display:inline;opacity:0.6;fill:#ffffff;enable-background:new" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" inkscape:export-xdpi="96" inkscape:export-ydpi="96">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 349.5,578 c -1.48507,0 -2.8535,0.46731 -3.86133,1.33594 C 344.63084,580.20456 344,581.48473 344,583 v 3 c 0,0.83333 -0.007,1.35913 -0.11133,1.78711 -0.10481,0.42798 -0.303,0.80502 -0.77929,1.40039 A 0.50005,0.50005 0 0 0 343,589.5 v 2 a 0.50005,0.50005 0 0 0 0.5,0.5 h 1 1 a 0.50005,0.50005 0 0 0 0.33008,-0.12305 l 1.64648,-1.44336 1.41992,1.41993 A 0.50005,0.50005 0 0 0 349.25,592 h 0.5 a 0.50005,0.50005 0 0 0 0.35352,-0.14648 l 1.39648,-1.39649 1.39648,1.39649 A 0.50005,0.50005 0 0 0 353.25,592 h 1.25 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -2 -1 -5.5 c 0,-1.51527 -0.63084,-2.79544 -1.63867,-3.66406 C 352.3535,578.46731 350.98507,578 349.5,578 Z m 0,1 c 1.27493,0 2.40681,0.40238 3.20898,1.09375 C 353.51116,580.78512 354,581.75527 354,583 v 5.5 1 1.5 h -0.54297 l -1.60351,-1.60352 a 0.50005,0.50005 0 0 0 -0.70704,0 L 349.54297,591 h -0.0859 l -1.60351,-1.60352 a 0.50005,0.50005 0 0 0 -0.6836,-0.0234 L 345.3125,591 H 344.5 344 v -1.38867 c 0.42104,-0.55984 0.73249,-1.05984 0.86133,-1.58594 C 345.00652,587.43254 345,586.83333 345,586 v -3 c 0,-1.24473 0.48884,-2.21488 1.29102,-2.90625 C 347.09319,579.40238 348.22507,579 349.5,579 Z m -1.00586,2.99219 a 0.50005,0.50005 0 0 0 -0.34766,0.15429 l -0.64648,0.64649 -0.64648,-0.64649 a 0.50005,0.50005 0 0 0 -0.35938,-0.15234 0.50005,0.50005 0 0 0 -0.34766,0.85938 l 0.64649,0.64648 -0.64649,0.64648 a 0.50005,0.50005 0 1 0 0.70704,0.70704 l 0.64648,-0.64649 0.64648,0.64649 a 0.50005,0.50005 0 1 0 0.70704,-0.70704 l -0.64649,-0.64648 0.64649,-0.64648 a 0.50005,0.50005 0 0 0 -0.35938,-0.86133 z m 4,0 a 0.50005,0.50005 0 0 0 -0.34766,0.15429 l -0.64648,0.64649 -0.64648,-0.64649 a 0.50005,0.50005 0 0 0 -0.35938,-0.15234 0.50005,0.50005 0 0 0 -0.34766,0.85938 l 0.64649,0.64648 -0.64649,0.64648 a 0.50005,0.50005 0 1 0 0.70704,0.70704 l 0.64648,-0.64649 0.64648,0.64649 a 0.50005,0.50005 0 1 0 0.70704,-0.70704 l -0.64649,-0.64648 0.64649,-0.64648 a 0.50005,0.50005 0 0 0 -0.35938,-0.86133 z" transform="translate(-365,-4.4999696e-6)" id="path13343" inkscape:connector-curvature="0"/>
+ </g>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 291.98438,431.0625 c -1.31822,0 -2.69153,0.28723 -3.69727,1.29297 a 1.0001,1.0001 0 1 0 1.41406,1.41406 c 0.49426,-0.49426 1.2483,-0.70703 2.28321,-0.70703 a 1.0001,1.0001 0 1 0 0,-2 z m -7.24024,3.04297 c -0.74589,-0.0115 -1.46694,0.0868 -2.13086,0.30664 -1.32784,0.43972 -2.4721,1.53683 -2.61719,3.06055 -0.19518,2.0499 0.80702,3.49399 1.02735,4.3457 0.14607,0.56468 0.0225,0.72298 -0.18164,0.91797 -0.20413,0.19499 -0.61247,0.33203 -0.84961,0.33203 a 1.0001,1.0001 0 1 0 0,2 c 0.76285,0 1.57391,-0.25956 2.23047,-0.88672 0.65655,-0.62715 1.03297,-1.71849 0.73632,-2.86523 -0.37187,-1.43756 -1.0944,-2.37562 -0.97265,-3.6543 0.0682,-0.71615 0.4403,-1.08149 1.25586,-1.35156 0.81556,-0.27008 2.03005,-0.27431 3.23242,0.0684 1.20237,0.34267 2.38417,1.01511 3.21875,1.95703 0.83458,0.94191 1.35114,2.12713 1.29297,3.68945 -0.0218,0.58526 -0.18864,0.77371 -0.37305,0.89453 -0.18441,0.12083 -0.50228,0.18156 -0.91016,0.0723 -0.65709,-0.17607 -1.01294,-0.58503 -1.30078,-1.30274 -0.28784,-0.7177 -0.4082,-1.70364 -0.4082,-2.62695 a 1.0001,1.0001 0 1 0 -2,0 c 0,1.07669 0.11104,2.27463 0.55078,3.37109 0.43975,1.09647 1.30771,2.13309 2.64063,2.49024 0.84212,0.22565 1.76567,0.1664 2.52343,-0.33008 0.75729,-0.49617 1.23505,-1.42269 1.2754,-2.49219 v -0.002 c 0.0762,-2.06159 -0.66061,-3.80964 -1.79493,-5.08984 -1.1347,-1.28064 -2.63964,-2.11968 -4.16601,-2.55469 -0.76319,-0.21751 -1.53341,-0.33806 -2.2793,-0.34961 z" id="path8292" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 495.50391,451.99219 c -1.93006,0 -3.50391,1.57292 -3.50391,3.5 v 2 c 0,0.41666 0.19292,0.77495 0.45898,1.04101 0.26607,0.26607 0.62435,0.45899 1.04102,0.45899 a 0.50005,0.50005 0 1 0 0,-1 c -0.0833,0 -0.22505,-0.0571 -0.33398,-0.16602 C 493.05708,457.71724 493,457.57552 493,457.49219 v -2 c 0,-1.38664 1.11314,-2.5 2.50391,-2.5 h 1.0039 c 1.39077,0 2.50196,1.11336 2.50196,2.5 v 2 c 0,0.0833 -0.0571,0.22505 -0.16602,0.33398 -0.10893,0.10893 -0.25065,0.16602 -0.33398,0.16602 a 0.50005,0.50005 0 1 0 0,1 c 0.41666,0 0.77494,-0.19292 1.04101,-0.45899 0.26607,-0.26606 0.45899,-0.62435 0.45899,-1.04101 v -2 c 0,-1.92708 -1.57191,-3.5 -3.50196,-3.5 z m 3.94921,7.41406 a 0.50005,0.50005 0 0 0 -0.48632,0.33203 c -0.17381,0.48217 -0.35767,1.04392 -0.75391,1.48047 -0.39624,0.43655 -0.98986,0.78906 -2.17578,0.78906 -1.18761,0 -1.78805,-0.34711 -2.19141,-0.77929 -0.40336,-0.43219 -0.59802,-0.98975 -0.78515,-1.47266 a 0.50005,0.50005 0 0 0 -0.67578,-0.27344 c -0.97162,0.44606 -1.78522,0.89986 -2.38868,1.45508 C 489.39264,461.49272 489,462.19074 489,462.99219 v 2.5 a 0.50005,0.50005 0 0 0 0.5,0.5 h 13.00977 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -2.5 c 0,-0.79711 -0.38431,-1.49976 -0.98243,-2.06446 -0.59811,-0.56469 -1.40897,-1.02891 -2.38086,-1.47461 a 0.50005,0.50005 0 0 0 -0.19336,-0.0469 z m 0.17579,1.19922 c 0.68529,0.34567 1.33558,0.69455 1.71289,1.05078 0.46505,0.43906 0.66797,0.84399 0.66797,1.33594 v 2 H 490 v -2 c 0,-0.49365 0.20477,-0.8868 0.67383,-1.31836 0.38208,-0.35154 1.03995,-0.69804 1.73437,-1.04492 0.1643,0.40983 0.28954,0.83601 0.70508,1.28125 0.58146,0.623 1.5239,1.09765 2.92383,1.09765 1.40162,0 2.34196,-0.48473 2.91601,-1.11719 0.40651,-0.44786 0.51938,-0.87307 0.67579,-1.28515 z" id="path6745-8" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 134.50977,472.99414 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 3 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 1.5039 c 0.0205,0.58311 0.0403,1.03618 -0.0488,1.24805 -0.22838,0.54301 -0.5609,0.82668 -1.00781,1.10937 -0.44691,0.28269 -1.00733,0.53131 -1.53711,0.97461 -0.52977,0.4433 -1.00108,1.10059 -1.22656,2.08789 -0.22548,0.9873 -0.2332,2.29903 0.0625,4.16406 0.0385,0.24311 0.24801,0.42203 0.49414,0.42188 h 8.75586 c 0.30739,1.4e-4 0.54213,-0.2745 0.49414,-0.57812 -0.36883,-2.32606 -0.21493,-3.6368 0.12305,-4.40821 0.33798,-0.7714 0.85304,-1.08606 1.49804,-1.45508 0.645,-0.36901 1.43565,-0.7809 1.90821,-1.70703 0.47255,-0.92613 0.59571,-2.25921 0.21289,-4.4375 C 145.70043,474.17484 145.49284,474.0002 145.25,474 h -7.24023 v -0.50586 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z m 0.5,1 h 2 v 2 h -2 z m 3,1.00586 h 6.78125 c 0.25456,1.74951 0.14487,2.81594 -0.15235,3.39844 -0.3247,0.63637 -0.84774,0.91198 -1.51367,1.29297 -0.66593,0.38098 -1.46183,0.87882 -1.91797,1.91992 -0.41222,0.94085 -0.49675,2.35477 -0.23633,4.38867 h -7.73437 c -0.19264,-1.47462 -0.23076,-2.65205 -0.0684,-3.36328 0.18281,-0.80045 0.49635,-1.21142 0.89258,-1.54297 0.39622,-0.33155 0.90291,-0.56523 1.42968,-0.89844 0.52678,-0.33321 1.07351,-0.7985 1.39649,-1.5664 0.22021,-0.52359 0.17686,-1.05487 0.13867,-1.63477 h 0.48438 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 z" id="path13566" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccccscsccccccccccccccccccccccccccccccccc"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 160.5,431 a 1.5,1.5 0 0 0 -1.5,1.5 1.5,1.5 0 0 0 0.0879,0.5 h -4.56836 a 1.50015,1.50015 0 1 0 0,3 H 158 v 1.94922 c -1.31983,1.3363 -2.47353,2.76999 -2.9707,5.25586 a 1.50015,1.50015 0 1 0 2.9414,0.58984 c 0.37009,-1.85045 0.99513,-2.60285 2.0293,-3.6289 1.03417,1.02605 1.65921,1.77845 2.0293,3.6289 a 1.50015,1.50015 0 1 0 2.9414,-0.58984 c -0.49717,-2.48587 -1.65087,-3.91956 -2.9707,-5.25586 V 436 h 3.48047 a 1.50015,1.50015 0 1 0 0,-3 h -2.53711 c -0.0387,0.18925 -0.094,0.37697 -0.17774,0.55664 C 162.35553,434.4361 161.47038,435 160.5,435 a 0.50005,0.50005 0 1 1 0,-1 1.5,1.5 0 0 0 0.41406,-0.0586 c 0.009,-0.002 0.0169,-0.005 0.0254,-0.008 a 1.5,1.5 0 0 0 0.35157,-0.16211 c 0.006,-0.004 0.0133,-0.006 0.0195,-0.01 a 1.5,1.5 0 0 0 0.004,-0.002 1.5,1.5 0 0 0 0.29102,-0.25 c 0.009,-0.0103 0.0202,-0.0187 0.0293,-0.0293 a 1.5,1.5 0 0 0 0.21484,-0.33008 c 0.003,-0.006 0.007,-0.01 0.01,-0.0156 0.002,-0.005 0.004,-0.0104 0.006,-0.0156 A 1.5,1.5 0 0 0 162,432.5 1.5,1.5 0 0 0 160.5,431 Z" id="path13634" inkscape:connector-curvature="0" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" inkscape:export-xdpi="96" inkscape:export-ydpi="96"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 428.49023,603.99414 a 0.50005,0.50005 0 0 0 -0.34961,0.85938 l 4,4 a 0.50005,0.50005 0 0 0 0.70704,0 l 4,-4 a 0.50005,0.50005 0 1 0 -0.70704,-0.70704 l -3.64648,3.64649 -3.64648,-3.64649 a 0.50005,0.50005 0 0 0 -0.35743,-0.15234 z" id="path13549" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 410.49414,601.99414 a 0.50005,0.50005 0 0 0 -0.34766,0.85938 l 3.64649,3.64648 -3.64649,3.64648 a 0.50005,0.50005 0 1 0 0.70704,0.70704 l 4,-4 a 0.50005,0.50005 0 0 0 0,-0.70704 l -4,-4 a 0.50005,0.50005 0 0 0 -0.35938,-0.15234 z" id="path13551" inkscape:connector-curvature="0"/>
+ <g style="display:inline;fill:#ffffff;enable-background:new" transform="rotate(-180,307.00525,417)" id="g13597" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" inkscape:export-xdpi="96" inkscape:export-ydpi="96">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 289.50391,410 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 1.5 h -0.99414 c -1.17529,0 -2.25213,0.41841 -2.88477,1.18164 -0.28029,0.32895 -0.0395,0.83456 0.39258,0.82422 0.14712,-0.004 0.28501,-0.0726 0.37695,-0.1875 C 286.27001,413.36537 287.08306,413 288.00977,413 h 0.99414 v 0.5 a 0.50005,0.50005 0 0 0 0.5,0.5 h 3 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -3 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m 0.5,1 h 2 v 2 h -2 z m -4.58594,3.95898 c -1.10666,0.0478 -2.07229,0.36866 -2.82031,0.91211 -0.99737,0.72461 -1.58789,1.85424 -1.58789,3.12891 v 1 h -1.50586 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 3 a 0.50005,0.50005 0 0 0 0.5,0.5 h 3 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -3 a 0.50005,0.50005 0 0 0 -0.5,-0.5 h -0.49414 v -1 c 0,-0.97533 0.41802,-1.76979 1.17578,-2.32031 0.75777,-0.55053 1.87662,-0.84701 3.26562,-0.6836 1.98998,0.23412 3.41358,1.22814 4.10352,2.33203 0.68994,1.10391 0.68215,2.23778 -0.14844,3.06836 -0.83795,0.83796 -1.98844,0.89361 -3.08398,0.26368 -1.09554,-0.62994 -2.08242,-1.9799 -2.31641,-3.96875 -0.0504,-0.69579 -1.10528,-0.57121 -0.99219,0.11718 0.26601,2.26115 1.40414,3.91119 2.8086,4.71875 0.70223,0.40379 1.48456,0.58895 2.23632,0.52735 0.75176,-0.0616 1.47366,-0.37015 2.05469,-0.95117 1.16941,-1.16942 1.16162,-2.91055 0.28906,-4.30664 -0.87256,-1.3961 -2.57396,-2.52709 -4.83398,-2.79297 -0.39761,-0.0468 -0.78151,-0.0608 -1.15039,-0.0449 z M 280.00391,421 h 2 v 2 h -2 z" transform="rotate(180,307.00525,417)" id="path13595" inkscape:connector-curvature="0"/>
+ </g>
+ <rect style="display:inline;opacity:0;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:new" id="rect13550" width="16" height="16" x="488.00128" y="430.00018" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" inkscape:export-xdpi="96" inkscape:export-ydpi="96"/>
+ <g style="display:inline;fill:#ffffff;enable-background:new" id="g13226" transform="translate(-189,84.000005)">
+ <path style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;marker:none;enable-background:accumulate" d="m 285,536 -0.15625,1.90625 c -0.6231,0.14227 -1.07677,0.25145 -1.59375,0.59375 l -1.75,-1.5 -1.5,1.5 1.5,1.75 c -0.34229,0.51699 -0.45148,0.97065 -0.59375,1.59375 L 279,542 v 1 1 l 1.90625,0.15625 c 0.14227,0.6231 0.25145,1.07677 0.59375,1.59375 l -1.5,1.75 1.5,1.5 1.75,-1.5 c 0.51699,0.34229 0.97065,0.45148 1.59375,0.59375 L 285,550 h 1 1 l 0.15625,-1.90625 c 0.6231,-0.14227 1.07677,-0.25145 1.59375,-0.59375 l 1.75,1.5 1.5,-1.5 -1.5,-1.75 c 0.34229,-0.51699 0.45148,-0.97065 0.59375,-1.59375 L 293,544 v -1 -1 l -1.90625,-0.15625 C 290.95148,541.22065 290.8423,540.76698 290.5,540.25 l 1.5,-1.75 -1.5,-1.5 -1.75,1.5 c -0.51699,-0.34229 -0.97065,-0.45148 -1.59375,-0.59375 L 287,536 h -1 z m 1,5 c 1.11641,0 2,0.88359 2,2 0,1.11641 -0.88359,2 -2,2 -1.11641,0 -2,-0.88359 -2,-2 0,-1.11641 0.88359,-2 2,-2 z" transform="translate(189,-84.000005)" id="path52982-3" inkscape:connector-curvature="0"/>
+ </g>
+ <g style="display:inline;opacity:1;fill:#ffffff;stroke-width:1.14285719;enable-background:new" id="g13938" transform="matrix(0.875,0,0,0.875,-254.625,-304.87495)" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" inkscape:export-xdpi="96" inkscape:export-ydpi="96">
+ <rect style="display:inline;overflow:visible;visibility:visible;opacity:0;fill:#ffffff;stroke:none;stroke-width:3.42857146;marker:none;enable-background:accumulate" id="rect13853" width="16" height="16" x="299" y="408.99994"/>
+ </g>
+ <g transform="translate(-1.8536743e-6,4.4999696e-6)" style="display:inline;fill:#ffffff;enable-background:new" id="g14058" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" inkscape:export-xdpi="96" inkscape:export-ydpi="96">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 451.5,536 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 9 a 0.50005,0.50005 0 0 0 0.5,0.5 h 9 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -9 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m 0.5,1 h 8 v 8 h -8 z" id="path14208" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="M 449.49219,537.99219 A 0.50005,0.50005 0 0 0 449,538.5 v 9 a 0.50005,0.50005 0 0 0 0.5,0.5 h 9 a 0.50005,0.50005 0 1 0 0,-1 H 450 v -8.5 a 0.50005,0.50005 0 0 0 -0.50781,-0.50781 z m -2,2 A 0.50005,0.50005 0 0 0 447,540.5 v 9 a 0.50005,0.50005 0 0 0 0.5,0.5 h 9 a 0.50005,0.50005 0 1 0 0,-1 H 448 v -8.5 a 0.50005,0.50005 0 0 0 -0.50781,-0.50781 z" id="path14212" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 460.48438,536 c -0.12717,0.004 -0.248,0.0564 -0.3379,0.14648 l -9,9 c -0.31479,0.315 -0.0918,0.85335 0.35352,0.85352 h 9 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -9 c 1.1e-4,-0.28235 -0.23341,-0.50879 -0.51562,-0.5 z" id="path14252" inkscape:connector-curvature="0" sodipodi:nodetypes="cccccccc"/>
+ </g>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.98999999;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 414.55664,159.95508 a 0.50005,0.50005 0 0 0 -0.47461,0.61133 L 414.38867,162 h -4.70898 l 0.30859,-1.39062 a 0.5003812,0.5003812 0 1 0 -0.97656,-0.21876 L 408.6543,162 H 406.5 a 0.50005,0.50005 0 1 0 0,1 h 1.93164 l -0.66602,3 H 405.5 a 0.50005,0.50005 0 1 0 0,1 h 2.04297 l -0.53125,2.39062 a 0.5003812,0.5003812 0 1 0 0.97656,0.21876 L 408.56836,167 h 6.88672 l 0.55664,2.60352 a 0.50005,0.50005 0 1 0 0.97656,-0.20704 L 416.47656,167 H 418.5 a 0.50005,0.50005 0 1 0 0,-1 h -2.23633 l -0.63867,-3 h 1.875 a 0.50005,0.50005 0 1 0 0,-1 h -2.08984 l -0.34961,-1.64258 a 0.50005,0.50005 0 0 0 -0.50391,-0.40234 z M 409.45703,163 h 5.14453 l 0.64063,3 h -6.45117 z" id="path13985" inkscape:connector-curvature="0"/>
+ <g style="display:inline;fill:#ffffff;enable-background:new" id="g14370" transform="translate(20.999998,4.4999696e-6)">
+ <path id="rect14323" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 141.51562,82 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 5 a 0.50005,0.50005 0 0 0 0.5,0.5 H 145.5 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -5 A 0.50005,0.50005 0 0 0 145.5,82 Z m 0.5,1 H 145 v 4 h -2.98438 z m -9.5,-1 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 5 a 0.50005,0.50005 0 0 0 0.5,0.5 H 136.5 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -5 A 0.50005,0.50005 0 0 0 136.5,82 Z m 0.5,1 H 136 v 4 h -2.98438 z m 8.5,-9 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 5 a 0.50005,0.50005 0 0 0 0.5,0.5 H 145.5 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -5 A 0.50005,0.50005 0 0 0 145.5,74 Z m 0.5,1 H 145 v 4 h -2.98438 z m -9.5,-1 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 5 a 0.50005,0.50005 0 0 0 0.5,0.5 H 136.5 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -5 A 0.50005,0.50005 0 0 0 136.5,74 Z m 0.5,1 H 136 v 4 h -2.98438 z" inkscape:connector-curvature="0"/>
+ </g>
+ <g id="g6448" style="fill:#ffffff">
+ <path d="m 103,78.000008 h 1 v 1 h -1 z m 0,-3 h 1 v 1 h -1 z m -8,3 h 1 v 1 h -1 z m 0,3 h 1 v 1 h -1 z m 0,-6 h 1 v 1 h -1 z" style="display:inline;opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;enable-background:new" id="rect14452" inkscape:connector-curvature="0"/>
+ <path d="m 98.515625,74 c -0.276131,2.8e-5 -0.499972,0.223869 -0.5,0.5 v 6 c 2.8e-5,0.276131 0.223869,0.499972 0.5,0.5 H 101.5 c 0.27613,-2.8e-5 0.49997,-0.223869 0.5,-0.5 v -6 c -3e-5,-0.276131 -0.22387,-0.499972 -0.5,-0.5 z m 0.5,1 H 101 v 2 h -1.984375 z m 0,3 H 101 v 2 h -1.984375 z m -8.5,-4 c -0.276131,2.8e-5 -0.499972,0.223869 -0.5,0.5 v 12 c 2.8e-5,0.276131 0.223869,0.499972 0.5,0.5 H 93.5 c 0.276131,-2.8e-5 0.499972,-0.223869 0.5,-0.5 v -12 c -2.8e-5,-0.276131 -0.223869,-0.499972 -0.5,-0.5 z m 0.5,1 H 93 v 2 h -1.984375 z m 0,3 H 93 v 2 h -1.984375 z m 0,3 H 93 v 2 h -1.984375 z m 0,3 H 93 v 2 h -1.984375 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" id="path14479" inkscape:connector-curvature="0" sodipodi:nodetypes="cccccccccccccccccccccccccccccccccccccccccccccccc"/>
+ </g>
+ <g transform="translate(-1.8536743e-6,4.4999696e-6)" style="display:inline;fill:#ffffff;enable-background:new" id="g14591">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 9.25,74 a 0.50005,0.50005 0 0 0 -0.4765625,0.351562 l -2.75,8.820313 A 0.50005,0.50005 0 0 0 6,83.320312 v 0.173829 a 0.50005,0.50005 0 1 0 1,0 v -0.09766 L 7.7460938,81 A 0.50005,0.50005 0 0 0 7.75,81 h 3.5 a 0.50005,0.50005 0 0 0 0.0039,0 L 12,83.396484 v 0.09766 a 0.50005,0.50005 0 1 0 1,0 v -0.173829 a 0.50005,0.50005 0 0 0 -0.02344,-0.148437 l -2.75,-8.820313 A 0.50005,0.50005 0 0 0 9.75,74 Z M 9.5,75.375 10.941406,80 H 8.0585938 Z" id="path14584" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 14.5,79 a 0.50005,0.50005 0 1 0 0,1 H 19 v 0.08008 l -4.896484,6.365234 A 0.50005,0.50005 0 0 0 14,86.75 v 0.75 a 0.50005,0.50005 0 0 0 0.5,0.5 h 5 a 0.50005,0.50005 0 1 0 0,-1 H 15 v -0.08008 l 4.896484,-6.365234 A 0.50005,0.50005 0 0 0 20,80.25 V 79.5 A 0.50005,0.50005 0 0 0 19.5,79 Z" id="path14589" inkscape:connector-curvature="0"/>
+ </g>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 69.5,74 a 0.50005,0.50005 0 1 0 0,1 h 13 a 0.50005,0.50005 0 1 0 0,-1 z m 0,3 a 0.50005,0.50005 0 1 0 0,1 h 10 a 0.50005,0.50005 0 1 0 0,-1 z m 0,3 a 0.50005,0.50005 0 1 0 0,1 h 7 a 0.50005,0.50005 0 1 0 0,-1 z m 0,3 a 0.50005,0.50005 0 1 0 0,1 h 4 a 0.50005,0.50005 0 1 0 0,-1 z m 0,3 a 0.50005,0.50005 0 1 0 0,1 h 1 a 0.50005,0.50005 0 1 0 0,-1 z" id="path14593" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 30.474609,74.994141 a 0.50004997,0.50004997 0 0 0 -0.40625,0.757812 L 33.128906,81 H 27.5 a 0.50004997,0.50004997 0 1 0 0,1 h 5.628906 l -3.060547,5.248047 a 0.50004997,0.50004997 0 1 0 0.863282,0.503906 L 34,82.492188 l 3.068359,5.259765 a 0.50004997,0.50004997 0 1 0 0.863282,-0.503906 L 34.871094,82 H 40.5 a 0.50004997,0.50004997 0 1 0 0,-1 h -5.628906 l 3.060547,-5.248047 A 0.50004997,0.50004997 0 1 0 37.068359,75.248047 L 34,80.507812 30.931641,75.248047 a 0.50004997,0.50004997 0 0 0 -0.457032,-0.253906 z" id="path14603" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="M 50.494141,73.992188 A 0.50004997,0.50004997 0 0 0 50.417969,74 H 49.5 a 0.50004997,0.50004997 0 1 0 0,1 H 50 v 1.125 c 0,1.632015 0.971328,2.853007 2.201172,3.775391 L 53,80.5 v 0.5 0.5 l -0.798828,0.599609 C 50.971326,83.021991 50,84.242992 50,85.875 V 87 h -0.5 a 0.50004997,0.50004997 0 1 0 0,1 h 0.921875 a 0.50004997,0.50004997 0 0 0 0.160156,0 h 7.837891 a 0.50004997,0.50004997 0 0 0 0.162109,0 H 59.5 a 0.50004997,0.50004997 0 1 0 0,-1 H 59 v -1.125 c 0,-1.632008 -0.969373,-2.853009 -2.199219,-3.775391 L 56,81.5 V 81.035156 A 0.50004997,0.50004997 0 0 0 56,81 v -0.5 l 0.800781,-0.599609 C 58.030625,78.978007 59,77.757015 59,76.125 V 75 h 0.5 a 0.50004997,0.50004997 0 1 0 0,-1 h -0.919922 a 0.50004997,0.50004997 0 0 0 -0.162109,0 h -7.835938 a 0.50004997,0.50004997 0 0 0 -0.08789,-0.0078 z M 51,75 h 7 v 1.125 c 0,1.245243 -0.698245,2.147707 -1.800781,2.974609 l -1,0.75 A 0.50004997,0.50004997 0 0 0 55,80.25 V 80.964844 81 81.75 a 0.50004997,0.50004997 0 0 0 0.199219,0.400391 l 1,0.75 C 57.301151,83.726838 57.999238,84.628869 58,85.873047 V 87 h -7 v -1.125 -0.002 c 7.62e-4,-1.244178 0.698849,-2.146209 1.800781,-2.972656 l 1,-0.75 A 0.50004997,0.50004997 0 0 0 54,81.75 V 81.035156 A 0.50004997,0.50004997 0 0 0 54,81 v -0.75 a 0.50004997,0.50004997 0 0 0 -0.199219,-0.400391 l -1,-0.75 C 51.698847,78.273158 51.000762,77.371141 51,76.126953 v -0.002 z" id="path14614" inkscape:connector-curvature="0"/>
+ <g inkscape:export-ydpi="96" inkscape:export-xdpi="96" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" id="g14256" transform="translate(-21.000002,4.4999696e-6)" style="display:inline;opacity:0.4;fill:#ffffff;enable-background:new">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 92.496094,325.99414 a 0.50005,0.50005 0 0 0 -0.382813,0.82227 l 4.5,5.5 a 0.50005,0.50005 0 0 0 0.773438,0 l 4.500001,-5.5 a 0.50005,0.50005 0 1 0 -0.77344,-0.63282 L 97,331.21094 92.886719,326.18359 a 0.50005,0.50005 0 0 0 -0.390625,-0.18945 z" id="path14250" inkscape:connector-curvature="0"/>
+ <path id="path14254" d="m 91.25,334 c -0.683851,0 -1.25,0.56615 -1.25,1.25 v 3.5 c 0,0.68385 0.566149,1.25 1.25,1.25 h 3.5 c 0.683851,0 1.25,-0.56615 1.25,-1.25 v -3.5 C 96,334.56615 95.433851,334 94.75,334 Z m 8,0 c -0.683851,0 -1.25,0.56615 -1.25,1.25 v 3.5 c 0,0.68385 0.566149,1.25 1.25,1.25 h 3.5 c 0.68385,0 1.25,-0.56615 1.25,-1.25 v -3.5 c 0,-0.68385 -0.56615,-1.25 -1.25,-1.25 z m -7.75,4 h 2 1 a 0.50005,0.50005 0 1 1 0,1 h -1 -2 a 0.50005,0.50005 0 1 1 0,-1 z m 8,0 h 2 1 a 0.50005,0.50005 0 1 1 0,1 h -1 -2 a 0.50005,0.50005 0 1 1 0,-1 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" inkscape:connector-curvature="0"/>
+ </g>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="M 6.5,116 A 0.50005,0.50005 0 0 0 6,116.5 v 4 a 0.50005,0.50005 0 1 0 1,0 V 117 h 3.5 a 0.50005,0.50005 0 1 0 0,-1 z m 9.007812,0 a 0.50005,0.50005 0 1 0 0,1 h 3.5 v 3.5 a 0.50005,0.50005 0 1 0 1,0 v -4 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m -9.0156245,9 A 0.50005,0.50005 0 0 0 6,125.50781 v 4 a 0.50005,0.50005 0 0 0 0.5,0.5 h 4 a 0.50005,0.50005 0 1 0 0,-1 H 7 v -3.5 A 0.50005,0.50005 0 0 0 6.4921875,125 Z M 19.5,125 a 0.50005,0.50005 0 0 0 -0.492188,0.50781 v 3.5 h -3.5 a 0.50005,0.50005 0 1 0 0,1 h 4 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -4 A 0.50005,0.50005 0 0 0 19.5,125 Z" id="path13927" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 48,11 v 2 h 2 v -2 z m 2,4 v 2 h 2 v -2 z m 2,3 v 2 h 2 v -2 z m 3,3 v 2 h 1.5 v 1 H 59 v 1 h 3 v -2 h -3 v -1 h -2 v -1 z" id="path14341" inkscape:connector-curvature="0" sodipodi:nodetypes="cccccccccccccccccccccccccccc"/>
+ <g transform="matrix(-1,0,0,1,1290,302.99979)" style="display:inline;opacity:0.98999999;fill:#ffffff;enable-background:new" id="g8530-0" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" inkscape:export-xdpi="96" inkscape:export-ydpi="96">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 1258.4766,-286 a 0.50005,0.50005 0 0 0 -0.4102,0.25195 l -4,7 A 0.50005,0.50005 0 0 0 1254.5,-278 h 8 a 0.50005,0.50005 0 0 0 0.4336,-0.74805 l -4,-7 A 0.50005,0.50005 0 0 0 1258.4766,-286 Z m 0.023,1.50781 3.1387,5.49219 h -6.2774 z" id="path8523-4" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 1253.5,-289 c -0.8225,0 -1.5,0.67749 -1.5,1.5 0,0.82251 0.6775,1.5 1.5,1.5 0.8225,0 1.5,-0.67749 1.5,-1.5 0,-0.82251 -0.6775,-1.5 -1.5,-1.5 z" id="ellipse8525-5" inkscape:connector-curvature="0" sodipodi:nodetypes="sssss"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="M 27.5,11 A 0.50005,0.50005 0 0 0 27,11.5 v 10.851562 l 1,-1.75 V 12 h 12 v 12 h -3.099609 c 0.122248,0.339531 0.117057,0.686553 0.0039,1 H 40.5 A 0.50005,0.50005 0 0 0 41,24.5 v -13 A 0.50005,0.50005 0 0 0 40.5,11 Z" transform="matrix(-1,0,0,1,1290,-302.99979)" id="path8528-7" inkscape:connector-curvature="0"/>
+ </g>
+ <path sodipodi:nodetypes="cccccccccccccccccccccccccccccc" inkscape:connector-curvature="0" id="path14394" d="m 98.999998,11.000004 v 4.000002 h -1 -1 v 3 h -1 v -2 h -1 v 5.000001 h -1 v -2.000001 h -1 v 3.560548 h -1 v -2.085938 h -1 v 2.525389 h -1 v 2 L 104,25.000007 v -2.421875 h -1 v -4.578126 h -1 v 2.000001 h -1 v -6.000003 h -1.000002 v -3 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 76,11 c -0.08389,-2.87e-4 -0.166503,0.02054 -0.240234,0.06055 l -5.5,3 C 70.099297,14.148474 69.999666,14.317023 70,14.5 v 7 c -3.35e-4,0.182978 0.0993,0.351528 0.259766,0.439453 l 5.5,3 C 75.833498,24.979467 75.916111,25.000288 76,25 h 1 c 0.08389,2.87e-4 0.166503,-0.02053 0.240234,-0.06055 l 5.5,-3 C 82.900703,21.851526 83.000334,21.682977 83,21.5 v -7 c 3.35e-4,-0.182978 -0.0993,-0.351528 -0.259766,-0.439453 l -5.5,-3 C 77.166502,11.020533 77.083889,10.999712 77,11 Z m 0.382812,2 h 0.240235 L 81,15.390625 v 5.21875 L 76.617188,23 H 76.382812 L 72,20.609375 v -5.21875 z" id="path14426" inkscape:connector-curvature="0" sodipodi:nodetypes="cccccccccccccccccccccccccc"/>
+ <g style="display:inline;fill:#ffffff;enable-background:new" id="g14475" transform="translate(-1.8536743e-6,25.000005)">
+ <g transform="matrix(1,0,0,-1,-294,368)" id="g4806-1" style="opacity:1;fill:#ffffff">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 300.5,375 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 3 a 0.50005,0.50005 0 0 0 0.5,0.5 h 11 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -3 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m 0.5,1 h 10 v 2 h -10 z" id="path4801-8" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 302.5,378 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 3 a 0.50005,0.50005 0 0 0 0.5,0.5 h 11 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -3 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m 0.5,1 h 10 v 2 h -10 z" id="path4804-1" inkscape:connector-curvature="0"/>
+ </g>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="M 8.5,-4 A 0.50005,0.50005 0 0 0 8,-3.5 v 3 A 0.50005,0.50005 0 0 0 8.5,0 h 11 A 0.50005,0.50005 0 0 0 20,-0.5 v -3 A 0.50005,0.50005 0 0 0 19.5,-4 Z M 9,-3 h 10 v 2 H 9 Z" id="path4817-4" inkscape:connector-curvature="0"/>
+ </g>
+ <g style="display:inline;fill:#ffffff;enable-background:new" id="g14588" transform="translate(-42.000002,25.000005)">
+ <path id="path14541" d="m 153.5,-9 c -0.27613,2.76e-5 -0.49997,0.2238691 -0.5,0.5 v 8 c 3e-5,0.27613094 0.22387,0.499972391047 0.5,0.5 h 8 c 0.27613,-2.7608953e-5 0.49997,-0.22386906 0.5,-0.5 v -8 c -3e-5,-0.2761309 -0.22387,-0.4999724 -0.5,-0.5 z m 6.5,1 c 0.54636,0 1,0.4536376 1,1 0,0.5463624 -0.45364,1 -1,1 -0.54636,0 -1,-0.4536376 -1,-1 0,-0.5463624 0.45364,-1 1,-1 z m -2.98047,1.75 c 0.17034,0.00643 0.32566,0.099184 0.41211,0.2460938 l 2.5,4.25 C 160.12825,-1.4202448 159.88728,-0.99936558 159.5,-1 h -5 c -0.38728,6.3442e-4 -0.62825,-0.4202448 -0.43164,-0.7539062 l 2.5,-4.25 c 0.0935,-0.1589489 0.26691,-0.2535338 0.45117,-0.2460938 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <g id="g14560" transform="translate(147)" style="fill:#ffffff">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 10.5,-14 c -0.276131,2.8e-5 -0.499972,0.223869 -0.5,0.5 v 3 c 2.8e-5,0.276131 0.223869,0.499972 0.5,0.5 h 9 c 0.276131,-2.8e-5 0.499972,-0.223869 0.5,-0.5 v -3 c -2.8e-5,-0.276131 -0.223869,-0.499972 -0.5,-0.5 z m 0.5,1 h 8 v 2 h -8 z m 5,7 v 1 h 3 v 2 h -3 v 1 h 3.5 c 0.276131,-2.76e-5 0.499972,-0.2238691 0.5,-0.5 v -3 c -2.8e-5,-0.2761309 -0.223869,-0.4999724 -0.5,-0.5 z" id="path14558" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccccccccccccccccccccccc"/>
+ </g>
+ </g>
+ <g style="display:inline;fill:#ffffff;enable-background:new" id="g14668" transform="matrix(-1,0,0,1,530,30.000005)">
+ <path inkscape:connector-curvature="0" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 258.5,-19 c -0.27613,2.8e-5 -0.49997,0.223869 -0.5,0.5 v 13 c 3e-5,0.2761309 0.22387,0.4999724 0.5,0.5 h 13 c 0.27613,-2.76e-5 0.49997,-0.2238691 0.5,-0.5 v -13 c -3e-5,-0.276131 -0.22387,-0.499972 -0.5,-0.5 z m 1.5,2 h 6 v 4 h 4 v 6 h -6 v -4 h -4 z" id="path14664"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:0.5;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.89999986;marker:none;enable-background:accumulate" d="m 260,-17 h 6 v 4 h -2 v 2 h -4 z" id="path14666" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccccc"/>
+ </g>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.55;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="M 261.03125,601 C 260.46859,601 260,601.46859 260,602.03125 v 7.9375 c 0,0.56266 0.46859,1.03125 1.03125,1.03125 h 7.9375 C 269.53141,611 270,610.53141 270,609.96875 v -7.9375 C 270,601.46859 269.53141,601 268.96875,601 Z m 0,1 h 7.9375 c 0.026,0 0.0312,0.005 0.0312,0.0312 v 7.9375 c 0,0.026 -0.005,0.0312 -0.0312,0.0312 h -7.9375 c -0.026,0 -0.0312,-0.005 -0.0312,-0.0312 v -7.9375 c 0,-0.026 0.005,-0.0312 0.0312,-0.0312 z" id="rect13790" inkscape:connector-curvature="0"/>
+ <path inkscape:connector-curvature="0" id="path13905" d="M 282.03125,601 C 281.46859,601 281,601.46859 281,602.03125 v 7.9375 c 0,0.56266 0.46859,1.03125 1.03125,1.03125 h 7.9375 C 290.53141,611 291,610.53141 291,609.96875 v -7.9375 C 291,601.46859 290.53141,601 289.96875,601 Z m 6.94922,1.99023 a 1.0001,1.0001 0 0 1 0.72656,1.7168 l -4,4 a 1.0001,1.0001 0 0 1 -1.41406,0 l -2,-2 a 1.0001,1.0001 0 1 1 1.41406,-1.41406 l 1.29297,1.29297 3.29297,-3.29297 a 1.0001,1.0001 0 0 1 0.6875,-0.30274 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 265,622 c -2.7555,0 -5,2.2445 -5,5 0,2.7555 2.2445,5 5,5 2.7555,0 5,-2.2445 5,-5 0,-2.7555 -2.2445,-5 -5,-5 z m 0,1 c 2.21506,0 4,1.78494 4,4 0,2.21506 -1.78494,4 -4,4 -2.21506,0 -4,-1.78494 -4,-4 0,-2.21506 1.78494,-4 4,-4 z" id="path13966" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 286,622 c -2.7555,0 -5,2.2445 -5,5 0,2.7555 2.2445,5 5,5 2.7555,0 5,-2.2445 5,-5 0,-2.7555 -2.2445,-5 -5,-5 z" id="circle13982" inkscape:connector-curvature="0" sodipodi:nodetypes="sssss"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 220.4707,623.75 c -0.26463,0.0156 -0.47113,0.23492 -0.4707,0.5 v 4.25 c 1.7e-4,0.35718 0.36395,0.59902 0.69336,0.46094 l 4.75,-2 c 0.39771,-0.16741 0.41088,-0.72615 0.0215,-0.91211 l -4.75,-2.25 c -0.076,-0.0366 -0.15996,-0.0534 -0.24416,-0.0488 z" id="path14031" inkscape:connector-curvature="0" sodipodi:nodetypes="cccccccc"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 370,625 c -1.09865,0 -2,0.90135 -2,2 0,1.09865 0.90135,2 2,2 1.09865,0 2,-0.90135 2,-2 0,-1.09865 -0.90135,-2 -2,-2 z" id="circle14040" inkscape:connector-curvature="0" sodipodi:nodetypes="sssss"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 28.5,431 a 1.50015,1.50015 0 0 0 -1.341797,2.16992 l 5.5,11 a 1.50015,1.50015 0 0 0 2.683594,0 l 5.5,-11 A 1.50015,1.50015 0 0 0 39.5,431 Z m 2.425781,3 h 6.148438 L 34,440.14648 Z" id="path14201" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="M 306.49219,577.99219 A 0.50004997,0.50004997 0 0 0 306,578.5 v 2.79297 l -2.14648,-2.14649 a 0.50004997,0.50004997 0 1 0 -0.70704,0.70704 L 306,582.70703 v 0.58203 c -0.58959,0.34718 -0.99219,0.98165 -0.99219,1.71094 h -0.30078 l -2.85351,-2.85352 a 0.50004997,0.50004997 0 0 0 -0.35938,-0.15234 0.50004997,0.50004997 0 0 0 -0.34766,0.85938 L 303.29297,585 H 300.5 a 0.50004997,0.50004997 0 1 0 0,1 h 2.79297 l -2.14649,2.14648 a 0.50004997,0.50004997 0 1 0 0.70704,0.70704 L 304.70703,586 h 0.58203 c 0.34718,0.58959 0.98165,0.99219 1.71094,0.99219 v 0.30078 l -2.85352,2.85351 a 0.50004997,0.50004997 0 1 0 0.70704,0.70704 L 307,588.70703 V 591.5 a 0.50004997,0.50004997 0 1 0 1,0 v -2.79297 l 2.14648,2.14649 a 0.50004997,0.50004997 0 1 0 0.70704,-0.70704 L 308,587.29297 v -0.58203 c 0.58959,-0.34718 0.99219,-0.98165 0.99219,-1.71094 h 0.30078 l 2.85351,2.85352 a 0.50004997,0.50004997 0 1 0 0.70704,-0.70704 L 310.70703,585 H 313.5 a 0.50004997,0.50004997 0 1 0 0,-1 h -2.79297 l 2.14649,-2.14648 a 0.50004997,0.50004997 0 0 0 -0.36329,-0.85743 0.50004997,0.50004997 0 0 0 -0.34375,0.15039 L 309.29297,584 h -0.58203 c -0.34718,-0.58959 -0.98165,-0.99219 -1.71094,-0.99219 v -0.30078 l 2.85352,-2.85351 a 0.50004997,0.50004997 0 1 0 -0.70704,-0.70704 L 307,581.29297 V 578.5 a 0.50004997,0.50004997 0 0 0 -0.50781,-0.50781 z M 307,584.00781 c 0.55427,0 0.99219,0.43792 0.99219,0.99219 0,0.55427 -0.43792,0.99219 -0.99219,0.99219 -0.55427,0 -0.99219,-0.43792 -0.99219,-0.99219 0,-0.55427 0.43792,-0.99219 0.99219,-0.99219 z" id="path14282" inkscape:connector-curvature="0"/>
+ <g style="display:inline;fill:#ffffff;enable-background:new" id="g14048" transform="translate(294,571)">
+ <g transform="matrix(-0.53033009,-0.53033009,-0.53033009,0.53033009,472.85846,-15.235808)" id="g13853" style="fill:#ffffff;stroke:#ffffff;stroke-width:1.33333337;stroke-miterlimit:4;stroke-dasharray:none">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.33333337;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 306.99023,243.60938 a 0.66673335,0.66673335 0 0 0 -0.65625,0.67578 v 4.99023 h -4.99023 a 0.666995,0.666995 0 1 0 0,1.33399 h 4.99023 v 4.99023 a 0.66673335,0.66673335 0 1 0 1.33204,0 v -4.99023 h 4.99023 a 0.666995,0.666995 0 1 0 0,-1.33399 h -4.99023 v -4.99023 a 0.66673335,0.66673335 0 0 0 -0.67579,-0.67578 z" id="path13850" inkscape:connector-curvature="0"/>
+ </g>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="M 177.49219,-56.007812 A 0.50005,0.50005 0 0 0 177,-55.5 v 6 a 0.50005,0.50005 0 1 0 1,0 V -52 h 0.5 a 0.50005,0.50005 0 1 0 0,-1 H 178 v -2.5 a 0.50005,0.50005 0 0 0 -0.50781,-0.507812 z m 7.00195,0.002 a 0.50005,0.50005 0 0 0 -0.34766,0.859375 l 2.64649,2.646484 -2.64649,2.646484 a 0.50005,0.50005 0 1 0 0.70704,0.707032 l 3,-3 a 0.50005,0.50005 0 0 0 0,-0.707032 l -3,-3 a 0.50005,0.50005 0 0 0 -0.35938,-0.152343 z M 180.5,-53 a 0.50005,0.50005 0 1 0 0,1 h 1 a 0.50005,0.50005 0 1 0 0,-1 z m 3,0 a 0.50005,0.50005 0 1 0 0,1 h 1 a 0.50005,0.50005 0 1 0 0,-1 z" id="path13907" inkscape:connector-curvature="0"/>
+ </g>
+ <g style="display:inline;fill:#ffffff;enable-background:new" transform="rotate(-180,275.49999,225.99747)" id="g14033">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 184.49414,-76.005859 c -0.4494,8.8e-5 -0.67059,0.546839 -0.34766,0.859375 l 2.64649,2.646484 -2.64649,2.646484 c -0.4905,0.471264 0.23578,1.197538 0.70704,0.707032 l 3,-3 c 0.19518,-0.195265 0.19518,-0.511767 0,-0.707032 l -3,-3 c -0.0942,-0.09737 -0.2239,-0.152345 -0.35938,-0.152343 z M 175.49219,-73 c -0.27615,0.0043 -0.49651,0.231666 -0.49219,0.507812 v 1 c -0.01,0.676161 1.00956,0.676161 1,0 v -1 c 0.004,-0.282265 -0.22554,-0.512227 -0.50781,-0.507812 z m 5.00781,0 c -0.67616,-0.0096 -0.67616,1.009563 0,1 h 1 c 0.67616,0.0096 0.67616,-1.009563 0,-1 z m 3,0 c -0.67616,-0.0096 -0.67616,1.009563 0,1 h 1 c 0.67616,0.0096 0.67616,-1.009563 0,-1 z m -6,0.0078 c -0.67616,-0.0096 -0.67616,1.009563 0,1 h 1 c 0.67616,0.0096 0.67616,-1.009563 0,-1 z M 175.49219,-70 c -0.27615,0.0043 -0.49651,0.231666 -0.49219,0.507812 v 1 c -0.01,0.676161 1.00956,0.676161 1,0 v -1 c 0.004,-0.282265 -0.22554,-0.512227 -0.50781,-0.507812 z" id="path14029" inkscape:connector-curvature="0" sodipodi:nodetypes="cccccccccccccccccccccccccccccccccccc"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 175.5,-67 c -0.8225,0 -1.5,0.677495 -1.5,1.5 0,0.822505 0.6775,1.5 1.5,1.5 0.8225,0 1.5,-0.677495 1.5,-1.5 0,-0.822505 -0.6775,-1.5 -1.5,-1.5 z" id="circle14031" inkscape:connector-curvature="0" sodipodi:nodetypes="sssss"/>
+ </g>
+ <g style="display:inline;fill:#ffffff;enable-background:new" id="g14223" transform="rotate(-180,317.49493,236.50149)">
+ <g style="fill:#ffffff;stroke:#ffffff;stroke-width:1.33333337;stroke-miterlimit:4;stroke-dasharray:none" id="g14219" transform="matrix(-0.53033009,-0.53033009,-0.53033009,0.53033009,472.85846,-15.235808)">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.33333337;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 306.99023,243.60938 a 0.66673335,0.66673335 0 0 0 -0.65625,0.67578 v 4.99023 h -4.99023 a 0.666995,0.666995 0 1 0 0,1.33399 h 4.99023 v 4.99023 a 0.66673335,0.66673335 0 1 0 1.33204,0 v -4.99023 h 4.99023 a 0.666995,0.666995 0 1 0 0,-1.33399 h -4.99023 v -4.99023 a 0.66673335,0.66673335 0 0 0 -0.67579,-0.67578 z" id="path14217" inkscape:connector-curvature="0"/>
+ </g>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="M 177.49219,-56.007812 A 0.50005,0.50005 0 0 0 177,-55.5 v 6 a 0.50005,0.50005 0 1 0 1,0 V -52 h 0.5 a 0.50005,0.50005 0 1 0 0,-1 H 178 v -2.5 a 0.50005,0.50005 0 0 0 -0.50781,-0.507812 z m 7.00195,0.002 a 0.50005,0.50005 0 0 0 -0.34766,0.859375 l 2.64649,2.646484 -2.64649,2.646484 a 0.50005,0.50005 0 1 0 0.70704,0.707032 l 3,-3 a 0.50005,0.50005 0 0 0 0,-0.707032 l -3,-3 a 0.50005,0.50005 0 0 0 -0.35938,-0.152343 z M 180.5,-53 a 0.50005,0.50005 0 1 0 0,1 h 1 a 0.50005,0.50005 0 1 0 0,-1 z m 3,0 a 0.50005,0.50005 0 1 0 0,1 h 1 a 0.50005,0.50005 0 1 0 0,-1 z" id="path14221" inkscape:connector-curvature="0"/>
+ </g>
+ <g style="display:inline;fill:#ffffff;enable-background:new" id="g14371" transform="matrix(1,0,0,-1,336,494)">
+ <g transform="matrix(1,0,0,-1,0,-99.00505)" id="g14352" style="fill:#ffffff">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 520.49414,515 a 0.50005,0.50005 0 0 0 -0.34766,0.85938 l 2.64649,2.64648 -2.64649,2.64648 a 0.50005,0.50005 0 1 0 0.70704,0.70704 l 3,-3 a 0.50005,0.50005 0 0 0 0,-0.70704 l -3,-3 A 0.50005,0.50005 0 0 0 520.49414,515 Z m 0.0332,2.99414 a 0.50005,0.50005 0 0 0 -0.14843,0.0215 l -1,0.25 a 0.50005,0.50005 0 0 0 0.0937,0.98633 0.50005,0.50005 0 0 0 0.14843,-0.0176 l 1,-0.25 a 0.50005,0.50005 0 0 0 -0.0937,-0.99024 z m -3,0.75 a 0.50005,0.50005 0 0 0 -0.14843,0.0215 l -1,0.25 a 0.50005,0.50005 0 0 0 0.0937,0.98633 0.50005,0.50005 0 0 0 0.14843,-0.0176 l 1,-0.25 a 0.50005,0.50005 0 0 0 -0.0937,-0.99024 z m -3.02343,1.24805 a 0.50005,0.50005 0 0 0 -0.35743,0.15429 l -1,1 a 0.50005,0.50005 0 0 0 0.34766,0.85938 0.50005,0.50005 0 0 0 0.35938,-0.15234 l 1,-1 a 0.50005,0.50005 0 0 0 -0.34961,-0.86133 z m -1.9961,3 A 0.50005,0.50005 0 0 0 512,523.5 v 1 a 0.50005,0.50005 0 0 0 0.49219,0.50781 A 0.50005,0.50005 0 0 0 513,524.5 v -1 a 0.50005,0.50005 0 0 0 -0.49219,-0.50781 z" transform="translate(-336,-593.00505)" id="path14350" inkscape:connector-curvature="0"/>
+ </g>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 176.5,-32 c 0.8225,0 1.5,-0.677495 1.5,-1.5 0,-0.822505 -0.6775,-1.5 -1.5,-1.5 -0.8225,0 -1.5,0.677495 -1.5,1.5 0,0.822505 0.6775,1.5 1.5,1.5 z" id="circle14357" inkscape:connector-curvature="0" sodipodi:nodetypes="sssss"/>
+ </g>
+ <g style="display:inline;fill:#ffffff;enable-background:new" id="g14377" transform="translate(210,592)">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 184.49414,-76.005859 c -0.4494,8.8e-5 -0.67059,0.546839 -0.34766,0.859375 l 2.64649,2.646484 -2.64649,2.646484 c -0.4905,0.471264 0.23578,1.197538 0.70704,0.707032 l 3,-3 c 0.19518,-0.195265 0.19518,-0.511767 0,-0.707032 l -3,-3 c -0.0942,-0.09737 -0.2239,-0.152345 -0.35938,-0.152343 z M 175.49219,-73 c -0.27615,0.0043 -0.49651,0.231666 -0.49219,0.507812 v 1 c -0.01,0.676161 1.00956,0.676161 1,0 v -1 c 0.004,-0.282265 -0.22554,-0.512227 -0.50781,-0.507812 z m 5.00781,0 c -0.67616,-0.0096 -0.67616,1.009563 0,1 h 1 c 0.67616,0.0096 0.67616,-1.009563 0,-1 z m 3,0 c -0.67616,-0.0096 -0.67616,1.009563 0,1 h 1 c 0.67616,0.0096 0.67616,-1.009563 0,-1 z m -6,0.0078 c -0.67616,-0.0096 -0.67616,1.009563 0,1 h 1 c 0.67616,0.0096 0.67616,-1.009563 0,-1 z M 175.49219,-70 c -0.27615,0.0043 -0.49651,0.231666 -0.49219,0.507812 v 1 c -0.01,0.676161 1.00956,0.676161 1,0 v -1 c 0.004,-0.282265 -0.22554,-0.512227 -0.50781,-0.507812 z" id="path14373" inkscape:connector-curvature="0" sodipodi:nodetypes="cccccccccccccccccccccccccccccccccccc"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 175.5,-67 c -0.8225,0 -1.5,0.677495 -1.5,1.5 0,0.822505 0.6775,1.5 1.5,1.5 0.8225,0 1.5,-0.677495 1.5,-1.5 0,-0.822505 -0.6775,-1.5 -1.5,-1.5 z" id="circle14375" inkscape:connector-curvature="0" sodipodi:nodetypes="sssss"/>
+ </g>
+ <g style="display:inline;fill:#ffffff;enable-background:new" transform="matrix(-1,0,0,1,676.99998,550)" id="g14389">
+ <g id="g14381" transform="matrix(1,0,0,-1,0,-99.00505)" style="fill:#ffffff">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="M 500.50586,518.99219 A 0.50005,0.50005 0 0 0 500,519.5 v 1 a 0.50005,0.50005 0 1 0 1,0 v -1 a 0.50005,0.50005 0 0 0 -0.49219,-0.50781 0.50005,0.50005 0 0 1 -0.002,0 z m -8.00977,2.99609 a 0.50005,0.50005 0 0 0 -0.34961,0.15234 l -3,3 a 0.50005,0.50005 0 0 0 0,0.70704 l 3,3 a 0.50005,0.50005 0 0 0 0.35938,0.15234 0.50005,0.50005 0 0 0 0.34766,-0.85938 l -2.64649,-2.64648 2.64649,-2.64648 a 0.50005,0.50005 0 0 0 -0.35743,-0.85938 z m 7.00977,0.006 a 0.50005,0.50005 0 0 0 -0.35938,0.15234 l -1,1 a 0.50005,0.50005 0 1 0 0.70704,0.70704 l 1,-1 a 0.50005,0.50005 0 0 0 -0.34766,-0.85938 z m -3.0293,2.00391 a 0.50005,0.50005 0 0 0 -0.0976,0.0176 l -1,0.25 a 0.50005,0.50005 0 1 0 0.24218,0.96876 l 1,-0.25 a 0.50005,0.50005 0 0 0 -0.0937,-0.98633 0.50005,0.50005 0 0 0 -0.0508,0 z m -3,0.75 a 0.50005,0.50005 0 0 0 -0.0976,0.0176 l -1,0.25 a 0.50005,0.50005 0 1 0 0.24218,0.96876 l 1,-0.25 a 0.50005,0.50005 0 0 0 -0.0937,-0.98633 0.50005,0.50005 0 0 0 -0.0508,0 z" transform="rotate(-180,338.49999,225.49747)" id="path14379" inkscape:connector-curvature="0"/>
+ </g>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 176.5,-32 c 0.8225,0 1.5,-0.677495 1.5,-1.5 0,-0.822505 -0.6775,-1.5 -1.5,-1.5 -0.8225,0 -1.5,0.677495 -1.5,1.5 0,0.822505 0.6775,1.5 1.5,1.5 z" id="circle14385" inkscape:connector-curvature="0" sodipodi:nodetypes="sssss"/>
+ </g>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 412,120 c -1.65093,0 -3,1.34907 -3,3 0,1.65093 1.34907,3 3,3 1.65093,0 3,-1.34907 3,-3 0,-1.65093 -1.34907,-3 -3,-3 z m 0,1 c 1.11049,0 2,0.88951 2,2 0,1.11049 -0.88951,2 -2,2 -1.11049,0 -2,-0.88951 -2,-2 0,-1.11049 0.88951,-2 2,-2 z" id="circle14295" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 13.492188,54.005859 a 0.50005,0.50005 0 0 0 -0.345704,0.146485 l -3.9999996,4 a 0.50005,0.50005 0 1 0 0.7070312,0.707031 L 13,55.712891 v 9.792968 a 0.50005,0.50005 0 1 0 1,0 v -9.792968 l 3.146484,3.146484 a 0.50005,0.50005 0 1 0 0.707032,-0.707031 l -4,-4 a 0.50005,0.50005 0 0 0 -0.361328,-0.146485 z" id="path14327" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="M 34.492188,54.005859 A 0.50005,0.50005 0 0 0 34,54.511719 v 9.792969 l -3.146484,-3.146485 a 0.50005,0.50005 0 1 0 -0.707032,0.707031 l 4,4 a 0.50005,0.50005 0 0 0 0.707032,0 l 4,-4 A 0.50005,0.50005 0 1 0 38.146484,61.158203 L 35,64.304688 v -9.792969 a 0.50005,0.50005 0 0 0 -0.507812,-0.50586 z" id="path14329" inkscape:connector-curvature="0"/>
+ <path style="display:inline;opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.79999995;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;enable-background:new" d="m 202.5,621.00003 a 5.4999997,5.4999997 0 0 0 -5.5,5.5 5.4999997,5.4999997 0 0 0 5.5,5.5 5.4999997,5.4999997 0 0 0 5.5,-5.5 5.4999997,5.4999997 0 0 0 -5.5,-5.5 z m -0.002,1.98438 a 0.50005001,0.50005001 0 0 1 0.50781,0.52343 v 2.5 h 2.50195 a 0.50005001,0.50005001 0 1 1 0,0.99805 h -2.50195 v 2.50195 a 0.50005001,0.50005001 0 0 1 -0.50586,0.50586 0.50005001,0.50005001 0 0 1 -0.49219,-0.50586 v -2.50195 h -2.5 a 0.50005001,0.50005001 0 1 1 0,-0.99805 h 2.5 v -2.5 a 0.50005001,0.50005001 0 0 1 0.49024,-0.52343 z" id="path14370" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 33.75,200 c -0.212514,-4.2e-4 -0.402079,0.13353 -0.472656,0.33398 L 31.644531,205 H 27.5 c -0.276131,3e-5 -0.499972,0.22387 -0.5,0.5 v 0.75 c 4.22e-4,0.17006 0.08724,0.32824 0.230469,0.41992 l 3.166015,2.03711 -1.367187,3.87695 c -0.01909,0.0533 -0.029,0.10942 -0.0293,0.16602 v 0.75 c 2.8e-5,0.27613 0.223869,0.49997 0.5,0.5 h 0.75 c 0.119714,-2e-5 0.235448,-0.043 0.326172,-0.12109 L 33.935547,211 h 0.128906 l 3.359375,2.87891 c 0.09174,0.079 0.209022,0.12201 0.330078,0.12109 L 38.5,213.99414 c 0.273087,-0.002 0.49394,-0.223 0.496094,-0.49609 L 39,212.75195 c -7.9e-5,-0.0572 -0.01,-0.11407 -0.0293,-0.16797 l -1.367187,-3.87695 3.166015,-2.03711 C 40.912757,206.57824 40.999577,206.42006 41,206.25 v -0.75 c -2.8e-5,-0.27613 -0.223869,-0.49997 -0.5,-0.5 h -4.144531 l -1.632813,-4.66602 C 34.652079,200.13353 34.462514,199.99958 34.25,200 h -0.251953 z" id="path14398" inkscape:connector-curvature="0" sodipodi:nodetypes="cccccccccccccccccccccccccccccccc"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 12.75,200 a 0.50004997,0.50004997 0 0 0 -0.472656,0.33398 L 10.644531,205 H 6.5 A 0.50004997,0.50004997 0 0 0 6,205.5 v 0.75 a 0.50004997,0.50004997 0 0 0 0.2304688,0.41992 l 3.1660156,2.03711 -1.3671875,3.87695 A 0.50004997,0.50004997 0 0 0 8,212.75 v 0.75 a 0.50004997,0.50004997 0 0 0 0.5,0.5 h 0.75 a 0.50004997,0.50004997 0 0 0 0.3261719,-0.12109 L 12.935547,211 h 0.128906 l 3.359375,2.87891 A 0.50004997,0.50004997 0 0 0 16.753906,214 L 17.5,213.99414 a 0.50004997,0.50004997 0 0 0 0.496094,-0.49609 L 18,212.75195 a 0.50004997,0.50004997 0 0 0 -0.0293,-0.16797 l -1.367187,-3.87695 3.166015,-2.03711 A 0.50004997,0.50004997 0 0 0 20,206.25 V 205.5 A 0.50004997,0.50004997 0 0 0 19.5,205 h -4.144531 l -1.632813,-4.66602 A 0.50004997,0.50004997 0 0 0 13.25,200 h -0.251953 z m 0.25,1.30078 1.527344,4.36524 A 0.50004997,0.50004997 0 0 0 15,206 h 3.962891 l -3.232422,2.08008 a 0.50004997,0.50004997 0 0 0 -0.201172,0.58594 L 17,212.83398 l -0.002,0.16407 h -0.06445 l -3.357422,-2.87696 A 0.50004997,0.50004997 0 0 0 13.25,210 h -0.5 a 0.50004997,0.50004997 0 0 0 -0.326172,0.12109 L 9.0644531,213 H 9 v -0.16406 l 1.470703,-4.16992 a 0.50004997,0.50004997 0 0 0 -0.201172,-0.58594 L 7.0371094,206 H 11 a 0.50004997,0.50004997 0 0 0 0.472656,-0.33398 z" id="path14401" inkscape:connector-curvature="0"/>
+ <g transform="translate(0.99996615,4.4999696e-6)" id="g13708" style="display:inline;opacity:1;fill:#ffffff;enable-background:new" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" inkscape:export-xdpi="96" inkscape:export-ydpi="96">
+ <path inkscape:connector-curvature="0" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 48.5,578 c -0.276131,3e-5 -0.499972,0.22387 -0.5,0.5 L 47.9922,589 c 0,1.51667 1.219299,3 2.984374,3 1.765077,0 3.015625,-1.475 3.015626,-3 L 54,578.5 c -2.8e-5,-0.27613 -0.223869,-0.49997 -0.5,-0.5 z m 2.5,10 c 0.546362,0 1,0.45364 1,1 0,0.54636 -0.453638,1 -1,1 -0.546362,0 -1,-0.45364 -1,-1 0,-0.54636 0.453638,-1 1,-1 z" transform="translate(-0.99998)" id="path13694"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.5;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 58.492188,586 c -0.132599,2e-5 -0.259759,0.0527 -0.353516,0.14648 l -4.75,4.75 c -0.09377,0.0938 -0.14646,0.22092 -0.146484,0.35352 v 0.25 c 2.8e-5,0.27613 0.223869,0.49997 0.5,0.5 H 60.5 c 0.276131,-3e-5 0.499972,-0.22387 0.5,-0.5 v -5 c -2.8e-5,-0.27613 -0.223869,-0.49997 -0.5,-0.5 z" id="path13696" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccccccccc"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.75;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 56.486328,579 c -0.130565,0.002 -0.25534,0.0541 -0.347656,0.14648 l -2,2 c -0.09377,0.0938 -0.14646,0.22092 -0.146484,0.35352 v 6 c 1.71e-4,0.44532 0.538516,0.6683 0.853515,0.35352 l 5,-5 c 0.19519,-0.19527 0.19519,-0.51177 0,-0.70704 l -3,-3 C 56.750515,579.05126 56.620954,578.99846 56.486328,579 Z" id="path13698" inkscape:connector-curvature="0" sodipodi:nodetypes="cccccccccc"/>
+ </g>
+ <g style="display:inline;fill:#ffffff;enable-background:new" id="g9998" transform="matrix(-1,0,0,1,907.99986,4.6999695e-6)">
+ <g transform="matrix(-0.61504365,0,0,0.61502939,510.71013,122.71015)" id="g13879" style="display:inline;opacity:1;fill:#ffffff;stroke-width:1.6259197;enable-background:new"/>
+ <g id="g9988" style="fill:#ffffff">
+ <path id="path13882" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.00000036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:7.40000248;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 478.49219,473.00781 a 0.50005018,0.50005018 0 0 0 -0.5,0.5 v 3.00781 a 0.50005018,0.50005018 0 0 0 0.5,0.5 c 1.00252,10e-6 2.00529,0 3.00781,0 a 0.50005018,0.50005018 0 0 0 0.5,-0.5 v -3.00781 a 0.50005018,0.50005018 0 0 0 -0.5,-0.5 c -1.00252,0 -2.0053,0 -3.00781,0 z m 0.5,1 c 0.66922,0 1.33859,0 2.00781,0 v 2.00781 c -0.66922,10e-6 -1.3386,0 -2.00781,0 z m -0.49233,3.9922 2.99609,0.006 c 0.2754,6.1e-4 0.49976,0.22265 0.5,0.49805 l 0.004,6.45885 c 0,1.02328 -0.80629,2.03747 -2,2.03711 -1.19534,0 -1.99609,-1.02155 -1.99609,-2.04297 l -0.004,-6.45704 c 1.8e-4,-0.27638 0.22362,-0.50048 0.5,-0.5 z m 1.5,6 a 1,0.99999999 0 0 0 -1,1.00001 1,0.99999999 0 0 0 1,1 1,0.99999999 0 0 0 1,-1 1,0.99999999 0 0 0 -1,-1.00001 z" inkscape:connector-curvature="0"/>
+ <path id="path13884" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.75;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.00000036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:7.40000248;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 469.49219,474.00781 a 0.50005018,0.50005018 0 0 0 -0.5,0.5 v 3.00781 a 0.50005018,0.50005018 0 0 0 0.5,0.5 c 1.00252,10e-6 2.00529,0 3.00781,0 a 0.50005018,0.50005018 0 0 0 0.5,-0.5 v -3.00781 a 0.50005018,0.50005018 0 0 0 -0.5,-0.5 c -1.00252,0 -2.0053,0 -3.00781,0 z m 0.5,1 c 0.66922,0 1.33859,0 2.00781,0 v 2.00781 c -0.66922,10e-6 -1.3386,0 -2.00781,0 z m 5.5151,2.99233 c 0.12999,0.002 0.25408,0.0546 0.34596,0.14655 l 1.00065,0.99942 c 0.094,0.094 0.14673,0.22146 0.14655,0.35436 v 4.0001 c 2e-5,0.4458 -0.53925,0.66879 -0.85409,0.35316 l -2.99954,-3.00067 c -0.19472,-0.19518 -0.19472,-0.51115 0,-0.70633 l 2.00009,-2.00004 c 0.0954,-0.0955 0.2254,-0.14835 0.36038,-0.14655 z" inkscape:connector-curvature="0"/>
+ <path id="path13886" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.5;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.00000036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:7.40000248;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 468.49219,483.00781 a 0.50005018,0.50005018 0 0 0 -0.5,0.5 v 3.00781 a 0.50005018,0.50005018 0 0 0 0.5,0.5 c 1.00252,10e-6 2.00529,0 3.00781,0 a 0.50005018,0.50005018 0 0 0 0.5,-0.5 v -3.00781 a 0.50005018,0.50005018 0 0 0 -0.5,-0.5 c -1.00252,0 -2.0053,0 -3.00781,0 z m 0.5,1 c 0.66922,0 1.33859,0 2.00781,0 v 2.00781 c -0.66922,10e-6 -1.3386,0 -2.00781,0 z m 4.52221,-1.00695 c 0.12731,0.004 0.24847,0.0555 0.33876,0.14535 l 3.00074,3.00066 c 0.31399,0.31533 0.0906,0.8529 -0.35437,0.85288 h -2.99954 c -0.27591,-1.9e-4 -0.49954,-0.22381 -0.49972,-0.49972 v -2.99946 c 7e-5,-0.28163 0.23261,-0.50765 0.51413,-0.49971 z" inkscape:connector-curvature="0"/>
+ </g>
+ </g>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 304.5,158 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 3 a 0.50005,0.50005 0 0 0 0.5,0.5 h 3 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -3 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m 0.5,1 h 2 v 2 h -2 z m 4.5,5 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 3 a 0.50005,0.50005 0 0 0 0.5,0.5 h 3 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -3 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m 0.5,1 h 2 v 2 h -2 z m -8.5,2 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 3 a 0.50005,0.50005 0 0 0 0.5,0.5 h 3 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -3 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m 0.5,1 h 2 v 2 h -2 z" id="rect13801" inkscape:connector-curvature="0"/>
+ <g style="display:inline;fill:#ffffff;enable-background:new" id="g14472" transform="translate(-42.000002,4.4999696e-6)">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 373.5,158 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 3 a 0.50005,0.50005 0 0 0 0.5,0.5 h 3 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -3 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m 0.5,1 h 2 v 2 h -2 z m -10.5,9 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 3 a 0.50005,0.50005 0 0 0 0.5,0.5 h 3 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -3 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m 0.5,1 h 2 v 2 h -2 z" id="rect14387" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 366.49219,160.99219 a 0.50005,0.50005 0 0 0 -0.31641,0.12109 0.50005,0.50005 0 0 0 -0.0195,0.0156 0.50005,0.50005 0 0 0 -0.0176,0.0176 0.50005,0.50005 0 0 0 -0.002,0.004 0.50005,0.50005 0 0 0 -0.0312,0.0332 0.50005,0.50005 0 0 0 -0.002,0.004 A 0.50005,0.50005 0 0 0 366,161.58203 V 162.5 a 0.50005,0.50005 0 1 0 1,0 V 162 h 0.5 a 0.50005,0.50005 0 1 0 0,-1 h -0.91992 a 0.50005,0.50005 0 0 0 -0.0879,-0.008 z m 7,0 A 0.50005,0.50005 0 0 0 373.41797,161 H 372.5 a 0.50005,0.50005 0 1 0 0,1 h 0.5 v 0.5 a 0.50005,0.50005 0 1 0 1,0 v -0.91992 a 0.50005,0.50005 0 0 0 -0.11328,-0.4043 0.50005,0.50005 0 0 0 -0.002,-0.004 0.50005,0.50005 0 0 0 -0.0312,-0.0332 0.50005,0.50005 0 0 0 -0.004,-0.002 0.50005,0.50005 0 0 0 -0.0332,-0.0312 0.50005,0.50005 0 0 0 -0.004,-0.002 0.50005,0.50005 0 0 0 -0.32031,-0.11133 z M 369.5,161 a 0.50005,0.50005 0 1 0 0,1 h 1 a 0.50005,0.50005 0 1 0 0,-1 z m -3.00781,2.99219 A 0.50005,0.50005 0 0 0 366,164.5 v 1 a 0.50005,0.50005 0 1 0 1,0 v -1 a 0.50005,0.50005 0 0 0 -0.50781,-0.50781 z m 7,0 A 0.50005,0.50005 0 0 0 373,164.5 v 1 a 0.50005,0.50005 0 1 0 1,0 v -1 a 0.50005,0.50005 0 0 0 -0.50781,-0.50781 z m -7,3 A 0.50005,0.50005 0 0 0 366,167.5 v 0.91992 a 0.50005,0.50005 0 0 0 0.11328,0.4043 0.50005,0.50005 0 0 0 0.0156,0.0195 0.50005,0.50005 0 0 0 0.0176,0.0176 0.50005,0.50005 0 0 0 0.004,0.002 0.50005,0.50005 0 0 0 0.0332,0.0312 0.50005,0.50005 0 0 0 0.004,0.002 A 0.50005,0.50005 0 0 0 366.58203,169 H 367.5 a 0.50005,0.50005 0 1 0 0,-1 H 367 v -0.5 a 0.50005,0.50005 0 0 0 -0.50781,-0.50781 z m 7,0 A 0.50005,0.50005 0 0 0 373,167.5 v 0.5 h -0.5 a 0.50005,0.50005 0 1 0 0,1 h 0.91992 a 0.50005,0.50005 0 0 0 0.4043,-0.11328 0.50005,0.50005 0 0 0 0.004,-0.002 0.50005,0.50005 0 0 0 0.0332,-0.0312 0.50005,0.50005 0 0 0 0.002,-0.004 0.50005,0.50005 0 0 0 0.0312,-0.0332 0.50005,0.50005 0 0 0 0.002,-0.004 A 0.50005,0.50005 0 0 0 374,168.41797 V 167.5 a 0.50005,0.50005 0 0 0 -0.50781,-0.50781 z M 369.5,168 a 0.50005,0.50005 0 1 0 0,1 h 1 a 0.50005,0.50005 0 1 0 0,-1 z" id="path14452" inkscape:connector-curvature="0"/>
+ </g>
+ <g style="display:inline;fill:#ffffff;enable-background:new" id="g14467" transform="translate(-63.000002,4.4999696e-6)">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 347.5,161 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 2.5 h -1.5 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 3 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 3 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v 1 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 3 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -3 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 h -2 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -3 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z m 0.5,1 h 2 v 2 h -2 z m -2,3 h 2 v 2 h -2 z m 4,1 h 2 v 2 h -2 z" id="rect14393" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccccccccccccccccccccccccccccccccc"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 342.49219,157.99219 a 0.50005,0.50005 0 0 0 -0.31641,0.12109 0.50005,0.50005 0 0 0 -0.0195,0.0156 0.50005,0.50005 0 0 0 -0.0176,0.0176 0.50005,0.50005 0 0 0 -0.002,0.004 0.50005,0.50005 0 0 0 -0.0312,0.0332 0.50005,0.50005 0 0 0 -0.002,0.004 0.50005,0.50005 0 0 0 -0.0274,0.0371 0.50005,0.50005 0 0 0 -0.002,0.004 A 0.50005,0.50005 0 0 0 342,158.58203 V 159.5 a 0.50005,0.50005 0 1 0 1,0 V 159 h 0.5 a 0.50005,0.50005 0 1 0 0,-1 h -0.91992 a 0.50005,0.50005 0 0 0 -0.0879,-0.008 z m 13,0 A 0.50005,0.50005 0 0 0 355.41797,158 H 354.5 a 0.50005,0.50005 0 1 0 0,1 h 0.5 v 0.5 a 0.50005,0.50005 0 1 0 1,0 v -0.91992 a 0.50005,0.50005 0 0 0 -0.11328,-0.4043 0.50005,0.50005 0 0 0 -0.002,-0.004 0.50005,0.50005 0 0 0 -0.0312,-0.0332 0.50005,0.50005 0 0 0 -0.004,-0.002 0.50005,0.50005 0 0 0 -0.0332,-0.0312 0.50005,0.50005 0 0 0 -0.004,-0.002 0.50005,0.50005 0 0 0 -0.32031,-0.11133 z M 345.5,158 a 0.50005,0.50005 0 1 0 0,1 h 1 a 0.50005,0.50005 0 1 0 0,-1 z m 3,0 a 0.50005,0.50005 0 1 0 0,1 h 1 a 0.50005,0.50005 0 1 0 0,-1 z m 3,0 a 0.50005,0.50005 0 1 0 0,1 h 1 a 0.50005,0.50005 0 1 0 0,-1 z m -9.00781,2.99219 A 0.50005,0.50005 0 0 0 342,161.5 v 1 a 0.50005,0.50005 0 1 0 1,0 v -1 a 0.50005,0.50005 0 0 0 -0.50781,-0.50781 z m 13,0 A 0.50005,0.50005 0 0 0 355,161.5 v 1 a 0.50005,0.50005 0 1 0 1,0 v -1 a 0.50005,0.50005 0 0 0 -0.50781,-0.50781 z m -13,3 A 0.50005,0.50005 0 0 0 342,164.5 v 1 a 0.50005,0.50005 0 1 0 1,0 v -1 a 0.50005,0.50005 0 0 0 -0.50781,-0.50781 z m 13,0 A 0.50005,0.50005 0 0 0 355,164.5 v 1 a 0.50005,0.50005 0 1 0 1,0 v -1 a 0.50005,0.50005 0 0 0 -0.50781,-0.50781 z m -13,3 A 0.50005,0.50005 0 0 0 342,167.5 v 1 a 0.50005,0.50005 0 1 0 1,0 v -1 a 0.50005,0.50005 0 0 0 -0.50781,-0.50781 z m 13,0 A 0.50005,0.50005 0 0 0 355,167.5 v 1 a 0.50005,0.50005 0 1 0 1,0 v -1 a 0.50005,0.50005 0 0 0 -0.50781,-0.50781 z m -13,3 A 0.50005,0.50005 0 0 0 342,170.5 v 0.91992 a 0.50005,0.50005 0 0 0 0.11328,0.4043 0.50005,0.50005 0 0 0 0.0156,0.0195 0.50005,0.50005 0 0 0 0.0176,0.0176 0.50005,0.50005 0 0 0 0.004,0.002 0.50005,0.50005 0 0 0 0.0332,0.0312 0.50005,0.50005 0 0 0 0.004,0.002 A 0.50005,0.50005 0 0 0 342.58203,172 H 343.5 a 0.50005,0.50005 0 1 0 0,-1 H 343 v -0.5 a 0.50005,0.50005 0 0 0 -0.50781,-0.50781 z m 13,0 A 0.50005,0.50005 0 0 0 355,170.5 v 0.5 h -0.5 a 0.50005,0.50005 0 1 0 0,1 h 0.91992 a 0.50005,0.50005 0 0 0 0.4043,-0.11328 0.50005,0.50005 0 0 0 0.004,-0.002 0.50005,0.50005 0 0 0 0.0332,-0.0312 0.50005,0.50005 0 0 0 0.002,-0.004 0.50005,0.50005 0 0 0 0.0312,-0.0332 0.50005,0.50005 0 0 0 0.002,-0.004 0.50005,0.50005 0 0 0 0.0274,-0.0371 0.50005,0.50005 0 0 0 0.002,-0.004 0.50005,0.50005 0 0 0 0.074,-0.35325 V 170.5 a 0.50005,0.50005 0 0 0 -0.50781,-0.50781 z M 345.5,171 a 0.50005,0.50005 0 1 0 0,1 h 1 a 0.50005,0.50005 0 1 0 0,-1 z m 3,0 a 0.50005,0.50005 0 1 0 0,1 h 1 a 0.50005,0.50005 0 1 0 0,-1 z m 3,0 a 0.50005,0.50005 0 1 0 0,1 h 1 a 0.50005,0.50005 0 1 0 0,-1 z" id="path14460" inkscape:connector-curvature="0"/>
+ </g>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 118.5,201 a 0.50005,0.50005 0 0 0 -0.5,0.5 V 212 h -6.5 a 0.50005,0.50005 0 1 0 0,1 h 7 a 0.50005,0.50005 0 0 0 0.5,-0.5 V 202 h 5.5 a 0.50005,0.50005 0 1 0 0,-1 z" id="path13715" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 144.5,201 a 0.50005,0.50005 0 0 0 -0.35352,0.14648 L 133.29297,212 H 132.5 a 0.50005,0.50005 0 1 0 0,1 h 1 a 0.50005,0.50005 0 0 0 0.35352,-0.14648 L 144.70703,202 H 145.5 a 0.50005,0.50005 0 1 0 0,-1 z" id="path13875" inkscape:connector-curvature="0"/>
+ <g transform="translate(-1.8536743e-6,4.4999696e-6)" style="display:inline;fill:#ffffff;enable-background:new" id="g13432">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 166,201 c -1.59692,0 -2.85915,0.78757 -3.86133,1.88086 -1.00218,1.09329 -1.79297,2.49805 -2.57422,3.87305 -0.78125,1.375 -1.55296,2.72024 -2.4414,3.68945 C 156.2346,211.41257 155.27808,212 154,212 h -0.5 a 0.50005,0.50005 0 1 0 0,1 h 0.5 c 1.59692,0 2.85915,-0.78757 3.86133,-1.88086 1.00218,-1.09329 1.79297,-2.49805 2.57422,-3.87305 0.78125,-1.375 1.55296,-2.72024 2.4414,-3.68945 C 163.7654,202.58743 164.72192,202 166,202 h 0.5 a 0.50005,0.50005 0 1 0 0,-1 z" id="path14036" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 154.5,200 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 2 a 0.50005,0.50005 0 0 0 0.5,0.5 h 2 a 0.50005,0.50005 0 0 0 0.5,-0.5 V 202 h 3.5 a 0.50005,0.50005 0 1 0 0,-1 H 157 v -0.5 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m 0.5,1 h 1 v 0.41992 a 0.50005,0.50005 0 0 0 0,0.16211 V 202 h -1 z m 8.50781,10 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 0.5 h -3.5 a 0.50005,0.50005 0 1 0 0,1 h 3.5 v 0.5 a 0.50005,0.50005 0 0 0 0.5,0.5 h 2 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -2 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m 0.5,1 h 1 v 1 h -1 v -0.42383 a 0.50005,0.50005 0 0 0 0,-0.15234 z" id="path14257" inkscape:connector-curvature="0"/>
+ </g>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 291.5,201 a 0.50005,0.50005 0 0 0 -0.5,0.5 c 0,2.47889 -0.15954,4.38104 -0.52734,5.8125 -0.36781,1.43146 -0.92559,2.38009 -1.74024,3.05273 C 287.10312,211.71053 284.21571,212 279.5,212 a 0.50005,0.50005 0 1 0 0,1 c 4.75093,0 7.86511,-0.21053 9.86914,-1.86523 1.00202,-0.82736 1.66924,-2.00373 2.07227,-3.57227 0.36978,-1.43916 0.48747,-3.33151 0.51171,-5.5625 H 292.5 a 0.50005,0.50005 0 1 0 0,-1 z" id="path14276" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 312.5,201 a 0.50005,0.50005 0 0 0 -0.5,0.5 c 0,3.43021 -1.19149,5.7903 -3.2168,7.45898 -2.0253,1.66869 -4.93239,2.63003 -8.34375,3.04493 a 0.50005,0.50005 0 1 0 0.1211,0.99218 c 3.52614,-0.42885 6.61905,-1.41978 8.85937,-3.26562 2.13154,-1.75622 3.41037,-4.32825 3.5332,-7.73047 H 313.5 a 0.50005,0.50005 0 1 0 0,-1 z" id="path14278" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 439,201 c -1.59692,0 -2.85915,0.78757 -3.86133,1.88086 -1.00218,1.09329 -1.79297,2.49805 -2.57422,3.87305 -0.78125,1.375 -1.55296,2.72024 -2.4414,3.68945 C 429.2346,211.41257 428.27808,212 427,212 h -0.5 a 0.50005,0.50005 0 1 0 0,1 h 0.5 c 1.59692,0 2.85915,-0.78757 3.86133,-1.88086 1.00218,-1.09329 1.79297,-2.49805 2.57422,-3.87305 0.78125,-1.375 1.55296,-2.72024 2.4414,-3.68945 C 436.7654,202.58743 437.72192,202 439,202 h 0.5 a 0.50005,0.50005 0 1 0 0,-1 z" id="path14305" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 321.5,201 a 0.50005,0.50005 0 1 0 0,1 h 0.5 c 0.11714,0 0.21825,0.0354 0.36133,0.1582 0.14308,0.12279 0.30922,0.33684 0.46875,0.63282 0.31905,0.59195 0.61443,1.49542 0.87109,2.55468 0.51334,2.11854 0.89163,4.86411 1.30664,7.24024 a 0.50005,0.50005 0 0 0 0.98242,0.008 c 0.24141,-1.26736 0.60565,-2.19557 0.98829,-2.76953 0.38264,-0.57396 0.74023,-0.76172 1.02148,-0.76172 0.28125,0 0.63884,0.18776 1.02148,0.76172 0.38264,0.57396 0.74688,1.50217 0.98829,2.76953 a 0.50005,0.50005 0 0 0 0.96093,0.0762 c 0.24086,-0.66235 0.48023,-1.14224 0.6836,-1.42187 0.20337,-0.27964 0.32487,-0.31055 0.3457,-0.31055 0.0208,0 0.14233,0.0309 0.3457,0.31055 0.20337,0.27963 0.44274,0.75952 0.6836,1.42187 A 0.50005,0.50005 0 0 0 333.5,213 h 1 a 0.50005,0.50005 0 1 0 0,-1 h -0.69141 c -0.20925,-0.52074 -0.41629,-1.01454 -0.65429,-1.3418 -0.29663,-0.40786 -0.67513,-0.7207 -1.1543,-0.7207 -0.47917,0 -0.85767,0.31284 -1.1543,0.7207 -0.10194,0.14017 -0.18655,0.39972 -0.28125,0.57422 -0.21984,-0.70238 -0.40285,-1.50076 -0.71093,-1.96289 -0.49236,-0.73854 -1.13477,-1.20703 -1.85352,-1.20703 -0.71875,0 -1.36116,0.46849 -1.85352,1.20703 -0.20879,0.3132 -0.31334,0.90706 -0.48242,1.33008 -0.30463,-1.87209 -0.5915,-3.83467 -0.99218,-5.48828 -0.26658,-1.10016 -0.56623,-2.0626 -0.96094,-2.79492 -0.19736,-0.36617 -0.41893,-0.67716 -0.69727,-0.91602 C 322.73533,201.16153 322.38008,201 322,201 Z" id="path53380-0" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 342.45117,201 a 0.50059574,0.50059574 0 0 0 0.0488,1 c 0.0215,2e-5 0.18225,-1.7e-4 0.33398,0 0.0105,0.42607 0.0502,2.52232 0.33594,5.05664 0.15671,1.39002 0.37504,2.78188 0.69727,3.86719 0.16111,0.54265 0.34457,1.00922 0.59179,1.38086 0.24723,0.37163 0.61429,0.69531 1.09375,0.69531 0.39174,0 0.74881,-0.20864 0.97657,-0.48047 0.22775,-0.27182 0.37091,-0.59987 0.48632,-0.96289 0.23084,-0.72603 0.34622,-1.61436 0.46876,-2.48828 0.12253,-0.87392 0.25275,-1.73314 0.44921,-2.31641 0.0982,-0.29163 0.21467,-0.50852 0.31446,-0.62109 C 348.34784,206.01829 348.39286,206 348.5,206 c 0.16824,0 0.2932,0.0848 0.48633,0.39062 0.19312,0.30582 0.37727,0.78401 0.5625,1.28321 0.18523,0.49919 0.37171,1.01992 0.64453,1.46289 0.27281,0.44297 0.71019,0.86328 1.30664,0.86328 0.41993,0 0.77613,-0.23568 0.99219,-0.49219 0.21606,-0.2565 0.34747,-0.53797 0.4707,-0.78906 0.12323,-0.25109 0.23849,-0.47074 0.33594,-0.58984 C 353.39628,208.0098 353.41651,208 353.5,208 c 0.0859,0 0.18647,0.0811 0.39844,0.32617 0.10598,0.12255 0.22449,0.26923 0.39453,0.40625 C 354.463,208.86945 354.71104,209 355,209 c 0.008,0 0.14542,-2.8e-4 0.27539,0 0.065,1.4e-4 0.13031,6e-5 0.18164,0 0.0513,-6e-5 0.0312,0.005 0.12109,0 a 0.50080138,0.50080138 0 1 0 -0.0566,-1 c 0.0748,-0.004 -0.0172,-5e-5 -0.0664,0 -0.0492,5e-5 -0.11331,1.4e-4 -0.17774,0 -0.12885,-2.8e-4 -0.25041,0 -0.27734,0 -0.0108,0 -0.0173,0.004 -0.0801,-0.0469 -0.0628,-0.0506 -0.15527,-0.15364 -0.26562,-0.28124 C 354.43358,207.41667 354.08387,207 353.5,207 c -0.4167,0 -0.76719,0.23824 -0.97656,0.49414 -0.20937,0.2559 -0.33683,0.53625 -0.45899,0.78516 -0.12215,0.24891 -0.23808,0.46744 -0.33789,0.58593 C 351.62675,208.98373 351.59835,209 351.5,209 c -0.14972,0 -0.26794,-0.0816 -0.45703,-0.38867 -0.18909,-0.30703 -0.37082,-0.78435 -0.55664,-1.28516 -0.18583,-0.5008 -0.37575,-1.02457 -0.65625,-1.46875 C 349.54958,205.41324 349.10136,205 348.5,205 c -0.39664,0 -0.76041,0.19848 -1,0.46875 -0.23959,0.27027 -0.39279,0.60017 -0.51562,0.96484 -0.24567,0.72934 -0.36739,1.61988 -0.49024,2.4961 -0.12285,0.87621 -0.24515,1.73764 -0.43164,2.32422 -0.0933,0.29328 -0.20581,0.51202 -0.29883,0.62304 -0.093,0.11102 -0.1237,0.12305 -0.21094,0.12305 -0.027,0 -0.10877,-0.0201 -0.26171,-0.25 -0.15295,-0.22991 -0.31979,-0.62276 -0.46485,-1.11133 -0.29011,-0.97714 -0.5088,-2.33541 -0.66211,-3.69531 -0.30662,-2.7198 -0.36328,-5.45313 -0.36328,-5.45313 a 0.50005,0.50005 0 0 0 -0.5,-0.49023 c -0.0468,0 -0.74734,5e-5 -0.80078,0 a 0.50005,0.50005 0 0 0 -0.0488,0 z" id="path16468-1" inkscape:connector-curvature="0"/>
+ <g transform="translate(-1.8536743e-6,4.4999696e-6)" style="display:inline;fill:#ffffff;enable-background:new" id="g14237">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 207.5,201 a 0.50005,0.50005 0 0 0 -0.40039,0.19922 c -1.548,2.064 -2.85356,4.80197 -4.58594,6.99023 C 200.78129,210.37772 198.70216,212 195.5,212 a 0.50005,0.50005 0 1 0 0,1 c 3.54784,0 5.96871,-1.87772 7.79883,-4.18945 1.7781,-2.24603 3.06678,-4.88493 4.4707,-6.81055 H 208.5 a 0.50005,0.50005 0 1 0 0,-1 z" id="path14262" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 197,199.99609 c -0.79172,0 -1.70536,0.42738 -1.98047,1.35938 a 0.50090117,0.50090117 0 1 0 0.96094,0.2832 c 0.12417,-0.42064 0.57767,-0.64258 1.01953,-0.64258 0.26308,0 0.50603,0.0889 0.67773,0.2461 0.17133,0.15683 0.29488,0.38005 0.29883,0.75976 0.001,0.2095 -0.10056,0.41777 -0.33789,0.6875 -0.23733,0.26973 -0.59584,0.56699 -0.97656,0.90235 -0.76143,0.67072 -1.65792,1.5571 -1.66211,2.90234 a 0.50005,0.50005 0 0 0 0.5,0.50195 h 3 a 0.50005,0.50005 0 1 0 0,-1 h -2.33398 c 0.18416,-0.62502 0.58645,-1.15066 1.1582,-1.65429 0.36326,-0.31999 0.74752,-0.62977 1.0664,-0.99219 0.31889,-0.36243 0.58851,-0.81103 0.58594,-1.35156 a 0.50005,0.50005 0 0 0 0,-0.002 c -0.006,-0.61869 -0.24656,-1.14755 -0.62304,-1.49218 -0.37648,-0.34464 -0.8666,-0.50782 -1.35352,-0.50782 z" id="path12457-3" inkscape:connector-curvature="0"/>
+ </g>
+ <g transform="translate(-1.8536743e-6,4.4999696e-6)" style="display:inline;fill:#ffffff;enable-background:new" id="g14233">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 186.5,201 a 0.50005,0.50005 0 0 0 -0.40039,0.19922 c -1.548,2.064 -2.85356,4.80197 -4.58594,6.99023 C 179.78129,210.37772 177.70216,212 174.5,212 a 0.50005,0.50005 0 1 0 0,1 c 3.54784,0 5.96871,-1.87772 7.79883,-4.18945 1.7781,-2.24603 3.06678,-4.88493 4.4707,-6.81055 H 187.5 a 0.50005,0.50005 0 1 0 0,-1 z" id="path14011" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 176.48438,199.99609 a 0.50005,0.50005 0 0 0 -0.3379,0.14649 l -2,2 a 0.50005,0.50005 0 1 0 0.70704,0.70703 L 176,201.70312 V 206.5 a 0.50005,0.50005 0 1 0 1,0 v -6.00391 a 0.50005,0.50005 0 0 0 -0.51562,-0.5 z" id="path12461-0" inkscape:connector-curvature="0"/>
+ </g>
+ <g transform="translate(-1.8536743e-6,4.4999696e-6)" style="display:inline;fill:#ffffff;enable-background:new" id="g14241">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 228.5,201 a 0.50005,0.50005 0 0 0 -0.47461,0.3418 c -0.75176,2.25527 -1.61792,4.94183 -3.29101,7.0332 -1.6731,2.09137 -4.11183,3.625 -8.23438,3.625 a 0.50005,0.50005 0 1 0 0,1 c 4.37745,0 7.18872,-1.71637 9.01562,-4 1.74159,-2.17699 2.6089,-4.81175 3.33594,-7 H 229.5 a 0.50005,0.50005 0 1 0 0,-1 z" id="path14266" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 218.99805,199.99609 c -0.79172,0 -1.70536,0.42738 -1.98047,1.35938 a 0.50005,0.50005 0 1 0 0.95898,0.2832 c 0.12417,-0.42064 0.57962,-0.64258 1.02149,-0.64258 0.26387,0 0.51715,0.0894 0.69531,0.24805 0.17816,0.15864 0.30325,0.37905 0.30664,0.75586 0.001,0.39768 -0.25396,0.75725 -0.76367,1.07422 a 0.50005,0.50005 0 0 0 0,0.84766 c 0.51034,0.31737 0.7656,0.67798 0.76367,1.07617 -0.004,0.37528 -0.12888,0.59561 -0.30664,0.7539 -0.17816,0.15864 -0.43144,0.24805 -0.69531,0.24805 -0.44187,0 -0.89732,-0.21999 -1.02149,-0.64062 a 0.50005,0.50005 0 1 0 -0.95898,0.28124 c 0.27511,0.93201 1.18875,1.35938 1.98047,1.35938 0.48612,0 0.97796,-0.16058 1.36133,-0.50195 0.38336,-0.34137 0.63501,-0.871 0.64062,-1.49414 a 0.50005,0.50005 0 0 0 0,-0.002 c 0.003,-0.61795 -0.34308,-1.09989 -0.77734,-1.5039 0.43425,-0.40402 0.78027,-0.88601 0.77734,-1.50391 a 0.50005,0.50005 0 0 0 0,-0.002 c -0.006,-0.62314 -0.25726,-1.15277 -0.64062,-1.49414 -0.38337,-0.34137 -0.87521,-0.50196 -1.36133,-0.50196 z" id="path14395" inkscape:connector-curvature="0"/>
+ </g>
+ <g transform="translate(-1.8536743e-6,4.4999696e-6)" style="display:inline;fill:#ffffff;enable-background:new" id="g14249">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 270.5,201 a 0.50005,0.50005 0 0 0 -0.5,0.5 c 0,3.44341 -1.07548,6.03173 -3.02344,7.79102 C 265.02861,211.0503 262.16329,212 258.5,212 a 0.50005,0.50005 0 1 0 0,1 c 3.83671,0 6.97139,-1.00062 9.14844,-2.9668 2.06597,-1.86586 3.15029,-4.63736 3.26367,-8.0332 H 271.5 a 0.50005,0.50005 0 1 0 0,-1 z" id="path14273" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 258.5,199.99609 a 0.50005,0.50005 0 0 0 -0.5,0.5 V 202.5 a 0.50005,0.50005 0 0 0 0.5,0.5 h 1.5 c 0.41667,0 1,0.45 1,1.5 0,1.04998 -0.58056,1.4941 -1.00195,1.49609 -0.52634,0.003 -0.86013,-0.33871 -1.05078,-0.72265 a 0.50005,0.50005 0 1 0 -0.89454,0.44531 c 0.30945,0.62316 0.97566,1.28254 1.94922,1.27734 C 261.08054,206.99099 262,205.95002 262,204.5 c 0,-1.45 -0.91667,-2.5 -2,-2.5 h -1 v -1.00391 h 2.5 a 0.50005,0.50005 0 1 0 0,-1 z" id="path14399" inkscape:connector-curvature="0"/>
+ </g>
+ <g transform="translate(-1.8536743e-6,4.4999696e-6)" style="display:inline;fill:#ffffff;enable-background:new" id="g14245">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 249.5,201 a 0.50005,0.50005 0 0 0 -0.49805,0.45508 c -0.24047,2.64524 -1.32572,5.28945 -3.23633,7.25976 C 243.85502,210.68516 241.12778,212 237.5,212 a 0.50005,0.50005 0 1 0 0,1 c 3.87222,0 6.89498,-1.43516 8.98438,-3.58984 1.97612,-2.03788 3.06007,-4.712 3.39843,-7.41016 H 250.5 a 0.50005,0.50005 0 1 0 0,-1 z" id="path14271" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 238.4668,199.99414 c -0.21842,0.0156 -0.40126,0.17156 -0.45118,0.38477 l -1,4 c -0.0786,0.31522 0.15949,0.62057 0.48438,0.62109 h 2.5 v 1.5 c -0.01,0.67616 1.00956,0.67616 1,0 v -4 c -0.009,-0.6573 -0.9907,-0.6573 -1,0 v 1.5 h -1.85938 l 0.84376,-3.37891 c 0.0877,-0.33109 -0.17587,-0.65038 -0.51758,-0.62695 z" id="path14402" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccccccccccc"/>
+ </g>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 375.5,201 a 0.50005,0.50005 0 0 0 -0.47852,0.35547 c -0.97912,3.26329 -1.65795,6.01658 -2.41406,7.89453 -0.37805,0.93897 -0.77714,1.65307 -1.20117,2.10156 C 370.98222,211.80006 370.56872,212 370,212 c -0.81989,0 -1.77194,-0.85368 -2.74219,-1.84961 -0.48512,-0.49796 -0.97309,-1.01146 -1.49609,-1.41992 C 365.23871,208.32201 364.66174,208 364,208 h -0.5 a 0.50005,0.50005 0 1 0 0,1 h 0.5 c 0.32338,0 0.70916,0.17799 1.14648,0.51953 0.43732,0.34154 0.9074,0.82804 1.39649,1.33008 C 367.52115,211.85368 368.58382,213 370,213 c 0.83577,0 1.56694,-0.36242 2.13281,-0.96094 0.56587,-0.59851 1.00027,-1.41738 1.40235,-2.41601 0.7683,-1.90825 1.43134,-4.57357 2.33398,-7.62305 H 376.5 a 0.50005,0.50005 0 1 0 0,-1 z" id="path16580-7" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 396.5,201 a 0.50005,0.50005 0 0 0 -0.40039,0.19922 c -1.548,2.064 -2.85356,4.80197 -4.58594,6.99023 C 389.78129,210.37772 387.70216,212 384.5,212 a 0.50005,0.50005 0 1 0 0,1 c 3.54784,0 5.96871,-1.87772 7.79883,-4.18945 1.7781,-2.24603 3.06678,-4.88493 4.4707,-6.81055 H 397.5 a 0.50005,0.50005 0 1 0 0,-1 z" id="path14011-0" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 418.5,201 c -3.54784,0 -5.96871,1.87772 -7.79883,4.18945 -1.7781,2.24603 -3.06678,4.88493 -4.4707,6.81055 H 405.5 a 0.50005,0.50005 0 1 0 0,1 h 1 a 0.50005,0.50005 0 0 0 0.40039,-0.19922 c 1.548,-2.064 2.85356,-4.80197 4.58594,-6.99023 C 413.21871,203.62228 415.29784,202 418.5,202 a 0.50005,0.50005 0 1 0 0,-1 z" id="path14049" inkscape:connector-curvature="0"/>
+ <g transform="translate(-1.8536743e-6,4.4999696e-6)" style="display:inline;fill:#ffffff;enable-background:new" id="g14253">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 447.5,200 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 4 a 0.50005,0.50005 0 1 0 1,0 V 201 h 3.5 a 0.50005,0.50005 0 1 0 0,-1 z m 9.00781,0 a 0.50005,0.50005 0 1 0 0,1 h 3.5 v 3.5 a 0.50005,0.50005 0 1 0 1,0 v -4 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m -9.01562,9 A 0.50005,0.50005 0 0 0 447,209.50781 v 4 a 0.50005,0.50005 0 0 0 0.5,0.5 h 4 a 0.50005,0.50005 0 1 0 0,-1 H 448 v -3.5 A 0.50005,0.50005 0 0 0 447.49219,209 Z M 460.5,209 a 0.50005,0.50005 0 0 0 -0.49219,0.50781 v 3.5 h -3.5 a 0.50005,0.50005 0 1 0 0,1 h 4 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -4 A 0.50005,0.50005 0 0 0 460.5,209 Z" id="path13927-5" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 449.5,203 a 0.50005,0.50005 0 1 0 0,1 h 1 c 0.39167,0 0.74862,0.27445 1.13672,0.86719 0.3881,0.59273 0.74407,1.4462 1.08594,2.3164 0.34186,0.8702 0.67067,1.75605 1.06836,2.4668 0.19884,0.35538 0.41332,0.66981 0.68554,0.91797 0.27222,0.24816 0.62761,0.43164 1.02344,0.43164 0.625,0 1.13349,-0.27613 1.44727,-0.64648 0.31377,-0.37036 0.47247,-0.79704 0.61523,-1.17774 0.14276,-0.3807 0.2723,-0.71757 0.41406,-0.91016 C 458.11833,208.07304 458.20536,208 458.5,208 a 0.50005,0.50005 0 1 0 0,-1 c -0.58036,0 -1.05583,0.30196 -1.32812,0.67188 -0.2723,0.36991 -0.40839,0.78304 -0.54688,1.15234 -0.13849,0.3693 -0.27667,0.69262 -0.43945,0.88476 C 456.02276,209.90113 455.875,210 455.5,210 c -0.10417,0 -0.20191,-0.0353 -0.34961,-0.16992 -0.1477,-0.13465 -0.31994,-0.3671 -0.48828,-0.66797 -0.33669,-0.60175 -0.66413,-1.4659 -1.00977,-2.3457 -0.34563,-0.8798 -0.70841,-1.77633 -1.17968,-2.4961 C 452.00138,203.60055 451.35833,203 450.5,203 Z" id="path14224" inkscape:connector-curvature="0"/>
+ </g>
+ <g style="display:inline;fill:#ffffff;enable-background:new" id="g13322" transform="translate(-1.8536743e-6,21.000005)">
+ <g id="g14281" transform="translate(84,200)" style="opacity:0.6;fill:#ffffff">
+ <g transform="matrix(1,0,0,-1,-294,368)" id="g14276" style="opacity:1;fill:#ffffff">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 300.5,375 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 3 a 0.50005,0.50005 0 0 0 0.5,0.5 h 10 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -3 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m 0.5,1 h 9 v 2 h -9 z" id="path14272" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 304.5,378 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 3 a 0.50005,0.50005 0 0 0 0.5,0.5 h 9 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -3 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m 0.5,1 h 8 v 2 h -8 z" id="path14274" inkscape:connector-curvature="0"/>
</g>
</g>
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 93.5,179 c -0.412872,-7.2e-4 -0.648693,0.47092 -0.400391,0.80078 l 3,4 c 0.2,0.26732 0.600782,0.26732 0.800782,0 l 3,-4 C 100.14869,179.47092 99.912872,178.99928 99.5,179 Z"
- id="path14203-1"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="ccccccc" />
- </g>
- <g
- transform="translate(-1.8536743e-6,4.4999696e-6)"
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g13175">
- <path
- id="path34600-2"
- d="m 162.47852,32 c -0.75576,10e-7 -1.40256,0.282822 -1.83399,0.75 -0.30821,0.333747 -0.37373,0.80118 -0.46094,1.25 H 159.25 c -1.74879,0 -3.25,1.267585 -3.25,3 0,0.03444 0.0105,0.06555 0.0117,0.09961 C 156.33181,37.034347 156.66178,37 157,37 c 2.03325,0 3.79424,1.241664 4.57227,3 H 164.25 c 0.73055,0 1.4115,-0.231259 1.91992,-0.667969 C 166.67834,38.895322 167,38.242126 167,37.5 c 0,-1.192468 -0.94634,-2.062761 -2.04297,-2.306641 -0.002,-0.488483 0.0124,-1.101037 -0.24609,-1.74414 C 164.40699,32.693065 163.65613,32.000002 162.47852,32 Z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.0000006;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 157,38 c -2.20322,0 -4,1.796783 -4,4 0,2.203217 1.79678,4 4,4 2.20322,0 4,-1.796783 4,-4 0,-2.203217 -1.79678,-4 -4,-4 z m 0,1 c 1.66278,0 3,1.337223 3,3 0,1.662777 -1.33722,3 -3,3 -1.66278,0 -3,-1.337223 -3,-3 0,-1.662777 1.33722,-3 3,-3 z"
- id="ellipse13733"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 154.5,32 c 0.8225,0 1.5,0.677496 1.5,1.5 0,0.822504 -0.6775,1.5 -1.5,1.5 -0.8225,0 -1.5,-0.677496 -1.5,-1.5 0,-0.822504 0.6775,-1.5 1.5,-1.5 z"
- id="ellipse12632-2"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="sssss" />
- </g>
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:7.40000057;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 292.49023,367.99609 a 0.50005,0.50005 0 0 0 -0.34375,0.15039 l -10,10 a 0.50005,0.50005 0 1 0 0.70704,0.70704 l 10,-10 a 0.50005,0.50005 0 0 0 -0.36329,-0.85743 z"
- id="path14294"
- inkscape:connector-curvature="0" />
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g14429"
- transform="translate(-1.8536743e-6,42.000005)">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 201.49805,368.99414 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 1 a 0.50005,0.50005 0 0 0 0.5,0.5 h 0.7207 C 203.68137,373.39211 205,375.04034 205,377 c 0,1.45833 -0.66274,2.34651 -1.76562,2.75 -1.1029,0.40349 -2.7161,0.26002 -4.5,-0.69141 a 0.50005,0.50005 0 1 0 -0.46876,0.88282 c 1.9661,1.04857 3.8529,1.2801 5.3125,0.74609 C 205.03775,380.15349 206,378.79167 206,377 c 0,-2.43412 -1.54431,-4.24525 -3.00195,-6.65039 v -0.85547 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z"
- transform="translate(1.8536743e-6,-42.000005)"
- id="path14357"
- inkscape:connector-curvature="0" />
- <g
- style="opacity:0.6;fill:#ffffff"
- id="g13445">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 195.49805,367.99414 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 2 a 0.50005,0.50005 0 0 0 0.5,0.5 h 2 a 0.50005,0.50005 0 0 0 0.5,-0.5 V 370 H 199.5 c 0.67616,0.01 0.67616,-1.00956 0,-1 h -1.50195 v -0.50586 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m 11,0 a 0.50005,0.50005 0 0 0 -0.5,0.5 V 369 H 204.5 c -0.67616,-0.01 -0.67616,1.00956 0,1 h 1.49805 v 0.49414 a 0.50005,0.50005 0 0 0 0.5,0.5 h 2 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -2 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m -10.5,1 h 1 v 1 h -1 z m 11,0 h 1 v 1 h -1 z"
- transform="translate(1.8536743e-6,-42.000005)"
- id="path14367"
- inkscape:connector-curvature="0" />
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 93.5,179 c -0.412872,-7.2e-4 -0.648693,0.47092 -0.400391,0.80078 l 3,4 c 0.2,0.26732 0.600782,0.26732 0.800782,0 l 3,-4 C 100.14869,179.47092 99.912872,178.99928 99.5,179 Z" id="path14203-1" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccccc"/>
+ </g>
+ <g transform="translate(-1.8536743e-6,4.4999696e-6)" style="display:inline;fill:#ffffff;enable-background:new" id="g13175">
+ <path id="path34600-2" d="m 162.47852,32 c -0.75576,10e-7 -1.40256,0.282822 -1.83399,0.75 -0.30821,0.333747 -0.37373,0.80118 -0.46094,1.25 H 159.25 c -1.74879,0 -3.25,1.267585 -3.25,3 0,0.03444 0.0105,0.06555 0.0117,0.09961 C 156.33181,37.034347 156.66178,37 157,37 c 2.03325,0 3.79424,1.241664 4.57227,3 H 164.25 c 0.73055,0 1.4115,-0.231259 1.91992,-0.667969 C 166.67834,38.895322 167,38.242126 167,37.5 c 0,-1.192468 -0.94634,-2.062761 -2.04297,-2.306641 -0.002,-0.488483 0.0124,-1.101037 -0.24609,-1.74414 C 164.40699,32.693065 163.65613,32.000002 162.47852,32 Z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.0000006;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 157,38 c -2.20322,0 -4,1.796783 -4,4 0,2.203217 1.79678,4 4,4 2.20322,0 4,-1.796783 4,-4 0,-2.203217 -1.79678,-4 -4,-4 z m 0,1 c 1.66278,0 3,1.337223 3,3 0,1.662777 -1.33722,3 -3,3 -1.66278,0 -3,-1.337223 -3,-3 0,-1.662777 1.33722,-3 3,-3 z" id="ellipse13733" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 154.5,32 c 0.8225,0 1.5,0.677496 1.5,1.5 0,0.822504 -0.6775,1.5 -1.5,1.5 -0.8225,0 -1.5,-0.677496 -1.5,-1.5 0,-0.822504 0.6775,-1.5 1.5,-1.5 z" id="ellipse12632-2" inkscape:connector-curvature="0" sodipodi:nodetypes="sssss"/>
+ </g>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:7.40000057;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 292.49023,367.99609 a 0.50005,0.50005 0 0 0 -0.34375,0.15039 l -10,10 a 0.50005,0.50005 0 1 0 0.70704,0.70704 l 10,-10 a 0.50005,0.50005 0 0 0 -0.36329,-0.85743 z" id="path14294" inkscape:connector-curvature="0"/>
+ <g style="display:inline;fill:#ffffff;enable-background:new" id="g14429" transform="translate(-1.8536743e-6,42.000005)">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 201.49805,368.99414 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 1 a 0.50005,0.50005 0 0 0 0.5,0.5 h 0.7207 C 203.68137,373.39211 205,375.04034 205,377 c 0,1.45833 -0.66274,2.34651 -1.76562,2.75 -1.1029,0.40349 -2.7161,0.26002 -4.5,-0.69141 a 0.50005,0.50005 0 1 0 -0.46876,0.88282 c 1.9661,1.04857 3.8529,1.2801 5.3125,0.74609 C 205.03775,380.15349 206,378.79167 206,377 c 0,-2.43412 -1.54431,-4.24525 -3.00195,-6.65039 v -0.85547 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z" transform="translate(1.8536743e-6,-42.000005)" id="path14357" inkscape:connector-curvature="0"/>
+ <g style="opacity:0.6;fill:#ffffff" id="g13445">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 195.49805,367.99414 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 2 a 0.50005,0.50005 0 0 0 0.5,0.5 h 2 a 0.50005,0.50005 0 0 0 0.5,-0.5 V 370 H 199.5 c 0.67616,0.01 0.67616,-1.00956 0,-1 h -1.50195 v -0.50586 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m 11,0 a 0.50005,0.50005 0 0 0 -0.5,0.5 V 369 H 204.5 c -0.67616,-0.01 -0.67616,1.00956 0,1 h 1.49805 v 0.49414 a 0.50005,0.50005 0 0 0 0.5,0.5 h 2 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -2 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m -10.5,1 h 1 v 1 h -1 z m 11,0 h 1 v 1 h -1 z" transform="translate(1.8536743e-6,-42.000005)" id="path14367" inkscape:connector-curvature="0"/>
</g>
</g>
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g14422"
- transform="translate(-1.8536743e-6,42.000005)">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 222.49805,369.99414 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 l 0.002,0.60742 c -2.27831,0.46511 -4,2.48538 -4,4.89844 0,2.75551 2.24464,5 5,5 2.75536,0 5,-2.24449 5,-5 0,-2.41306 -1.72169,-4.43333 -4,-4.89844 l -0.002,-0.60742 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z M 223,372 c 2.21488,0 4,1.78488 4,4 0,2.21512 -1.78512,4 -4,4 -2.21488,0 -4,-1.78488 -4,-4 0,-2.21512 1.78512,-4 4,-4 z"
- transform="translate(1.8536743e-6,-42.000005)"
- id="ellipse14399"
- inkscape:connector-curvature="0" />
- <g
- style="opacity:0.6;fill:#ffffff"
- id="g13453">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 216.49805,367.99414 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 2 a 0.50005,0.50005 0 0 0 0.5,0.5 h 2 a 0.50005,0.50005 0 0 0 0.5,-0.5 V 370 H 220.5 c 0.67616,0.01 0.67616,-1.00956 0,-1 h -1.50195 v -0.50586 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m 11.00976,0 a 0.50005,0.50005 0 0 0 -0.5,0.5 V 369 h -1.5039 c -0.67616,-0.01 -0.67616,1.00956 0,1 h 1.5039 v 0.49414 a 0.50005,0.50005 0 0 0 0.5,0.5 h 2 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -2 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m -10.50976,1 h 1 v 1 h -1 z m 11.00976,0 h 1 v 1 h -1 z"
- transform="translate(1.8536743e-6,-42.000005)"
- id="path14421"
- inkscape:connector-curvature="0" />
+ <g style="display:inline;fill:#ffffff;enable-background:new" id="g14422" transform="translate(-1.8536743e-6,42.000005)">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 222.49805,369.99414 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 l 0.002,0.60742 c -2.27831,0.46511 -4,2.48538 -4,4.89844 0,2.75551 2.24464,5 5,5 2.75536,0 5,-2.24449 5,-5 0,-2.41306 -1.72169,-4.43333 -4,-4.89844 l -0.002,-0.60742 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z M 223,372 c 2.21488,0 4,1.78488 4,4 0,2.21512 -1.78512,4 -4,4 -2.21488,0 -4,-1.78488 -4,-4 0,-2.21512 1.78512,-4 4,-4 z" transform="translate(1.8536743e-6,-42.000005)" id="ellipse14399" inkscape:connector-curvature="0"/>
+ <g style="opacity:0.6;fill:#ffffff" id="g13453">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 216.49805,367.99414 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 2 a 0.50005,0.50005 0 0 0 0.5,0.5 h 2 a 0.50005,0.50005 0 0 0 0.5,-0.5 V 370 H 220.5 c 0.67616,0.01 0.67616,-1.00956 0,-1 h -1.50195 v -0.50586 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m 11.00976,0 a 0.50005,0.50005 0 0 0 -0.5,0.5 V 369 h -1.5039 c -0.67616,-0.01 -0.67616,1.00956 0,1 h 1.5039 v 0.49414 a 0.50005,0.50005 0 0 0 0.5,0.5 h 2 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -2 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m -10.50976,1 h 1 v 1 h -1 z m 11.00976,0 h 1 v 1 h -1 z" transform="translate(1.8536743e-6,-42.000005)" id="path14421" inkscape:connector-curvature="0"/>
</g>
</g>
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g14414"
- transform="translate(-1.8536743e-6,42.000005)">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.9999997;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 250.05859,327.01172 c -2.15963,0 -4.15811,1.13935 -5.24023,2.99219 -1.08212,1.85283 -1.08212,4.1413 0,5.99414 1.08212,1.85284 3.0806,2.99218 5.24023,2.99218 l 0.43164,0.01 a 0.50009544,0.50009544 0 1 0 0.0195,-1 l -0.44141,-0.01 a 0.50004985,0.50004985 0 0 0 -0.01,0 c -1.80804,0 -3.47523,-0.95213 -4.37695,-2.49609 -0.90172,-1.54396 -0.90172,-3.44041 0,-4.98437 0.90107,-1.54285 2.56651,-2.49668 4.37305,-2.49805 l 0.4375,0.004 a 0.50004985,0.50004985 0 1 0 0.008,-1 l -0.4375,-0.004 a 0.50004985,0.50004985 0 0 0 -0.004,0 z"
- id="ellipse14411"
- inkscape:connector-curvature="0" />
- <g
- style="opacity:0.6;fill:#ffffff"
- id="g13459">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 237.49805,367.99414 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 2 a 0.50005,0.50005 0 0 0 0.5,0.5 H 238 v 8 h -0.50195 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 2 a 0.50005,0.50005 0 0 0 0.5,0.5 h 2 a 0.50005,0.50005 0 0 0 0.5,-0.5 V 381 H 245 c 0.67616,0.01 0.67616,-1.00956 0,-1 h -5.00195 v -0.50586 a 0.50005,0.50005 0 0 0 -0.5,-0.5 H 239 v -8 h 0.49805 a 0.50005,0.50005 0 0 0 0.5,-0.5 V 370 H 245 c 0.67616,0.01 0.67616,-1.00956 0,-1 h -5.00195 v -0.50586 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m 0.5,1 h 1 v 1 h -1 z m 0,11 h 1 v 1 h -1 z"
- transform="translate(1.8536743e-6,-42.000005)"
- id="path14415"
- inkscape:connector-curvature="0" />
+ <g style="display:inline;fill:#ffffff;enable-background:new" id="g14414" transform="translate(-1.8536743e-6,42.000005)">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.9999997;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 250.05859,327.01172 c -2.15963,0 -4.15811,1.13935 -5.24023,2.99219 -1.08212,1.85283 -1.08212,4.1413 0,5.99414 1.08212,1.85284 3.0806,2.99218 5.24023,2.99218 l 0.43164,0.01 a 0.50009544,0.50009544 0 1 0 0.0195,-1 l -0.44141,-0.01 a 0.50004985,0.50004985 0 0 0 -0.01,0 c -1.80804,0 -3.47523,-0.95213 -4.37695,-2.49609 -0.90172,-1.54396 -0.90172,-3.44041 0,-4.98437 0.90107,-1.54285 2.56651,-2.49668 4.37305,-2.49805 l 0.4375,0.004 a 0.50004985,0.50004985 0 1 0 0.008,-1 l -0.4375,-0.004 a 0.50004985,0.50004985 0 0 0 -0.004,0 z" id="ellipse14411" inkscape:connector-curvature="0"/>
+ <g style="opacity:0.6;fill:#ffffff" id="g13459">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 237.49805,367.99414 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 2 a 0.50005,0.50005 0 0 0 0.5,0.5 H 238 v 8 h -0.50195 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 2 a 0.50005,0.50005 0 0 0 0.5,0.5 h 2 a 0.50005,0.50005 0 0 0 0.5,-0.5 V 381 H 245 c 0.67616,0.01 0.67616,-1.00956 0,-1 h -5.00195 v -0.50586 a 0.50005,0.50005 0 0 0 -0.5,-0.5 H 239 v -8 h 0.49805 a 0.50005,0.50005 0 0 0 0.5,-0.5 V 370 H 245 c 0.67616,0.01 0.67616,-1.00956 0,-1 h -5.00195 v -0.50586 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m 0.5,1 h 1 v 1 h -1 z m 0,11 h 1 v 1 h -1 z" transform="translate(1.8536743e-6,-42.000005)" id="path14415" inkscape:connector-curvature="0"/>
</g>
</g>
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g14406"
- transform="translate(-1.8536743e-6,42.000005)">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 258.49805,325.99414 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 2 a 0.50005,0.50005 0 0 0 0.5,0.5 h 2 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -2 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m 11.00976,0 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 2 a 0.50005,0.50005 0 0 0 0.5,0.5 h 2 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -2 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m -10.50976,1 h 1 v 1 h -1 z m 11.00976,0 h 1 v 1 h -1 z m -11.50976,10 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 2 a 0.50005,0.50005 0 0 0 0.5,0.5 h 2 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -2 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m 11.00976,0 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 2 a 0.50005,0.50005 0 0 0 0.5,0.5 h 2 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -2 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m -10.50976,1 h 1 v 1 h -1 z m 11.00976,0 h 1 v 1 h -1 z"
- id="path14443"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 265,328 c -2.75536,0 -5,2.24449 -5,5 0,2.75551 2.24464,5 5,5 2.75536,0 5,-2.24449 5,-5 0,-2.75551 -2.24464,-5 -5,-5 z m 0,1 c 2.21488,0 4,1.78488 4,4 0,2.21512 -1.78512,4 -4,4 -2.21488,0 -4,-1.78488 -4,-4 0,-2.21512 1.78512,-4 4,-4 z"
- id="ellipse14445"
- inkscape:connector-curvature="0" />
- </g>
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g14334"
- transform="translate(-231,63.000005)">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.9999997;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 250.05859,306.01172 c -2.15963,0 -4.15811,1.13935 -5.24023,2.99219 -1.08212,1.85283 -1.08212,4.1413 0,5.99414 1.08212,1.85284 3.0806,2.99218 5.24023,2.99218 l 0.43164,0.01 c 0.28003,0.005 0.50992,-0.22015 0.50977,-0.50023 l -0.004,-10.98438 c -2e-5,-0.27461 -0.22149,-0.49783 -0.49609,-0.5 l -0.4375,-0.004 c -0.001,-10e-6 -0.003,-10e-6 -0.004,0 z"
- id="path13470"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="ccscccccccc" />
- <g
- transform="translate(0,-21)"
- id="g13541"
- style="opacity:0.6;fill:#ffffff">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 6.4980469,367.99414 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 2 a 0.50005,0.50005 0 0 0 0.5,0.5 H 7 v 8 H 6.4980469 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 2 a 0.50005,0.50005 0 0 0 0.5,0.5 h 2 a 0.50005,0.50005 0 0 0 0.5,-0.5 V 381 H 14 c 0.67616,0.01 0.67616,-1.00956 0,-1 H 8.9980469 v -0.50586 a 0.50005,0.50005 0 0 0 -0.5,-0.5 H 8 v -8 h 0.4980469 a 0.50005,0.50005 0 0 0 0.5,-0.5 V 370 H 14 c 0.67616,0.01 0.67616,-1.00956 0,-1 H 8.9980469 v -0.50586 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m 0.5,1 h 1 v 1 h -1 z m 0,11 h 1 v 1 h -1 z"
- transform="translate(231,-42.000005)"
- id="path13523"
- inkscape:connector-curvature="0" />
+ <g style="display:inline;fill:#ffffff;enable-background:new" id="g14406" transform="translate(-1.8536743e-6,42.000005)">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 258.49805,325.99414 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 2 a 0.50005,0.50005 0 0 0 0.5,0.5 h 2 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -2 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m 11.00976,0 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 2 a 0.50005,0.50005 0 0 0 0.5,0.5 h 2 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -2 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m -10.50976,1 h 1 v 1 h -1 z m 11.00976,0 h 1 v 1 h -1 z m -11.50976,10 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 2 a 0.50005,0.50005 0 0 0 0.5,0.5 h 2 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -2 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m 11.00976,0 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 2 a 0.50005,0.50005 0 0 0 0.5,0.5 h 2 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -2 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m -10.50976,1 h 1 v 1 h -1 z m 11.00976,0 h 1 v 1 h -1 z" id="path14443" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 265,328 c -2.75536,0 -5,2.24449 -5,5 0,2.75551 2.24464,5 5,5 2.75536,0 5,-2.24449 5,-5 0,-2.75551 -2.24464,-5 -5,-5 z m 0,1 c 2.21488,0 4,1.78488 4,4 0,2.21512 -1.78512,4 -4,4 -2.21488,0 -4,-1.78488 -4,-4 0,-2.21512 1.78512,-4 4,-4 z" id="ellipse14445" inkscape:connector-curvature="0"/>
+ </g>
+ <g style="display:inline;fill:#ffffff;enable-background:new" id="g14334" transform="translate(-231,63.000005)">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.9999997;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 250.05859,306.01172 c -2.15963,0 -4.15811,1.13935 -5.24023,2.99219 -1.08212,1.85283 -1.08212,4.1413 0,5.99414 1.08212,1.85284 3.0806,2.99218 5.24023,2.99218 l 0.43164,0.01 c 0.28003,0.005 0.50992,-0.22015 0.50977,-0.50023 l -0.004,-10.98438 c -2e-5,-0.27461 -0.22149,-0.49783 -0.49609,-0.5 l -0.4375,-0.004 c -0.001,-10e-6 -0.003,-10e-6 -0.004,0 z" id="path13470" inkscape:connector-curvature="0" sodipodi:nodetypes="ccscccccccc"/>
+ <g transform="translate(0,-21)" id="g13541" style="opacity:0.6;fill:#ffffff">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 6.4980469,367.99414 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 2 a 0.50005,0.50005 0 0 0 0.5,0.5 H 7 v 8 H 6.4980469 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 2 a 0.50005,0.50005 0 0 0 0.5,0.5 h 2 a 0.50005,0.50005 0 0 0 0.5,-0.5 V 381 H 14 c 0.67616,0.01 0.67616,-1.00956 0,-1 H 8.9980469 v -0.50586 a 0.50005,0.50005 0 0 0 -0.5,-0.5 H 8 v -8 h 0.4980469 a 0.50005,0.50005 0 0 0 0.5,-0.5 V 370 H 14 c 0.67616,0.01 0.67616,-1.00956 0,-1 H 8.9980469 v -0.50586 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m 0.5,1 h 1 v 1 h -1 z m 0,11 h 1 v 1 h -1 z" transform="translate(231,-42.000005)" id="path13523" inkscape:connector-curvature="0"/>
</g>
</g>
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g14339"
- transform="translate(-231,63.000005)">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 258.49805,304.99414 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 2 a 0.50005,0.50005 0 0 0 0.5,0.5 h 2 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -2 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m 11.00976,0 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 2 a 0.50005,0.50005 0 0 0 0.5,0.5 h 2 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -2 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m -10.50976,1 h 1 v 1 h -1 z m 11.00976,0 h 1 v 1 h -1 z m -11.50976,10 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 2 a 0.50005,0.50005 0 0 0 0.5,0.5 h 2 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -2 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m 11.00976,0 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 2 a 0.50005,0.50005 0 0 0 0.5,0.5 h 2 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -2 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m -10.50976,1 h 1 v 1 h -1 z m 11.00976,0 h 1 v 1 h -1 z"
- id="path13555"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 265,307 c -2.75536,0 -5,2.24449 -5,5 0,2.75551 2.24464,5 5,5 2.75536,0 5,-2.24449 5,-5 0,-2.75551 -2.24464,-5 -5,-5 z"
- id="ellipse13557"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="sssss" />
- </g>
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g14394"
- transform="translate(-252,63.000005)">
- <path
- id="path17351-9"
- d="m 328,307 c -1.30038,0 -2.48006,0.21939 -3.37891,0.60352 -0.44942,0.19206 -0.83127,0.42394 -1.12304,0.71875 -0.29178,0.2948 -0.49805,0.67796 -0.49805,1.10156 v 2.30664 2.8457 c 0,0.4236 0.20627,0.80676 0.49805,1.10156 0.29177,0.29481 0.67362,0.52669 1.12304,0.71875 C 325.51994,316.78061 326.69962,317 328,317 c 1.30038,0 2.48006,-0.21939 3.37891,-0.60352 0.44942,-0.19206 0.83127,-0.42394 1.12304,-0.71875 0.29178,-0.2948 0.49805,-0.67796 0.49805,-1.10156 v -2.8457 -2.30664 c 0,-0.4236 -0.20627,-0.80676 -0.49805,-1.10156 -0.29177,-0.29481 -0.67362,-0.52669 -1.12304,-0.71875 C 330.48006,307.21939 329.30038,307 328,307 Z m 0,1 c 1.01151,0 1.92459,0.13316 2.61914,0.3418 0.34727,0.10431 0.63991,0.22479 0.88086,0.38281 0.24095,0.15802 0.5,0.38269 0.5,0.77539 0,0.3927 -0.25905,0.61737 -0.5,0.77539 -0.24095,0.15802 -0.53359,0.2785 -0.88086,0.38281 C 329.92459,310.86684 329.01151,311 328,311 c -1.0115,0 -1.92459,-0.13316 -2.61914,-0.3418 -0.34727,-0.10431 -0.63991,-0.22479 -0.88086,-0.38281 -0.24095,-0.15802 -0.5,-0.38268 -0.5,-0.77539 0,-0.3927 0.25905,-0.61737 0.5,-0.77539 0.24095,-0.15802 0.53359,-0.2785 0.88086,-0.38281 C 326.07541,308.13316 326.9885,308 328,308 Z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 321.49805,304.99414 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 2 a 0.50005,0.50005 0 0 0 0.5,0.5 h 1 a 0.50005,0.50005 0 1 0 0,-1 h -0.5 v -1 h 1 v 0.5 a 0.50005,0.50005 0 1 0 1,0 v -1 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m 11.00976,0 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 1 a 0.50005,0.50005 0 1 0 1,0 v -0.5 h 1 v 1 h -0.5 a 0.50005,0.50005 0 1 0 0,1 h 1 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -2 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m -11.00976,11 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 2 a 0.50005,0.50005 0 0 0 0.5,0.5 h 2 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -1 a 0.50005,0.50005 0 1 0 -1,0 v 0.5 h -1 v -1 h 0.5 a 0.50005,0.50005 0 1 0 0,-1 z m 12.00976,0 a 0.50005,0.50005 0 1 0 0,1 h 0.5 v 1 h -1 v -0.5 a 0.50005,0.50005 0 1 0 -1,0 v 1 a 0.50005,0.50005 0 0 0 0.5,0.5 h 2 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -2 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z"
- id="path14314"
- inkscape:connector-curvature="0" />
- </g>
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g14390"
- transform="translate(-294,63.000005)">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 347.50586,306 c -0.31034,2.7e-4 -0.5455,0.28021 -0.49219,0.58594 0.36436,2.07324 0.1958,3.10943 -0.10742,3.63086 -0.30322,0.52143 -0.79091,0.68645 -1.46094,0.9414 -0.67003,0.25495 -1.50865,0.62325 -1.98242,1.58985 -0.47377,0.96659 -0.59114,2.40736 -0.20703,4.83007 0.0385,0.24306 0.24806,0.422 0.49414,0.42188 h 6.75586 c 0.30739,1.4e-4 0.54213,-0.27449 0.49414,-0.57812 -0.369,-2.32739 -0.20658,-3.57589 0.11523,-4.23438 0.32182,-0.65849 0.7931,-0.85067 1.43555,-1.0957 0.64245,-0.24504 1.46993,-0.51949 1.96484,-1.37305 0.49492,-0.85356 0.6091,-2.12804 0.22657,-4.30469 C 354.70043,306.17484 354.49284,306.0002 354.25,306 Z"
- id="path14318"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="ccssccccccccccc" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 342.49805,304.99414 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 2 a 0.50005,0.50005 0 0 0 0.5,0.5 h 2 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -2 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m 0.5,1 h 1 v 1 h -1 z m 10.50976,10 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 2 a 0.50005,0.50005 0 0 0 0.5,0.5 h 2 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -2 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m 0.5,1 h 1 v 1 h -1 z"
- id="path14320"
- inkscape:connector-curvature="0" />
- </g>
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g14350"
- transform="translate(-210,63.000005)">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999988;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 307,306 c -3.30761,0 -6,2.6922 -6,6 0,3.3078 2.69239,6 6,6 3.30761,0 6,-2.6922 6,-6 0,-3.3078 -2.69239,-6 -6,-6 z m 4.75781,6.73438 a 0.50005,0.50005 0 0 1 0.28516,0.91992 c -1.16187,0.83991 -2.99782,1.34961 -5.04297,1.34961 -2.04361,0 -3.88093,-0.50932 -5.04297,-1.34766 a 0.50005,0.50005 0 0 1 0.25586,-0.91016 0.50005,0.50005 0 0 1 0.33008,0.0977 c 0.89908,0.64864 2.58702,1.16016 4.45703,1.16016 1.87213,0 3.55862,-0.50874 4.45703,-1.15821 a 0.50005,0.50005 0 0 1 0.30078,-0.11132 z"
- id="ellipse14291"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 300.49805,304.99414 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 2 a 0.50005,0.50005 0 0 0 0.5,0.5 h 1 a 0.50005,0.50005 0 1 0 0,-1 h -0.5 v -1 h 1 v 0.5 a 0.50005,0.50005 0 1 0 1,0 v -1 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m 11.00976,0 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 1 a 0.50005,0.50005 0 1 0 1,0 v -0.5 h 1 v 1 h -0.5 a 0.50005,0.50005 0 1 0 0,1 h 1 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -2 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m -11.00976,11 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 2 a 0.50005,0.50005 0 0 0 0.5,0.5 h 2 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -1 a 0.50005,0.50005 0 1 0 -1,0 v 0.5 h -1 v -1 h 0.5 a 0.50005,0.50005 0 1 0 0,-1 z m 12.00976,0 a 0.50005,0.50005 0 1 0 0,1 h 0.5 v 1 h -1 v -0.5 a 0.50005,0.50005 0 1 0 -1,0 v 1 a 0.50005,0.50005 0 0 0 0.5,0.5 h 2 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -2 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z"
- id="path14322"
- inkscape:connector-curvature="0" />
- </g>
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g14344"
- transform="translate(-168,63.000005)">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 286,307 c -1.846,0 -3.56208,0.52582 -4.8457,1.40625 C 279.87068,309.28668 279,310.55671 279,312 c 0,1.44329 0.87068,2.71332 2.1543,3.59375 C 282.43792,316.47418 284.154,317 286,317 c 1.846,0 3.56208,-0.52582 4.8457,-1.40625 C 292.12932,314.71332 293,313.44329 293,312 c 0,-1.44329 -0.87068,-2.71332 -2.1543,-3.59375 C 289.56208,307.52582 287.846,307 286,307 Z m 2.49219,3.61719 A 0.50005,0.50005 0 0 1 289,311.125 c 0,0.62131 -0.43923,1.10886 -0.98438,1.41016 C 287.47049,312.83646 286.77233,313 286,313 c -0.77233,0 -1.47049,-0.16354 -2.01562,-0.46484 C 283.43923,312.23386 283,311.74631 283,311.125 a 0.50005,0.50005 0 0 1 0.49414,-0.50586 A 0.50005,0.50005 0 0 1 284,311.125 c 0,0.13737 0.11369,0.33891 0.46875,0.53516 C 284.82381,311.85641 285.37451,312 286,312 c 0.62549,0 1.17619,-0.14359 1.53125,-0.33984 C 287.88631,311.46391 288,311.26237 288,311.125 a 0.50005,0.50005 0 0 1 0.49219,-0.50781 z"
- id="path13633"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 279.49805,304.99414 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 2 a 0.50005,0.50005 0 0 0 0.5,0.5 h 1 a 0.50005,0.50005 0 1 0 0,-1 h -0.5 v -1 h 1 v 0.5 a 0.50005,0.50005 0 1 0 1,0 v -1 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m 11.00976,0 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 1 a 0.50005,0.50005 0 1 0 1,0 v -0.5 h 1 v 1 h -0.5 a 0.50005,0.50005 0 1 0 0,1 h 1 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -2 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m -11.00976,11 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 2 a 0.50005,0.50005 0 0 0 0.5,0.5 h 2 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -1 a 0.50005,0.50005 0 1 0 -1,0 v 0.5 h -1 v -1 h 0.5 a 0.50005,0.50005 0 1 0 0,-1 z m 12.00976,0 a 0.50005,0.50005 0 1 0 0,1 h 0.5 v 1 h -1 v -0.5 a 0.50005,0.50005 0 1 0 -1,0 v 1 a 0.50005,0.50005 0 0 0 0.5,0.5 h 2 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -2 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z"
- id="path14324"
- inkscape:connector-curvature="0" />
- </g>
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="M 429.50781,389 C 427.57283,389 426,390.57283 426,392.50781 v 6.98438 c 0,1.93498 1.57283,3.50781 3.50781,3.50781 h 6.98438 C 438.42717,403 440,401.42717 440,399.49219 v -6.98438 C 440,390.57283 438.42717,389 436.49219,389 Z m 0,1 h 6.98438 c 1.39828,0 2.50781,1.10953 2.50781,2.50781 v 6.98438 C 439,400.89047 437.89047,402 436.49219,402 h -6.98438 C 428.10953,402 427,400.89047 427,399.49219 v -6.98438 C 427,391.10953 428.10953,390 429.50781,390 Z"
- id="rect14490"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 243.49219,220.9707 c -0.18907,0.009 -0.3569,0.12383 -0.4336,0.29688 l -4,9 c -0.084,0.18909 -0.0428,0.41038 0.10352,0.55664 l 4,4 c 0.19526,0.19518 0.51177,0.19518 0.70703,0 l 4,-4 c 0.14634,-0.14626 0.1875,-0.36755 0.10352,-0.55664 l -4,-9 c -0.0836,-0.18859 -0.27441,-0.3065 -0.48047,-0.29688 z"
- id="path13222-6"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="cccccccccc" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 264.49219,220.9707 a 0.50005,0.50005 0 0 0 -0.4336,0.29688 l -4,9 a 0.50005,0.50005 0 0 0 0.10352,0.55664 l 4,4 a 0.50005,0.50005 0 0 0 0.70703,0 l 4,-4 a 0.50005,0.50005 0 0 0 0.10352,-0.55664 l -4,-9 a 0.50005,0.50005 0 0 0 -0.48047,-0.29688 z m 0.0234,1.73047 3.4043,7.65821 -3.4043,3.40429 -3.40429,-3.40429 z"
- id="path14674"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.7;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:7.40000057;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 289.5,368 a 0.50005,0.50005 0 1 0 0,1 h 2.5 v 2.5 a 0.50005,0.50005 0 1 0 1,0 v -3 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m -5,5 a 0.50005,0.50005 0 1 0 0,1 h 2.5 v 2.5 a 0.50005,0.50005 0 1 0 1,0 v -3 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m -5,5 a 0.50005,0.50005 0 1 0 0,1 h 2.5 v 2.5 a 0.50005,0.50005 0 1 0 1,0 v -3 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z"
- id="path13250"
- inkscape:connector-curvature="0" />
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g13344"
- transform="translate(-42.000002,21.000005)">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999988;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 449.5,494 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 1 c 0,-0.0417 0.006,-0.0117 -0.0469,0.0547 -0.0531,0.0664 -0.15023,0.15467 -0.2539,0.23242 -0.16609,0.12457 -0.2761,0.17993 -0.33789,0.21289 H 447.5 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 1 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 1.77539 c 0.40889,-0.49501 0.89786,-0.93068 1.47461,-1.26367 l 0.42578,-0.26758 L 451,496.29297 V 494.5 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z m 8.28125,0.002 c -0.50453,0.0148 -1.01019,0.15125 -1.46875,0.41602 a 0.50005,0.50005 0 0 0 -0.0156,0.01 l -5.04688,3.17579 -0.0156,0.01 a 0.50005,0.50005 0 0 0 -0.19532,0.2207 c -1.45784,0.9884 -2.27996,2.6934 -1.9707,4.44727 0.32821,1.86134 1.78904,3.32218 3.65039,3.65039 0.641,0.11303 1.28349,0.0836 1.88867,-0.0703 a 0.50005,0.50005 0 1 0 -0.24609,-0.96875 c -0.47064,0.11969 -0.96915,0.14277 -1.46875,0.0547 -1.45073,-0.25581 -2.58404,-1.38913 -2.83985,-2.83985 -0.2558,-1.45072 0.42152,-2.90212 1.69727,-3.63867 a 0.50005,0.50005 0 0 0 0.0156,-0.01 l 0.0274,-0.0156 a 0.50005,0.50005 0 0 0 0.01,-0.008 l 5.00977,-3.15039 c 0.83503,-0.4821 1.88265,-0.34391 2.56445,0.33789 0.6818,0.68178 0.81999,1.72943 0.33789,2.56445 a 0.50005,0.50005 0 0 0 -0.006,0.0137 0.50005,0.50005 0 0 0 -0.0195,0.0371 l -1.6289,3.02539 a 0.50005,0.50005 0 1 0 0.8789,0.47266 l 1.63477,-3.03711 0.008,-0.0117 c 6.7e-4,-10e-4 -6.7e-4,-0.003 0,-0.004 l 0.006,-0.01 a 0.50005,0.50005 0 0 0 0.0586,-0.3125 c 0.51014,-1.16591 0.35331,-2.52952 -0.5625,-3.44531 -0.49921,-0.49921 -1.13538,-0.80107 -1.80078,-0.88868 -0.16635,-0.0219 -0.33377,-0.0303 -0.50195,-0.0254 z M 458,496 a 1,1 0 0 0 -1,1 1,1 0 0 0 1,1 1,1 0 0 0 1,-1 1,1 0 0 0 -1,-1 z m -4.65039,2.64258 -1.05078,0.66211 a 1.50015,1.50015 0 0 1 -0.0488,0.0293 c -0.34485,0.1991 -0.62663,0.47142 -0.83594,0.78711 l 4.22461,4.22657 1.3613,1.35936 V 507.5 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 1 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -1 c 0,-0.0833 0.0571,-0.22505 0.16602,-0.33398 C 459.27495,506.05708 459.41667,506 459.5,506 h 1 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -1 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 h -1.79297 z"
- transform="translate(42.000002,-21.000005)"
- id="path13315"
- inkscape:connector-curvature="0" />
- </g>
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 449.50391,369 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 11 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 H 455 c 1.08333,0 2.07323,-0.26796 2.8125,-0.85938 C 458.55177,379.54921 459,378.625 459,377.5 c 0,-1.125 -0.44823,-2.04921 -1.1875,-2.64062 -0.49098,-0.39279 -1.11527,-0.59695 -1.78125,-0.72071 C 456.61178,373.63193 457,372.89881 457,372 c 0,-0.96354 -0.41934,-1.76349 -1.07422,-2.26758 C 455.27091,369.22833 454.41324,369 453.5,369 Z m 0.5,1 H 453.5 c 0.74361,0 1.38549,0.19369 1.81641,0.52539 0.43091,0.3317 0.68359,0.7813 0.68359,1.47461 0,0.69331 -0.25268,1.14291 -0.68359,1.47461 C 454.88549,373.80631 454.24361,374 453.5,374 h -3.49609 z m 0,5 h 3.46093 0.0352 1.5 c 0.91667,0 1.67677,0.23204 2.1875,0.64062 0.51073,0.40859 0.8125,0.98438 0.8125,1.85938 0,0.875 -0.30177,1.45079 -0.8125,1.85938 C 456.67677,379.76796 455.91667,380 455,380 h -4.99609 z"
- id="path10949-7"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="ccccscsccscsccscscscccccscscscc" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 408.50391,369 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 5.91992 a 0.50005,0.50005 0 0 0 0,0.16211 V 380.5 a 0.50005,0.50005 0 1 0 1,0 V 376 h 3.25586 l 3.84961,4.8125 a 0.50024018,0.50024018 0 1 0 0.78124,-0.625 l -3.49414,-4.36914 c 1.48603,-0.40423 2.60743,-1.70768 2.60743,-3.31836 0,-1.92707 -1.57293,-3.5 -3.5,-3.5 z m 0.5,1 h 3.5 c 1.38662,0 2.5,1.11337 2.5,2.5 0,1.38663 -1.11338,2.5 -2.5,2.5 a 0.50005,0.50005 0 0 0 -0.004,0 h -3.49609 z"
- id="path13132"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="M 431.51758,369.26562 C 429.42795,369.91461 428,371.85293 428,374.04102 V 376 c 0,1.78552 0.9537,3.43731 2.5,4.33008 1.54631,0.89277 3.45369,0.89277 5,0 1.5463,-0.89277 2.5,-2.54456 2.5,-4.33008 v -0.5 a 0.50004997,0.50004997 0 0 0 -0.5,-0.5 h -4 a 0.50004997,0.50004997 0 1 0 0,1 h 3.5 c 0,1.42986 -0.7617,2.74991 -2,3.46484 -1.23829,0.71494 -2.76171,0.71494 -4,0 -1.2383,-0.71493 -2,-2.03498 -2,-3.46484 v -1.95898 c 0,-1.75422 1.13918,-3.30002 2.81445,-3.82032 1.69498,-0.52641 3.36746,-0.003 4.25196,1.5293 a 0.50050004,0.50050004 0 1 0 0.86718,-0.5 c -1.1155,-1.93212 -3.34609,-2.62724 -5.41601,-1.98438 z"
- id="path13141"
- inkscape:connector-curvature="0" />
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g13321"
- transform="translate(-42.000002,21.000005)">
- <g
- id="g13309"
- style="fill:#ffffff">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 365.49219,94.992188 a 0.50005,0.50005 0 0 0 -0.38867,0.195312 0.50005,0.50005 0 0 0 -0.004,0.0059 l -1.95313,1.953125 a 0.50005,0.50005 0 1 0 0.70704,0.707032 L 365,96.707031 V 98.5 a 0.50005,0.50005 0 1 0 1,0 v -1.792969 l 1.14648,1.146485 a 0.50005,0.50005 0 1 0 0.70704,-0.707032 l -1.95704,-1.957031 a 0.50005,0.50005 0 0 0 -0.40429,-0.197265 z m 9.05859,1.941406 a 0.50005,0.50005 0 0 0 -0.0586,0.0059 h -2.93164 a 0.50005,0.50005 0 1 0 0,1 h 1.79297 l -3.14649,3.146486 a 0.50005,0.50005 0 1 0 0.70703,0.70703 l 3.14649,-3.146485 v 1.792965 a 0.50005,0.50005 0 1 0 1,0 v -2.931637 a 0.50005,0.50005 0 0 0 -0.50977,-0.574218 z m -0.0566,7.060546 a 0.50005,0.50005 0 0 0 -0.34766,0.85938 L 375.29297,106 H 371.5 a 0.50005,0.50005 0 1 0 0,1 h 3.79297 l -1.14649,1.14648 a 0.50005,0.50005 0 1 0 0.70704,0.70704 l 1.95703,-1.95704 a 0.50005,0.50005 0 0 0 0.002,-0.79296 0.50005,0.50005 0 0 0 -0.006,-0.004 l -1.95312,-1.95313 a 0.50005,0.50005 0 0 0 -0.35938,-0.15234 z"
- id="path13047-6"
- inkscape:connector-curvature="0" />
+ <g style="display:inline;fill:#ffffff;enable-background:new" id="g14339" transform="translate(-231,63.000005)">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 258.49805,304.99414 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 2 a 0.50005,0.50005 0 0 0 0.5,0.5 h 2 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -2 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m 11.00976,0 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 2 a 0.50005,0.50005 0 0 0 0.5,0.5 h 2 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -2 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m -10.50976,1 h 1 v 1 h -1 z m 11.00976,0 h 1 v 1 h -1 z m -11.50976,10 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 2 a 0.50005,0.50005 0 0 0 0.5,0.5 h 2 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -2 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m 11.00976,0 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 2 a 0.50005,0.50005 0 0 0 0.5,0.5 h 2 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -2 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m -10.50976,1 h 1 v 1 h -1 z m 11.00976,0 h 1 v 1 h -1 z" id="path13555" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 265,307 c -2.75536,0 -5,2.24449 -5,5 0,2.75551 2.24464,5 5,5 2.75536,0 5,-2.24449 5,-5 0,-2.75551 -2.24464,-5 -5,-5 z" id="ellipse13557" inkscape:connector-curvature="0" sodipodi:nodetypes="sssss"/>
+ </g>
+ <g style="display:inline;fill:#ffffff;enable-background:new" id="g14394" transform="translate(-252,63.000005)">
+ <path id="path17351-9" d="m 328,307 c -1.30038,0 -2.48006,0.21939 -3.37891,0.60352 -0.44942,0.19206 -0.83127,0.42394 -1.12304,0.71875 -0.29178,0.2948 -0.49805,0.67796 -0.49805,1.10156 v 2.30664 2.8457 c 0,0.4236 0.20627,0.80676 0.49805,1.10156 0.29177,0.29481 0.67362,0.52669 1.12304,0.71875 C 325.51994,316.78061 326.69962,317 328,317 c 1.30038,0 2.48006,-0.21939 3.37891,-0.60352 0.44942,-0.19206 0.83127,-0.42394 1.12304,-0.71875 0.29178,-0.2948 0.49805,-0.67796 0.49805,-1.10156 v -2.8457 -2.30664 c 0,-0.4236 -0.20627,-0.80676 -0.49805,-1.10156 -0.29177,-0.29481 -0.67362,-0.52669 -1.12304,-0.71875 C 330.48006,307.21939 329.30038,307 328,307 Z m 0,1 c 1.01151,0 1.92459,0.13316 2.61914,0.3418 0.34727,0.10431 0.63991,0.22479 0.88086,0.38281 0.24095,0.15802 0.5,0.38269 0.5,0.77539 0,0.3927 -0.25905,0.61737 -0.5,0.77539 -0.24095,0.15802 -0.53359,0.2785 -0.88086,0.38281 C 329.92459,310.86684 329.01151,311 328,311 c -1.0115,0 -1.92459,-0.13316 -2.61914,-0.3418 -0.34727,-0.10431 -0.63991,-0.22479 -0.88086,-0.38281 -0.24095,-0.15802 -0.5,-0.38268 -0.5,-0.77539 0,-0.3927 0.25905,-0.61737 0.5,-0.77539 0.24095,-0.15802 0.53359,-0.2785 0.88086,-0.38281 C 326.07541,308.13316 326.9885,308 328,308 Z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 321.49805,304.99414 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 2 a 0.50005,0.50005 0 0 0 0.5,0.5 h 1 a 0.50005,0.50005 0 1 0 0,-1 h -0.5 v -1 h 1 v 0.5 a 0.50005,0.50005 0 1 0 1,0 v -1 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m 11.00976,0 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 1 a 0.50005,0.50005 0 1 0 1,0 v -0.5 h 1 v 1 h -0.5 a 0.50005,0.50005 0 1 0 0,1 h 1 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -2 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m -11.00976,11 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 2 a 0.50005,0.50005 0 0 0 0.5,0.5 h 2 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -1 a 0.50005,0.50005 0 1 0 -1,0 v 0.5 h -1 v -1 h 0.5 a 0.50005,0.50005 0 1 0 0,-1 z m 12.00976,0 a 0.50005,0.50005 0 1 0 0,1 h 0.5 v 1 h -1 v -0.5 a 0.50005,0.50005 0 1 0 -1,0 v 1 a 0.50005,0.50005 0 0 0 0.5,0.5 h 2 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -2 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z" id="path14314" inkscape:connector-curvature="0"/>
+ </g>
+ <g style="display:inline;fill:#ffffff;enable-background:new" id="g14390" transform="translate(-294,63.000005)">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 347.50586,306 c -0.31034,2.7e-4 -0.5455,0.28021 -0.49219,0.58594 0.36436,2.07324 0.1958,3.10943 -0.10742,3.63086 -0.30322,0.52143 -0.79091,0.68645 -1.46094,0.9414 -0.67003,0.25495 -1.50865,0.62325 -1.98242,1.58985 -0.47377,0.96659 -0.59114,2.40736 -0.20703,4.83007 0.0385,0.24306 0.24806,0.422 0.49414,0.42188 h 6.75586 c 0.30739,1.4e-4 0.54213,-0.27449 0.49414,-0.57812 -0.369,-2.32739 -0.20658,-3.57589 0.11523,-4.23438 0.32182,-0.65849 0.7931,-0.85067 1.43555,-1.0957 0.64245,-0.24504 1.46993,-0.51949 1.96484,-1.37305 0.49492,-0.85356 0.6091,-2.12804 0.22657,-4.30469 C 354.70043,306.17484 354.49284,306.0002 354.25,306 Z" id="path14318" inkscape:connector-curvature="0" sodipodi:nodetypes="ccssccccccccccc"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 342.49805,304.99414 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 2 a 0.50005,0.50005 0 0 0 0.5,0.5 h 2 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -2 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m 0.5,1 h 1 v 1 h -1 z m 10.50976,10 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 2 a 0.50005,0.50005 0 0 0 0.5,0.5 h 2 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -2 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m 0.5,1 h 1 v 1 h -1 z" id="path14320" inkscape:connector-curvature="0"/>
+ </g>
+ <g style="display:inline;fill:#ffffff;enable-background:new" id="g14350" transform="translate(-210,63.000005)">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999988;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 307,306 c -3.30761,0 -6,2.6922 -6,6 0,3.3078 2.69239,6 6,6 3.30761,0 6,-2.6922 6,-6 0,-3.3078 -2.69239,-6 -6,-6 z m 4.75781,6.73438 a 0.50005,0.50005 0 0 1 0.28516,0.91992 c -1.16187,0.83991 -2.99782,1.34961 -5.04297,1.34961 -2.04361,0 -3.88093,-0.50932 -5.04297,-1.34766 a 0.50005,0.50005 0 0 1 0.25586,-0.91016 0.50005,0.50005 0 0 1 0.33008,0.0977 c 0.89908,0.64864 2.58702,1.16016 4.45703,1.16016 1.87213,0 3.55862,-0.50874 4.45703,-1.15821 a 0.50005,0.50005 0 0 1 0.30078,-0.11132 z" id="ellipse14291" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 300.49805,304.99414 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 2 a 0.50005,0.50005 0 0 0 0.5,0.5 h 1 a 0.50005,0.50005 0 1 0 0,-1 h -0.5 v -1 h 1 v 0.5 a 0.50005,0.50005 0 1 0 1,0 v -1 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m 11.00976,0 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 1 a 0.50005,0.50005 0 1 0 1,0 v -0.5 h 1 v 1 h -0.5 a 0.50005,0.50005 0 1 0 0,1 h 1 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -2 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m -11.00976,11 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 2 a 0.50005,0.50005 0 0 0 0.5,0.5 h 2 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -1 a 0.50005,0.50005 0 1 0 -1,0 v 0.5 h -1 v -1 h 0.5 a 0.50005,0.50005 0 1 0 0,-1 z m 12.00976,0 a 0.50005,0.50005 0 1 0 0,1 h 0.5 v 1 h -1 v -0.5 a 0.50005,0.50005 0 1 0 -1,0 v 1 a 0.50005,0.50005 0 0 0 0.5,0.5 h 2 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -2 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z" id="path14322" inkscape:connector-curvature="0"/>
+ </g>
+ <g style="display:inline;fill:#ffffff;enable-background:new" id="g14344" transform="translate(-168,63.000005)">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 286,307 c -1.846,0 -3.56208,0.52582 -4.8457,1.40625 C 279.87068,309.28668 279,310.55671 279,312 c 0,1.44329 0.87068,2.71332 2.1543,3.59375 C 282.43792,316.47418 284.154,317 286,317 c 1.846,0 3.56208,-0.52582 4.8457,-1.40625 C 292.12932,314.71332 293,313.44329 293,312 c 0,-1.44329 -0.87068,-2.71332 -2.1543,-3.59375 C 289.56208,307.52582 287.846,307 286,307 Z m 2.49219,3.61719 A 0.50005,0.50005 0 0 1 289,311.125 c 0,0.62131 -0.43923,1.10886 -0.98438,1.41016 C 287.47049,312.83646 286.77233,313 286,313 c -0.77233,0 -1.47049,-0.16354 -2.01562,-0.46484 C 283.43923,312.23386 283,311.74631 283,311.125 a 0.50005,0.50005 0 0 1 0.49414,-0.50586 A 0.50005,0.50005 0 0 1 284,311.125 c 0,0.13737 0.11369,0.33891 0.46875,0.53516 C 284.82381,311.85641 285.37451,312 286,312 c 0.62549,0 1.17619,-0.14359 1.53125,-0.33984 C 287.88631,311.46391 288,311.26237 288,311.125 a 0.50005,0.50005 0 0 1 0.49219,-0.50781 z" id="path13633" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 279.49805,304.99414 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 2 a 0.50005,0.50005 0 0 0 0.5,0.5 h 1 a 0.50005,0.50005 0 1 0 0,-1 h -0.5 v -1 h 1 v 0.5 a 0.50005,0.50005 0 1 0 1,0 v -1 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m 11.00976,0 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 1 a 0.50005,0.50005 0 1 0 1,0 v -0.5 h 1 v 1 h -0.5 a 0.50005,0.50005 0 1 0 0,1 h 1 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -2 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m -11.00976,11 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 2 a 0.50005,0.50005 0 0 0 0.5,0.5 h 2 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -1 a 0.50005,0.50005 0 1 0 -1,0 v 0.5 h -1 v -1 h 0.5 a 0.50005,0.50005 0 1 0 0,-1 z m 12.00976,0 a 0.50005,0.50005 0 1 0 0,1 h 0.5 v 1 h -1 v -0.5 a 0.50005,0.50005 0 1 0 -1,0 v 1 a 0.50005,0.50005 0 0 0 0.5,0.5 h 2 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -2 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z" id="path14324" inkscape:connector-curvature="0"/>
+ </g>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="M 429.50781,389 C 427.57283,389 426,390.57283 426,392.50781 v 6.98438 c 0,1.93498 1.57283,3.50781 3.50781,3.50781 h 6.98438 C 438.42717,403 440,401.42717 440,399.49219 v -6.98438 C 440,390.57283 438.42717,389 436.49219,389 Z m 0,1 h 6.98438 c 1.39828,0 2.50781,1.10953 2.50781,2.50781 v 6.98438 C 439,400.89047 437.89047,402 436.49219,402 h -6.98438 C 428.10953,402 427,400.89047 427,399.49219 v -6.98438 C 427,391.10953 428.10953,390 429.50781,390 Z" id="rect14490" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 243.49219,220.9707 c -0.18907,0.009 -0.3569,0.12383 -0.4336,0.29688 l -4,9 c -0.084,0.18909 -0.0428,0.41038 0.10352,0.55664 l 4,4 c 0.19526,0.19518 0.51177,0.19518 0.70703,0 l 4,-4 c 0.14634,-0.14626 0.1875,-0.36755 0.10352,-0.55664 l -4,-9 c -0.0836,-0.18859 -0.27441,-0.3065 -0.48047,-0.29688 z" id="path13222-6" inkscape:connector-curvature="0" sodipodi:nodetypes="cccccccccc"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 264.49219,220.9707 a 0.50005,0.50005 0 0 0 -0.4336,0.29688 l -4,9 a 0.50005,0.50005 0 0 0 0.10352,0.55664 l 4,4 a 0.50005,0.50005 0 0 0 0.70703,0 l 4,-4 a 0.50005,0.50005 0 0 0 0.10352,-0.55664 l -4,-9 a 0.50005,0.50005 0 0 0 -0.48047,-0.29688 z m 0.0234,1.73047 3.4043,7.65821 -3.4043,3.40429 -3.40429,-3.40429 z" id="path14674" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.7;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:7.40000057;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 289.5,368 a 0.50005,0.50005 0 1 0 0,1 h 2.5 v 2.5 a 0.50005,0.50005 0 1 0 1,0 v -3 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m -5,5 a 0.50005,0.50005 0 1 0 0,1 h 2.5 v 2.5 a 0.50005,0.50005 0 1 0 1,0 v -3 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m -5,5 a 0.50005,0.50005 0 1 0 0,1 h 2.5 v 2.5 a 0.50005,0.50005 0 1 0 1,0 v -3 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z" id="path13250" inkscape:connector-curvature="0"/>
+ <g style="display:inline;fill:#ffffff;enable-background:new" id="g13344" transform="translate(-42.000002,21.000005)">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999988;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 449.5,494 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 1 c 0,-0.0417 0.006,-0.0117 -0.0469,0.0547 -0.0531,0.0664 -0.15023,0.15467 -0.2539,0.23242 -0.16609,0.12457 -0.2761,0.17993 -0.33789,0.21289 H 447.5 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 1 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 1.77539 c 0.40889,-0.49501 0.89786,-0.93068 1.47461,-1.26367 l 0.42578,-0.26758 L 451,496.29297 V 494.5 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z m 8.28125,0.002 c -0.50453,0.0148 -1.01019,0.15125 -1.46875,0.41602 a 0.50005,0.50005 0 0 0 -0.0156,0.01 l -5.04688,3.17579 -0.0156,0.01 a 0.50005,0.50005 0 0 0 -0.19532,0.2207 c -1.45784,0.9884 -2.27996,2.6934 -1.9707,4.44727 0.32821,1.86134 1.78904,3.32218 3.65039,3.65039 0.641,0.11303 1.28349,0.0836 1.88867,-0.0703 a 0.50005,0.50005 0 1 0 -0.24609,-0.96875 c -0.47064,0.11969 -0.96915,0.14277 -1.46875,0.0547 -1.45073,-0.25581 -2.58404,-1.38913 -2.83985,-2.83985 -0.2558,-1.45072 0.42152,-2.90212 1.69727,-3.63867 a 0.50005,0.50005 0 0 0 0.0156,-0.01 l 0.0274,-0.0156 a 0.50005,0.50005 0 0 0 0.01,-0.008 l 5.00977,-3.15039 c 0.83503,-0.4821 1.88265,-0.34391 2.56445,0.33789 0.6818,0.68178 0.81999,1.72943 0.33789,2.56445 a 0.50005,0.50005 0 0 0 -0.006,0.0137 0.50005,0.50005 0 0 0 -0.0195,0.0371 l -1.6289,3.02539 a 0.50005,0.50005 0 1 0 0.8789,0.47266 l 1.63477,-3.03711 0.008,-0.0117 c 6.7e-4,-10e-4 -6.7e-4,-0.003 0,-0.004 l 0.006,-0.01 a 0.50005,0.50005 0 0 0 0.0586,-0.3125 c 0.51014,-1.16591 0.35331,-2.52952 -0.5625,-3.44531 -0.49921,-0.49921 -1.13538,-0.80107 -1.80078,-0.88868 -0.16635,-0.0219 -0.33377,-0.0303 -0.50195,-0.0254 z M 458,496 a 1,1 0 0 0 -1,1 1,1 0 0 0 1,1 1,1 0 0 0 1,-1 1,1 0 0 0 -1,-1 z m -4.65039,2.64258 -1.05078,0.66211 a 1.50015,1.50015 0 0 1 -0.0488,0.0293 c -0.34485,0.1991 -0.62663,0.47142 -0.83594,0.78711 l 4.22461,4.22657 1.3613,1.35936 V 507.5 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 1 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -1 c 0,-0.0833 0.0571,-0.22505 0.16602,-0.33398 C 459.27495,506.05708 459.41667,506 459.5,506 h 1 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -1 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 h -1.79297 z" transform="translate(42.000002,-21.000005)" id="path13315" inkscape:connector-curvature="0"/>
+ </g>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 449.50391,369 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 11 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 H 455 c 1.08333,0 2.07323,-0.26796 2.8125,-0.85938 C 458.55177,379.54921 459,378.625 459,377.5 c 0,-1.125 -0.44823,-2.04921 -1.1875,-2.64062 -0.49098,-0.39279 -1.11527,-0.59695 -1.78125,-0.72071 C 456.61178,373.63193 457,372.89881 457,372 c 0,-0.96354 -0.41934,-1.76349 -1.07422,-2.26758 C 455.27091,369.22833 454.41324,369 453.5,369 Z m 0.5,1 H 453.5 c 0.74361,0 1.38549,0.19369 1.81641,0.52539 0.43091,0.3317 0.68359,0.7813 0.68359,1.47461 0,0.69331 -0.25268,1.14291 -0.68359,1.47461 C 454.88549,373.80631 454.24361,374 453.5,374 h -3.49609 z m 0,5 h 3.46093 0.0352 1.5 c 0.91667,0 1.67677,0.23204 2.1875,0.64062 0.51073,0.40859 0.8125,0.98438 0.8125,1.85938 0,0.875 -0.30177,1.45079 -0.8125,1.85938 C 456.67677,379.76796 455.91667,380 455,380 h -4.99609 z" id="path10949-7" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccscsccscsccscscscccccscscscc"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 408.50391,369 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 5.91992 a 0.50005,0.50005 0 0 0 0,0.16211 V 380.5 a 0.50005,0.50005 0 1 0 1,0 V 376 h 3.25586 l 3.84961,4.8125 a 0.50024018,0.50024018 0 1 0 0.78124,-0.625 l -3.49414,-4.36914 c 1.48603,-0.40423 2.60743,-1.70768 2.60743,-3.31836 0,-1.92707 -1.57293,-3.5 -3.5,-3.5 z m 0.5,1 h 3.5 c 1.38662,0 2.5,1.11337 2.5,2.5 0,1.38663 -1.11338,2.5 -2.5,2.5 a 0.50005,0.50005 0 0 0 -0.004,0 h -3.49609 z" id="path13132" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="M 431.51758,369.26562 C 429.42795,369.91461 428,371.85293 428,374.04102 V 376 c 0,1.78552 0.9537,3.43731 2.5,4.33008 1.54631,0.89277 3.45369,0.89277 5,0 1.5463,-0.89277 2.5,-2.54456 2.5,-4.33008 v -0.5 a 0.50004997,0.50004997 0 0 0 -0.5,-0.5 h -4 a 0.50004997,0.50004997 0 1 0 0,1 h 3.5 c 0,1.42986 -0.7617,2.74991 -2,3.46484 -1.23829,0.71494 -2.76171,0.71494 -4,0 -1.2383,-0.71493 -2,-2.03498 -2,-3.46484 v -1.95898 c 0,-1.75422 1.13918,-3.30002 2.81445,-3.82032 1.69498,-0.52641 3.36746,-0.003 4.25196,1.5293 a 0.50050004,0.50050004 0 1 0 0.86718,-0.5 c -1.1155,-1.93212 -3.34609,-2.62724 -5.41601,-1.98438 z" id="path13141" inkscape:connector-curvature="0"/>
+ <g style="display:inline;fill:#ffffff;enable-background:new" id="g13321" transform="translate(-42.000002,21.000005)">
+ <g id="g13309" style="fill:#ffffff">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 365.49219,94.992188 a 0.50005,0.50005 0 0 0 -0.38867,0.195312 0.50005,0.50005 0 0 0 -0.004,0.0059 l -1.95313,1.953125 a 0.50005,0.50005 0 1 0 0.70704,0.707032 L 365,96.707031 V 98.5 a 0.50005,0.50005 0 1 0 1,0 v -1.792969 l 1.14648,1.146485 a 0.50005,0.50005 0 1 0 0.70704,-0.707032 l -1.95704,-1.957031 a 0.50005,0.50005 0 0 0 -0.40429,-0.197265 z m 9.05859,1.941406 a 0.50005,0.50005 0 0 0 -0.0586,0.0059 h -2.93164 a 0.50005,0.50005 0 1 0 0,1 h 1.79297 l -3.14649,3.146486 a 0.50005,0.50005 0 1 0 0.70703,0.70703 l 3.14649,-3.146485 v 1.792965 a 0.50005,0.50005 0 1 0 1,0 v -2.931637 a 0.50005,0.50005 0 0 0 -0.50977,-0.574218 z m -0.0566,7.060546 a 0.50005,0.50005 0 0 0 -0.34766,0.85938 L 375.29297,106 H 371.5 a 0.50005,0.50005 0 1 0 0,1 h 3.79297 l -1.14649,1.14648 a 0.50005,0.50005 0 1 0 0.70704,0.70704 l 1.95703,-1.95704 a 0.50005,0.50005 0 0 0 0.002,-0.79296 0.50005,0.50005 0 0 0 -0.006,-0.004 l -1.95312,-1.95313 a 0.50005,0.50005 0 0 0 -0.35938,-0.15234 z" id="path13047-6" inkscape:connector-curvature="0"/>
</g>
- <g
- id="g13313"
- style="fill:#ffffff">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.98000004;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 324.5,121 c -1.14583,0 -1.86235,0.56478 -2.18359,1.12695 C 321.99517,122.68912 322,123.25 322,123.25 V 125 h -0.5 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 4 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 6 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -4 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 H 327 v -1.75 c 0,0 0.005,-0.56088 -0.31641,-1.12305 C 326.36235,121.56478 325.64583,121 324.5,121 Z m 0,1 c 0.85417,0 1.13765,0.31022 1.31641,0.62305 C 325.99517,122.93588 326,123.25 326,123.25 V 125 h -3 v -1.75 c 0,0 0.005,-0.31412 0.18359,-0.62695 C 323.36235,122.31022 323.64583,122 324.5,122 Z m -0.5,4 h 1 v 2 h -1 z"
- transform="translate(42.000002,-21.000005)"
- id="rect13261"
- inkscape:connector-curvature="0" />
+ <g id="g13313" style="fill:#ffffff">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.98000004;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 324.5,121 c -1.14583,0 -1.86235,0.56478 -2.18359,1.12695 C 321.99517,122.68912 322,123.25 322,123.25 V 125 h -0.5 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 4 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 6 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -4 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 H 327 v -1.75 c 0,0 0.005,-0.56088 -0.31641,-1.12305 C 326.36235,121.56478 325.64583,121 324.5,121 Z m 0,1 c 0.85417,0 1.13765,0.31022 1.31641,0.62305 C 325.99517,122.93588 326,123.25 326,123.25 V 125 h -3 v -1.75 c 0,0 0.005,-0.31412 0.18359,-0.62695 C 323.36235,122.31022 323.64583,122 324.5,122 Z m -0.5,4 h 1 v 2 h -1 z" transform="translate(42.000002,-21.000005)" id="rect13261" inkscape:connector-curvature="0"/>
</g>
</g>
- <g
- inkscape:export-ydpi="96"
- inkscape:export-xdpi="96"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- id="g13337"
- style="display:inline;opacity:0.98999999;fill:#ffffff;enable-background:new"
- transform="matrix(-1,0,0,1,1458,302.99979)">
- <path
- style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.3;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 1262.5,-278.49979 h -13 v -13 h 13 v 13"
- id="path14450"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="ccccc" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 1257.5039,-287 c -0.191,-10e-4 -0.3661,0.1063 -0.4512,0.27734 l -3,6 c -0.1652,0.33223 0.076,0.72231 0.4473,0.72266 h 6 c 0.371,-3.5e-4 0.6125,-0.39043 0.4473,-0.72266 l -3,-6 c -0.084,-0.16853 -0.2552,-0.27571 -0.4434,-0.27734 z"
- id="path13331"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="cccccccc" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 1252.5,-289 c -0.8225,0 -1.5,0.67749 -1.5,1.5 0,0.82251 0.6775,1.5 1.5,1.5 0.8225,0 1.5,-0.67749 1.5,-1.5 0,-0.82251 -0.6775,-1.5 -1.5,-1.5 z"
- id="ellipse13333"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="sssss" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 1249.5,-292 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 13 a 0.50005,0.50005 0 0 0 0.5,0.5 h 12.9199 a 0.50005,0.50005 0 0 0 0.4043,-0.11328 0.50005,0.50005 0 0 0 0,-0.002 0.50005,0.50005 0 0 0 0.033,-0.0312 0.50005,0.50005 0 0 0 0,-0.004 0.50005,0.50005 0 0 0 0.031,-0.0332 0.50005,0.50005 0 0 0 0,-0.004 0.50005,0.50005 0 0 0 0.1035,-0.39453 V -291.5 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m 0.5,1 h 12 v 12 h -12 z"
- id="path13335"
- inkscape:connector-curvature="0" />
- </g>
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- transform="matrix(1,0,0,-1,-1.8536743e-6,6.0000045)"
- id="g13398">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 237.5,-19 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 13 a 0.50005,0.50005 0 0 0 0.5,0.5 h 13 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -13 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m 0.5,1 h 12 v 12 h -12 z"
- id="path13392"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 237.5,-19 c -0.27613,2.8e-5 -0.49997,0.223869 -0.5,0.5 v 13 c 1.7e-4,0.4453235 0.53852,0.6683012 0.85352,0.3535156 l 13,-12.9999996 C 251.1683,-18.461483 250.94532,-18.99983 250.5,-19 Z"
- id="path13396"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="ccccccc" />
- </g>
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g13454"
- transform="translate(41.999998,-20.999995)">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 174.5,32 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 13 a 0.50005,0.50005 0 0 0 0.5,0.5 h 13 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -13 A 0.50005,0.50005 0 0 0 187.5,32 Z m 0.5,1 h 12 v 12 h -12 z"
- id="path13377"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="M 174.58789,32.005859 C 174.30358,31.956646 174.00013,32.166007 174,32.5 v 13 c 3e-5,0.276131 0.22387,0.499972 0.5,0.5 h 13 c 0.44532,-1.7e-4 0.6683,-0.538517 0.35352,-0.853516 l -13,-13 c -0.0788,-0.0787 -0.17086,-0.12422 -0.26563,-0.140625 z M 178.49609,38 c 0.191,-10e-4 0.36608,0.106304 0.45118,0.277344 l 3,6 C 182.11247,44.609574 181.8713,44.99965 181.5,45 h -6 c -0.371,-3.5e-4 -0.61247,-0.390426 -0.44727,-0.722656 l 3,-6 c 0.084,-0.16853 0.25516,-0.275714 0.44336,-0.277344 z"
- id="path13379"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.98999999;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 184.5,35 c 0.82251,0 1.5,0.677494 1.5,1.5 0,0.822506 -0.67749,1.5 -1.5,1.5 -0.82251,0 -1.5,-0.677494 -1.5,-1.5 0,-0.822506 0.67749,-1.5 1.5,-1.5 z"
- id="ellipse13420"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="sssss" />
- </g>
- <g
- transform="translate(-1.8536743e-6,4.4999696e-6)"
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g14346">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 184.27734,515 c -0.3909,-0.007 -0.822,0.0708 -1.2832,0.25781 -1.22985,0.49878 -2.7569,1.66874 -4.85742,3.90039 -2.09205,2.22266 -3.24657,3.73559 -3.77539,4.91602 -0.26441,0.59022 -0.37396,1.11195 -0.31641,1.58984 0.0576,0.4779 0.29454,0.88243 0.60156,1.18946 0.013,0.0131 0.0267,0.0255 0.041,0.0371 l 2.5,2 c 0.49277,0.39559 1.11361,-0.29808 0.66602,-0.74414 l -2,-2 c -0.36948,-0.36947 -0.29946,-0.99351 0,-1.29296 0.3216,-0.32161 0.86101,-0.43196 1.29296,0 l 2,2 a 0.50005,0.50005 0 1 0 0.70704,-0.70704 l -2,-2 c -0.36948,-0.36947 -0.29946,-0.99351 0,-1.29296 0.3216,-0.32161 0.86101,-0.43196 1.29296,0 l 2,2 a 0.50005,0.50005 0 1 0 0.70704,-0.70704 l -1.97657,-1.9746 c -0.008,-0.009 -0.0153,-0.0172 -0.0234,-0.0254 -0.36948,-0.36947 -0.29946,-0.99351 0,-1.29296 0.3216,-0.32161 0.86101,-0.43196 1.29296,0 l 2,2 a 0.50005,0.50005 0 1 0 0.70704,-0.70704 l -1.97657,-1.9746 c -0.008,-0.009 -0.0153,-0.0172 -0.0234,-0.0254 -0.36948,-0.36947 -0.29946,-0.99351 0,-1.29296 0.3216,-0.32161 0.86101,-0.43196 1.29296,0 l 2,2 a 0.50005,0.50005 0 1 0 0.70704,-0.70704 l -2,-2 c -0.36948,-0.36947 -0.29946,-0.99351 0,-1.29296 0.3216,-0.32161 0.86101,-0.43196 1.29296,0 l 2,2 c 0.44606,0.44759 1.13973,-0.17325 0.74414,-0.66602 l -2,-2.5 c -0.0116,-0.0143 -0.024,-0.028 -0.0371,-0.041 -0.30703,-0.30702 -0.7149,-0.52843 -1.19922,-0.61132 -0.12109,-0.0207 -0.24665,-0.0327 -0.37696,-0.0352 z"
- transform="translate(1.8536743e-6,-4.4999696e-6)"
- id="path14236"
- inkscape:connector-curvature="0" />
- </g>
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g13042"
- transform="translate(-21.000002,42.000005)">
- <g
- id="g13022"
- transform="translate(-42.00718,397.99283)"
- style="display:inline;opacity:1;fill:#ffffff;enable-background:new"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- inkscape:export-xdpi="96"
- inkscape:export-ydpi="96">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 447.5,159 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 10 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 5.5 v 2 h -2.5 c -0.67616,-0.01 -0.67616,1.00956 0,1 h 7 c 0.67616,0.01 0.67616,-1.00956 0,-1 H 455 v -2 h 5.5 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -10 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z m 0.5,1 h 12 v 9 h -12 z"
- id="path13020"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="cccccccccccccccccccccc" />
+ <g inkscape:export-ydpi="96" inkscape:export-xdpi="96" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" id="g13337" style="display:inline;opacity:0.98999999;fill:#ffffff;enable-background:new" transform="matrix(-1,0,0,1,1458,302.99979)">
+ <path style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.3;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 1262.5,-278.49979 h -13 v -13 h 13 v 13" id="path14450" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccc"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 1257.5039,-287 c -0.191,-10e-4 -0.3661,0.1063 -0.4512,0.27734 l -3,6 c -0.1652,0.33223 0.076,0.72231 0.4473,0.72266 h 6 c 0.371,-3.5e-4 0.6125,-0.39043 0.4473,-0.72266 l -3,-6 c -0.084,-0.16853 -0.2552,-0.27571 -0.4434,-0.27734 z" id="path13331" inkscape:connector-curvature="0" sodipodi:nodetypes="cccccccc"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 1252.5,-289 c -0.8225,0 -1.5,0.67749 -1.5,1.5 0,0.82251 0.6775,1.5 1.5,1.5 0.8225,0 1.5,-0.67749 1.5,-1.5 0,-0.82251 -0.6775,-1.5 -1.5,-1.5 z" id="ellipse13333" inkscape:connector-curvature="0" sodipodi:nodetypes="sssss"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 1249.5,-292 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 13 a 0.50005,0.50005 0 0 0 0.5,0.5 h 12.9199 a 0.50005,0.50005 0 0 0 0.4043,-0.11328 0.50005,0.50005 0 0 0 0,-0.002 0.50005,0.50005 0 0 0 0.033,-0.0312 0.50005,0.50005 0 0 0 0,-0.004 0.50005,0.50005 0 0 0 0.031,-0.0332 0.50005,0.50005 0 0 0 0,-0.004 0.50005,0.50005 0 0 0 0.1035,-0.39453 V -291.5 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m 0.5,1 h 12 v 12 h -12 z" id="path13335" inkscape:connector-curvature="0"/>
+ </g>
+ <g style="display:inline;fill:#ffffff;enable-background:new" transform="matrix(1,0,0,-1,-1.8536743e-6,6.0000045)" id="g13398">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 237.5,-19 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 13 a 0.50005,0.50005 0 0 0 0.5,0.5 h 13 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -13 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m 0.5,1 h 12 v 12 h -12 z" id="path13392" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 237.5,-19 c -0.27613,2.8e-5 -0.49997,0.223869 -0.5,0.5 v 13 c 1.7e-4,0.4453235 0.53852,0.6683012 0.85352,0.3535156 l 13,-12.9999996 C 251.1683,-18.461483 250.94532,-18.99983 250.5,-19 Z" id="path13396" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccccc"/>
+ </g>
+ <g style="display:inline;fill:#ffffff;enable-background:new" id="g13454" transform="translate(41.999998,-20.999995)">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 174.5,32 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 13 a 0.50005,0.50005 0 0 0 0.5,0.5 h 13 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -13 A 0.50005,0.50005 0 0 0 187.5,32 Z m 0.5,1 h 12 v 12 h -12 z" id="path13377" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="M 174.58789,32.005859 C 174.30358,31.956646 174.00013,32.166007 174,32.5 v 13 c 3e-5,0.276131 0.22387,0.499972 0.5,0.5 h 13 c 0.44532,-1.7e-4 0.6683,-0.538517 0.35352,-0.853516 l -13,-13 c -0.0788,-0.0787 -0.17086,-0.12422 -0.26563,-0.140625 z M 178.49609,38 c 0.191,-10e-4 0.36608,0.106304 0.45118,0.277344 l 3,6 C 182.11247,44.609574 181.8713,44.99965 181.5,45 h -6 c -0.371,-3.5e-4 -0.61247,-0.390426 -0.44727,-0.722656 l 3,-6 c 0.084,-0.16853 0.25516,-0.275714 0.44336,-0.277344 z" id="path13379" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.98999999;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 184.5,35 c 0.82251,0 1.5,0.677494 1.5,1.5 0,0.822506 -0.67749,1.5 -1.5,1.5 -0.82251,0 -1.5,-0.677494 -1.5,-1.5 0,-0.822506 0.67749,-1.5 1.5,-1.5 z" id="ellipse13420" inkscape:connector-curvature="0" sodipodi:nodetypes="sssss"/>
+ </g>
+ <g transform="translate(-1.8536743e-6,4.4999696e-6)" style="display:inline;fill:#ffffff;enable-background:new" id="g14346">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 184.27734,515 c -0.3909,-0.007 -0.822,0.0708 -1.2832,0.25781 -1.22985,0.49878 -2.7569,1.66874 -4.85742,3.90039 -2.09205,2.22266 -3.24657,3.73559 -3.77539,4.91602 -0.26441,0.59022 -0.37396,1.11195 -0.31641,1.58984 0.0576,0.4779 0.29454,0.88243 0.60156,1.18946 0.013,0.0131 0.0267,0.0255 0.041,0.0371 l 2.5,2 c 0.49277,0.39559 1.11361,-0.29808 0.66602,-0.74414 l -2,-2 c -0.36948,-0.36947 -0.29946,-0.99351 0,-1.29296 0.3216,-0.32161 0.86101,-0.43196 1.29296,0 l 2,2 a 0.50005,0.50005 0 1 0 0.70704,-0.70704 l -2,-2 c -0.36948,-0.36947 -0.29946,-0.99351 0,-1.29296 0.3216,-0.32161 0.86101,-0.43196 1.29296,0 l 2,2 a 0.50005,0.50005 0 1 0 0.70704,-0.70704 l -1.97657,-1.9746 c -0.008,-0.009 -0.0153,-0.0172 -0.0234,-0.0254 -0.36948,-0.36947 -0.29946,-0.99351 0,-1.29296 0.3216,-0.32161 0.86101,-0.43196 1.29296,0 l 2,2 a 0.50005,0.50005 0 1 0 0.70704,-0.70704 l -1.97657,-1.9746 c -0.008,-0.009 -0.0153,-0.0172 -0.0234,-0.0254 -0.36948,-0.36947 -0.29946,-0.99351 0,-1.29296 0.3216,-0.32161 0.86101,-0.43196 1.29296,0 l 2,2 a 0.50005,0.50005 0 1 0 0.70704,-0.70704 l -2,-2 c -0.36948,-0.36947 -0.29946,-0.99351 0,-1.29296 0.3216,-0.32161 0.86101,-0.43196 1.29296,0 l 2,2 c 0.44606,0.44759 1.13973,-0.17325 0.74414,-0.66602 l -2,-2.5 c -0.0116,-0.0143 -0.024,-0.028 -0.0371,-0.041 -0.30703,-0.30702 -0.7149,-0.52843 -1.19922,-0.61132 -0.12109,-0.0207 -0.24665,-0.0327 -0.37696,-0.0352 z" transform="translate(1.8536743e-6,-4.4999696e-6)" id="path14236" inkscape:connector-curvature="0"/>
+ </g>
+ <g style="display:inline;fill:#ffffff;enable-background:new" id="g13042" transform="translate(-21.000002,42.000005)">
+ <g id="g13022" transform="translate(-42.00718,397.99283)" style="display:inline;opacity:1;fill:#ffffff;enable-background:new" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" inkscape:export-xdpi="96" inkscape:export-ydpi="96">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 447.5,159 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 10 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 5.5 v 2 h -2.5 c -0.67616,-0.01 -0.67616,1.00956 0,1 h 7 c 0.67616,0.01 0.67616,-1.00956 0,-1 H 455 v -2 h 5.5 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -10 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z m 0.5,1 h 12 v 9 h -12 z" id="path13020" inkscape:connector-curvature="0" sodipodi:nodetypes="cccccccccccccccccccccc"/>
</g>
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 410.49023,558.99609 a 0.50005,0.50005 0 0 0 -0.34375,0.15039 l -3,3 a 0.50005,0.50005 0 0 0 0,0.70704 l 3,3 a 0.50005,0.50005 0 1 0 0.70704,-0.70704 L 408.70703,563 H 416.5 a 0.50005,0.50005 0 1 0 0,-1 h -7.79297 l 2.14649,-2.14648 a 0.50005,0.50005 0 0 0 -0.36329,-0.85743 z"
- id="path12420-1"
- inkscape:connector-curvature="0" />
- </g>
- <g
- transform="translate(-1.8536743e-6,4.4999696e-6)"
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g13097">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.98999999;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 74,477 c -0.710648,0 -1.272904,0.36437 -1.621094,0.82227 -0.348189,0.45789 -0.546604,0.99437 -0.748047,1.49023 -0.201442,0.49586 -0.404614,0.94894 -0.65039,1.24023 C 70.734693,480.84402 70.491667,481 70,481 h -1 v 1 h 1 c 0.758333,0 1.359057,-0.34402 1.746094,-0.80273 0.387036,-0.45871 0.605739,-1.00563 0.810547,-1.50977 0.204807,-0.50414 0.397017,-0.96766 0.61914,-1.25977 C 73.397904,478.13563 73.585648,478 74,478 c 0.376652,0 0.584084,0.165 0.837891,0.55664 0.253806,0.39164 0.470672,0.98903 0.689453,1.61524 0.21878,0.6262 0.438752,1.28115 0.794922,1.82812 0.35617,0.54697 0.933457,1.00595 1.68164,1 0.673157,-0.005 1.209041,-0.26371 1.570313,-0.62109 0.361272,-0.35739 0.571027,-0.77752 0.771484,-1.14649 0.200458,-0.36897 0.389328,-0.68586 0.623047,-0.89258 C 81.202469,480.13313 81.474401,480 82,480 h 1 v -1 h -1 c -0.724401,0 -1.296219,0.23882 -1.695312,0.5918 -0.399094,0.35298 -0.632099,0.78332 -0.837891,1.16211 -0.205793,0.37878 -0.386663,0.70727 -0.595703,0.91406 -0.209041,0.20679 -0.423157,0.32843 -0.875,0.33203 -0.376817,0.003 -0.58078,-0.15803 -0.833985,-0.54688 -0.253205,-0.38884 -0.470733,-0.98529 -0.689453,-1.61132 -0.218719,-0.62603 -0.439353,-1.28142 -0.794922,-1.83008 C 75.322166,477.46306 74.748348,477 74,477 Z"
- id="path15332-4"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 82.5,473 -13,0.004 a 0.50005,0.50005 0 0 0 -0.5,0.5 V 480 h 1 v -5.99609 L 82,474 v 4 h 1 v -4.5 A 0.50005,0.50005 0 0 0 82.5,473 Z m -0.5,8 v 5 H 70 v -3 h -1 v 3.5 a 0.50005,0.50005 0 0 0 0.5,0.5 h 13 A 0.50005,0.50005 0 0 0 83,486.5 V 481 Z"
- id="path12638-3"
- inkscape:connector-curvature="0" />
- </g>
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g13177"
- transform="translate(-1.8536743e-6,-20.999995)">
- <g
- id="g13282"
- transform="translate(20,-21)"
- style="fill:#ffffff">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 246.49805,74 c -0.13192,5.4e-4 -0.25829,0.0532 -0.35157,0.146484 C 245.43577,74.857204 244.09848,76 241.5,76 A 0.50005,0.50005 0 0 0 241,76.5 V 79 h -0.5 c -0.75833,0 -1.38671,0.318735 -1.90625,0.734375 -0.51954,0.41563 -0.962,0.926849 -1.44727,1.412109 -0.39648,0.39648 0.31056,1.103512 0.70704,0.707032 0.4558,-0.45581 0.79842,-0.643904 1.18164,-0.746094 C 239.41838,81.005232 239.875,81 240.5,81 h 0.5 v 4.5 c 0,0.75694 -0.56911,1.365513 -1.18359,1.476562 -0.30725,0.0555 -0.62032,0.004 -0.94141,-0.228515 -0.32109,-0.23272 -0.65388,-0.66673 -0.90039,-1.40625 A 0.50005,0.50005 0 0 0 237,85.5 v 1 a 0.50005,0.50005 0 0 0 0.14648,0.353516 C 238.22544,87.932473 239.1944,88.00968 240,88 c 0,0 0.002,0 0.002,0 9.9e-4,0 0.003,10e-7 0.004,0 0.001,-1.6e-5 0.003,1.8e-5 0.004,0 0.36494,-7.26e-4 0.98133,-0.05472 1.67773,-0.203125 0.19213,-0.0454 0.36061,-0.131526 0.54297,-0.197266 0.41443,-0.1248 0.82232,-0.201598 1.24219,-0.449218 C 244.82222,86.354491 246,84.75992 246,82 v -1 h 2.5 c 0.1326,-2e-5 0.25976,-0.0527 0.35352,-0.146484 l 1,-1 C 250.16831,79.538516 249.94532,79.00017 249.5,79 H 246 v -2.529297 c 0.26613,0.242116 0.53257,0.477435 0.83203,0.527344 0.63268,0.10544 1.23725,-0.0679 1.76563,-0.332031 1.05675,-0.52838 1.9005,-1.45715 2.25586,-1.8125 0.45304,-0.47127 -0.23577,-1.160072 -0.70704,-0.707032 -0.31826,0.31827 -0.84181,0.673592 -1.40039,0.763672 -0.55857,0.0901 -1.16912,-0.02339 -1.88867,-0.759765 -0.0945,-0.0967 -0.22417,-0.150901 -0.35937,-0.150391 z m -2.50977,3.013672 c 0.004,-1.62e-4 0.008,1.67e-4 0.0117,0 V 83 c 0,1.65476 -0.45037,2.602541 -1.13477,3.181641 -0.20404,0.172661 -0.46051,0.286861 -0.72656,0.390625 C 242.64927,85.748655 243,84.573733 243,83 v -5.982422 c 0.35078,0.0051 0.69957,0.0073 0.98828,-0.0039 z"
- transform="translate(-19.999998,41.999995)"
- id="path13240"
- inkscape:connector-curvature="0" />
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 410.49023,558.99609 a 0.50005,0.50005 0 0 0 -0.34375,0.15039 l -3,3 a 0.50005,0.50005 0 0 0 0,0.70704 l 3,3 a 0.50005,0.50005 0 1 0 0.70704,-0.70704 L 408.70703,563 H 416.5 a 0.50005,0.50005 0 1 0 0,-1 h -7.79297 l 2.14649,-2.14648 a 0.50005,0.50005 0 0 0 -0.36329,-0.85743 z" id="path12420-1" inkscape:connector-curvature="0"/>
+ </g>
+ <g transform="translate(-1.8536743e-6,4.4999696e-6)" style="display:inline;fill:#ffffff;enable-background:new" id="g13097">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.98999999;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 74,477 c -0.710648,0 -1.272904,0.36437 -1.621094,0.82227 -0.348189,0.45789 -0.546604,0.99437 -0.748047,1.49023 -0.201442,0.49586 -0.404614,0.94894 -0.65039,1.24023 C 70.734693,480.84402 70.491667,481 70,481 h -1 v 1 h 1 c 0.758333,0 1.359057,-0.34402 1.746094,-0.80273 0.387036,-0.45871 0.605739,-1.00563 0.810547,-1.50977 0.204807,-0.50414 0.397017,-0.96766 0.61914,-1.25977 C 73.397904,478.13563 73.585648,478 74,478 c 0.376652,0 0.584084,0.165 0.837891,0.55664 0.253806,0.39164 0.470672,0.98903 0.689453,1.61524 0.21878,0.6262 0.438752,1.28115 0.794922,1.82812 0.35617,0.54697 0.933457,1.00595 1.68164,1 0.673157,-0.005 1.209041,-0.26371 1.570313,-0.62109 0.361272,-0.35739 0.571027,-0.77752 0.771484,-1.14649 0.200458,-0.36897 0.389328,-0.68586 0.623047,-0.89258 C 81.202469,480.13313 81.474401,480 82,480 h 1 v -1 h -1 c -0.724401,0 -1.296219,0.23882 -1.695312,0.5918 -0.399094,0.35298 -0.632099,0.78332 -0.837891,1.16211 -0.205793,0.37878 -0.386663,0.70727 -0.595703,0.91406 -0.209041,0.20679 -0.423157,0.32843 -0.875,0.33203 -0.376817,0.003 -0.58078,-0.15803 -0.833985,-0.54688 -0.253205,-0.38884 -0.470733,-0.98529 -0.689453,-1.61132 -0.218719,-0.62603 -0.439353,-1.28142 -0.794922,-1.83008 C 75.322166,477.46306 74.748348,477 74,477 Z" id="path15332-4" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 82.5,473 -13,0.004 a 0.50005,0.50005 0 0 0 -0.5,0.5 V 480 h 1 v -5.99609 L 82,474 v 4 h 1 v -4.5 A 0.50005,0.50005 0 0 0 82.5,473 Z m -0.5,8 v 5 H 70 v -3 h -1 v 3.5 a 0.50005,0.50005 0 0 0 0.5,0.5 h 13 A 0.50005,0.50005 0 0 0 83,486.5 V 481 Z" id="path12638-3" inkscape:connector-curvature="0"/>
+ </g>
+ <g style="display:inline;fill:#ffffff;enable-background:new" id="g13177" transform="translate(-1.8536743e-6,-20.999995)">
+ <g id="g13282" transform="translate(20,-21)" style="fill:#ffffff">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 246.49805,74 c -0.13192,5.4e-4 -0.25829,0.0532 -0.35157,0.146484 C 245.43577,74.857204 244.09848,76 241.5,76 A 0.50005,0.50005 0 0 0 241,76.5 V 79 h -0.5 c -0.75833,0 -1.38671,0.318735 -1.90625,0.734375 -0.51954,0.41563 -0.962,0.926849 -1.44727,1.412109 -0.39648,0.39648 0.31056,1.103512 0.70704,0.707032 0.4558,-0.45581 0.79842,-0.643904 1.18164,-0.746094 C 239.41838,81.005232 239.875,81 240.5,81 h 0.5 v 4.5 c 0,0.75694 -0.56911,1.365513 -1.18359,1.476562 -0.30725,0.0555 -0.62032,0.004 -0.94141,-0.228515 -0.32109,-0.23272 -0.65388,-0.66673 -0.90039,-1.40625 A 0.50005,0.50005 0 0 0 237,85.5 v 1 a 0.50005,0.50005 0 0 0 0.14648,0.353516 C 238.22544,87.932473 239.1944,88.00968 240,88 c 0,0 0.002,0 0.002,0 9.9e-4,0 0.003,10e-7 0.004,0 0.001,-1.6e-5 0.003,1.8e-5 0.004,0 0.36494,-7.26e-4 0.98133,-0.05472 1.67773,-0.203125 0.19213,-0.0454 0.36061,-0.131526 0.54297,-0.197266 0.41443,-0.1248 0.82232,-0.201598 1.24219,-0.449218 C 244.82222,86.354491 246,84.75992 246,82 v -1 h 2.5 c 0.1326,-2e-5 0.25976,-0.0527 0.35352,-0.146484 l 1,-1 C 250.16831,79.538516 249.94532,79.00017 249.5,79 H 246 v -2.529297 c 0.26613,0.242116 0.53257,0.477435 0.83203,0.527344 0.63268,0.10544 1.23725,-0.0679 1.76563,-0.332031 1.05675,-0.52838 1.9005,-1.45715 2.25586,-1.8125 0.45304,-0.47127 -0.23577,-1.160072 -0.70704,-0.707032 -0.31826,0.31827 -0.84181,0.673592 -1.40039,0.763672 -0.55857,0.0901 -1.16912,-0.02339 -1.88867,-0.759765 -0.0945,-0.0967 -0.22417,-0.150901 -0.35937,-0.150391 z m -2.50977,3.013672 c 0.004,-1.62e-4 0.008,1.67e-4 0.0117,0 V 83 c 0,1.65476 -0.45037,2.602541 -1.13477,3.181641 -0.20404,0.172661 -0.46051,0.286861 -0.72656,0.390625 C 242.64927,85.748655 243,84.573733 243,83 v -5.982422 c 0.35078,0.0051 0.69957,0.0073 0.98828,-0.0039 z" transform="translate(-19.999998,41.999995)" id="path13240" inkscape:connector-curvature="0"/>
</g>
</g>
- <g
- inkscape:export-ydpi="96"
- inkscape:export-xdpi="96"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- style="display:inline;opacity:0.98999999;fill:#ffffff;enable-background:new"
- id="g13304"
- transform="translate(-84.000015,-126)">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 475,157.99609 c -1.79823,1e-5 -2.78534,0.23261 -3.38867,0.75196 C 471.00799,159.2674 471,160.00249 471,160.49609 v 0.5 h -0.002 c -0.12828,0 -0.91099,4e-5 -1.63867,0.53711 -0.72848,0.53766 -1.35958,1.60963 -1.35938,3.4668 9e-5,0.84676 0.12547,1.43896 0.35352,1.89453 0.22804,0.45557 0.5457,0.7425 0.81445,0.98047 a 0.50086817,0.50086817 0 1 0 0.66406,-0.75 c -0.2639,-0.23368 -0.44506,-0.40021 -0.58398,-0.67773 -0.13888,-0.27753 -0.24792,-0.69815 -0.248,-1.44727 -1.7e-4,-1.64286 0.494,-2.32325 0.95312,-2.66211 0.45913,-0.33885 0.92388,-0.3418 1.04688,-0.3418 h 0.44336 a 0.50005,0.50005 0 0 0 0.0586,0.004 l 3,-0.01 a 0.50005,0.50005 0 0 0 -0.002,-1 h -0.002 -0.002 L 472,160.99414 v -0.49805 c 0,-0.4936 -0.008,-0.75638 0.26367,-0.99023 0.27167,-0.23385 1.03456,-0.50976 2.73633,-0.50977 1.70177,0 2.46467,0.27592 2.73633,0.50977 0.27166,0.23385 0.26367,0.49663 0.26367,0.99023 v 1.99414 c -6e-5,0.47857 -0.26457,0.78886 -0.8457,1.12891 -0.58114,0.34005 -1.43184,0.62116 -2.30664,0.90234 -0.87481,0.28119 -1.77478,0.56315 -2.50586,0.98829 -0.73108,0.42513 -1.34192,1.08253 -1.3418,1.98046 v 2.01368 c 0,0.4936 0.008,1.22869 0.61133,1.74804 0.60334,0.51936 1.59044,0.75196 3.38867,0.75196 1.79823,-1e-5 2.78534,-0.23261 3.38867,-0.75196 C 478.99201,170.7326 479,169.99751 479,169.50391 v -0.5 c 0.127,0 0.91215,5.4e-4 1.64062,-0.53711 0.72848,-0.53766 1.35958,-1.60963 1.35938,-3.4668 -1.6e-4,-1.56962 -0.66959,-2.34844 -1.13672,-2.84375 a 0.5001364,0.5001364 0 1 0 -0.72656,0.6875 c 0.47073,0.49913 0.86314,0.83133 0.86328,2.15625 1.7e-4,1.64286 -0.494,2.32325 -0.95312,2.66211 -0.45913,0.33885 -0.92388,0.3418 -1.04688,0.3418 h -0.44336 A 0.50005,0.50005 0 0 0 478.49805,168 l -3,0.01 a 0.50005,0.50005 0 0 0 0.002,1 h 0.002 0.002 L 478,169.00586 v 0.49805 c 0,0.4936 0.008,0.75638 -0.26367,0.99023 -0.27167,0.23385 -1.03456,0.50976 -2.73633,0.50977 -1.70177,0 -2.46467,-0.27592 -2.73633,-0.50977 C 471.99201,170.26029 472,169.99751 472,169.50391 v -2.01368 c -6e-5,-0.47218 0.26437,-0.77913 0.8457,-1.11718 0.58133,-0.33805 1.43145,-0.61908 2.30664,-0.90039 0.8752,-0.28132 1.77441,-0.56222 2.50586,-0.99024 0.73146,-0.42801 1.34168,-1.09087 1.3418,-1.99219 v -1.99414 c 0,-0.4936 -0.008,-1.22869 -0.61133,-1.74804 -0.60334,-0.51936 -1.59044,-0.75196 -3.38867,-0.75196 z"
- id="path13302"
- inkscape:connector-curvature="0" />
- </g>
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 433,120 c -1.65093,0 -3,1.34907 -3,3 0,1.65093 1.34907,3 3,3 1.65093,0 3,-1.34907 3,-3 0,-1.65093 -1.34907,-3 -3,-3 z"
- id="circle13367"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="sssss" />
- <g
- inkscape:export-ydpi="96"
- inkscape:export-xdpi="96"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- id="g13384"
- transform="translate(-21.000002,-105)"
- style="display:inline;opacity:0.6;fill:#ffffff;enable-background:new">
- <rect
- style="display:inline;opacity:0;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:new"
- id="rect13372"
- width="16"
- height="16"
- x="236"
- y="325"
- rx="0"
- ry="0" />
- <g
- id="g13382"
- transform="translate(1)"
- style="fill:#ffffff">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.89999998;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 238.49414,326.05078 c -0.11724,0.001 -0.22936,0.0482 -0.3125,0.13086 l -2,2 c -0.17593,0.17578 -0.17593,0.46094 0,0.63672 l 2,2 c 0.17578,0.17593 0.46094,0.17593 0.63672,0 l 2,-2 c 0.17593,-0.17578 0.17593,-0.46094 0,-0.63672 l -2,-2 c -0.086,-0.0855 -0.20293,-0.13272 -0.32422,-0.13086 z m 9,0 c -0.11724,0.001 -0.22936,0.0482 -0.3125,0.13086 l -2,2 c -0.17593,0.17578 -0.17593,0.46094 0,0.63672 l 2,2 c 0.17578,0.17593 0.46094,0.17593 0.63672,0 l 2,-2 c 0.17593,-0.17578 0.17593,-0.46094 0,-0.63672 l -2,-2 c -0.086,-0.0855 -0.20293,-0.13272 -0.32422,-0.13086 z"
- id="path13378"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="cccccccccccccccccccc" />
- <path
- style="opacity:0.5;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke"
- d="m 240.12109,326 1.43946,1.43945 c 0.58556,0.5858 0.58556,1.5353 0,2.1211 L 240.12109,331 h 5.75782 l -1.43946,-1.43945 c -0.58556,-0.5858 -0.58556,-1.5353 0,-2.1211 L 245.87891,326 Z"
- id="path13380"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="ccccccccc" />
+ <g inkscape:export-ydpi="96" inkscape:export-xdpi="96" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" style="display:inline;opacity:0.98999999;fill:#ffffff;enable-background:new" id="g13304" transform="translate(-84.000015,-126)">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 475,157.99609 c -1.79823,1e-5 -2.78534,0.23261 -3.38867,0.75196 C 471.00799,159.2674 471,160.00249 471,160.49609 v 0.5 h -0.002 c -0.12828,0 -0.91099,4e-5 -1.63867,0.53711 -0.72848,0.53766 -1.35958,1.60963 -1.35938,3.4668 9e-5,0.84676 0.12547,1.43896 0.35352,1.89453 0.22804,0.45557 0.5457,0.7425 0.81445,0.98047 a 0.50086817,0.50086817 0 1 0 0.66406,-0.75 c -0.2639,-0.23368 -0.44506,-0.40021 -0.58398,-0.67773 -0.13888,-0.27753 -0.24792,-0.69815 -0.248,-1.44727 -1.7e-4,-1.64286 0.494,-2.32325 0.95312,-2.66211 0.45913,-0.33885 0.92388,-0.3418 1.04688,-0.3418 h 0.44336 a 0.50005,0.50005 0 0 0 0.0586,0.004 l 3,-0.01 a 0.50005,0.50005 0 0 0 -0.002,-1 h -0.002 -0.002 L 472,160.99414 v -0.49805 c 0,-0.4936 -0.008,-0.75638 0.26367,-0.99023 0.27167,-0.23385 1.03456,-0.50976 2.73633,-0.50977 1.70177,0 2.46467,0.27592 2.73633,0.50977 0.27166,0.23385 0.26367,0.49663 0.26367,0.99023 v 1.99414 c -6e-5,0.47857 -0.26457,0.78886 -0.8457,1.12891 -0.58114,0.34005 -1.43184,0.62116 -2.30664,0.90234 -0.87481,0.28119 -1.77478,0.56315 -2.50586,0.98829 -0.73108,0.42513 -1.34192,1.08253 -1.3418,1.98046 v 2.01368 c 0,0.4936 0.008,1.22869 0.61133,1.74804 0.60334,0.51936 1.59044,0.75196 3.38867,0.75196 1.79823,-1e-5 2.78534,-0.23261 3.38867,-0.75196 C 478.99201,170.7326 479,169.99751 479,169.50391 v -0.5 c 0.127,0 0.91215,5.4e-4 1.64062,-0.53711 0.72848,-0.53766 1.35958,-1.60963 1.35938,-3.4668 -1.6e-4,-1.56962 -0.66959,-2.34844 -1.13672,-2.84375 a 0.5001364,0.5001364 0 1 0 -0.72656,0.6875 c 0.47073,0.49913 0.86314,0.83133 0.86328,2.15625 1.7e-4,1.64286 -0.494,2.32325 -0.95312,2.66211 -0.45913,0.33885 -0.92388,0.3418 -1.04688,0.3418 h -0.44336 A 0.50005,0.50005 0 0 0 478.49805,168 l -3,0.01 a 0.50005,0.50005 0 0 0 0.002,1 h 0.002 0.002 L 478,169.00586 v 0.49805 c 0,0.4936 0.008,0.75638 -0.26367,0.99023 -0.27167,0.23385 -1.03456,0.50976 -2.73633,0.50977 -1.70177,0 -2.46467,-0.27592 -2.73633,-0.50977 C 471.99201,170.26029 472,169.99751 472,169.50391 v -2.01368 c -6e-5,-0.47218 0.26437,-0.77913 0.8457,-1.11718 0.58133,-0.33805 1.43145,-0.61908 2.30664,-0.90039 0.8752,-0.28132 1.77441,-0.56222 2.50586,-0.99024 0.73146,-0.42801 1.34168,-1.09087 1.3418,-1.99219 v -1.99414 c 0,-0.4936 -0.008,-1.22869 -0.61133,-1.74804 -0.60334,-0.51936 -1.59044,-0.75196 -3.38867,-0.75196 z" id="path13302" inkscape:connector-curvature="0"/>
+ </g>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 433,120 c -1.65093,0 -3,1.34907 -3,3 0,1.65093 1.34907,3 3,3 1.65093,0 3,-1.34907 3,-3 0,-1.65093 -1.34907,-3 -3,-3 z" id="circle13367" inkscape:connector-curvature="0" sodipodi:nodetypes="sssss"/>
+ <g inkscape:export-ydpi="96" inkscape:export-xdpi="96" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" id="g13384" transform="translate(-21.000002,-105)" style="display:inline;opacity:0.6;fill:#ffffff;enable-background:new">
+ <rect style="display:inline;opacity:0;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:new" id="rect13372" width="16" height="16" x="236" y="325" rx="0" ry="0"/>
+ <g id="g13382" transform="translate(1)" style="fill:#ffffff">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.89999998;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 238.49414,326.05078 c -0.11724,0.001 -0.22936,0.0482 -0.3125,0.13086 l -2,2 c -0.17593,0.17578 -0.17593,0.46094 0,0.63672 l 2,2 c 0.17578,0.17593 0.46094,0.17593 0.63672,0 l 2,-2 c 0.17593,-0.17578 0.17593,-0.46094 0,-0.63672 l -2,-2 c -0.086,-0.0855 -0.20293,-0.13272 -0.32422,-0.13086 z m 9,0 c -0.11724,0.001 -0.22936,0.0482 -0.3125,0.13086 l -2,2 c -0.17593,0.17578 -0.17593,0.46094 0,0.63672 l 2,2 c 0.17578,0.17593 0.46094,0.17593 0.63672,0 l 2,-2 c 0.17593,-0.17578 0.17593,-0.46094 0,-0.63672 l -2,-2 c -0.086,-0.0855 -0.20293,-0.13272 -0.32422,-0.13086 z" id="path13378" inkscape:connector-curvature="0" sodipodi:nodetypes="cccccccccccccccccccc"/>
+ <path style="opacity:0.5;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke" d="m 240.12109,326 1.43946,1.43945 c 0.58556,0.5858 0.58556,1.5353 0,2.1211 L 240.12109,331 h 5.75782 l -1.43946,-1.43945 c -0.58556,-0.5858 -0.58556,-1.5353 0,-2.1211 L 245.87891,326 Z" id="path13380" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccccccc"/>
</g>
</g>
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 221.50195,227 c -0.35971,-0.001 -0.6028,0.36671 -0.46093,0.69727 l 3,7 c 0.18151,0.42185 0.78799,0.39645 0.93359,-0.0391 l 0.91992,-2.76367 2.76367,-0.91992 c 0.43555,-0.1456 0.46095,-0.75208 0.0391,-0.93359 l -7,-3 c -0.0617,-0.0266 -0.12814,-0.0406 -0.19535,-0.041 z"
- id="path12946-5"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="ccccccccc" />
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g12888"
- transform="translate(-1.8536743e-6,21.000005)">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 241.48438,452 c -0.12717,0.004 -0.248,0.0564 -0.3379,0.14648 l -3,3 c -0.31479,0.315 -0.0918,0.85335 0.35352,0.85352 h 3 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -3 c 1.1e-4,-0.28235 -0.23341,-0.50879 -0.51562,-0.5 z M 243,452 v 5 h -5 v 1.5 c 2e-5,0.1326 0.0527,0.25976 0.14648,0.35352 l 2,2 c 0.19527,0.19519 0.51177,0.19519 0.70704,0 l 2.64648,-2.64649 1.64648,1.64649 c 0.19527,0.19519 0.51177,0.19519 0.70704,0 l 2.64648,-2.64649 0.64648,0.64649 1,1 c 0.315,0.31479 0.85335,0.0918 0.85352,-0.35352 v -6 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z m 4.49219,9 c -0.12989,0.002 -0.25387,0.0546 -0.34571,0.14648 l -2.64648,2.64649 -1.64648,-1.64649 c -0.19527,-0.19519 -0.51177,-0.19519 -0.70704,0 l -2.64648,2.64649 -1.64648,-1.64649 c -0.315,-0.31479 -0.85335,-0.0918 -0.85352,0.35352 v 2 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 2.00781 9.99219 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -2 c -2e-5,-0.1326 -0.0527,-0.25976 -0.14648,-0.35352 l -1,-1 -1,-1 c -0.0957,-0.0957 -0.22603,-0.14855 -0.36133,-0.14648 z"
- id="path14234"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="ccccccccccccccccccccccccccccccccccccccccccc" />
- </g>
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g13069"
- transform="translate(-21.000002,42.000005)">
- <path
- sodipodi:nodetypes="ccccccccccccccc"
- inkscape:connector-curvature="0"
- id="ellipse12909"
- d="m 290,517 h 2.5 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -1 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 h -2.91992 c -0.029,-0.005 -0.0584,-0.008 -0.0879,-0.008 -0.27614,0.004 -0.49651,0.23167 -0.49219,0.50781 v 1 5.64062 c -0.56586,-0.20756 -1.28645,-0.18129 -1.98242,0.0723 -1.35506,0.4963 -2.23747,1.69879 -1.9707,2.68555 0.26595,0.98712 1.58042,1.38505 2.93554,0.88867 1.22872,-0.45129 2.01759,-1.35494 2.01758,-2.53711 z"
- style="display:inline;overflow:visible;visibility:visible;opacity:0.98999999;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.75542808px;marker:none;enable-background:accumulate" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.7;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 283.51562,517 a 0.50005,0.50005 0 0 0 -0.22656,0.0566 c -1.99745,1.00305 -3.4683,2.88412 -4.03515,5.13477 -0.56686,2.25064 -0.17629,4.64784 1.07421,6.56836 a 0.50005,0.50005 0 1 0 0.8379,-0.54493 c -1.09418,-1.68042 -1.44042,-3.798 -0.94141,-5.77929 0.49902,-1.9813 1.78869,-3.62011 3.51367,-4.48633 A 0.50005,0.50005 0 0 0 283.51562,517 Z m 0.98243,3 a 0.50005,0.50005 0 0 0 -0.26758,0.082 c -1.21391,0.77866 -2.01457,2.12204 -2.19336,3.63086 -0.17879,1.50883 0.2812,3.02564 1.26367,4.11719 a 0.50005,0.50005 0 1 0 0.74219,-0.66992 c -0.77619,-0.86237 -1.15757,-2.0993 -1.01172,-3.33008 0.14584,-1.23079 0.79828,-2.30329 1.73828,-2.90625 A 0.50005,0.50005 0 0 0 284.49805,520 Z"
- id="path12979"
- inkscape:connector-curvature="0" />
- </g>
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- transform="translate(336,21.000005)"
- id="g13340">
- <g
- id="g13324"
- style="fill:#ffffff">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 501.98047,136.99023 a 1.0001,1.0001 0 0 0 -0.6875,0.30274 l -2.7207,2.7207 c -0.0264,-10e-4 -0.0514,-0.008 -0.0781,-0.008 -0.82235,0 -1.5,0.67765 -1.5,1.5 0,0.82235 0.67765,1.5 1.5,1.5 0.82235,0 1.5,-0.67765 1.5,-1.5 0,-0.0267 -0.006,-0.0518 -0.008,-0.0781 l 2.7207,-2.7207 a 1.0001,1.0001 0 0 0 -0.72656,-1.7168 z"
- transform="translate(-336,-21.000005)"
- id="rect13317"
- inkscape:connector-curvature="0" />
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 221.50195,227 c -0.35971,-0.001 -0.6028,0.36671 -0.46093,0.69727 l 3,7 c 0.18151,0.42185 0.78799,0.39645 0.93359,-0.0391 l 0.91992,-2.76367 2.76367,-0.91992 c 0.43555,-0.1456 0.46095,-0.75208 0.0391,-0.93359 l -7,-3 c -0.0617,-0.0266 -0.12814,-0.0406 -0.19535,-0.041 z" id="path12946-5" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccccccc"/>
+ <g style="display:inline;fill:#ffffff;enable-background:new" id="g12888" transform="translate(-1.8536743e-6,21.000005)">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 241.48438,452 c -0.12717,0.004 -0.248,0.0564 -0.3379,0.14648 l -3,3 c -0.31479,0.315 -0.0918,0.85335 0.35352,0.85352 h 3 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -3 c 1.1e-4,-0.28235 -0.23341,-0.50879 -0.51562,-0.5 z M 243,452 v 5 h -5 v 1.5 c 2e-5,0.1326 0.0527,0.25976 0.14648,0.35352 l 2,2 c 0.19527,0.19519 0.51177,0.19519 0.70704,0 l 2.64648,-2.64649 1.64648,1.64649 c 0.19527,0.19519 0.51177,0.19519 0.70704,0 l 2.64648,-2.64649 0.64648,0.64649 1,1 c 0.315,0.31479 0.85335,0.0918 0.85352,-0.35352 v -6 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z m 4.49219,9 c -0.12989,0.002 -0.25387,0.0546 -0.34571,0.14648 l -2.64648,2.64649 -1.64648,-1.64649 c -0.19527,-0.19519 -0.51177,-0.19519 -0.70704,0 l -2.64648,2.64649 -1.64648,-1.64649 c -0.315,-0.31479 -0.85335,-0.0918 -0.85352,0.35352 v 2 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 2.00781 9.99219 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -2 c -2e-5,-0.1326 -0.0527,-0.25976 -0.14648,-0.35352 l -1,-1 -1,-1 c -0.0957,-0.0957 -0.22603,-0.14855 -0.36133,-0.14648 z" id="path14234" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccccccccccccccccccccccccccccccccccccccccc"/>
+ </g>
+ <g style="display:inline;fill:#ffffff;enable-background:new" id="g13069" transform="translate(-21.000002,42.000005)">
+ <path sodipodi:nodetypes="ccccccccccccccc" inkscape:connector-curvature="0" id="ellipse12909" d="m 290,517 h 2.5 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -1 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 h -2.91992 c -0.029,-0.005 -0.0584,-0.008 -0.0879,-0.008 -0.27614,0.004 -0.49651,0.23167 -0.49219,0.50781 v 1 5.64062 c -0.56586,-0.20756 -1.28645,-0.18129 -1.98242,0.0723 -1.35506,0.4963 -2.23747,1.69879 -1.9707,2.68555 0.26595,0.98712 1.58042,1.38505 2.93554,0.88867 1.22872,-0.45129 2.01759,-1.35494 2.01758,-2.53711 z" style="display:inline;overflow:visible;visibility:visible;opacity:0.98999999;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.75542808px;marker:none;enable-background:accumulate"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.7;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 283.51562,517 a 0.50005,0.50005 0 0 0 -0.22656,0.0566 c -1.99745,1.00305 -3.4683,2.88412 -4.03515,5.13477 -0.56686,2.25064 -0.17629,4.64784 1.07421,6.56836 a 0.50005,0.50005 0 1 0 0.8379,-0.54493 c -1.09418,-1.68042 -1.44042,-3.798 -0.94141,-5.77929 0.49902,-1.9813 1.78869,-3.62011 3.51367,-4.48633 A 0.50005,0.50005 0 0 0 283.51562,517 Z m 0.98243,3 a 0.50005,0.50005 0 0 0 -0.26758,0.082 c -1.21391,0.77866 -2.01457,2.12204 -2.19336,3.63086 -0.17879,1.50883 0.2812,3.02564 1.26367,4.11719 a 0.50005,0.50005 0 1 0 0.74219,-0.66992 c -0.77619,-0.86237 -1.15757,-2.0993 -1.01172,-3.33008 0.14584,-1.23079 0.79828,-2.30329 1.73828,-2.90625 A 0.50005,0.50005 0 0 0 284.49805,520 Z" id="path12979" inkscape:connector-curvature="0"/>
+ </g>
+ <g style="display:inline;fill:#ffffff;enable-background:new" transform="translate(336,21.000005)" id="g13340">
+ <g id="g13324" style="fill:#ffffff">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 501.98047,136.99023 a 1.0001,1.0001 0 0 0 -0.6875,0.30274 l -2.7207,2.7207 c -0.0264,-10e-4 -0.0514,-0.008 -0.0781,-0.008 -0.82235,0 -1.5,0.67765 -1.5,1.5 0,0.82235 0.67765,1.5 1.5,1.5 0.82235,0 1.5,-0.67765 1.5,-1.5 0,-0.0267 -0.006,-0.0518 -0.008,-0.0781 l 2.7207,-2.7207 a 1.0001,1.0001 0 0 0 -0.72656,-1.7168 z" transform="translate(-336,-21.000005)" id="rect13317" inkscape:connector-curvature="0"/>
</g>
- <g
- id="g13338"
- transform="translate(717.99456,-488.99997)"
- style="opacity:0.6;fill:#ffffff">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 489.49414,140 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 2 a 0.50005,0.50005 0 0 0 0.5,0.5 h 0.5 v 5 h -0.5 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 2 a 0.50005,0.50005 0 0 0 0.5,0.5 h 2 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -0.50781 h 5 V 150.5 a 0.50005,0.50005 0 0 0 0.5,0.5 h 2 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -2 a 0.50005,0.50005 0 0 0 -0.5,-0.5 h -0.5 v -4 h -1 v 4 h -0.5 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 0.49219 h -5 V 148.5 a 0.50005,0.50005 0 0 0 -0.5,-0.5 h -0.5 v -5 h 0.5 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -0.50781 H 496 v -1 h -4.00586 V 140.5 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m 0.5,1 h 1 v 1 h -1 z m 0,8 h 1 v 1 h -1 z m 8,0 h 1 v 1 h -1 z"
- transform="translate(-1053.9946,467.99997)"
- id="path13330"
- inkscape:connector-curvature="0" />
+ <g id="g13338" transform="translate(717.99456,-488.99997)" style="opacity:0.6;fill:#ffffff">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 489.49414,140 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 2 a 0.50005,0.50005 0 0 0 0.5,0.5 h 0.5 v 5 h -0.5 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 2 a 0.50005,0.50005 0 0 0 0.5,0.5 h 2 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -0.50781 h 5 V 150.5 a 0.50005,0.50005 0 0 0 0.5,0.5 h 2 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -2 a 0.50005,0.50005 0 0 0 -0.5,-0.5 h -0.5 v -4 h -1 v 4 h -0.5 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 0.49219 h -5 V 148.5 a 0.50005,0.50005 0 0 0 -0.5,-0.5 h -0.5 v -5 h 0.5 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -0.50781 H 496 v -1 h -4.00586 V 140.5 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m 0.5,1 h 1 v 1 h -1 z m 0,8 h 1 v 1 h -1 z m 8,0 h 1 v 1 h -1 z" transform="translate(-1053.9946,467.99997)" id="path13330" inkscape:connector-curvature="0"/>
</g>
</g>
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- transform="translate(357,21.000005)"
- id="g13370">
- <g
- id="g13360"
- style="fill:#ffffff">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="M 181.98438,115.98633 A 1.0001,1.0001 0 0 0 181,117 v 4.83203 a 1.0001,1.0001 0 0 0 0.28906,0.88477 1.0001,1.0001 0 0 0 0.006,0.006 1.0001,1.0001 0 0 0 0.0137,0.0137 A 1.0001,1.0001 0 0 0 182.1582,123 H 187 a 1.0001,1.0001 0 1 0 0,-2 h -4 v -4 a 1.0001,1.0001 0 0 0 -1.01562,-1.01367 z"
- id="path13358"
- inkscape:connector-curvature="0" />
+ <g style="display:inline;fill:#ffffff;enable-background:new" transform="translate(357,21.000005)" id="g13370">
+ <g id="g13360" style="fill:#ffffff">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="M 181.98438,115.98633 A 1.0001,1.0001 0 0 0 181,117 v 4.83203 a 1.0001,1.0001 0 0 0 0.28906,0.88477 1.0001,1.0001 0 0 0 0.006,0.006 1.0001,1.0001 0 0 0 0.0137,0.0137 A 1.0001,1.0001 0 0 0 182.1582,123 H 187 a 1.0001,1.0001 0 1 0 0,-2 h -4 v -4 a 1.0001,1.0001 0 0 0 -1.01562,-1.01367 z" id="path13358" inkscape:connector-curvature="0"/>
</g>
- <g
- transform="matrix(0,-1,-1,0,301.99245,326.99752)"
- id="g13368"
- style="fill:#ffffff">
- <g
- style="display:inline;opacity:0.6;fill:#ffffff;enable-background:new"
- id="g13366"
- transform="translate(760.99456,-488.99997)"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- inkscape:export-xdpi="96"
- inkscape:export-ydpi="96">
- <g
- id="g13364"
- style="fill:#ffffff">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m -563.5,607 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 9 a 0.50005,0.50005 0 0 0 0.5,0.5 h 9 a 0.50005,0.50005 0 0 0 0.5,-0.5 l 0.006,-5.50781 h -1 L -555,616 h -8 v -8 h 5.00391 v -1 z"
- id="path13362"
- inkscape:connector-curvature="0" />
+ <g transform="matrix(0,-1,-1,0,301.99245,326.99752)" id="g13368" style="fill:#ffffff">
+ <g style="display:inline;opacity:0.6;fill:#ffffff;enable-background:new" id="g13366" transform="translate(760.99456,-488.99997)" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" inkscape:export-xdpi="96" inkscape:export-ydpi="96">
+ <g id="g13364" style="fill:#ffffff">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m -563.5,607 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 9 a 0.50005,0.50005 0 0 0 0.5,0.5 h 9 a 0.50005,0.50005 0 0 0 0.5,-0.5 l 0.006,-5.50781 h -1 L -555,616 h -8 v -8 h 5.00391 v -1 z" id="path13362" inkscape:connector-curvature="0"/>
</g>
</g>
</g>
</g>
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 352.72656,472.9707 c -0.84514,-0.0154 -1.69148,0.28718 -2.33008,0.92578 l -2.13476,2.13477 c -1.14247,-0.0826 -2.16028,-0.0359 -2.98047,0.30273 -0.89973,0.37145 -1.59595,1.03428 -2.08008,1.92774 C 342.23291,480.04863 342,482.7268 342,486.5 a 0.50004997,0.50004997 0 0 0 0.5,0.5 c 3.7729,0 6.45106,-0.23075 8.23828,-1.19727 0.89361,-0.48326 1.5563,-1.17766 1.92774,-2.07812 0.33865,-0.82099 0.38541,-1.84087 0.30273,-2.98633 l 2.13477,-2.13476 c 1.27714,-1.27719 1.21033,-3.38733 -0.0547,-4.65235 -0.63251,-0.63254 -1.47713,-0.96507 -2.32227,-0.98047 z m -0.01,1.00391 c 0.59016,0.0124 1.18356,0.24213 1.625,0.68359 0.88286,0.88287 0.92532,2.36759 0.0547,3.23828 l -2.25,2.25 a 0.50004997,0.50004997 0 0 0 -0.14453,0.4043 c 0.11985,1.19116 0.0231,2.10252 -0.26172,2.79297 -0.28481,0.69045 -0.74712,1.18455 -1.47851,1.58008 -1.27506,0.68955 -3.50366,0.96361 -6.50586,1.02734 l 3.10352,-3.10351 c 0.19538,0.094 0.41106,0.15234 0.64062,0.15234 0.8225,0 1.5,-0.6775 1.5,-1.5 0,-0.8225 -0.6775,-1.5 -1.5,-1.5 -0.8225,0 -1.5,0.6775 -1.5,1.5 0,0.22956 0.0584,0.44524 0.15234,0.64062 l -3.10351,3.10352 c 0.0645,-3.00197 0.34215,-5.23052 1.0332,-6.50586 0.3964,-0.73154 0.8902,-1.19371 1.58008,-1.47851 0.68987,-0.28481 1.59959,-0.38153 2.78711,-0.26172 a 0.50004997,0.50004997 0 0 0 0.4043,-0.14453 l 2.25,-2.25 c 0.43534,-0.43536 1.02312,-0.64126 1.61328,-0.62891 z"
- id="path8087-0"
- inkscape:connector-curvature="0" />
- <g
- id="g6603"
- style="fill:#ffffff">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 237.49219,305 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 2 a 0.50005,0.50005 0 1 0 1,0 V 306 h 3 v 12 h -1.5 a 0.50005,0.50005 0 1 0 0,1 h 4 a 0.50005,0.50005 0 1 0 0,-1 h -1.5 v -12 h 3 v 1.5 a 0.50005,0.50005 0 1 0 1,0 v -2 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m 7,6 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 1 a 0.50005,0.50005 0 1 0 1,0 V 312 h 2 v 6 h -0.5 a 0.50005,0.50005 0 1 0 0,1 h 2 a 0.50005,0.50005 0 1 0 0,-1 h -0.5 v -6 h 2 v 0.5 a 0.50005,0.50005 0 1 0 1,0 v -1 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z"
- id="path6924-7"
- inkscape:connector-curvature="0" />
- </g>
- <path
- inkscape:connector-curvature="0"
- d="m 353,628 h 1 v 1 h -1 z m -3,0 h 1 v 1 h -1 z m -3,0 h 1 v 1 h -1 z m -3,0 h 1 v 1 h -1 z m 9,-3 h 1 v 1 h -1 z m -3,0 h 1 v 1 h -1 z m -3,0 h 1 v 1 h -1 z m -3,0 h 1 v 1 h -1 z"
- style="display:inline;opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;enable-background:new"
- id="path14337" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 374.4375,121.17773 c -0.55229,-0.19531 -1.19407,-0.23097 -1.84766,0.002 -0.65359,0.23293 -1.30733,0.71399 -1.9707,1.49609 -0.28137,0.33173 -0.45085,0.79694 -0.61914,1.24219 -0.17701,-0.45587 -0.36207,-0.94012 -0.61914,-1.24219 -0.66249,-0.77846 -1.31558,-1.25837 -1.96875,-1.49023 -0.65317,-0.23186 -1.2953,-0.19616 -1.84766,-0.002 -1.10471,0.38842 -1.89002,1.32506 -2.44922,1.9961 a 0.50064603,0.50064603 0 1 0 0.76954,0.64062 c 0.54481,-0.65377 1.26345,-1.43095 2.00976,-1.69336 0.37316,-0.1312 0.7444,-0.1559 1.18359,0 0.4392,0.1559 0.95757,0.51168 1.54102,1.19727 0.19894,0.23376 0.56603,0.91963 0.64063,1.27734 A 0.50005,0.50005 0 0 0 369.75,125 h 0.5 a 0.50005,0.50005 0 0 0 0.49023,-0.40234 c 0.0736,-0.37229 0.37785,-0.96363 0.64063,-1.27344 0.58467,-0.68931 1.10595,-1.04668 1.54492,-1.20313 0.43897,-0.15644 0.80714,-0.13175 1.17969,0 0.74509,0.2635 1.46354,1.04375 2.00976,1.69922 a 0.50064603,0.50064603 0 1 0 0.76954,-0.64062 c -0.55904,-0.67084 -1.34269,-1.61133 -2.44727,-2.00196 z"
- id="path17826-1"
- inkscape:connector-curvature="0" />
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g14433"
- transform="rotate(-90,380.52904,134)">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 390.04688,140.46484 a 0.50005,0.50005 0 0 0 -0.41797,0.20704 l -2.95508,3.93945 a 0.50005,0.50005 0 0 0 -0.01,0.70703 l 2.96485,3.95312 a 0.50019216,0.50019216 0 1 0 0.80078,-0.5996 l -2.40039,-3.20118 h 7.1914 l -0.63867,1.27735 a 0.50005635,0.50005635 0 1 0 0.89453,0.44726 l 0.96875,-1.93554 a 0.50005,0.50005 0 0 0 -0.006,-0.58399 l -0.96289,-1.92773 a 0.50005635,0.50005635 0 1 0 -0.89453,0.44726 l 0.63867,1.27539 h -7.1914 l 2.40039,-3.19922 a 0.50005,0.50005 0 0 0 -0.38281,-0.80664 z"
- id="path17796-5"
- inkscape:connector-curvature="0" />
- </g>
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:7.40000248;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 348.5,120 c -1.47879,0 -2.81353,0.43206 -3.80469,1.06641 C 343.70416,121.70075 343,122.54357 343,123.5 c 0,1.02778 0.79097,1.88608 1.87891,2.49805 1.08228,0.60878 2.52394,0.99597 4.09765,1 0.0129,9.4e-4 3.75669,0.27336 6.02344,-2.21094 V 127.5 a 0.50005,0.50005 0 1 0 1,0 v -4 a 0.50005,0.50005 0 0 0 -0.5,-0.5 h -4.25 a 0.50005,0.50005 0 1 0 0,1 h 3.10156 c -1.87731,2.16501 -5.32031,2 -5.32031,2 A 0.50005,0.50005 0 0 0 349,126 c -1.41667,0 -2.71684,-0.36001 -3.62891,-0.87305 C 344.45903,124.61392 344,123.97222 344,123.5 c 0,-0.41012 0.41561,-1.06779 1.23438,-1.5918 C 346.05313,121.38419 347.21846,121 348.5,121 a 0.50005,0.50005 0 1 0 0,-1 z"
- id="path18766-5"
- inkscape:connector-curvature="0" />
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g12950"
- transform="translate(-42.000002,4.4999696e-6)">
- <g
- id="g12531-9"
- transform="translate(-209.00718,-44.00717)"
- style="display:inline;opacity:0.6;fill:#ffffff;enable-background:new">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 446.5,161 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 8 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 7 c 0.67616,0.01 0.67616,-1.00956 0,-1 H 447 v -7 h 0.5 4.9707 1.0293 c 0.67616,0.01 0.67616,-1.00956 0,-1 H 452.4707 447.5 Z m 4.50718,10.00717 L 451,173 h -1.5 c -0.67616,-0.01 -0.67616,1.00956 0,1 h 1.91992 c 0.0537,0.009 0.10843,0.009 0.16211,0 H 453.5 c 0.67616,0.01 0.67616,-1.00956 0,-1 H 452 l 0.007,-1.99283 z"
- id="path12529-5"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="cccccccccccccccccccccccccc" />
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 352.72656,472.9707 c -0.84514,-0.0154 -1.69148,0.28718 -2.33008,0.92578 l -2.13476,2.13477 c -1.14247,-0.0826 -2.16028,-0.0359 -2.98047,0.30273 -0.89973,0.37145 -1.59595,1.03428 -2.08008,1.92774 C 342.23291,480.04863 342,482.7268 342,486.5 a 0.50004997,0.50004997 0 0 0 0.5,0.5 c 3.7729,0 6.45106,-0.23075 8.23828,-1.19727 0.89361,-0.48326 1.5563,-1.17766 1.92774,-2.07812 0.33865,-0.82099 0.38541,-1.84087 0.30273,-2.98633 l 2.13477,-2.13476 c 1.27714,-1.27719 1.21033,-3.38733 -0.0547,-4.65235 -0.63251,-0.63254 -1.47713,-0.96507 -2.32227,-0.98047 z m -0.01,1.00391 c 0.59016,0.0124 1.18356,0.24213 1.625,0.68359 0.88286,0.88287 0.92532,2.36759 0.0547,3.23828 l -2.25,2.25 a 0.50004997,0.50004997 0 0 0 -0.14453,0.4043 c 0.11985,1.19116 0.0231,2.10252 -0.26172,2.79297 -0.28481,0.69045 -0.74712,1.18455 -1.47851,1.58008 -1.27506,0.68955 -3.50366,0.96361 -6.50586,1.02734 l 3.10352,-3.10351 c 0.19538,0.094 0.41106,0.15234 0.64062,0.15234 0.8225,0 1.5,-0.6775 1.5,-1.5 0,-0.8225 -0.6775,-1.5 -1.5,-1.5 -0.8225,0 -1.5,0.6775 -1.5,1.5 0,0.22956 0.0584,0.44524 0.15234,0.64062 l -3.10351,3.10352 c 0.0645,-3.00197 0.34215,-5.23052 1.0332,-6.50586 0.3964,-0.73154 0.8902,-1.19371 1.58008,-1.47851 0.68987,-0.28481 1.59959,-0.38153 2.78711,-0.26172 a 0.50004997,0.50004997 0 0 0 0.4043,-0.14453 l 2.25,-2.25 c 0.43534,-0.43536 1.02312,-0.64126 1.61328,-0.62891 z" id="path8087-0" inkscape:connector-curvature="0"/>
+ <g id="g6603" style="fill:#ffffff">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 237.49219,305 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 2 a 0.50005,0.50005 0 1 0 1,0 V 306 h 3 v 12 h -1.5 a 0.50005,0.50005 0 1 0 0,1 h 4 a 0.50005,0.50005 0 1 0 0,-1 h -1.5 v -12 h 3 v 1.5 a 0.50005,0.50005 0 1 0 1,0 v -2 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m 7,6 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 1 a 0.50005,0.50005 0 1 0 1,0 V 312 h 2 v 6 h -0.5 a 0.50005,0.50005 0 1 0 0,1 h 2 a 0.50005,0.50005 0 1 0 0,-1 h -0.5 v -6 h 2 v 0.5 a 0.50005,0.50005 0 1 0 1,0 v -1 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z" id="path6924-7" inkscape:connector-curvature="0"/>
+ </g>
+ <path inkscape:connector-curvature="0" d="m 353,628 h 1 v 1 h -1 z m -3,0 h 1 v 1 h -1 z m -3,0 h 1 v 1 h -1 z m -3,0 h 1 v 1 h -1 z m 9,-3 h 1 v 1 h -1 z m -3,0 h 1 v 1 h -1 z m -3,0 h 1 v 1 h -1 z m -3,0 h 1 v 1 h -1 z" style="display:inline;opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;enable-background:new" id="path14337"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 374.4375,121.17773 c -0.55229,-0.19531 -1.19407,-0.23097 -1.84766,0.002 -0.65359,0.23293 -1.30733,0.71399 -1.9707,1.49609 -0.28137,0.33173 -0.45085,0.79694 -0.61914,1.24219 -0.17701,-0.45587 -0.36207,-0.94012 -0.61914,-1.24219 -0.66249,-0.77846 -1.31558,-1.25837 -1.96875,-1.49023 -0.65317,-0.23186 -1.2953,-0.19616 -1.84766,-0.002 -1.10471,0.38842 -1.89002,1.32506 -2.44922,1.9961 a 0.50064603,0.50064603 0 1 0 0.76954,0.64062 c 0.54481,-0.65377 1.26345,-1.43095 2.00976,-1.69336 0.37316,-0.1312 0.7444,-0.1559 1.18359,0 0.4392,0.1559 0.95757,0.51168 1.54102,1.19727 0.19894,0.23376 0.56603,0.91963 0.64063,1.27734 A 0.50005,0.50005 0 0 0 369.75,125 h 0.5 a 0.50005,0.50005 0 0 0 0.49023,-0.40234 c 0.0736,-0.37229 0.37785,-0.96363 0.64063,-1.27344 0.58467,-0.68931 1.10595,-1.04668 1.54492,-1.20313 0.43897,-0.15644 0.80714,-0.13175 1.17969,0 0.74509,0.2635 1.46354,1.04375 2.00976,1.69922 a 0.50064603,0.50064603 0 1 0 0.76954,-0.64062 c -0.55904,-0.67084 -1.34269,-1.61133 -2.44727,-2.00196 z" id="path17826-1" inkscape:connector-curvature="0"/>
+ <g style="display:inline;fill:#ffffff;enable-background:new" id="g14433" transform="rotate(-90,380.52904,134)">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 390.04688,140.46484 a 0.50005,0.50005 0 0 0 -0.41797,0.20704 l -2.95508,3.93945 a 0.50005,0.50005 0 0 0 -0.01,0.70703 l 2.96485,3.95312 a 0.50019216,0.50019216 0 1 0 0.80078,-0.5996 l -2.40039,-3.20118 h 7.1914 l -0.63867,1.27735 a 0.50005635,0.50005635 0 1 0 0.89453,0.44726 l 0.96875,-1.93554 a 0.50005,0.50005 0 0 0 -0.006,-0.58399 l -0.96289,-1.92773 a 0.50005635,0.50005635 0 1 0 -0.89453,0.44726 l 0.63867,1.27539 h -7.1914 l 2.40039,-3.19922 a 0.50005,0.50005 0 0 0 -0.38281,-0.80664 z" id="path17796-5" inkscape:connector-curvature="0"/>
+ </g>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:7.40000248;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 348.5,120 c -1.47879,0 -2.81353,0.43206 -3.80469,1.06641 C 343.70416,121.70075 343,122.54357 343,123.5 c 0,1.02778 0.79097,1.88608 1.87891,2.49805 1.08228,0.60878 2.52394,0.99597 4.09765,1 0.0129,9.4e-4 3.75669,0.27336 6.02344,-2.21094 V 127.5 a 0.50005,0.50005 0 1 0 1,0 v -4 a 0.50005,0.50005 0 0 0 -0.5,-0.5 h -4.25 a 0.50005,0.50005 0 1 0 0,1 h 3.10156 c -1.87731,2.16501 -5.32031,2 -5.32031,2 A 0.50005,0.50005 0 0 0 349,126 c -1.41667,0 -2.71684,-0.36001 -3.62891,-0.87305 C 344.45903,124.61392 344,123.97222 344,123.5 c 0,-0.41012 0.41561,-1.06779 1.23438,-1.5918 C 346.05313,121.38419 347.21846,121 348.5,121 a 0.50005,0.50005 0 1 0 0,-1 z" id="path18766-5" inkscape:connector-curvature="0"/>
+ <g style="display:inline;fill:#ffffff;enable-background:new" id="g12950" transform="translate(-42.000002,4.4999696e-6)">
+ <g id="g12531-9" transform="translate(-209.00718,-44.00717)" style="display:inline;opacity:0.6;fill:#ffffff;enable-background:new">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 446.5,161 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 8 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 7 c 0.67616,0.01 0.67616,-1.00956 0,-1 H 447 v -7 h 0.5 4.9707 1.0293 c 0.67616,0.01 0.67616,-1.00956 0,-1 H 452.4707 447.5 Z m 4.50718,10.00717 L 451,173 h -1.5 c -0.67616,-0.01 -0.67616,1.00956 0,1 h 1.91992 c 0.0537,0.009 0.10843,0.009 0.16211,0 H 453.5 c 0.67616,0.01 0.67616,-1.00956 0,-1 H 452 l 0.007,-1.99283 z" id="path12529-5" inkscape:connector-curvature="0" sodipodi:nodetypes="cccccccccccccccccccccccccc"/>
</g>
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999988;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 206.5,115.99219 c -1.39025,0 -2.5,1.19177 -2.5,2.61523 V 120.5 a 0.50004994,0.50004994 0 1 0 1,0 v -1.89258 c 0,-0.91233 0.68117,-1.61523 1.5,-1.61523 0.81884,0 1.5,0.70289 1.5,1.61523 V 120.5 a 0.50004994,0.50004994 0 1 0 1,0 v -1.89258 c 0,-1.42345 -1.10974,-2.61523 -2.5,-2.61523 z m -2.00781,9 A 0.50004994,0.50004994 0 0 0 204,125.5 v 1.88477 c 0,1.42346 1.10975,2.61523 2.5,2.61523 1.39026,0 2.5,-1.19178 2.5,-2.61523 V 125.5 a 0.50004994,0.50004994 0 1 0 -1,0 v 1.88477 c 0,0.91234 -0.68116,1.61523 -1.5,1.61523 -0.81883,0 -1.5,-0.7029 -1.5,-1.61523 V 125.5 a 0.50004994,0.50004994 0 0 0 -0.50781,-0.50781 z"
- transform="translate(42.000002,-4.4999696e-6)"
- id="path12537-3"
- inkscape:connector-curvature="0" />
- </g>
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g12957"
- transform="translate(-42.000002,4.4999696e-6)">
- <g
- style="display:inline;opacity:0.6;fill:#ffffff;enable-background:new"
- transform="translate(-188.00718,-44.00717)"
- id="g12922">
- <path
- id="path12920"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="M 451.00718,171.00717 451,173 h -1.5 c -0.67616,-0.01 -0.67616,1.00956 0,1 h 1.91992 c 0.0537,0.009 0.10843,0.009 0.16211,0 H 453.5 c 0.67616,0.01 0.67616,-1.00956 0,-1 H 452 l 0.007,-1.99283 z M 446.5,161 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 8 a 0.50005,0.50005 0 0 0 0.5,0.5 h 7 a 0.50005,0.50005 0 1 0 0,-1 H 447 v -7 h 0.5 4.9707 1.0293 a 0.50005,0.50005 0 1 0 0,-1 H 452.4707 447.5 Z"
- inkscape:connector-curvature="0" />
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999988;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 206.5,115.99219 c -1.39025,0 -2.5,1.19177 -2.5,2.61523 V 120.5 a 0.50004994,0.50004994 0 1 0 1,0 v -1.89258 c 0,-0.91233 0.68117,-1.61523 1.5,-1.61523 0.81884,0 1.5,0.70289 1.5,1.61523 V 120.5 a 0.50004994,0.50004994 0 1 0 1,0 v -1.89258 c 0,-1.42345 -1.10974,-2.61523 -2.5,-2.61523 z m -2.00781,9 A 0.50004994,0.50004994 0 0 0 204,125.5 v 1.88477 c 0,1.42346 1.10975,2.61523 2.5,2.61523 1.39026,0 2.5,-1.19178 2.5,-2.61523 V 125.5 a 0.50004994,0.50004994 0 1 0 -1,0 v 1.88477 c 0,0.91234 -0.68116,1.61523 -1.5,1.61523 -0.81883,0 -1.5,-0.7029 -1.5,-1.61523 V 125.5 a 0.50004994,0.50004994 0 0 0 -0.50781,-0.50781 z" transform="translate(42.000002,-4.4999696e-6)" id="path12537-3" inkscape:connector-curvature="0"/>
+ </g>
+ <g style="display:inline;fill:#ffffff;enable-background:new" id="g12957" transform="translate(-42.000002,4.4999696e-6)">
+ <g style="display:inline;opacity:0.6;fill:#ffffff;enable-background:new" transform="translate(-188.00718,-44.00717)" id="g12922">
+ <path id="path12920" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="M 451.00718,171.00717 451,173 h -1.5 c -0.67616,-0.01 -0.67616,1.00956 0,1 h 1.91992 c 0.0537,0.009 0.10843,0.009 0.16211,0 H 453.5 c 0.67616,0.01 0.67616,-1.00956 0,-1 H 452 l 0.007,-1.99283 z M 446.5,161 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 8 a 0.50005,0.50005 0 0 0 0.5,0.5 h 7 a 0.50005,0.50005 0 1 0 0,-1 H 447 v -7 h 0.5 4.9707 1.0293 a 0.50005,0.50005 0 1 0 0,-1 H 452.4707 447.5 Z" inkscape:connector-curvature="0"/>
</g>
- <path
- id="path12942"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999988;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 269.5,120 c -1.40822,0 -2.5,1.26701 -2.5,2.75195 v 1.5 c 0,1.48181 1.09178,2.74805 2.5,2.74805 1.40823,0 2.5,-1.26624 2.5,-2.74805 v -0.32031 a 0.50004994,0.50004994 0 1 0 -1,0 v 0.32031 c 0,1.00094 -0.69911,1.74805 -1.5,1.74805 -0.80086,0 -1.5,-0.74712 -1.5,-1.74805 v -1.5 C 268,121.7464 268.69914,121 269.5,121 a 0.50004994,0.50004994 0 1 0 0,-1 z m 0,-4 c -1.40823,0 -2.5,1.26624 -2.5,2.74805 v 0.32031 a 0.50004994,0.50004994 0 1 0 1,0 v -0.32031 C 268,117.74711 268.69911,117 269.5,117 c 0.80086,0 1.5,0.74712 1.5,1.74805 v 1.5 C 271,121.2536 270.30086,122 269.5,122 a 0.50004994,0.50004994 0 1 0 0,1 c 1.40822,0 2.5,-1.26701 2.5,-2.75195 v -1.5 C 272,117.26624 270.90822,116 269.5,116 Z"
- inkscape:connector-curvature="0" />
- </g>
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 225.02539,389.05664 c -1.23014,0.0645 -2.42356,0.6345 -3.37891,1.58984 l -4,4 c -0.95534,0.95535 -1.53001,2.15146 -1.59765,3.38477 -0.0676,1.23331 0.38786,2.49571 1.41406,3.50977 1.02392,1.0118 2.28158,1.46686 3.51172,1.40234 1.23014,-0.0645 2.42356,-0.6345 3.37891,-1.58984 l 4,-4 c 0.95534,-0.95535 1.53001,-2.15146 1.59765,-3.38477 0.0676,-1.23331 -0.38786,-2.49571 -1.41406,-3.50977 -1.02392,-1.0118 -2.28158,-1.46686 -3.51172,-1.40234 z m 0.0527,0.99805 c 0.95617,-0.0502 1.91199,0.28134 2.75586,1.11523 0.8416,0.83164 1.17171,1.78562 1.11914,2.74414 -0.0526,0.95853 -0.50462,1.93041 -1.30664,2.73242 l -4,4 c -0.80201,0.80202 -1.76844,1.24868 -2.7246,1.29883 -0.95617,0.0502 -1.91199,-0.28134 -2.75586,-1.11523 -0.8416,-0.83164 -1.17171,-1.78562 -1.11914,-2.74414 0.0526,-0.95853 0.50462,-1.93041 1.30664,-2.73242 l 4,-4 c 0.80201,-0.80202 1.76844,-1.24868 2.7246,-1.29883 z"
- id="path14559-9"
- inkscape:connector-curvature="0" />
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g13834"
- transform="rotate(90,244,438.00001)"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- inkscape:export-xdpi="96"
- inkscape:export-ydpi="96">
- <g
- id="g13861"
- transform="rotate(-90,244.00797,459)"
- style="fill:#ffffff;stroke:#ffffff">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 258.99609,451.98828 a 1.0001,1.0001 0 0 0 -0.82031,1.56641 l 1.63086,2.44531 -1.63086,2.44531 a 1.0001,1.0001 0 0 0 0,1.10938 l 1.63086,2.44531 -1.63086,2.44531 a 1.0001,1.0001 0 1 0 1.66406,1.10938 l 2,-3 a 1.0001,1.0001 0 0 0 0,-1.10938 L 260.20898,459 l 1.63086,-2.44531 a 1.0001,1.0001 0 0 0 0,-1.10938 l -2,-3 a 1.0001,1.0001 0 0 0 -0.84375,-0.45703 z m 5,0 a 1.0001,1.0001 0 0 0 -0.82031,1.56641 l 1.63086,2.44531 -1.63086,2.44531 a 1.0001,1.0001 0 0 0 0,1.10938 l 1.63086,2.44531 -1.63086,2.44531 a 1.0001,1.0001 0 1 0 1.66406,1.10938 l 2,-3 a 1.0001,1.0001 0 0 0 0,-1.10938 L 265.20898,459 l 1.63086,-2.44531 a 1.0001,1.0001 0 0 0 0,-1.10938 l -2,-3 a 1.0001,1.0001 0 0 0 -0.84375,-0.45703 z m 5,0 a 1.0001,1.0001 0 0 0 -0.82031,1.56641 l 1.63086,2.44531 -1.63086,2.44531 a 1.0001,1.0001 0 0 0 0,1.10938 l 1.63086,2.44531 -1.63086,2.44531 a 1.0001,1.0001 0 1 0 1.66406,1.10938 l 2,-3 a 1.0001,1.0001 0 0 0 0,-1.10938 L 270.20898,459 l 1.63086,-2.44531 a 1.0001,1.0001 0 0 0 0,-1.10938 l -2,-3 a 1.0001,1.0001 0 0 0 -0.84375,-0.45703 z"
- id="path13856"
- inkscape:connector-curvature="0" />
+ <path id="path12942" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999988;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 269.5,120 c -1.40822,0 -2.5,1.26701 -2.5,2.75195 v 1.5 c 0,1.48181 1.09178,2.74805 2.5,2.74805 1.40823,0 2.5,-1.26624 2.5,-2.74805 v -0.32031 a 0.50004994,0.50004994 0 1 0 -1,0 v 0.32031 c 0,1.00094 -0.69911,1.74805 -1.5,1.74805 -0.80086,0 -1.5,-0.74712 -1.5,-1.74805 v -1.5 C 268,121.7464 268.69914,121 269.5,121 a 0.50004994,0.50004994 0 1 0 0,-1 z m 0,-4 c -1.40823,0 -2.5,1.26624 -2.5,2.74805 v 0.32031 a 0.50004994,0.50004994 0 1 0 1,0 v -0.32031 C 268,117.74711 268.69911,117 269.5,117 c 0.80086,0 1.5,0.74712 1.5,1.74805 v 1.5 C 271,121.2536 270.30086,122 269.5,122 a 0.50004994,0.50004994 0 1 0 0,1 c 1.40822,0 2.5,-1.26701 2.5,-2.75195 v -1.5 C 272,117.26624 270.90822,116 269.5,116 Z" inkscape:connector-curvature="0"/>
+ </g>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 225.02539,389.05664 c -1.23014,0.0645 -2.42356,0.6345 -3.37891,1.58984 l -4,4 c -0.95534,0.95535 -1.53001,2.15146 -1.59765,3.38477 -0.0676,1.23331 0.38786,2.49571 1.41406,3.50977 1.02392,1.0118 2.28158,1.46686 3.51172,1.40234 1.23014,-0.0645 2.42356,-0.6345 3.37891,-1.58984 l 4,-4 c 0.95534,-0.95535 1.53001,-2.15146 1.59765,-3.38477 0.0676,-1.23331 -0.38786,-2.49571 -1.41406,-3.50977 -1.02392,-1.0118 -2.28158,-1.46686 -3.51172,-1.40234 z m 0.0527,0.99805 c 0.95617,-0.0502 1.91199,0.28134 2.75586,1.11523 0.8416,0.83164 1.17171,1.78562 1.11914,2.74414 -0.0526,0.95853 -0.50462,1.93041 -1.30664,2.73242 l -4,4 c -0.80201,0.80202 -1.76844,1.24868 -2.7246,1.29883 -0.95617,0.0502 -1.91199,-0.28134 -2.75586,-1.11523 -0.8416,-0.83164 -1.17171,-1.78562 -1.11914,-2.74414 0.0526,-0.95853 0.50462,-1.93041 1.30664,-2.73242 l 4,-4 c 0.80201,-0.80202 1.76844,-1.24868 2.7246,-1.29883 z" id="path14559-9" inkscape:connector-curvature="0"/>
+ <g style="display:inline;fill:#ffffff;enable-background:new" id="g13834" transform="rotate(90,244,438.00001)" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" inkscape:export-xdpi="96" inkscape:export-ydpi="96">
+ <g id="g13861" transform="rotate(-90,244.00797,459)" style="fill:#ffffff;stroke:#ffffff">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 258.99609,451.98828 a 1.0001,1.0001 0 0 0 -0.82031,1.56641 l 1.63086,2.44531 -1.63086,2.44531 a 1.0001,1.0001 0 0 0 0,1.10938 l 1.63086,2.44531 -1.63086,2.44531 a 1.0001,1.0001 0 1 0 1.66406,1.10938 l 2,-3 a 1.0001,1.0001 0 0 0 0,-1.10938 L 260.20898,459 l 1.63086,-2.44531 a 1.0001,1.0001 0 0 0 0,-1.10938 l -2,-3 a 1.0001,1.0001 0 0 0 -0.84375,-0.45703 z m 5,0 a 1.0001,1.0001 0 0 0 -0.82031,1.56641 l 1.63086,2.44531 -1.63086,2.44531 a 1.0001,1.0001 0 0 0 0,1.10938 l 1.63086,2.44531 -1.63086,2.44531 a 1.0001,1.0001 0 1 0 1.66406,1.10938 l 2,-3 a 1.0001,1.0001 0 0 0 0,-1.10938 L 265.20898,459 l 1.63086,-2.44531 a 1.0001,1.0001 0 0 0 0,-1.10938 l -2,-3 a 1.0001,1.0001 0 0 0 -0.84375,-0.45703 z m 5,0 a 1.0001,1.0001 0 0 0 -0.82031,1.56641 l 1.63086,2.44531 -1.63086,2.44531 a 1.0001,1.0001 0 0 0 0,1.10938 l 1.63086,2.44531 -1.63086,2.44531 a 1.0001,1.0001 0 1 0 1.66406,1.10938 l 2,-3 a 1.0001,1.0001 0 0 0 0,-1.10938 L 270.20898,459 l 1.63086,-2.44531 a 1.0001,1.0001 0 0 0 0,-1.10938 l -2,-3 a 1.0001,1.0001 0 0 0 -0.84375,-0.45703 z" id="path13856" inkscape:connector-curvature="0"/>
</g>
</g>
- <path
- id="path15447"
- d="m 539.5,10.000005 c -3.5682,0 -6.5,2.931819 -6.5,6.499999 0,1.42599 0.4737,2.74606 1.2637,3.822271 l -3.9707,3.9707 a 1.0001,1.0001 0 1 0 1.414,1.41406 l 3.9707,-3.9707 c 1.0762,0.78998 2.3963,1.26367 3.8223,1.26367 3.5682,0 6.5,-2.93182 6.5,-6.500001 0,-3.56818 -2.9318,-6.499999 -6.5,-6.499999 z m 0,2.999999 c 0.051,0 0.098,0.0135 0.1484,0.0156 a 0.50005,0.50005 0 0 1 0.3516,0.4844 v 2.5 h 2.5 a 0.50005,0.50005 0 0 1 0.4863,0.35742 0.50005,0.50005 0 0 1 0,0.002 c 0,0.0477 0.014,0.0925 0.014,0.14062 0,0.0488 -0.012,0.0942 -0.014,0.14258 A 0.50005,0.50005 0 0 1 542.5,17.000004 H 540 v 2.5 a 0.50005,0.50005 0 0 1 -0.3574,0.486331 c -0.048,0.002 -0.092,0.0137 -0.1406,0.0137 -0.049,0 -0.094,-0.0117 -0.1426,-0.0137 A 0.50005,0.50005 0 0 1 539,19.500004 v -2.5 h -2.5 a 0.50005,0.50005 0 0 1 -0.4863,-0.35742 0.50005,0.50005 0 0 1 0,-0.002 c 0,-0.0476 -0.014,-0.0925 -0.014,-0.14062 0,-0.0488 0.012,-0.0942 0.014,-0.14258 a 0.50005,0.50005 0 0 1 0.4863,-0.35738 h 2.5 v -2.5 a 0.50005,0.50005 0 0 1 0.3516,-0.48438 c 0.05,-0.002 0.098,-0.0156 0.1484,-0.0156 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:7.17647076;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.00000012;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0.5;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 467.5,10.000005 a 0.50005006,0.50005006 0 0 0 -0.5,0.5 v 15 a 0.50005006,0.50005006 0 0 0 0.5,0.5 h 15 a 0.50005006,0.50005006 0 0 0 0.5,-0.5 v -15 a 0.50005006,0.50005006 0 0 0 -0.5,-0.5 z m 0.5,0.999999 h 4 v 4 h -4 z m 5,0 h 4 v 4 h -4 z m 5,0 h 4 v 4 h -4 z m -10,5 h 4 v 4.000001 h -4 z m 5,0 h 4 v 4.000001 h -4 z m 5,0 h 4 v 4.000001 h -4 z m -10,5.000001 h 4 v 4 h -4 z m 5,0 h 4 v 4 h -4 z m 5,0 h 4 v 4 h -4 z"
- id="rect15343"
- inkscape:connector-curvature="0" />
- <path
- inkscape:connector-curvature="0"
- id="path15369"
- d="m 449.75,12.000004 a 0.50005006,0.50005006 0 0 0 -0.4824,0.36914 l -3.25,12.000001 a 0.50005006,0.50005006 0 0 0 0.4824,0.63086 h 15 a 0.50005006,0.50005006 0 0 0 0.4824,-0.63086 l -3.25,-12.000001 a 0.50005006,0.50005006 0 0 0 -0.4824,-0.36914 z m 0.3828,1 h 2.086 l -0.2169,2 h -2.4121 z m 3.0938,0 h 1.5468 l 0.2168,2 h -1.9804 z m 2.5547,0 h 2.0859 l 0.541,2 h -2.4101 z m -6.461,3 h 2.5723 l -0.3262,3 h -3.0586 z m 3.5801,0 h 2.1992 l 0.3262,3 h -2.8516 z m 3.207,0 h 2.5723 l 0.8125,3 h -3.0586 z m -7.8711,4.000001 h 3.2207 l -0.4336,4 h -3.8711 z m 4.2305,0 h 3.0664 l 0.4356,4 h -3.9375 z m 4.0762,0 h 3.2207 l 1.084,4 h -3.8711 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.00000012;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0.5;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
- <g
- id="g14544"
- transform="translate(41.999998,84.000005)"
- style="display:inline;fill:#ffffff;enable-background:new">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.00000012;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0.5;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 142.16211,494.00195 c -0.3928,-0.016 -0.79264,0.0268 -1.18555,0.13086 -1.05738,0.28017 -1.9221,0.97933 -2.44336,1.89453 -2.51672,-0.22477 -4.91162,1.1516 -5.97656,3.44727 -1.07271,2.31243 -0.56559,5.05473 1.26367,6.83008 1.82926,1.77534 4.58788,2.20194 6.86719,1.06054 2.20676,-1.10505 3.49065,-3.45007 3.27539,-5.89257 0.59118,-0.33407 1.10512,-0.8107 1.46875,-1.41797 0.83525,-1.3949 0.74131,-3.16186 -0.23633,-4.46094 -0.73322,-0.97431 -1.8548,-1.54394 -3.0332,-1.5918 z m -0.041,1 c 0.88379,0.0353 1.72432,0.4611 2.27539,1.19336 0.73477,0.97635 0.80549,2.29734 0.17774,3.34571 -0.62775,1.04836 -1.82561,1.61054 -3.0332,1.42382 a 0.50005006,0.50005006 0 1 0 -0.15235,0.98828 c 0.54314,0.084 1.08325,0.0449 1.59571,-0.0859 0.0521,1.92511 -0.99653,3.7274 -2.7461,4.60351 -1.90239,0.95265 -4.19394,0.59896 -5.7207,-0.88281 -1.52677,-1.48177 -1.94806,-3.76137 -1.05274,-5.69141 0.84423,-1.81987 2.6839,-2.93301 4.66602,-2.88086 -0.0398,0.15646 -0.0768,0.3137 -0.0977,0.47657 a 0.50013931,0.50013931 0 0 0 0.99219,0.12695 c 0.15491,-1.21208 1.02585,-2.20656 2.20703,-2.51953 0.2953,-0.0782 0.59408,-0.10943 0.88867,-0.0977 z"
- transform="translate(-41.999998,-84.000005)"
- id="path14540"
- inkscape:connector-curvature="0" />
- </g>
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 241.25,624 c -0.36727,2.9e-4 -0.60893,0.38318 -0.45117,0.71484 l 2.25,4.75 c 0.18125,0.37923 0.72109,0.37923 0.90234,0 l 2.25,-4.75 C 246.35893,624.38318 246.11727,624.00029 245.75,624 Z"
- id="path14837"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="ccccccc" />
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g13609"
- transform="translate(-187,-89.999995)"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- inkscape:export-xdpi="96"
- inkscape:export-ydpi="96">
- <path
- style="fill:#ffffff;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1"
- d="M 9.5,578 C 7.96808,578 7,579.29203 7,580.5 v 9 c 0,1.20797 0.96808,2.5 2.5,2.5 h 9 c 0.67616,0.01 0.67616,-1.00956 0,-1 h -9 C 8.53192,591 8,590.17765 8,589.5 8,588.82235 8.53192,588 9.5,588 h 9 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -9 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z m 4,1 c 1.37479,0 2.5,1.12521 2.5,2.5 0,1.18026 -0.86027,2.25 -2,2.44531 V 585 h -1 v -1.5 c 3e-5,-0.27613 0.22387,-0.49997 0.5,-0.5 0.83435,0 1.5,-0.66565 1.5,-1.5 0,-0.83435 -0.66565,-1.5 -1.5,-1.5 -0.83435,0 -1.5,0.66565 -1.5,1.5 v 0.5 h -1 v -0.5 c 0,-1.37479 1.12521,-2.5 2.5,-2.5 z m -0.5,7 h 1 v 1 h -1 z m -3.5,3 a 0.50005,0.50005 0 1 0 0,1 h 9 a 0.50005,0.50005 0 1 0 0,-1 z"
- transform="translate(187,89.999995)"
- id="path13602"
- inkscape:connector-curvature="0" />
- </g>
- <g
- inkscape:export-ydpi="96"
- inkscape:export-xdpi="96"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- id="g10909"
- style="display:inline;opacity:0.98999999;fill:#ffffff;enable-background:new"
- transform="matrix(-1,0,0,1,1290,262.99979)">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 968.5,168.00021 c 0.2761,3e-5 0.5,0.22387 0.5,0.5 v 13 c 0,0.27613 -0.2239,0.49997 -0.5,0.5 h -13 c -0.2761,-3e-5 -0.5,-0.22387 -0.5,-0.5 v -13 c 0,-0.27613 0.2239,-0.49997 0.5,-0.5 z m -10,2 c -0.8225,0 -1.5,0.67749 -1.5,1.5 0,0.82251 0.6775,1.5 1.5,1.5 0.8225,0 1.5,-0.67749 1.5,-1.5 0,-0.82251 -0.6775,-1.5 -1.5,-1.5 z m 4.97656,3 c -0.1708,0.008 -0.32545,0.10335 -0.41015,0.25195 l -4,7 c -0.1903,0.33312 0.05,0.74758 0.43359,0.74805 h 8 c 0.3836,-4.7e-4 0.62389,-0.41493 0.43359,-0.74805 l -4,-7 c -0.093,-0.16311 -0.26943,-0.26042 -0.45703,-0.25195 z"
- id="path10907"
- inkscape:connector-curvature="0" />
- </g>
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.3;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 220.50391,17 c -0.19102,-0.0013 -0.36611,0.106306 -0.45118,0.277344 l -3,6 C 216.88757,23.609565 217.12899,23.99963 217.5,24 h 6 c 0.37101,-3.7e-4 0.61243,-0.390435 0.44727,-0.722656 l -3,-6 C 220.86345,17.108826 220.69211,17.001644 220.50391,17 Z"
- id="path13331-5"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="cccccccc" />
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g20257"
- transform="translate(171,5.7999696e-6)">
- <path
- id="path20203"
- d="m -156.48438,137 c -0.27612,3e-5 -0.49996,0.22387 -0.5,0.5 v 0.5 h -1.5 c -0.32865,0.005 -0.51562,0.25232 -0.51562,0.5 v 0.5 h 2.51562 1 H -153 v -0.5 c 0,-0.25267 -0.14909,-0.49526 -0.48438,-0.5 h -1.5 v -0.5 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z m 3.48438,2 0.0156,0.5 v 0.5 h -6 v -0.5 L -159,139 h -1.48438 c -0.27612,3e-5 -0.49996,0.22387 -0.5,0.5 v 3.5 h 2.3086 a 1.50015,1.50015 0 0 1 0.16211,-0.0137 1.50015,1.50015 0 0 1 1.52929,1.69726 V 149 h 5.5 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -9 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.5;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <g
- id="g20226"
- style="fill:#ffffff">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m -158.49414,143.99609 a 0.50005,0.50005 0 0 0 -0.0508,0.004 h -3.93946 a 0.50005,0.50005 0 1 0 0,1 h 2.79297 l -5.14648,5.14648 a 0.50005,0.50005 0 1 0 0.70703,0.70704 l 5.14648,-5.14649 V 148.5 a 0.50005,0.50005 0 1 0 1,0 v -3.94336 a 0.50005,0.50005 0 0 0 -0.50976,-0.56055 z"
- id="path20207"
- inkscape:connector-curvature="0" />
+ <path id="path15447" d="m 539.5,10.000005 c -3.5682,0 -6.5,2.931819 -6.5,6.499999 0,1.42599 0.4737,2.74606 1.2637,3.822271 l -3.9707,3.9707 a 1.0001,1.0001 0 1 0 1.414,1.41406 l 3.9707,-3.9707 c 1.0762,0.78998 2.3963,1.26367 3.8223,1.26367 3.5682,0 6.5,-2.93182 6.5,-6.500001 0,-3.56818 -2.9318,-6.499999 -6.5,-6.499999 z m 0,2.999999 c 0.051,0 0.098,0.0135 0.1484,0.0156 a 0.50005,0.50005 0 0 1 0.3516,0.4844 v 2.5 h 2.5 a 0.50005,0.50005 0 0 1 0.4863,0.35742 0.50005,0.50005 0 0 1 0,0.002 c 0,0.0477 0.014,0.0925 0.014,0.14062 0,0.0488 -0.012,0.0942 -0.014,0.14258 A 0.50005,0.50005 0 0 1 542.5,17.000004 H 540 v 2.5 a 0.50005,0.50005 0 0 1 -0.3574,0.486331 c -0.048,0.002 -0.092,0.0137 -0.1406,0.0137 -0.049,0 -0.094,-0.0117 -0.1426,-0.0137 A 0.50005,0.50005 0 0 1 539,19.500004 v -2.5 h -2.5 a 0.50005,0.50005 0 0 1 -0.4863,-0.35742 0.50005,0.50005 0 0 1 0,-0.002 c 0,-0.0476 -0.014,-0.0925 -0.014,-0.14062 0,-0.0488 0.012,-0.0942 0.014,-0.14258 a 0.50005,0.50005 0 0 1 0.4863,-0.35738 h 2.5 v -2.5 a 0.50005,0.50005 0 0 1 0.3516,-0.48438 c 0.05,-0.002 0.098,-0.0156 0.1484,-0.0156 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:7.17647076;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.00000012;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0.5;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 467.5,10.000005 a 0.50005006,0.50005006 0 0 0 -0.5,0.5 v 15 a 0.50005006,0.50005006 0 0 0 0.5,0.5 h 15 a 0.50005006,0.50005006 0 0 0 0.5,-0.5 v -15 a 0.50005006,0.50005006 0 0 0 -0.5,-0.5 z m 0.5,0.999999 h 4 v 4 h -4 z m 5,0 h 4 v 4 h -4 z m 5,0 h 4 v 4 h -4 z m -10,5 h 4 v 4.000001 h -4 z m 5,0 h 4 v 4.000001 h -4 z m 5,0 h 4 v 4.000001 h -4 z m -10,5.000001 h 4 v 4 h -4 z m 5,0 h 4 v 4 h -4 z m 5,0 h 4 v 4 h -4 z" id="rect15343" inkscape:connector-curvature="0"/>
+ <path inkscape:connector-curvature="0" id="path15369" d="m 449.75,12.000004 a 0.50005006,0.50005006 0 0 0 -0.4824,0.36914 l -3.25,12.000001 a 0.50005006,0.50005006 0 0 0 0.4824,0.63086 h 15 a 0.50005006,0.50005006 0 0 0 0.4824,-0.63086 l -3.25,-12.000001 a 0.50005006,0.50005006 0 0 0 -0.4824,-0.36914 z m 0.3828,1 h 2.086 l -0.2169,2 h -2.4121 z m 3.0938,0 h 1.5468 l 0.2168,2 h -1.9804 z m 2.5547,0 h 2.0859 l 0.541,2 h -2.4101 z m -6.461,3 h 2.5723 l -0.3262,3 h -3.0586 z m 3.5801,0 h 2.1992 l 0.3262,3 h -2.8516 z m 3.207,0 h 2.5723 l 0.8125,3 h -3.0586 z m -7.8711,4.000001 h 3.2207 l -0.4336,4 h -3.8711 z m 4.2305,0 h 3.0664 l 0.4356,4 h -3.9375 z m 4.0762,0 h 3.2207 l 1.084,4 h -3.8711 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.00000012;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0.5;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
+ <g id="g14544" transform="translate(41.999998,84.000005)" style="display:inline;fill:#ffffff;enable-background:new">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.00000012;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0.5;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 142.16211,494.00195 c -0.3928,-0.016 -0.79264,0.0268 -1.18555,0.13086 -1.05738,0.28017 -1.9221,0.97933 -2.44336,1.89453 -2.51672,-0.22477 -4.91162,1.1516 -5.97656,3.44727 -1.07271,2.31243 -0.56559,5.05473 1.26367,6.83008 1.82926,1.77534 4.58788,2.20194 6.86719,1.06054 2.20676,-1.10505 3.49065,-3.45007 3.27539,-5.89257 0.59118,-0.33407 1.10512,-0.8107 1.46875,-1.41797 0.83525,-1.3949 0.74131,-3.16186 -0.23633,-4.46094 -0.73322,-0.97431 -1.8548,-1.54394 -3.0332,-1.5918 z m -0.041,1 c 0.88379,0.0353 1.72432,0.4611 2.27539,1.19336 0.73477,0.97635 0.80549,2.29734 0.17774,3.34571 -0.62775,1.04836 -1.82561,1.61054 -3.0332,1.42382 a 0.50005006,0.50005006 0 1 0 -0.15235,0.98828 c 0.54314,0.084 1.08325,0.0449 1.59571,-0.0859 0.0521,1.92511 -0.99653,3.7274 -2.7461,4.60351 -1.90239,0.95265 -4.19394,0.59896 -5.7207,-0.88281 -1.52677,-1.48177 -1.94806,-3.76137 -1.05274,-5.69141 0.84423,-1.81987 2.6839,-2.93301 4.66602,-2.88086 -0.0398,0.15646 -0.0768,0.3137 -0.0977,0.47657 a 0.50013931,0.50013931 0 0 0 0.99219,0.12695 c 0.15491,-1.21208 1.02585,-2.20656 2.20703,-2.51953 0.2953,-0.0782 0.59408,-0.10943 0.88867,-0.0977 z" transform="translate(-41.999998,-84.000005)" id="path14540" inkscape:connector-curvature="0"/>
+ </g>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 241.25,624 c -0.36727,2.9e-4 -0.60893,0.38318 -0.45117,0.71484 l 2.25,4.75 c 0.18125,0.37923 0.72109,0.37923 0.90234,0 l 2.25,-4.75 C 246.35893,624.38318 246.11727,624.00029 245.75,624 Z" id="path14837" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccccc"/>
+ <g style="display:inline;fill:#ffffff;enable-background:new" id="g13609" transform="translate(-187,-89.999995)" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" inkscape:export-xdpi="96" inkscape:export-ydpi="96">
+ <path style="fill:#ffffff;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" d="M 9.5,578 C 7.96808,578 7,579.29203 7,580.5 v 9 c 0,1.20797 0.96808,2.5 2.5,2.5 h 9 c 0.67616,0.01 0.67616,-1.00956 0,-1 h -9 C 8.53192,591 8,590.17765 8,589.5 8,588.82235 8.53192,588 9.5,588 h 9 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -9 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z m 4,1 c 1.37479,0 2.5,1.12521 2.5,2.5 0,1.18026 -0.86027,2.25 -2,2.44531 V 585 h -1 v -1.5 c 3e-5,-0.27613 0.22387,-0.49997 0.5,-0.5 0.83435,0 1.5,-0.66565 1.5,-1.5 0,-0.83435 -0.66565,-1.5 -1.5,-1.5 -0.83435,0 -1.5,0.66565 -1.5,1.5 v 0.5 h -1 v -0.5 c 0,-1.37479 1.12521,-2.5 2.5,-2.5 z m -0.5,7 h 1 v 1 h -1 z m -3.5,3 a 0.50005,0.50005 0 1 0 0,1 h 9 a 0.50005,0.50005 0 1 0 0,-1 z" transform="translate(187,89.999995)" id="path13602" inkscape:connector-curvature="0"/>
+ </g>
+ <g inkscape:export-ydpi="96" inkscape:export-xdpi="96" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" id="g10909" style="display:inline;opacity:0.98999999;fill:#ffffff;enable-background:new" transform="matrix(-1,0,0,1,1290,262.99979)">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 968.5,168.00021 c 0.2761,3e-5 0.5,0.22387 0.5,0.5 v 13 c 0,0.27613 -0.2239,0.49997 -0.5,0.5 h -13 c -0.2761,-3e-5 -0.5,-0.22387 -0.5,-0.5 v -13 c 0,-0.27613 0.2239,-0.49997 0.5,-0.5 z m -10,2 c -0.8225,0 -1.5,0.67749 -1.5,1.5 0,0.82251 0.6775,1.5 1.5,1.5 0.8225,0 1.5,-0.67749 1.5,-1.5 0,-0.82251 -0.6775,-1.5 -1.5,-1.5 z m 4.97656,3 c -0.1708,0.008 -0.32545,0.10335 -0.41015,0.25195 l -4,7 c -0.1903,0.33312 0.05,0.74758 0.43359,0.74805 h 8 c 0.3836,-4.7e-4 0.62389,-0.41493 0.43359,-0.74805 l -4,-7 c -0.093,-0.16311 -0.26943,-0.26042 -0.45703,-0.25195 z" id="path10907" inkscape:connector-curvature="0"/>
+ </g>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.3;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 220.50391,17 c -0.19102,-0.0013 -0.36611,0.106306 -0.45118,0.277344 l -3,6 C 216.88757,23.609565 217.12899,23.99963 217.5,24 h 6 c 0.37101,-3.7e-4 0.61243,-0.390435 0.44727,-0.722656 l -3,-6 C 220.86345,17.108826 220.69211,17.001644 220.50391,17 Z" id="path13331-5" inkscape:connector-curvature="0" sodipodi:nodetypes="cccccccc"/>
+ <g style="display:inline;fill:#ffffff;enable-background:new" id="g20257" transform="translate(171,5.7999696e-6)">
+ <path id="path20203" d="m -156.48438,137 c -0.27612,3e-5 -0.49996,0.22387 -0.5,0.5 v 0.5 h -1.5 c -0.32865,0.005 -0.51562,0.25232 -0.51562,0.5 v 0.5 h 2.51562 1 H -153 v -0.5 c 0,-0.25267 -0.14909,-0.49526 -0.48438,-0.5 h -1.5 v -0.5 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z m 3.48438,2 0.0156,0.5 v 0.5 h -6 v -0.5 L -159,139 h -1.48438 c -0.27612,3e-5 -0.49996,0.22387 -0.5,0.5 v 3.5 h 2.3086 a 1.50015,1.50015 0 0 1 0.16211,-0.0137 1.50015,1.50015 0 0 1 1.52929,1.69726 V 149 h 5.5 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -9 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.5;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <g id="g20226" style="fill:#ffffff">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m -158.49414,143.99609 a 0.50005,0.50005 0 0 0 -0.0508,0.004 h -3.93946 a 0.50005,0.50005 0 1 0 0,1 h 2.79297 l -5.14648,5.14648 a 0.50005,0.50005 0 1 0 0.70703,0.70704 l 5.14648,-5.14649 V 148.5 a 0.50005,0.50005 0 1 0 1,0 v -3.94336 a 0.50005,0.50005 0 0 0 -0.50976,-0.56055 z" id="path20207" inkscape:connector-curvature="0"/>
</g>
</g>
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g20243"
- transform="matrix(-1,0,0,1,-102.98438,5.7999696e-6)">
- <path
- id="path20230"
- transform="matrix(-1,0,0,1,-274.98438,0)"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.5;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m -144.5,139 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 9 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 7 2 c 0.10658,-1e-5 0.20011,-0.0408 0.28125,-0.0977 l -3.3418,-3.34179 a 1.50015,1.50015 0 1 1 2.1211,-2.1211 L -135,144.87891 V 139.5 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 h -1.48438 L -137,139.5 v 0.5 h -6 v -0.5 l 0.0156,-0.5 z m 5,-2 c 0.27613,3e-5 0.49997,0.22387 0.5,0.5 v 0.5 h 1.5 c 0.32865,0.005 0.51562,0.25232 0.51562,0.5 v 0.5 h -2.51562 -1 -2.48438 v -0.5 c 0,-0.25267 0.14909,-0.49526 0.48438,-0.5 h 1.5 v -0.5 c 3e-5,-0.27613 0.22387,-0.49997 0.5,-0.5 z"
- inkscape:connector-curvature="0" />
- <g
- transform="rotate(180,-150.98485,147.5)"
- id="g20236"
- style="fill:#ffffff">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m -158.49414,143.99609 a 0.50005,0.50005 0 0 0 -0.0508,0.004 h -3.93946 a 0.50005,0.50005 0 1 0 0,1 h 2.79297 l -5.14648,5.14648 a 0.50005,0.50005 0 1 0 0.70703,0.70704 l 5.14648,-5.14649 V 148.5 a 0.50005,0.50005 0 1 0 1,0 v -3.94336 a 0.50005,0.50005 0 0 0 -0.50976,-0.56055 z"
- id="path20234"
- inkscape:connector-curvature="0" />
+ <g style="display:inline;fill:#ffffff;enable-background:new" id="g20243" transform="matrix(-1,0,0,1,-102.98438,5.7999696e-6)">
+ <path id="path20230" transform="matrix(-1,0,0,1,-274.98438,0)" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.5;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m -144.5,139 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 9 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 7 2 c 0.10658,-1e-5 0.20011,-0.0408 0.28125,-0.0977 l -3.3418,-3.34179 a 1.50015,1.50015 0 1 1 2.1211,-2.1211 L -135,144.87891 V 139.5 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 h -1.48438 L -137,139.5 v 0.5 h -6 v -0.5 l 0.0156,-0.5 z m 5,-2 c 0.27613,3e-5 0.49997,0.22387 0.5,0.5 v 0.5 h 1.5 c 0.32865,0.005 0.51562,0.25232 0.51562,0.5 v 0.5 h -2.51562 -1 -2.48438 v -0.5 c 0,-0.25267 0.14909,-0.49526 0.48438,-0.5 h 1.5 v -0.5 c 3e-5,-0.27613 0.22387,-0.49997 0.5,-0.5 z" inkscape:connector-curvature="0"/>
+ <g transform="rotate(180,-150.98485,147.5)" id="g20236" style="fill:#ffffff">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m -158.49414,143.99609 a 0.50005,0.50005 0 0 0 -0.0508,0.004 h -3.93946 a 0.50005,0.50005 0 1 0 0,1 h 2.79297 l -5.14648,5.14648 a 0.50005,0.50005 0 1 0 0.70703,0.70704 l 5.14648,-5.14649 V 148.5 a 0.50005,0.50005 0 1 0 1,0 v -3.94336 a 0.50005,0.50005 0 0 0 -0.50976,-0.56055 z" id="path20234" inkscape:connector-curvature="0"/>
</g>
</g>
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g20375"
- transform="matrix(-1,0,0,1,131,5.7999696e-6)">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="M 48.492188,137 A 0.50005,0.50005 0 0 0 48,137.50781 v 3 a 0.50005,0.50005 0 1 0 1,0 v -3 A 0.50005,0.50005 0 0 0 48.492188,137 Z m 0,5 A 0.50005,0.50005 0 0 0 48,142.50781 v 3 a 0.50005,0.50005 0 1 0 1,0 v -3 A 0.50005,0.50005 0 0 0 48.492188,142 Z m 0,5 A 0.50005,0.50005 0 0 0 48,147.50781 v 3 a 0.50005,0.50005 0 1 0 1,0 v -3 A 0.50005,0.50005 0 0 0 48.492188,147 Z"
- id="path20369"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.5;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 51.515625,137 c -0.27612,3e-5 -0.49996,0.22387 -0.5,0.5 V 138 H 50 v 1 h 1.515625 1 H 55 v -0.5 c 0,-0.25267 -0.149085,-0.49526 -0.484375,-0.5 h -1.5 v -0.5 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z M 55,139 l 0.01563,0.5 V 140 H 50 v 9 h 6.515625 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -0.35938 l -2.580078,-2.58007 a 1.50015,1.50015 0 1 1 2.121094,-2.1211 l 0.458984,0.45899 V 139.5 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z"
- id="path20371"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 55.490234,143.99414 a 0.50005,0.50005 0 0 0 -0.349609,0.85938 L 60.287109,150 h -2.792968 a 0.50005,0.50005 0 1 0 0,1 h 3.939453 a 0.50005,0.50005 0 0 0 0.560547,-0.57031 V 146.5 a 0.50005,0.50005 0 1 0 -1,0 v 2.79297 l -5.146485,-5.14649 a 0.50005,0.50005 0 0 0 -0.357422,-0.15234 z"
- id="path20373"
- inkscape:connector-curvature="0" />
- </g>
- <g
- transform="translate(-1.8536743e-6,4.4999696e-6)"
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g20474">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="M 48.492188,137 A 0.50005,0.50005 0 0 0 48,137.50781 v 3 a 0.50005,0.50005 0 1 0 1,0 v -3 A 0.50005,0.50005 0 0 0 48.492188,137 Z m 0,5 A 0.50005,0.50005 0 0 0 48,142.50781 v 3 a 0.50005,0.50005 0 1 0 1,0 v -3 A 0.50005,0.50005 0 0 0 48.492188,142 Z m 0,5 A 0.50005,0.50005 0 0 0 48,147.50781 v 3 a 0.50005,0.50005 0 1 0 1,0 v -3 A 0.50005,0.50005 0 0 0 48.492188,147 Z"
- id="path8290-6-5"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.5;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 51.509766,137 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 V 138 H 50 v 1 h 1.509766 1 2.515625 v -0.5 c 0,-0.24768 -0.186975,-0.495 -0.515625,-0.5 h -1.5 v -0.5 c -4e-5,-0.27613 -0.22388,-0.49997 -0.5,-0.5 z m 3.515625,2 -0.01563,0.5 V 140 H 50 v 9 h 4.009766 v -4.31641 c -0.12178,-0.91601 0.605587,-1.72326 1.529296,-1.69726 0.05424,0.002 0.10831,0.007 0.16211,0.0137 h 1.308594 v -3.5 c -4e-5,-0.27613 -0.22388,-0.49997 -0.5,-0.5 z"
- id="path20454"
- inkscape:connector-curvature="0" />
- <g
- transform="matrix(-1,0,0,1,-102.97428,1.2445863e-6)"
- id="g20458"
- style="fill:#ffffff">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m -158.49414,143.99609 a 0.50005,0.50005 0 0 0 -0.0508,0.004 h -3.93946 a 0.50005,0.50005 0 1 0 0,1 h 2.79297 l -5.14648,5.14648 a 0.50005,0.50005 0 1 0 0.70703,0.70704 l 5.14648,-5.14649 V 148.5 a 0.50005,0.50005 0 1 0 1,0 v -3.94336 a 0.50005,0.50005 0 0 0 -0.50976,-0.56055 z"
- id="path20456"
- inkscape:connector-curvature="0" />
+ <g style="display:inline;fill:#ffffff;enable-background:new" id="g20375" transform="matrix(-1,0,0,1,131,5.7999696e-6)">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="M 48.492188,137 A 0.50005,0.50005 0 0 0 48,137.50781 v 3 a 0.50005,0.50005 0 1 0 1,0 v -3 A 0.50005,0.50005 0 0 0 48.492188,137 Z m 0,5 A 0.50005,0.50005 0 0 0 48,142.50781 v 3 a 0.50005,0.50005 0 1 0 1,0 v -3 A 0.50005,0.50005 0 0 0 48.492188,142 Z m 0,5 A 0.50005,0.50005 0 0 0 48,147.50781 v 3 a 0.50005,0.50005 0 1 0 1,0 v -3 A 0.50005,0.50005 0 0 0 48.492188,147 Z" id="path20369" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.5;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 51.515625,137 c -0.27612,3e-5 -0.49996,0.22387 -0.5,0.5 V 138 H 50 v 1 h 1.515625 1 H 55 v -0.5 c 0,-0.25267 -0.149085,-0.49526 -0.484375,-0.5 h -1.5 v -0.5 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z M 55,139 l 0.01563,0.5 V 140 H 50 v 9 h 6.515625 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -0.35938 l -2.580078,-2.58007 a 1.50015,1.50015 0 1 1 2.121094,-2.1211 l 0.458984,0.45899 V 139.5 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z" id="path20371" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 55.490234,143.99414 a 0.50005,0.50005 0 0 0 -0.349609,0.85938 L 60.287109,150 h -2.792968 a 0.50005,0.50005 0 1 0 0,1 h 3.939453 a 0.50005,0.50005 0 0 0 0.560547,-0.57031 V 146.5 a 0.50005,0.50005 0 1 0 -1,0 v 2.79297 l -5.146485,-5.14649 a 0.50005,0.50005 0 0 0 -0.357422,-0.15234 z" id="path20373" inkscape:connector-curvature="0"/>
+ </g>
+ <g transform="translate(-1.8536743e-6,4.4999696e-6)" style="display:inline;fill:#ffffff;enable-background:new" id="g20474">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="M 48.492188,137 A 0.50005,0.50005 0 0 0 48,137.50781 v 3 a 0.50005,0.50005 0 1 0 1,0 v -3 A 0.50005,0.50005 0 0 0 48.492188,137 Z m 0,5 A 0.50005,0.50005 0 0 0 48,142.50781 v 3 a 0.50005,0.50005 0 1 0 1,0 v -3 A 0.50005,0.50005 0 0 0 48.492188,142 Z m 0,5 A 0.50005,0.50005 0 0 0 48,147.50781 v 3 a 0.50005,0.50005 0 1 0 1,0 v -3 A 0.50005,0.50005 0 0 0 48.492188,147 Z" id="path8290-6-5" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.5;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 51.509766,137 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 V 138 H 50 v 1 h 1.509766 1 2.515625 v -0.5 c 0,-0.24768 -0.186975,-0.495 -0.515625,-0.5 h -1.5 v -0.5 c -4e-5,-0.27613 -0.22388,-0.49997 -0.5,-0.5 z m 3.515625,2 -0.01563,0.5 V 140 H 50 v 9 h 4.009766 v -4.31641 c -0.12178,-0.91601 0.605587,-1.72326 1.529296,-1.69726 0.05424,0.002 0.10831,0.007 0.16211,0.0137 h 1.308594 v -3.5 c -4e-5,-0.27613 -0.22388,-0.49997 -0.5,-0.5 z" id="path20454" inkscape:connector-curvature="0"/>
+ <g transform="matrix(-1,0,0,1,-102.97428,1.2445863e-6)" id="g20458" style="fill:#ffffff">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m -158.49414,143.99609 a 0.50005,0.50005 0 0 0 -0.0508,0.004 h -3.93946 a 0.50005,0.50005 0 1 0 0,1 h 2.79297 l -5.14648,5.14648 a 0.50005,0.50005 0 1 0 0.70703,0.70704 l 5.14648,-5.14649 V 148.5 a 0.50005,0.50005 0 1 0 1,0 v -3.94336 a 0.50005,0.50005 0 0 0 -0.50976,-0.56055 z" id="path20456" inkscape:connector-curvature="0"/>
</g>
</g>
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g21550"
- transform="translate(-21.000002,189)">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 471.54297,473 -3,3 h 1.20703 8.20703 l 3,-3 z m 0.41406,1 h 6.58594 l -1,1 h -6.58594 z m 5.54297,3 -9.00781,0.008 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 9 a 0.50005,0.50005 0 0 0 0.5,0.5 h 9 a 0.50005,0.50005 0 0 0 0.5,-0.5 L 478,477.5 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m -0.5,1 -0.008,8.00781 h -8 v -8.00195 z"
- transform="translate(21.000002,-189)"
- id="path21430"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 503,285.04297 -0.85352,0.85351 L 500,288.04297 v 9.41406 l 3,-3 z"
- id="path21432"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="cccccc" />
- </g>
- <g
- transform="translate(-243,336)"
- style="display:inline;opacity:1;fill:#ffffff;enable-background:new"
- id="g21571">
- <path
- inkscape:connector-curvature="0"
- id="rect21332"
- d="M 775.46875,284 C 774.66371,284 774,284.66371 774,285.46875 v 11.0625 c 0,0.80504 0.66371,1.46875 1.46875,1.46875 h 8.0625 C 784.33629,298 785,297.33629 785,296.53125 v -0.58203 c -1.68181,-0.24823 -3,-1.70468 -3,-3.44922 0,-1.74454 1.31819,-3.20099 3,-3.44922 v -3.58203 C 785,284.66371 784.33629,284 783.53125,284 Z M 775,285 h 9 v 3 h -9 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 785.5,295 c -1.37479,0 -2.5,-1.12521 -2.5,-2.5 0,-1.37479 1.12521,-2.5 2.5,-2.5 1.37479,0 2.5,1.12521 2.5,2.5 0,1.37479 -1.12521,2.5 -2.5,2.5 z"
- id="circle21336"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="sssss" />
- </g>
- <g
- transform="translate(-285,336)"
- style="display:inline;opacity:1;fill:#ffffff;enable-background:new"
- id="g21575">
- <path
- sodipodi:nodetypes="sscssssccsssscccss"
- inkscape:connector-curvature="0"
- id="rect21315-8"
- d="m 797,284 c -1.09935,0 -2,0.90065 -2,2 v 2 8 c 0,1.09935 0.90065,2 2,2 h 7 c 1.09935,0 2,-0.90065 2,-2 v -0.5 c 0.01,-0.67616 -1.00956,-0.67616 -1,0 v 0.5 c 0,0.56265 -0.43735,1 -1,1 h -7 c -0.56265,0 -1,-0.43735 -1,-1 v -8 h 10 v -2 c 0,-1.09935 -0.90065,-2 -2,-2 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 806.5,294 c -1.37479,0 -2.5,-1.12521 -2.5,-2.5 0,-1.37479 1.12521,-2.5 2.5,-2.5 1.37479,0 2.5,1.12521 2.5,2.5 0,1.37479 -1.12521,2.5 -2.5,2.5 z"
- id="circle21317-8"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="sssss" />
- </g>
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g14854"
- transform="translate(-70.000007,21.000006)">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="M 333.49219,94.992188 A 0.50005,0.50005 0 0 0 333,95.5 v 8.91016 l -4.68555,1.875 a 0.50050477,0.50050477 0 1 0 0.3711,0.92968 l 4.82812,-1.93164 7.82422,2.68946 a 0.50005,0.50005 0 1 0 0.32422,-0.94532 L 334,104.39258 V 95.5 a 0.50005,0.50005 0 0 0 -0.50781,-0.507812 z"
- id="path14834"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 335.50586,95.435547 c -0.27842,-0.0032 -0.50585,0.221565 -0.50586,0.5 v 6.884763 c -1.3e-4,0.21757 0.14044,0.41026 0.34766,0.47657 l 6,1.92968 c 0.32275,0.10319 0.65252,-0.13772 0.65234,-0.47656 v -6.884766 c 1.3e-4,-0.217571 -0.14044,-0.410257 -0.34766,-0.476562 l -6,-1.929688 c -0.0474,-0.01505 -0.0968,-0.02295 -0.14648,-0.02344 z"
- id="path14836"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="ccccccccccc" />
- </g>
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- transform="matrix(-1,0,0,1,551.0001,21.000006)"
- id="g14869">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="M 263.49219,94.992188 A 0.50005,0.50005 0 0 0 263,95.5 v 8.91016 l -4.68555,1.875 a 0.50050477,0.50050477 0 1 0 0.3711,0.92968 l 4.82812,-1.93164 7.82422,2.68946 a 0.50005,0.50005 0 1 0 0.32422,-0.94532 L 264,104.39258 V 95.5 a 0.50005,0.50005 0 0 0 -0.50781,-0.507812 z"
- id="path14865"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 265.50586,95.435547 c -0.27842,-0.0032 -0.50585,0.221565 -0.50586,0.5 v 6.884763 c -1.3e-4,0.21757 0.14044,0.41026 0.34766,0.47657 l 6,1.92968 c 0.32275,0.10319 0.65252,-0.13772 0.65234,-0.47656 v -6.884766 c 1.3e-4,-0.217571 -0.14044,-0.410257 -0.34766,-0.476562 l -6,-1.929688 c -0.0474,-0.01505 -0.0968,-0.02295 -0.14648,-0.02344 z"
- id="path14867"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="ccccccccccc" />
- </g>
- <g
- transform="translate(-6.3536743e-6,22.000006)"
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g22568">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 307.51172,103 c -0.0577,-0.001 -0.11517,0.007 -0.16992,0.0254 l -6,2 c -0.45678,0.15155 -0.45678,0.79767 0,0.94922 l 6,2 c 0.10269,0.0343 0.21371,0.0343 0.3164,0 l 6,-2 c 0.45678,-0.15155 0.45678,-0.79767 0,-0.94922 l -6,-2 c -0.0473,-0.0157 -0.0967,-0.0243 -0.14648,-0.0254 z"
- id="path14873"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="cccccccccc" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="M 307.49219,93.992188 A 0.50005,0.50005 0 0 0 307,94.5 v 5.88867 l -5.6582,1.88672 a 0.50028181,0.50028181 0 1 0 0.3164,0.94922 l 5.8418,-1.94727 5.8418,1.94727 a 0.50028181,0.50028181 0 1 0 0.3164,-0.94922 L 308,100.38867 V 94.5 a 0.50005,0.50005 0 0 0 -0.50781,-0.507812 z"
- id="path14875"
- inkscape:connector-curvature="0" />
- </g>
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g20896"
- transform="translate(-189,63.000005)">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 161.50391,410 c -0.82054,0 -1.4961,0.67556 -1.4961,1.49609 0,0.82054 0.67556,1.4961 1.4961,1.4961 0.82053,0 1.49609,-0.67556 1.49609,-1.4961 C 163,410.67556 162.32444,410 161.50391,410 Z M 153.5,411 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 3 a 0.50005,0.50005 0 0 0 0.5,0.5 h 3 a 0.50005,0.50005 0 0 0 0.5,-0.5 V 414 h 0.51562 2.49805 L 160,417.28711 c -1.65939,1.40974 -3.24134,2.62162 -3.98828,6.10742 -0.17787,0.67446 0.86019,0.89868 0.97656,0.21094 0.67528,-3.15139 1.92341,-4.0882 3.51758,-5.42774 1.58398,1.34059 2.83152,2.27747 3.51953,5.42969 0.13318,0.66658 1.13543,0.44609 0.97656,-0.21484 -0.76273,-3.49457 -2.35104,-4.70351 -4.00195,-6.11719 L 161.01367,414 h 2.2168 3.28515 c 0.6573,-0.009 0.6573,-0.9907 0,-1 h -3.04296 c -0.45945,0.59659 -1.17125,0.99219 -1.96875,0.99219 -0.79751,0 -1.50931,-0.3956 -1.96875,-0.99219 H 157.51562 157 v -1.5 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m 0.5,1 h 2 v 2 h -2 z"
- transform="translate(189,-63.000005)"
- id="path20782"
- inkscape:connector-curvature="0" />
- <g
- inkscape:export-ydpi="96"
- inkscape:export-xdpi="96"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- transform="translate(188,-63)"
- id="g20817"
- style="fill:#ffffff" />
- </g>
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.4;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 285.49219,220.9707 a 0.50005,0.50005 0 0 0 -0.4336,0.29688 l -4,9 a 0.50005,0.50005 0 0 0 0.10352,0.55664 l 4,4 a 0.50005,0.50005 0 0 0 0.70703,0 l 4,-4 a 0.50005,0.50005 0 0 0 0.10352,-0.55664 l -4,-9 a 0.50005,0.50005 0 0 0 -0.48047,-0.29688 z m 0.0234,1.73047 3.4043,7.65821 -3.4043,3.40429 -3.40429,-3.40429 z"
- id="path20963"
- inkscape:connector-curvature="0" />
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- transform="translate(-189,168)"
- id="g21028">
- <path
- inkscape:connector-curvature="0"
- id="path21020"
- d="m 342.5,348 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 3 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 3 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -3 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- sodipodi:nodetypes="ccccccccc" />
- <g
- id="g21026"
- transform="translate(188,-63)"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- inkscape:export-xdpi="96"
- inkscape:export-ydpi="96"
- style="fill:#ffffff">
- <path
- id="circle21024"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 162.50391,410 c -0.82054,0 -1.4961,0.67556 -1.4961,1.49609 0,0.82054 0.67556,1.4961 1.4961,1.4961 0.82053,0 1.49609,-0.67556 1.49609,-1.4961 C 164,410.67556 163.32444,410 162.50391,410 Z M 159.5,413 c -0.67616,-0.01 -0.67616,1.00956 0,1 h 1.01562 0.49805 L 161,417.28711 c -1.65939,1.40974 -3.24134,2.62162 -3.98828,6.10742 -0.17787,0.67446 0.86019,0.89868 0.97656,0.21094 0.67528,-3.15139 1.92341,-4.0882 3.51758,-5.42774 1.58398,1.34059 2.83152,2.27747 3.51953,5.42969 0.13318,0.66658 1.13543,0.44609 0.97656,-0.21484 -0.76273,-3.49457 -2.35104,-4.70351 -4.00195,-6.11719 L 162.01367,414 h 2.2168 3.28515 c 0.6573,-0.009 0.6573,-0.9907 0,-1 h -3.04296 c -0.45945,0.59659 -1.17125,0.99219 -1.96875,0.99219 -0.79751,0 -1.50931,-0.3956 -1.96875,-0.99219 h -0.0195 z"
- inkscape:connector-curvature="0" />
+ <g style="display:inline;fill:#ffffff;enable-background:new" id="g21550" transform="translate(-21.000002,189)">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 471.54297,473 -3,3 h 1.20703 8.20703 l 3,-3 z m 0.41406,1 h 6.58594 l -1,1 h -6.58594 z m 5.54297,3 -9.00781,0.008 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 9 a 0.50005,0.50005 0 0 0 0.5,0.5 h 9 a 0.50005,0.50005 0 0 0 0.5,-0.5 L 478,477.5 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m -0.5,1 -0.008,8.00781 h -8 v -8.00195 z" transform="translate(21.000002,-189)" id="path21430" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 503,285.04297 -0.85352,0.85351 L 500,288.04297 v 9.41406 l 3,-3 z" id="path21432" inkscape:connector-curvature="0" sodipodi:nodetypes="cccccc"/>
+ </g>
+ <g transform="translate(-243,336)" style="display:inline;opacity:1;fill:#ffffff;enable-background:new" id="g21571">
+ <path inkscape:connector-curvature="0" id="rect21332" d="M 775.46875,284 C 774.66371,284 774,284.66371 774,285.46875 v 11.0625 c 0,0.80504 0.66371,1.46875 1.46875,1.46875 h 8.0625 C 784.33629,298 785,297.33629 785,296.53125 v -0.58203 c -1.68181,-0.24823 -3,-1.70468 -3,-3.44922 0,-1.74454 1.31819,-3.20099 3,-3.44922 v -3.58203 C 785,284.66371 784.33629,284 783.53125,284 Z M 775,285 h 9 v 3 h -9 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 785.5,295 c -1.37479,0 -2.5,-1.12521 -2.5,-2.5 0,-1.37479 1.12521,-2.5 2.5,-2.5 1.37479,0 2.5,1.12521 2.5,2.5 0,1.37479 -1.12521,2.5 -2.5,2.5 z" id="circle21336" inkscape:connector-curvature="0" sodipodi:nodetypes="sssss"/>
+ </g>
+ <g transform="translate(-285,336)" style="display:inline;opacity:1;fill:#ffffff;enable-background:new" id="g21575">
+ <path sodipodi:nodetypes="sscssssccsssscccss" inkscape:connector-curvature="0" id="rect21315-8" d="m 797,284 c -1.09935,0 -2,0.90065 -2,2 v 2 8 c 0,1.09935 0.90065,2 2,2 h 7 c 1.09935,0 2,-0.90065 2,-2 v -0.5 c 0.01,-0.67616 -1.00956,-0.67616 -1,0 v 0.5 c 0,0.56265 -0.43735,1 -1,1 h -7 c -0.56265,0 -1,-0.43735 -1,-1 v -8 h 10 v -2 c 0,-1.09935 -0.90065,-2 -2,-2 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 806.5,294 c -1.37479,0 -2.5,-1.12521 -2.5,-2.5 0,-1.37479 1.12521,-2.5 2.5,-2.5 1.37479,0 2.5,1.12521 2.5,2.5 0,1.37479 -1.12521,2.5 -2.5,2.5 z" id="circle21317-8" inkscape:connector-curvature="0" sodipodi:nodetypes="sssss"/>
+ </g>
+ <g style="display:inline;fill:#ffffff;enable-background:new" id="g14854" transform="translate(-70.000007,21.000006)">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="M 333.49219,94.992188 A 0.50005,0.50005 0 0 0 333,95.5 v 8.91016 l -4.68555,1.875 a 0.50050477,0.50050477 0 1 0 0.3711,0.92968 l 4.82812,-1.93164 7.82422,2.68946 a 0.50005,0.50005 0 1 0 0.32422,-0.94532 L 334,104.39258 V 95.5 a 0.50005,0.50005 0 0 0 -0.50781,-0.507812 z" id="path14834" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 335.50586,95.435547 c -0.27842,-0.0032 -0.50585,0.221565 -0.50586,0.5 v 6.884763 c -1.3e-4,0.21757 0.14044,0.41026 0.34766,0.47657 l 6,1.92968 c 0.32275,0.10319 0.65252,-0.13772 0.65234,-0.47656 v -6.884766 c 1.3e-4,-0.217571 -0.14044,-0.410257 -0.34766,-0.476562 l -6,-1.929688 c -0.0474,-0.01505 -0.0968,-0.02295 -0.14648,-0.02344 z" id="path14836" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccccccccc"/>
+ </g>
+ <g style="display:inline;fill:#ffffff;enable-background:new" transform="matrix(-1,0,0,1,551.0001,21.000006)" id="g14869">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="M 263.49219,94.992188 A 0.50005,0.50005 0 0 0 263,95.5 v 8.91016 l -4.68555,1.875 a 0.50050477,0.50050477 0 1 0 0.3711,0.92968 l 4.82812,-1.93164 7.82422,2.68946 a 0.50005,0.50005 0 1 0 0.32422,-0.94532 L 264,104.39258 V 95.5 a 0.50005,0.50005 0 0 0 -0.50781,-0.507812 z" id="path14865" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 265.50586,95.435547 c -0.27842,-0.0032 -0.50585,0.221565 -0.50586,0.5 v 6.884763 c -1.3e-4,0.21757 0.14044,0.41026 0.34766,0.47657 l 6,1.92968 c 0.32275,0.10319 0.65252,-0.13772 0.65234,-0.47656 v -6.884766 c 1.3e-4,-0.217571 -0.14044,-0.410257 -0.34766,-0.476562 l -6,-1.929688 c -0.0474,-0.01505 -0.0968,-0.02295 -0.14648,-0.02344 z" id="path14867" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccccccccc"/>
+ </g>
+ <g transform="translate(-6.3536743e-6,22.000006)" style="display:inline;fill:#ffffff;enable-background:new" id="g22568">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 307.51172,103 c -0.0577,-0.001 -0.11517,0.007 -0.16992,0.0254 l -6,2 c -0.45678,0.15155 -0.45678,0.79767 0,0.94922 l 6,2 c 0.10269,0.0343 0.21371,0.0343 0.3164,0 l 6,-2 c 0.45678,-0.15155 0.45678,-0.79767 0,-0.94922 l -6,-2 c -0.0473,-0.0157 -0.0967,-0.0243 -0.14648,-0.0254 z" id="path14873" inkscape:connector-curvature="0" sodipodi:nodetypes="cccccccccc"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="M 307.49219,93.992188 A 0.50005,0.50005 0 0 0 307,94.5 v 5.88867 l -5.6582,1.88672 a 0.50028181,0.50028181 0 1 0 0.3164,0.94922 l 5.8418,-1.94727 5.8418,1.94727 a 0.50028181,0.50028181 0 1 0 0.3164,-0.94922 L 308,100.38867 V 94.5 a 0.50005,0.50005 0 0 0 -0.50781,-0.507812 z" id="path14875" inkscape:connector-curvature="0"/>
+ </g>
+ <g style="display:inline;fill:#ffffff;enable-background:new" id="g20896" transform="translate(-189,63.000005)">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 161.50391,410 c -0.82054,0 -1.4961,0.67556 -1.4961,1.49609 0,0.82054 0.67556,1.4961 1.4961,1.4961 0.82053,0 1.49609,-0.67556 1.49609,-1.4961 C 163,410.67556 162.32444,410 161.50391,410 Z M 153.5,411 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 3 a 0.50005,0.50005 0 0 0 0.5,0.5 h 3 a 0.50005,0.50005 0 0 0 0.5,-0.5 V 414 h 0.51562 2.49805 L 160,417.28711 c -1.65939,1.40974 -3.24134,2.62162 -3.98828,6.10742 -0.17787,0.67446 0.86019,0.89868 0.97656,0.21094 0.67528,-3.15139 1.92341,-4.0882 3.51758,-5.42774 1.58398,1.34059 2.83152,2.27747 3.51953,5.42969 0.13318,0.66658 1.13543,0.44609 0.97656,-0.21484 -0.76273,-3.49457 -2.35104,-4.70351 -4.00195,-6.11719 L 161.01367,414 h 2.2168 3.28515 c 0.6573,-0.009 0.6573,-0.9907 0,-1 h -3.04296 c -0.45945,0.59659 -1.17125,0.99219 -1.96875,0.99219 -0.79751,0 -1.50931,-0.3956 -1.96875,-0.99219 H 157.51562 157 v -1.5 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m 0.5,1 h 2 v 2 h -2 z" transform="translate(189,-63.000005)" id="path20782" inkscape:connector-curvature="0"/>
+ <g inkscape:export-ydpi="96" inkscape:export-xdpi="96" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" transform="translate(188,-63)" id="g20817" style="fill:#ffffff"/>
+ </g>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.4;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 285.49219,220.9707 a 0.50005,0.50005 0 0 0 -0.4336,0.29688 l -4,9 a 0.50005,0.50005 0 0 0 0.10352,0.55664 l 4,4 a 0.50005,0.50005 0 0 0 0.70703,0 l 4,-4 a 0.50005,0.50005 0 0 0 0.10352,-0.55664 l -4,-9 a 0.50005,0.50005 0 0 0 -0.48047,-0.29688 z m 0.0234,1.73047 3.4043,7.65821 -3.4043,3.40429 -3.40429,-3.40429 z" id="path20963" inkscape:connector-curvature="0"/>
+ <g style="display:inline;fill:#ffffff;enable-background:new" transform="translate(-189,168)" id="g21028">
+ <path inkscape:connector-curvature="0" id="path21020" d="m 342.5,348 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 3 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 3 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -3 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" sodipodi:nodetypes="ccccccccc"/>
+ <g id="g21026" transform="translate(188,-63)" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" inkscape:export-xdpi="96" inkscape:export-ydpi="96" style="fill:#ffffff">
+ <path id="circle21024" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 162.50391,410 c -0.82054,0 -1.4961,0.67556 -1.4961,1.49609 0,0.82054 0.67556,1.4961 1.4961,1.4961 0.82053,0 1.49609,-0.67556 1.49609,-1.4961 C 164,410.67556 163.32444,410 162.50391,410 Z M 159.5,413 c -0.67616,-0.01 -0.67616,1.00956 0,1 h 1.01562 0.49805 L 161,417.28711 c -1.65939,1.40974 -3.24134,2.62162 -3.98828,6.10742 -0.17787,0.67446 0.86019,0.89868 0.97656,0.21094 0.67528,-3.15139 1.92341,-4.0882 3.51758,-5.42774 1.58398,1.34059 2.83152,2.27747 3.51953,5.42969 0.13318,0.66658 1.13543,0.44609 0.97656,-0.21484 -0.76273,-3.49457 -2.35104,-4.70351 -4.00195,-6.11719 L 162.01367,414 h 2.2168 3.28515 c 0.6573,-0.009 0.6573,-0.9907 0,-1 h -3.04296 c -0.45945,0.59659 -1.17125,0.99219 -1.96875,0.99219 -0.79751,0 -1.50931,-0.3956 -1.96875,-0.99219 h -0.0195 z" inkscape:connector-curvature="0"/>
</g>
</g>
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- inkscape:export-ydpi="96"
- inkscape:export-xdpi="96"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- transform="translate(-84.000002,-62.999995)"
- id="g21409">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 269.13867,410.0332 c -0.49613,-0.0451 -1.03862,0.15972 -1.49219,0.61328 l -8.5,8.5 c -0.0639,0.0642 -0.10909,0.14453 -0.13086,0.23243 l -1,4 c -0.0904,0.36537 0.2401,0.69582 0.60547,0.60547 l 4,-1 c 0.0879,-0.0218 0.16823,-0.067 0.23243,-0.13086 l 8.5,-8.5 c 0.45356,-0.45357 0.65838,-0.99606 0.61328,-1.49219 -0.0451,-0.49613 -0.30436,-0.90592 -0.61328,-1.21485 l -1,-1 c -0.30893,-0.30892 -0.71872,-0.56817 -1.21485,-0.61328 z m -1.88867,2.42383 2.29297,2.29297 -7.29883,7.29883 -3.05859,0.76562 0.76562,-3.05859 z"
- transform="translate(84.000002,62.999995)"
- id="path21405"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="cccccccccsccccccccc" />
- </g>
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- inkscape:export-ydpi="96"
- inkscape:export-xdpi="96"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- transform="translate(-21.000001)"
- id="g12839">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 353.13867,473.0332 c -0.49613,-0.0451 -1.03862,0.15972 -1.49219,0.61328 l -0.75,0.75 c -0.19519,0.19527 -0.19519,0.51177 0,0.70704 l 3,3 c 0.19527,0.19519 0.51177,0.19519 0.70704,0 l 0.75,-0.75 c 0.45356,-0.45357 0.65838,-0.99606 0.61328,-1.49219 -0.0451,-0.49613 -0.30436,-0.90592 -0.61328,-1.21485 l -1,-1 c -0.30893,-0.30892 -0.71872,-0.56817 -1.21485,-0.61328 z m -3.39644,2.7168 c -0.12989,0.002 -0.25387,0.0546 -0.34571,0.14648 l -6.25,6.25 c -0.0639,0.0642 -0.10909,0.14453 -0.13086,0.23243 l -1,4 c -0.0904,0.36537 0.2401,0.69582 0.60547,0.60547 l 4,-1 c 0.0879,-0.0218 0.16823,-0.067 0.23243,-0.13086 l 6.25,-6.25 c 0.19519,-0.19527 0.19519,-0.51177 0,-0.70704 l -3,-3 c -0.0957,-0.0957 -0.22605,-0.14856 -0.36137,-0.14648 z"
- id="path12837"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="cccccccscccccccccccccccc" />
- </g>
- <g
- style="display:inline;opacity:1;fill:#ffffff;enable-background:new"
- id="g14495"
- transform="matrix(-1,0,0,1,718.99999,4.4999696e-6)">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 363.49414,141.99414 a 0.50005,0.50005 0 0 0 -0.34766,0.85938 l 7.15235,7.15234 H 367.5 a 0.50005,0.50005 0 1 0 0,1 h 4 a 0.50005,0.50005 0 0 0 0.006,0 0.50005,0.50005 0 0 0 0.0937,-0.0117 0.50005,0.50005 0 0 0 0.0488,-0.0117 0.50005,0.50005 0 0 0 0.3515,-0.54301 v -3.93359 a 0.50005,0.50005 0 1 0 -1,0 v 2.78711 l -7.14648,-7.14649 a 0.50005,0.50005 0 0 0 -0.35938,-0.15234 z"
- id="path14485"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 368.49414,137 a 0.50005,0.50005 0 0 0 -0.0937,0.01 0.50005,0.50005 0 0 0 -0.0488,0.0117 A 0.50005,0.50005 0 0 0 368,137.56445 V 141.5 a 0.50005,0.50005 0 1 0 1,0 v -2.78711 l 7.14648,7.14649 a 0.50005,0.50005 0 1 0 0.70704,-0.70704 L 369.70117,138 H 372.5 a 0.50005,0.50005 0 1 0 0,-1 h -4 a 0.50005,0.50005 0 0 0 -0.006,0 z"
- id="path14491"
- inkscape:connector-curvature="0" />
- </g>
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g19653"
- transform="translate(-628,42.000005)">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 143.13867,515.0332 c -0.49613,-0.0451 -1.03862,0.15972 -1.49219,0.61328 l -1.75,1.75 c -0.19519,0.19527 -0.19519,0.51177 0,0.70704 l 3,3 c 0.19527,0.19519 0.51177,0.19519 0.70704,0 l 1.75,-1.75 c 0.45356,-0.45357 0.65838,-0.99606 0.61328,-1.49219 -0.0451,-0.49613 -0.30436,-0.90592 -0.61328,-1.21485 l -1,-1 c -0.30893,-0.30892 -0.71872,-0.56817 -1.21485,-0.61328 z m -4.39648,3.7168 a 0.50005,0.50005 0 0 0 -0.34571,0.14648 l -0.25,0.25 a 0.50005,0.50005 0 0 0 0,0.70704 l 3,3 a 0.50005,0.50005 0 0 0 0.70704,0 l 0.25,-0.25 a 0.50005,0.50005 0 0 0 0,-0.70704 l -3,-3 A 0.50005,0.50005 0 0 0 138.74219,518.75 Z m -1.25196,2.24609 a 0.50005,0.50005 0 0 0 -0.34375,0.15039 l -4.25,4.25 c -0.83838,0.83839 -1.06879,1.7573 -0.80273,2.4668 C 132.35981,528.57278 133.04167,529 133.75,529 H 138 c 1.00042,0 2,-0.79793 2,-2 v -3.5 a 0.50005,0.50005 0 1 0 -1,0 v 3.5 c 0,0.66505 -0.50442,1 -1,1 h -4.25 c -0.29167,0 -0.60981,-0.19778 -0.71875,-0.48828 -0.10894,-0.2905 -0.0893,-0.74659 0.57227,-1.4082 l 4.25,-4.25 a 0.50005,0.50005 0 0 0 -0.36329,-0.85743 z"
- transform="translate(628,-42.000005)"
- id="path19637"
- inkscape:connector-curvature="0" />
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- inkscape:export-ydpi="96"
- inkscape:export-xdpi="96"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- transform="translate(418,-4.7064591e-6)"
- id="g19647" />
- </g>
- <path
- inkscape:connector-curvature="0"
- id="path20483"
- d="m 75.999998,620 c -3.860077,0 -7,3.13991 -7,7 0,3.86009 3.139924,7 7,7 3.860076,0 7,-3.13991 7,-7 0,-3.86009 -3.139923,-7 -7,-7 z m 2.990234,2.98633 a 1.0001,1.0001 0 0 1 0.716797,1.7207 L 77.41406,627 l 2.292969,2.29297 a 1.0001,1.0001 0 1 1 -1.414062,1.41406 l -2.292969,-2.29297 -2.292969,2.29297 a 1.0001,1.0001 0 1 1 -1.414062,-1.41406 L 74.585936,627 72.292967,624.70703 a 1.0001,1.0001 0 0 1 0.697265,-1.7168 1.0001,1.0001 0 0 1 0.716797,0.30274 l 2.292969,2.29297 2.292969,-2.29297 a 1.0001,1.0001 0 0 1 0.697265,-0.30664 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
- <g
- transform="translate(-1.8536743e-6,3.4999696e-6)"
- inkscape:export-ydpi="96"
- inkscape:export-xdpi="96"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- id="g20495"
- style="display:inline;opacity:1;fill:#ffffff;enable-background:new">
- <g
- transform="translate(-189,588)"
- id="g20491"
- style="fill:#ffffff" />
- <path
- id="path20493"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 34,622 c -1.783333,0 -3,1.5 -3,3 h 2 c 0,-0.5 0.283333,-1 1,-1 0.716667,0 1,0.5 1,1 0,0.24702 -0.03644,0.30082 -0.117188,0.41016 -0.08074,0.10934 -0.253932,0.25966 -0.513671,0.4707 C 33.849662,626.30294 33,627.16667 33,628.5 v 0.5 h 2 v -0.5 c 0,-0.66667 0.150338,-0.67794 0.630859,-1.06836 0.240261,-0.19521 0.567072,-0.43551 0.861329,-0.83398 C 36.786444,626.19918 37,625.62798 37,625 c 0,-1.5 -1.216667,-3 -3,-3 z m -1,8.00009 h 2 v 2 H 33 Z M 34,620 c -3.86007,0 -7,3.13991 -7,7 0,3.86009 3.13993,7 7,7 3.86008,0 7,-3.13991 7,-7 0,-3.86009 -3.13992,-7 -7,-7 z m 0,1 c 3.31964,0 6,2.68035 6,6 0,3.31965 -2.68036,6 -6,6 -3.31963,0 -6,-2.68035 -6,-6 0,-3.31965 2.68037,-6 6,-6 z"
- inkscape:connector-curvature="0" />
- </g>
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 55.011717,620 c -0.689946,-0.004 -1.325726,0.38513 -1.634766,1.00195 l -5.1875,10.3711 c -0.594248,1.18749 0.293094,2.62623 1.621094,2.62695 h 10.378906 c 1.327265,-7.2e-4 2.213373,-1.43788 1.621094,-2.625 l -5.1875,-10.37305 C 56.317741,620.39258 55.693326,620.0046 55.011717,620 Z m -1.011719,3 h 2 v 6 h -2 z m 0,7 h 2 v 2 h -2 z"
- id="path20558"
- inkscape:connector-curvature="0" />
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- inkscape:export-ydpi="96"
- inkscape:export-xdpi="96"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- id="g20538"
- transform="rotate(-180,317.50525,417)">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 331.50586,410 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 3 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 3 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -3 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z"
- id="path20529"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="ccccccccc" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 323.95117,412.94531 c -0.75176,0.0616 -1.47366,0.37015 -2.05469,0.95117 -1.16941,1.16942 -1.16162,2.91055 -0.28906,4.30664 0.87256,1.3961 2.57397,2.52709 4.83399,2.79297 C 329.94786,421.40861 333,419.08206 333,416 v -0.5 a 0.50005,0.50005 0 1 0 -1,0 v 0.5 c 0,2.41794 -2.42686,4.35855 -5.44141,4.00391 -1.98998,-0.23412 -3.41357,-1.22813 -4.10351,-2.33203 -0.68994,-1.10391 -0.68215,-2.23778 0.14844,-3.06836 0.83795,-0.83796 1.98844,-0.89361 3.08398,-0.26368 1.09554,0.62994 2.08242,1.9799 2.31641,3.96875 a 0.50005,0.50005 0 1 0 0.99218,-0.11718 c -0.26601,-2.26115 -1.40413,-3.91119 -2.80859,-4.71875 -0.70223,-0.40379 -1.48457,-0.58895 -2.23633,-0.52735 z m 3.54102,9.04883 a 0.50005,0.50005 0 0 0 -0.37696,0.1875 C 326.73975,422.63463 325.92671,423 325,423 h -1.5 a 0.50005,0.50005 0 1 0 0,1 h 1.5 c 1.17529,0 2.25213,-0.41841 2.88477,-1.18164 a 0.50005,0.50005 0 0 0 -0.39258,-0.82422 z"
- id="path20536"
- inkscape:connector-curvature="0" />
- </g>
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 331,410 c -2.22355,0 -4.0767,1.3002 -5.12305,3.18945 0.93682,-0.21724 1.92473,-0.28964 2.92578,-0.17187 0.40221,0.0473 0.78928,0.12403 1.16797,0.21484 C 330.29795,413.09146 330.64197,413 331,413 h 0.5 c 2.02848,0.0287 2.02848,-3.02869 0,-3 z m -3.05859,3.95898 c -3.69856,-0.0756 -6.93164,2.52898 -6.93164,6.04102 v 1.5 c -0.0287,2.02848 3.02869,2.02848 3,0 V 420 c 0,-1.75382 1.80351,-3.30654 4.32617,-3.00977 0.37314,0.0439 0.71883,0.11732 1.03711,0.21485 1.3077,0.40071 2.14372,1.21003 2.47656,1.91211 0.22905,0.48316 0.34095,1.19341 -0.0996,1.63281 -0.4946,0.4933 -1.25,0.34848 -1.89258,-0.0527 -0.70436,-0.44 -1.43726,-1.36047 -1.75195,-2.71875 -0.21041,-0.0194 -0.41646,-0.0328 -0.60742,-0.0234 -1.06865,0.0527 -1.81638,0.53365 -2.19727,1.13086 0.52848,1.85114 1.6077,3.30531 2.9668,4.15429 1.61509,1.00892 3.82413,1.05951 5.33594,-0.2539 0.0754,-0.0514 0.14605,-0.10959 0.21093,-0.17383 0.0562,-0.057 0.10785,-0.11837 0.1543,-0.18359 1.19162,-1.34198 1.31147,-3.2788 0.5918,-4.79688 -0.75194,-1.58612 -2.28118,-2.87289 -4.3086,-3.49414 -0.49344,-0.15121 -1.01745,-0.26354 -1.5664,-0.32812 -0.2499,-0.0294 -0.49757,-0.0457 -0.74414,-0.0508 z"
- id="path20562"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="scccsccscsccsccccccccccccccccc" />
- <g
- transform="translate(-1.8536743e-6,4.4999696e-6)"
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g20665">
- <path
- id="path20610"
- d="m 348.51367,409.98828 a 1.50015,1.50015 0 0 0 -0.80859,0.24024 C 343.03811,413.14537 342,418.71429 342,422.5 a 1.50015,1.50015 0 1 0 3,0 c 0,-0.89832 0.0865,-1.89371 0.26758,-2.9043 -0.25845,-3.40076 0.85029,-7.04233 3.87109,-9.4707 a 1.50015,1.50015 0 0 0 -0.625,-0.13672 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.4;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- id="path20608"
- d="m 351.51367,409.98828 a 1.50015,1.50015 0 0 0 -0.80859,0.24024 c -4.71461,2.94662 -5.33528,8.77693 -3.58399,12.86328 a 1.5005399,1.5005399 0 1 0 2.75782,-1.1836 c -0.38431,-0.89672 -0.59027,-1.91481 -0.62891,-2.95117 -0.67215,-3.14692 0.29131,-6.6121 2.9043,-8.82422 a 1.50015,1.50015 0 0 0 -0.64063,-0.14453 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- inkscape:connector-curvature="0"
- id="path20592"
- d="m 354.51367,409.98828 a 1.50015,1.50015 0 0 0 -0.80859,0.24024 c -4.9147,3.07168 -4.9147,10.47128 0,13.54296 a 1.50015,1.50015 0 1 0 1.58984,-2.54296 c -3.0853,-1.92832 -3.0853,-6.52872 0,-8.45704 a 1.50015,1.50015 0 0 0 -0.78125,-2.7832 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
- </g>
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g22444"
- transform="translate(-1.8536743e-6,-41.999995)">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.5;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 292.5,305 -9.00781,0.008 a 0.50005,0.50005 0 0 0 -0.5,0.50781 l 0.0391,2.49219 1,-0.0156 -0.0312,-1.98438 8,-0.008 -0.006,8.01172 -2,0.0195 0.01,1 2.49414,-0.0234 a 0.50005,0.50005 0 0 0 0.49414,-0.5 L 293,305.5 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z"
- id="path22408"
- inkscape:connector-curvature="0" />
- <path
- id="path22122"
- d="m 279,309 v 2 h 2 v -2 z m 2,2 v 2 h 2 v -2 z m 2,0 h 2 v -2 h -2 z m 2,0 v 2 h 2 v -2 z m 2,0 h 2 v -2 h -2 z m 0,2 v 2 h 2 v -2 z m 0,2 h -2 v 2 h 2 z m 0,2 v 2 h 2 v -2 z m -2,0 h -2 v 2 h 2 z m -2,0 v -2 h -2 v 2 z m -2,0 h -2 v 2 h 2 z m 0,-2 v -2 h -2 v 2 z m 2,0 h 2 v -2 h -2 z"
- style="display:inline;opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;enable-background:new"
- inkscape:connector-curvature="0" />
- </g>
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- inkscape:export-ydpi="96"
- inkscape:export-xdpi="96"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- transform="translate(422.00881,-131.00682)"
- id="g22132">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m -76.509766,394.00586 a 0.50005,0.50005 0 0 0 -0.486328,0.38867 l -3.011718,12.98828 a 0.50005,0.50005 0 0 0 0.486328,0.61328 h 9.974609 a 0.50005,0.50005 0 0 0 0.488281,-0.38476 l 3.03711,-12.99024 a 0.50005,0.50005 0 0 0 -0.488282,-0.61523 z m 0.398438,1 h 3.974609 l -1.154297,5 h -3.978515 z m 5,0 h 3.972656 l -1.169922,5 h -3.955078 z m -6.390625,6 h 3.980469 l -1.382813,5.99023 h -3.986328 z m 5.005859,0 h 3.953125 l -1.40039,5.99023 h -3.933594 z"
- id="path22130"
- inkscape:connector-curvature="0" />
- </g>
- <g
- id="g22232"
- transform="translate(-42.000002,-20.999995)"
- style="display:inline;fill:#ffffff;enable-background:new">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 145.49023,283.99609 a 0.50005,0.50005 0 0 0 -0.34375,0.15039 l -1,1 a 0.50005,0.50005 0 1 0 0.70704,0.70704 l 1,-1 a 0.50005,0.50005 0 0 0 -0.36329,-0.85743 z m -3,3 a 0.50005,0.50005 0 0 0 -0.34375,0.15039 l -1,1 a 0.50005,0.50005 0 1 0 0.70704,0.70704 l 1,-1 a 0.50005,0.50005 0 0 0 -0.36329,-0.85743 z m -3,3 a 0.50005,0.50005 0 0 0 -0.34375,0.15039 l -1,1 a 0.50005,0.50005 0 1 0 0.70704,0.70704 l 1,-1 a 0.50005,0.50005 0 0 0 -0.36329,-0.85743 z m -3,3 a 0.50005,0.50005 0 0 0 -0.34375,0.15039 l -1,1 a 0.50005,0.50005 0 1 0 0.70704,0.70704 l 1,-1 a 0.50005,0.50005 0 0 0 -0.36329,-0.85743 z m -3,3 a 0.50005,0.50005 0 0 0 -0.34375,0.15039 l -1,1 a 0.50005,0.50005 0 1 0 0.70704,0.70704 l 1,-1 a 0.50005,0.50005 0 0 0 -0.36329,-0.85743 z"
- id="path22209"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 132.5,284 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 6 a 0.50005,0.50005 0 0 0 0.5,0.5 h 4 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -6 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m 0.5,1 h 3 v 5 h -3 z m 6.5,8 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 4 a 0.50005,0.50005 0 0 0 0.5,0.5 h 6 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -4 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m 0.5,1 h 5 v 3 h -5 z"
- id="path22212"
- inkscape:connector-curvature="0" />
- </g>
- <g
- transform="translate(-231,-83.999995)"
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g26345">
- <g
- id="g22592"
- style="fill:#ffffff">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 300.5,326 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 13 a 0.50005,0.50005 0 0 0 0.5,0.5 h 13 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -13 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m 0.5,1 h 12 v 12 h -12 z"
- id="path22548"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="M 307.49219,326.99219 A 0.50005,0.50005 0 0 0 307,327.5 v 5.5 h -5.5 a 0.50005,0.50005 0 1 0 0,1 h 5.5 v 2 h -5.5 a 0.50005,0.50005 0 1 0 0,1 h 5.5 v 1.5 a 0.50005,0.50005 0 1 0 1,0 V 337 h 2 v 1.5 a 0.50005,0.50005 0 1 0 1,0 V 337 h 1.5 a 0.50005,0.50005 0 1 0 0,-1 H 311 v -2 h 1.5 a 0.50005,0.50005 0 1 0 0,-1 H 311 v -5.5 a 0.50005,0.50005 0 1 0 -1,0 v 5.5 h -2 v -5.5 a 0.50005,0.50005 0 0 0 -0.50781,-0.50781 z M 308,334 h 2 v 2 h -2 z"
- id="path22585"
- inkscape:connector-curvature="0" />
+ <g style="display:inline;fill:#ffffff;enable-background:new" inkscape:export-ydpi="96" inkscape:export-xdpi="96" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" transform="translate(-84.000002,-62.999995)" id="g21409">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 269.13867,410.0332 c -0.49613,-0.0451 -1.03862,0.15972 -1.49219,0.61328 l -8.5,8.5 c -0.0639,0.0642 -0.10909,0.14453 -0.13086,0.23243 l -1,4 c -0.0904,0.36537 0.2401,0.69582 0.60547,0.60547 l 4,-1 c 0.0879,-0.0218 0.16823,-0.067 0.23243,-0.13086 l 8.5,-8.5 c 0.45356,-0.45357 0.65838,-0.99606 0.61328,-1.49219 -0.0451,-0.49613 -0.30436,-0.90592 -0.61328,-1.21485 l -1,-1 c -0.30893,-0.30892 -0.71872,-0.56817 -1.21485,-0.61328 z m -1.88867,2.42383 2.29297,2.29297 -7.29883,7.29883 -3.05859,0.76562 0.76562,-3.05859 z" transform="translate(84.000002,62.999995)" id="path21405" inkscape:connector-curvature="0" sodipodi:nodetypes="cccccccccsccccccccc"/>
+ </g>
+ <g style="display:inline;fill:#ffffff;enable-background:new" inkscape:export-ydpi="96" inkscape:export-xdpi="96" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" transform="translate(-21.000001)" id="g12839">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 353.13867,473.0332 c -0.49613,-0.0451 -1.03862,0.15972 -1.49219,0.61328 l -0.75,0.75 c -0.19519,0.19527 -0.19519,0.51177 0,0.70704 l 3,3 c 0.19527,0.19519 0.51177,0.19519 0.70704,0 l 0.75,-0.75 c 0.45356,-0.45357 0.65838,-0.99606 0.61328,-1.49219 -0.0451,-0.49613 -0.30436,-0.90592 -0.61328,-1.21485 l -1,-1 c -0.30893,-0.30892 -0.71872,-0.56817 -1.21485,-0.61328 z m -3.39644,2.7168 c -0.12989,0.002 -0.25387,0.0546 -0.34571,0.14648 l -6.25,6.25 c -0.0639,0.0642 -0.10909,0.14453 -0.13086,0.23243 l -1,4 c -0.0904,0.36537 0.2401,0.69582 0.60547,0.60547 l 4,-1 c 0.0879,-0.0218 0.16823,-0.067 0.23243,-0.13086 l 6.25,-6.25 c 0.19519,-0.19527 0.19519,-0.51177 0,-0.70704 l -3,-3 c -0.0957,-0.0957 -0.22605,-0.14856 -0.36137,-0.14648 z" id="path12837" inkscape:connector-curvature="0" sodipodi:nodetypes="cccccccscccccccccccccccc"/>
+ </g>
+ <g style="display:inline;opacity:1;fill:#ffffff;enable-background:new" id="g14495" transform="matrix(-1,0,0,1,718.99999,4.4999696e-6)">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 363.49414,141.99414 a 0.50005,0.50005 0 0 0 -0.34766,0.85938 l 7.15235,7.15234 H 367.5 a 0.50005,0.50005 0 1 0 0,1 h 4 a 0.50005,0.50005 0 0 0 0.006,0 0.50005,0.50005 0 0 0 0.0937,-0.0117 0.50005,0.50005 0 0 0 0.0488,-0.0117 0.50005,0.50005 0 0 0 0.3515,-0.54301 v -3.93359 a 0.50005,0.50005 0 1 0 -1,0 v 2.78711 l -7.14648,-7.14649 a 0.50005,0.50005 0 0 0 -0.35938,-0.15234 z" id="path14485" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 368.49414,137 a 0.50005,0.50005 0 0 0 -0.0937,0.01 0.50005,0.50005 0 0 0 -0.0488,0.0117 A 0.50005,0.50005 0 0 0 368,137.56445 V 141.5 a 0.50005,0.50005 0 1 0 1,0 v -2.78711 l 7.14648,7.14649 a 0.50005,0.50005 0 1 0 0.70704,-0.70704 L 369.70117,138 H 372.5 a 0.50005,0.50005 0 1 0 0,-1 h -4 a 0.50005,0.50005 0 0 0 -0.006,0 z" id="path14491" inkscape:connector-curvature="0"/>
+ </g>
+ <g style="display:inline;fill:#ffffff;enable-background:new" id="g19653" transform="translate(-628,42.000005)">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 143.13867,515.0332 c -0.49613,-0.0451 -1.03862,0.15972 -1.49219,0.61328 l -1.75,1.75 c -0.19519,0.19527 -0.19519,0.51177 0,0.70704 l 3,3 c 0.19527,0.19519 0.51177,0.19519 0.70704,0 l 1.75,-1.75 c 0.45356,-0.45357 0.65838,-0.99606 0.61328,-1.49219 -0.0451,-0.49613 -0.30436,-0.90592 -0.61328,-1.21485 l -1,-1 c -0.30893,-0.30892 -0.71872,-0.56817 -1.21485,-0.61328 z m -4.39648,3.7168 a 0.50005,0.50005 0 0 0 -0.34571,0.14648 l -0.25,0.25 a 0.50005,0.50005 0 0 0 0,0.70704 l 3,3 a 0.50005,0.50005 0 0 0 0.70704,0 l 0.25,-0.25 a 0.50005,0.50005 0 0 0 0,-0.70704 l -3,-3 A 0.50005,0.50005 0 0 0 138.74219,518.75 Z m -1.25196,2.24609 a 0.50005,0.50005 0 0 0 -0.34375,0.15039 l -4.25,4.25 c -0.83838,0.83839 -1.06879,1.7573 -0.80273,2.4668 C 132.35981,528.57278 133.04167,529 133.75,529 H 138 c 1.00042,0 2,-0.79793 2,-2 v -3.5 a 0.50005,0.50005 0 1 0 -1,0 v 3.5 c 0,0.66505 -0.50442,1 -1,1 h -4.25 c -0.29167,0 -0.60981,-0.19778 -0.71875,-0.48828 -0.10894,-0.2905 -0.0893,-0.74659 0.57227,-1.4082 l 4.25,-4.25 a 0.50005,0.50005 0 0 0 -0.36329,-0.85743 z" transform="translate(628,-42.000005)" id="path19637" inkscape:connector-curvature="0"/>
+ <g style="display:inline;fill:#ffffff;enable-background:new" inkscape:export-ydpi="96" inkscape:export-xdpi="96" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" transform="translate(418,-4.7064591e-6)" id="g19647"/>
+ </g>
+ <path inkscape:connector-curvature="0" id="path20483" d="m 75.999998,620 c -3.860077,0 -7,3.13991 -7,7 0,3.86009 3.139924,7 7,7 3.860076,0 7,-3.13991 7,-7 0,-3.86009 -3.139923,-7 -7,-7 z m 2.990234,2.98633 a 1.0001,1.0001 0 0 1 0.716797,1.7207 L 77.41406,627 l 2.292969,2.29297 a 1.0001,1.0001 0 1 1 -1.414062,1.41406 l -2.292969,-2.29297 -2.292969,2.29297 a 1.0001,1.0001 0 1 1 -1.414062,-1.41406 L 74.585936,627 72.292967,624.70703 a 1.0001,1.0001 0 0 1 0.697265,-1.7168 1.0001,1.0001 0 0 1 0.716797,0.30274 l 2.292969,2.29297 2.292969,-2.29297 a 1.0001,1.0001 0 0 1 0.697265,-0.30664 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
+ <g transform="translate(-1.8536743e-6,3.4999696e-6)" inkscape:export-ydpi="96" inkscape:export-xdpi="96" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" id="g20495" style="display:inline;opacity:1;fill:#ffffff;enable-background:new">
+ <g transform="translate(-189,588)" id="g20491" style="fill:#ffffff"/>
+ <path id="path20493" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 34,622 c -1.783333,0 -3,1.5 -3,3 h 2 c 0,-0.5 0.283333,-1 1,-1 0.716667,0 1,0.5 1,1 0,0.24702 -0.03644,0.30082 -0.117188,0.41016 -0.08074,0.10934 -0.253932,0.25966 -0.513671,0.4707 C 33.849662,626.30294 33,627.16667 33,628.5 v 0.5 h 2 v -0.5 c 0,-0.66667 0.150338,-0.67794 0.630859,-1.06836 0.240261,-0.19521 0.567072,-0.43551 0.861329,-0.83398 C 36.786444,626.19918 37,625.62798 37,625 c 0,-1.5 -1.216667,-3 -3,-3 z m -1,8.00009 h 2 v 2 H 33 Z M 34,620 c -3.86007,0 -7,3.13991 -7,7 0,3.86009 3.13993,7 7,7 3.86008,0 7,-3.13991 7,-7 0,-3.86009 -3.13992,-7 -7,-7 z m 0,1 c 3.31964,0 6,2.68035 6,6 0,3.31965 -2.68036,6 -6,6 -3.31963,0 -6,-2.68035 -6,-6 0,-3.31965 2.68037,-6 6,-6 z" inkscape:connector-curvature="0"/>
+ </g>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 55.011717,620 c -0.689946,-0.004 -1.325726,0.38513 -1.634766,1.00195 l -5.1875,10.3711 c -0.594248,1.18749 0.293094,2.62623 1.621094,2.62695 h 10.378906 c 1.327265,-7.2e-4 2.213373,-1.43788 1.621094,-2.625 l -5.1875,-10.37305 C 56.317741,620.39258 55.693326,620.0046 55.011717,620 Z m -1.011719,3 h 2 v 6 h -2 z m 0,7 h 2 v 2 h -2 z" id="path20558" inkscape:connector-curvature="0"/>
+ <g style="display:inline;fill:#ffffff;enable-background:new" inkscape:export-ydpi="96" inkscape:export-xdpi="96" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" id="g20538" transform="rotate(-180,317.50525,417)">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 331.50586,410 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 3 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 3 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -3 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z" id="path20529" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccccccc"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 323.95117,412.94531 c -0.75176,0.0616 -1.47366,0.37015 -2.05469,0.95117 -1.16941,1.16942 -1.16162,2.91055 -0.28906,4.30664 0.87256,1.3961 2.57397,2.52709 4.83399,2.79297 C 329.94786,421.40861 333,419.08206 333,416 v -0.5 a 0.50005,0.50005 0 1 0 -1,0 v 0.5 c 0,2.41794 -2.42686,4.35855 -5.44141,4.00391 -1.98998,-0.23412 -3.41357,-1.22813 -4.10351,-2.33203 -0.68994,-1.10391 -0.68215,-2.23778 0.14844,-3.06836 0.83795,-0.83796 1.98844,-0.89361 3.08398,-0.26368 1.09554,0.62994 2.08242,1.9799 2.31641,3.96875 a 0.50005,0.50005 0 1 0 0.99218,-0.11718 c -0.26601,-2.26115 -1.40413,-3.91119 -2.80859,-4.71875 -0.70223,-0.40379 -1.48457,-0.58895 -2.23633,-0.52735 z m 3.54102,9.04883 a 0.50005,0.50005 0 0 0 -0.37696,0.1875 C 326.73975,422.63463 325.92671,423 325,423 h -1.5 a 0.50005,0.50005 0 1 0 0,1 h 1.5 c 1.17529,0 2.25213,-0.41841 2.88477,-1.18164 a 0.50005,0.50005 0 0 0 -0.39258,-0.82422 z" id="path20536" inkscape:connector-curvature="0"/>
+ </g>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 331,410 c -2.22355,0 -4.0767,1.3002 -5.12305,3.18945 0.93682,-0.21724 1.92473,-0.28964 2.92578,-0.17187 0.40221,0.0473 0.78928,0.12403 1.16797,0.21484 C 330.29795,413.09146 330.64197,413 331,413 h 0.5 c 2.02848,0.0287 2.02848,-3.02869 0,-3 z m -3.05859,3.95898 c -3.69856,-0.0756 -6.93164,2.52898 -6.93164,6.04102 v 1.5 c -0.0287,2.02848 3.02869,2.02848 3,0 V 420 c 0,-1.75382 1.80351,-3.30654 4.32617,-3.00977 0.37314,0.0439 0.71883,0.11732 1.03711,0.21485 1.3077,0.40071 2.14372,1.21003 2.47656,1.91211 0.22905,0.48316 0.34095,1.19341 -0.0996,1.63281 -0.4946,0.4933 -1.25,0.34848 -1.89258,-0.0527 -0.70436,-0.44 -1.43726,-1.36047 -1.75195,-2.71875 -0.21041,-0.0194 -0.41646,-0.0328 -0.60742,-0.0234 -1.06865,0.0527 -1.81638,0.53365 -2.19727,1.13086 0.52848,1.85114 1.6077,3.30531 2.9668,4.15429 1.61509,1.00892 3.82413,1.05951 5.33594,-0.2539 0.0754,-0.0514 0.14605,-0.10959 0.21093,-0.17383 0.0562,-0.057 0.10785,-0.11837 0.1543,-0.18359 1.19162,-1.34198 1.31147,-3.2788 0.5918,-4.79688 -0.75194,-1.58612 -2.28118,-2.87289 -4.3086,-3.49414 -0.49344,-0.15121 -1.01745,-0.26354 -1.5664,-0.32812 -0.2499,-0.0294 -0.49757,-0.0457 -0.74414,-0.0508 z" id="path20562" inkscape:connector-curvature="0" sodipodi:nodetypes="scccsccscsccsccccccccccccccccc"/>
+ <g transform="translate(-1.8536743e-6,4.4999696e-6)" style="display:inline;fill:#ffffff;enable-background:new" id="g20665">
+ <path id="path20610" d="m 348.51367,409.98828 a 1.50015,1.50015 0 0 0 -0.80859,0.24024 C 343.03811,413.14537 342,418.71429 342,422.5 a 1.50015,1.50015 0 1 0 3,0 c 0,-0.89832 0.0865,-1.89371 0.26758,-2.9043 -0.25845,-3.40076 0.85029,-7.04233 3.87109,-9.4707 a 1.50015,1.50015 0 0 0 -0.625,-0.13672 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.4;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path id="path20608" d="m 351.51367,409.98828 a 1.50015,1.50015 0 0 0 -0.80859,0.24024 c -4.71461,2.94662 -5.33528,8.77693 -3.58399,12.86328 a 1.5005399,1.5005399 0 1 0 2.75782,-1.1836 c -0.38431,-0.89672 -0.59027,-1.91481 -0.62891,-2.95117 -0.67215,-3.14692 0.29131,-6.6121 2.9043,-8.82422 a 1.50015,1.50015 0 0 0 -0.64063,-0.14453 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path inkscape:connector-curvature="0" id="path20592" d="m 354.51367,409.98828 a 1.50015,1.50015 0 0 0 -0.80859,0.24024 c -4.9147,3.07168 -4.9147,10.47128 0,13.54296 a 1.50015,1.50015 0 1 0 1.58984,-2.54296 c -3.0853,-1.92832 -3.0853,-6.52872 0,-8.45704 a 1.50015,1.50015 0 0 0 -0.78125,-2.7832 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
+ </g>
+ <g style="display:inline;fill:#ffffff;enable-background:new" id="g22444" transform="translate(-1.8536743e-6,-41.999995)">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.5;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 292.5,305 -9.00781,0.008 a 0.50005,0.50005 0 0 0 -0.5,0.50781 l 0.0391,2.49219 1,-0.0156 -0.0312,-1.98438 8,-0.008 -0.006,8.01172 -2,0.0195 0.01,1 2.49414,-0.0234 a 0.50005,0.50005 0 0 0 0.49414,-0.5 L 293,305.5 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z" id="path22408" inkscape:connector-curvature="0"/>
+ <path id="path22122" d="m 279,309 v 2 h 2 v -2 z m 2,2 v 2 h 2 v -2 z m 2,0 h 2 v -2 h -2 z m 2,0 v 2 h 2 v -2 z m 2,0 h 2 v -2 h -2 z m 0,2 v 2 h 2 v -2 z m 0,2 h -2 v 2 h 2 z m 0,2 v 2 h 2 v -2 z m -2,0 h -2 v 2 h 2 z m -2,0 v -2 h -2 v 2 z m -2,0 h -2 v 2 h 2 z m 0,-2 v -2 h -2 v 2 z m 2,0 h 2 v -2 h -2 z" style="display:inline;opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;enable-background:new" inkscape:connector-curvature="0"/>
+ </g>
+ <g style="display:inline;fill:#ffffff;enable-background:new" inkscape:export-ydpi="96" inkscape:export-xdpi="96" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" transform="translate(422.00881,-131.00682)" id="g22132">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m -76.509766,394.00586 a 0.50005,0.50005 0 0 0 -0.486328,0.38867 l -3.011718,12.98828 a 0.50005,0.50005 0 0 0 0.486328,0.61328 h 9.974609 a 0.50005,0.50005 0 0 0 0.488281,-0.38476 l 3.03711,-12.99024 a 0.50005,0.50005 0 0 0 -0.488282,-0.61523 z m 0.398438,1 h 3.974609 l -1.154297,5 h -3.978515 z m 5,0 h 3.972656 l -1.169922,5 h -3.955078 z m -6.390625,6 h 3.980469 l -1.382813,5.99023 h -3.986328 z m 5.005859,0 h 3.953125 l -1.40039,5.99023 h -3.933594 z" id="path22130" inkscape:connector-curvature="0"/>
+ </g>
+ <g transform="translate(-231,-83.999995)" style="display:inline;fill:#ffffff;enable-background:new" id="g26345">
+ <g id="g22592" style="fill:#ffffff">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 300.5,326 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 13 a 0.50005,0.50005 0 0 0 0.5,0.5 h 13 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -13 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m 0.5,1 h 12 v 12 h -12 z" id="path22548" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="M 307.49219,326.99219 A 0.50005,0.50005 0 0 0 307,327.5 v 5.5 h -5.5 a 0.50005,0.50005 0 1 0 0,1 h 5.5 v 2 h -5.5 a 0.50005,0.50005 0 1 0 0,1 h 5.5 v 1.5 a 0.50005,0.50005 0 1 0 1,0 V 337 h 2 v 1.5 a 0.50005,0.50005 0 1 0 1,0 V 337 h 1.5 a 0.50005,0.50005 0 1 0 0,-1 H 311 v -2 h 1.5 a 0.50005,0.50005 0 1 0 0,-1 H 311 v -5.5 a 0.50005,0.50005 0 1 0 -1,0 v 5.5 h -2 v -5.5 a 0.50005,0.50005 0 0 0 -0.50781,-0.50781 z M 308,334 h 2 v 2 h -2 z" id="path22585" inkscape:connector-curvature="0"/>
</g>
</g>
- <g
- transform="translate(-168.00001,-20.999988)"
- style="display:inline;opacity:1;fill:#ffffff;enable-background:new"
- id="g26390">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.5;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 74.492188,262.99219 a 0.50005,0.50005 0 0 0 -0.09961,0.0117 l -4.90039,0.004 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 5 5 a 0.50005,0.50005 0 1 0 1,0 V 269 H 74.5 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -4.49805 L 79.5,264 a 0.50005,0.50005 0 1 0 0,-1 l -4.892578,0.004 a 0.50005,0.50005 0 0 0 -0.115234,-0.0117 z M 74,264.00391 V 268 h -4.007812 v -3.99414 z"
- transform="translate(168.00001,20.999988)"
- id="path23021"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 250.48438,284 a 0.50005,0.50005 0 0 0 -0.3379,0.14648 l -13.00781,13.00782 a 0.50005,0.50005 0 0 0 0.35352,0.85351 L 250.5,298 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -13 A 0.50005,0.50005 0 0 0 250.48438,284 Z M 250,285.70703 V 297 l -11.30078,0.008 z"
- id="path23044"
- inkscape:connector-curvature="0" />
- </g>
- <g
- transform="translate(-2.8536743e-6,-20.999996)"
- id="g22228"
- style="display:inline;opacity:1;fill:#ffffff;enable-background:new">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 225.5,286 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 6.5 h -6.5 a 0.50005,0.50005 0 0 0 -0.5,0.5 l -0.008,4.00586 a 0.50005,0.50005 0 0 0 0.50195,0.50195 L 229.5,298 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -11 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m 0.5,1 h 3 v 10 l -10.00781,0.008 0.006,-3.00781 H 225.5 a 0.50005,0.50005 0 0 0 0.5,-0.5 z"
- id="path22226"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.5;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 222.5,284 a 0.50005,0.50005 0 0 1 0.5,0.5 v 6 a 0.50005,0.50005 0 0 1 -0.5,0.5 h -6 a 0.50005,0.50005 0 0 1 -0.5,-0.5 v -6 a 0.50005,0.50005 0 0 1 0.5,-0.5 z m -0.5,1 h -5 v 5 h 5 z"
- id="rect22230"
- inkscape:connector-curvature="0" />
- </g>
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 327.41406,263 a 0.50005,0.50005 0 1 0 0,1 h 1.17969 c 1.54365,0 2.90268,0.42079 3.85937,1.21484 0.9567,0.79406 1.54688,1.95474 1.54688,3.60352 0,1.90166 -0.93943,3.66928 -2.68164,4.99414 -1.74221,1.32486 -4.29199,2.1875 -7.44922,2.1875 h -2.36133 a 0.50005,0.50005 0 1 0 0,1 h 2.36133 c 3.33916,0 6.10577,-0.91054 8.05469,-2.39258 1.94891,-1.48204 3.07617,-3.55426 3.07617,-5.78906 0,-1.89677 -0.72902,-3.39433 -1.9082,-4.37305 C 331.91261,263.46659 330.31821,263 328.59375,263 Z"
- id="path22657"
- inkscape:connector-curvature="0" />
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g22284"
- transform="translate(-1.8536743e-6,-41.999995)">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 54.75,284 a 0.50004997,0.50004997 0 0 0 -0.431641,0.24805 l -3.646484,6.25 a 0.50004997,0.50004997 0 0 0 -0.002,0.002 c -1.211575,2.0985 -0.741006,4.77251 1.115234,6.33008 1.856239,1.55756 4.573449,1.55756 6.429688,0 1.85624,-1.55757 2.326809,-4.23158 1.115234,-6.33008 a 0.50004997,0.50004997 0 0 0 -0.002,-0.002 l -3.646484,-6.25 A 0.50004997,0.50004997 0 0 0 55.25,284 Z m 0.25,1.06445 3.464844,5.9375 c 0.970958,1.6837 0.594513,3.81305 -0.894532,5.0625 -1.489569,1.2499 -3.651055,1.2499 -5.140624,0 -1.489045,-1.24945 -1.86549,-3.3788 -0.894532,-5.0625 V 291 Z m -0.511719,2.92969 a 0.50004997,0.50004997 0 0 0 -0.429687,0.27148 l -1.697266,3.20704 c -0.166111,0.28617 -0.283806,0.59778 -0.349609,0.92187 a 0.50005872,0.50005872 0 1 0 0.980469,0.19727 c 0.04414,-0.2174 0.122796,-0.42496 0.234374,-0.61719 a 0.50004997,0.50004997 0 0 0 0.0098,-0.0176 l 1.705078,-3.22265 a 0.50004997,0.50004997 0 0 0 -0.453125,-0.74024 z"
- id="path22264"
- inkscape:connector-curvature="0" />
- </g>
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g22457"
- transform="translate(20.999998,-20.999995)">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999952;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0.5;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 280.5,284 a 0.50004976,0.50004976 0 0 0 -0.5,0.5 v 0.75 7.25 a 0.50004976,0.50004976 0 0 0 0.5,0.5 h 0.5 a 0.50004976,0.50004976 0 0 0 0.2832,-0.0879 l 10.5,-7.25 A 0.50004976,0.50004976 0 0 0 292,285.25 v -0.75 a 0.50004976,0.50004976 0 0 0 -0.5,-0.5 z m 0.5,1 h 9.98242 L 281,291.89258 V 285.25 Z"
- id="path22322"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999952;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0.5;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 285.25,292 a 0.50004976,0.50004976 0 1 0 0,1 H 291 v 0.15625 l -10,3.80859 V 295.25 a 0.50004976,0.50004976 0 1 0 -1,0 v 2.25 a 0.50004976,0.50004976 0 0 0 0.5,0.5 h 0.5 a 0.50004976,0.50004976 0 0 0 0.17773,-0.0332 l 10.5,-4 A 0.50004976,0.50004976 0 0 0 292,293.5 v -1 a 0.50004976,0.50004976 0 0 0 -0.5,-0.5 z"
- id="path22334"
- inkscape:connector-curvature="0" />
- </g>
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g22510"
- transform="translate(-1.8536743e-6,21.000005)">
- <g
- style="display:inline;opacity:0.6;fill:#ffffff;enable-background:new"
- id="g22476"
- transform="translate(168,-42)">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 447.5,263 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 2 a 0.50005,0.50005 0 0 0 0.5,0.5 h 0.5 v 8 h -0.5 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 2 a 0.50005,0.50005 0 0 0 0.5,0.5 h 2 a 0.50005,0.50005 0 0 0 0.5,-0.5 V 276 h 8 v 0.5 a 0.50005,0.50005 0 0 0 0.5,0.5 h 2 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -2 A 0.50005,0.50005 0 0 0 460.5,274 H 460 v -8 h 0.5 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -2 a 0.50005,0.50005 0 0 0 -0.5,-0.5 h -2 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 0.5 h -8 v -0.5 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m 0.5,1 h 1 v 1 h -1 z m 11,0 h 1 v 1 h -1 z m -9,1 h 8 v 0.5 a 0.50005,0.50005 0 0 0 0.5,0.5 h 0.5 v 8 h -0.5 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 0.5 h -8 v -0.5 A 0.50005,0.50005 0 0 0 449.5,274 H 449 v -8 h 0.5 a 0.50005,0.50005 0 0 0 0.5,-0.5 z m -2,10 h 1 v 1 h -1 z m 11,0 h 1 v 1 h -1 z"
- transform="translate(-168,20.999995)"
- id="path22458"
- inkscape:connector-curvature="0" />
+ <g transform="translate(-168.00001,-20.999988)" style="display:inline;opacity:1;fill:#ffffff;enable-background:new" id="g26390">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.5;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 74.492188,262.99219 a 0.50005,0.50005 0 0 0 -0.09961,0.0117 l -4.90039,0.004 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 5 5 a 0.50005,0.50005 0 1 0 1,0 V 269 H 74.5 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -4.49805 L 79.5,264 a 0.50005,0.50005 0 1 0 0,-1 l -4.892578,0.004 a 0.50005,0.50005 0 0 0 -0.115234,-0.0117 z M 74,264.00391 V 268 h -4.007812 v -3.99414 z" transform="translate(168.00001,20.999988)" id="path23021" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 250.48438,284 a 0.50005,0.50005 0 0 0 -0.3379,0.14648 l -13.00781,13.00782 a 0.50005,0.50005 0 0 0 0.35352,0.85351 L 250.5,298 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -13 A 0.50005,0.50005 0 0 0 250.48438,284 Z M 250,285.70703 V 297 l -11.30078,0.008 z" id="path23044" inkscape:connector-curvature="0"/>
+ </g>
+ <g transform="translate(-2.8536743e-6,-20.999996)" id="g22228" style="display:inline;opacity:1;fill:#ffffff;enable-background:new">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 225.5,286 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 6.5 h -6.5 a 0.50005,0.50005 0 0 0 -0.5,0.5 l -0.008,4.00586 a 0.50005,0.50005 0 0 0 0.50195,0.50195 L 229.5,298 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -11 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m 0.5,1 h 3 v 10 l -10.00781,0.008 0.006,-3.00781 H 225.5 a 0.50005,0.50005 0 0 0 0.5,-0.5 z" id="path22226" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.5;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 222.5,284 a 0.50005,0.50005 0 0 1 0.5,0.5 v 6 a 0.50005,0.50005 0 0 1 -0.5,0.5 h -6 a 0.50005,0.50005 0 0 1 -0.5,-0.5 v -6 a 0.50005,0.50005 0 0 1 0.5,-0.5 z m -0.5,1 h -5 v 5 h 5 z" id="rect22230" inkscape:connector-curvature="0"/>
+ </g>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 327.41406,263 a 0.50005,0.50005 0 1 0 0,1 h 1.17969 c 1.54365,0 2.90268,0.42079 3.85937,1.21484 0.9567,0.79406 1.54688,1.95474 1.54688,3.60352 0,1.90166 -0.93943,3.66928 -2.68164,4.99414 -1.74221,1.32486 -4.29199,2.1875 -7.44922,2.1875 h -2.36133 a 0.50005,0.50005 0 1 0 0,1 h 2.36133 c 3.33916,0 6.10577,-0.91054 8.05469,-2.39258 1.94891,-1.48204 3.07617,-3.55426 3.07617,-5.78906 0,-1.89677 -0.72902,-3.39433 -1.9082,-4.37305 C 331.91261,263.46659 330.31821,263 328.59375,263 Z" id="path22657" inkscape:connector-curvature="0"/>
+ <g style="display:inline;fill:#ffffff;enable-background:new" id="g22284" transform="translate(-1.8536743e-6,-41.999995)">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 54.75,284 a 0.50004997,0.50004997 0 0 0 -0.431641,0.24805 l -3.646484,6.25 a 0.50004997,0.50004997 0 0 0 -0.002,0.002 c -1.211575,2.0985 -0.741006,4.77251 1.115234,6.33008 1.856239,1.55756 4.573449,1.55756 6.429688,0 1.85624,-1.55757 2.326809,-4.23158 1.115234,-6.33008 a 0.50004997,0.50004997 0 0 0 -0.002,-0.002 l -3.646484,-6.25 A 0.50004997,0.50004997 0 0 0 55.25,284 Z m 0.25,1.06445 3.464844,5.9375 c 0.970958,1.6837 0.594513,3.81305 -0.894532,5.0625 -1.489569,1.2499 -3.651055,1.2499 -5.140624,0 -1.489045,-1.24945 -1.86549,-3.3788 -0.894532,-5.0625 V 291 Z m -0.511719,2.92969 a 0.50004997,0.50004997 0 0 0 -0.429687,0.27148 l -1.697266,3.20704 c -0.166111,0.28617 -0.283806,0.59778 -0.349609,0.92187 a 0.50005872,0.50005872 0 1 0 0.980469,0.19727 c 0.04414,-0.2174 0.122796,-0.42496 0.234374,-0.61719 a 0.50004997,0.50004997 0 0 0 0.0098,-0.0176 l 1.705078,-3.22265 a 0.50004997,0.50004997 0 0 0 -0.453125,-0.74024 z" id="path22264" inkscape:connector-curvature="0"/>
+ </g>
+ <g style="display:inline;fill:#ffffff;enable-background:new" id="g22457" transform="translate(20.999998,-20.999995)">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999952;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0.5;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 280.5,284 a 0.50004976,0.50004976 0 0 0 -0.5,0.5 v 0.75 7.25 a 0.50004976,0.50004976 0 0 0 0.5,0.5 h 0.5 a 0.50004976,0.50004976 0 0 0 0.2832,-0.0879 l 10.5,-7.25 A 0.50004976,0.50004976 0 0 0 292,285.25 v -0.75 a 0.50004976,0.50004976 0 0 0 -0.5,-0.5 z m 0.5,1 h 9.98242 L 281,291.89258 V 285.25 Z" id="path22322" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999952;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0.5;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 285.25,292 a 0.50004976,0.50004976 0 1 0 0,1 H 291 v 0.15625 l -10,3.80859 V 295.25 a 0.50004976,0.50004976 0 1 0 -1,0 v 2.25 a 0.50004976,0.50004976 0 0 0 0.5,0.5 h 0.5 a 0.50004976,0.50004976 0 0 0 0.17773,-0.0332 l 10.5,-4 A 0.50004976,0.50004976 0 0 0 292,293.5 v -1 a 0.50004976,0.50004976 0 0 0 -0.5,-0.5 z" id="path22334" inkscape:connector-curvature="0"/>
+ </g>
+ <g style="display:inline;fill:#ffffff;enable-background:new" id="g22510" transform="translate(-1.8536743e-6,21.000005)">
+ <g style="display:inline;opacity:0.6;fill:#ffffff;enable-background:new" id="g22476" transform="translate(168,-42)">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 447.5,263 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 2 a 0.50005,0.50005 0 0 0 0.5,0.5 h 0.5 v 8 h -0.5 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 2 a 0.50005,0.50005 0 0 0 0.5,0.5 h 2 a 0.50005,0.50005 0 0 0 0.5,-0.5 V 276 h 8 v 0.5 a 0.50005,0.50005 0 0 0 0.5,0.5 h 2 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -2 A 0.50005,0.50005 0 0 0 460.5,274 H 460 v -8 h 0.5 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -2 a 0.50005,0.50005 0 0 0 -0.5,-0.5 h -2 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 0.5 h -8 v -0.5 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m 0.5,1 h 1 v 1 h -1 z m 11,0 h 1 v 1 h -1 z m -9,1 h 8 v 0.5 a 0.50005,0.50005 0 0 0 0.5,0.5 h 0.5 v 8 h -0.5 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 0.5 h -8 v -0.5 A 0.50005,0.50005 0 0 0 449.5,274 H 449 v -8 h 0.5 a 0.50005,0.50005 0 0 0 0.5,-0.5 z m -2,10 h 1 v 1 h -1 z m 11,0 h 1 v 1 h -1 z" transform="translate(-168,20.999995)" id="path22458" inkscape:connector-curvature="0"/>
</g>
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 451.5,246 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 5 a 0.50005,0.50005 0 0 0 0.5,0.5 h 5 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -5 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m 0.5,1 h 4 v 4 h -4 z"
- id="rect22466"
- inkscape:connector-curvature="0" />
- </g>
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- transform="translate(21.999998,18.000004)"
- id="g22745">
- <g
- id="g22756"
- transform="translate(20,-60)"
- style="fill:#ffffff">
- <g
- id="g22751"
- style="fill:#ffffff">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999952;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0.5;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 279.5,288 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 2 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 0.71484 L 283,295.64062 V 297.5 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 2 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -1.85938 L 288.78516,291 H 289.5 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -2 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 h -2 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 0.5 h -5 v -0.5 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z m 0.5,1 h 1 v 1 h -1 z m 8,0 h 1 v 1 h -1 z m -6,1 h 5 v 0.5 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 0.11523 l -2.40039,4 h -1.42968 l -2.40039,-4 H 281.5 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 z m 2,6 h 1 v 1 h -1 z"
- id="path22741"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="ccccccccccccccccccccccccccccccccccccccccccccccccc" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.5;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 283.5,284 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 3.5 h 1 v -3 h 8 v 10 h -3.5 c -0.67616,-0.01 -0.67616,1.00956 0,1 h 4 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -11 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z"
- id="path22747"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="cccccccccccccc" />
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 451.5,246 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 5 a 0.50005,0.50005 0 0 0 0.5,0.5 h 5 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -5 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m 0.5,1 h 4 v 4 h -4 z" id="rect22466" inkscape:connector-curvature="0"/>
+ </g>
+ <g style="display:inline;fill:#ffffff;enable-background:new" transform="translate(21.999998,18.000004)" id="g22745">
+ <g id="g22756" transform="translate(20,-60)" style="fill:#ffffff">
+ <g id="g22751" style="fill:#ffffff">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999952;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0.5;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 279.5,288 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 2 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 0.71484 L 283,295.64062 V 297.5 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 2 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -1.85938 L 288.78516,291 H 289.5 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -2 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 h -2 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 0.5 h -5 v -0.5 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z m 0.5,1 h 1 v 1 h -1 z m 8,0 h 1 v 1 h -1 z m -6,1 h 5 v 0.5 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 0.11523 l -2.40039,4 h -1.42968 l -2.40039,-4 H 281.5 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 z m 2,6 h 1 v 1 h -1 z" id="path22741" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccccccccccccccccccccccccccccccccccccccccccccccc"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.5;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 283.5,284 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 3.5 h 1 v -3 h 8 v 10 h -3.5 c -0.67616,-0.01 -0.67616,1.00956 0,1 h 4 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -11 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z" id="path22747" inkscape:connector-curvature="0" sodipodi:nodetypes="cccccccccccccc"/>
</g>
</g>
</g>
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g21947"
- transform="matrix(-1,0,0,1,67.986641,-20.999995)">
- <path
- id="circle21927"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 27.460938,284.01172 a 0.50005,0.50005 0 1 0 0.04297,0.99805 c 3.348416,-0.1388 6.600566,1.12874 8.972656,3.49609 2.372091,2.36735 3.645762,5.61811 3.513672,8.9668 a 0.50038206,0.50038206 0 1 0 1,0.0391 c 0.143077,-3.62723 -1.237239,-7.14863 -3.80664,-9.71289 -2.569402,-2.56427 -6.09572,-3.93745 -9.722656,-3.78711 z m -0.0332,4.00586 a 0.50005,0.50005 0 1 0 0.0625,0.99804 c 2.281784,-0.14542 4.516597,0.69332 6.140625,2.30274 1.62403,1.60942 2.482218,3.83613 2.357422,6.11914 a 0.50005,0.50005 0 1 0 0.998047,0.0547 c 0.140364,-2.5678 -0.823774,-5.07459 -2.65039,-6.88477 -1.826617,-1.81018 -4.341781,-2.75341 -6.908204,-2.58984 z m 0.03711,4.01172 a 0.50005,0.50005 0 1 0 0.107422,0.99414 c 1.199607,-0.12917 2.392346,0.29002 3.248046,1.14062 0.855701,0.8506 1.282148,2.03988 1.160157,3.24024 a 0.50005,0.50005 0 1 0 0.99414,0.10156 c 0.152408,-1.49965 -0.380162,-2.99006 -1.449218,-4.05274 -1.069056,-1.06268 -2.561836,-1.5852 -4.060547,-1.42382 z M 28,296 c -0.546362,0 -1,0.45364 -1,1 0,0.54636 0.453638,1 1,1 0.546362,0 1,-0.45364 1,-1 0,-0.54636 -0.453638,-1 -1,-1 z"
- inkscape:connector-curvature="0" />
- </g>
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g22083"
- transform="translate(-1.8536743e-6,-42.000055)">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 205.49805,242 -3.00586,0.008 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 4 5 4 a 0.50005,0.50005 0 0 0 0.5,0.5 h 3 a 0.50005,0.50005 0 0 0 0.5,-0.5 L 206,252 h 2.5 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -5 A 0.50005,0.50005 0 0 0 208.5,246 H 206 v -3.5 A 0.50005,0.50005 0 0 0 205.49805,242 Z M 205,243.00195 V 246 h -2.00781 v -2.99414 z M 202.99219,247 H 205 v 4 h -2.00781 z M 206,247 h 2 v 4 h -2 z m -3.00781,5 h 2.00586 l -0.006,3.00781 h -2 z"
- transform="translate(1.8536743e-6,42.000055)"
- id="path22040"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.7;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 200.53711,284.16992 a 0.50005,0.50005 0 0 0 -0.13477,0.0156 c -3.14392,0.73681 -5.37898,3.53464 -5.40234,6.76367 -0.0234,3.22902 2.17176,6.05956 5.30469,6.8418 a 0.50005,0.50005 0 1 0 0.24219,-0.96875 c -2.69014,-0.67168 -4.56694,-3.09259 -4.54688,-5.86524 0.0201,-2.77265 1.93128,-5.16615 4.63086,-5.79883 a 0.50005,0.50005 0 0 0 -0.0937,-0.98828 z"
- id="path22034"
- inkscape:connector-curvature="0" />
- </g>
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g21627"
- transform="translate(2.8146326e-5,-41.999965)">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.5;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 495.5,305 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 1.5 h -3.5 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 3.5 h -1.5 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 7 a 0.50005,0.50005 0 1 0 1,0 V 312 h 1.5 a 0.50005,0.50005 0 0 0 0.5,-0.5 V 308 h 3.5 a 0.50005,0.50005 0 0 0 0.5,-0.5 V 306 h 6.5 a 0.50005,0.50005 0 1 0 0,-1 z"
- id="path21618"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 502.5,308 c -5.79307,0 -10.5,4.70693 -10.5,10.5 a 0.50004997,0.50004997 0 1 0 1,0 c 0,-5.25263 4.24737,-9.5 9.5,-9.5 a 0.50004997,0.50004997 0 1 0 0,-1 z"
- id="circle21622"
- inkscape:connector-curvature="0" />
- </g>
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g21555"
- transform="translate(-1.8536743e-6,-20.999995)">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 160.50391,263.00391 c -0.82069,0 -1.4961,0.67734 -1.4961,1.49804 1e-5,0.64713 0.422,1.19917 1.00196,1.40625 -0.004,0.17741 -0.01,0.3625 -0.01,0.58594 0,0.8575 0.30572,1.55064 0.73242,2.08984 0.42671,0.53921 0.958,0.94374 1.45313,1.34375 0.99025,0.80003 1.81445,1.48075 1.81445,3.0293 0,1.03964 -0.41467,1.75679 -1.05859,2.26367 C 162.29747,275.72759 161.4016,276 160.5,276 c -0.9016,0 -1.79749,-0.27241 -2.44141,-0.7793 C 157.41467,274.71382 157,273.99667 157,272.95703 v -1.25 l 1.14648,1.14649 c 0.47127,0.49023 1.19727,-0.23577 0.70704,-0.70704 l -2,-2 c -0.315,-0.31479 -0.85335,-0.0918 -0.85352,0.35352 v 2.45703 c 0,1.32194 0.58533,2.37688 1.44141,3.05078 0.85608,0.6739 1.96019,0.99219 3.05859,0.99219 1.0984,0 2.20251,-0.31829 3.05859,-0.99219 0.85608,-0.6739 1.44141,-1.72884 1.44141,-3.05078 0,-1.93167 -1.1758,-2.99085 -2.18555,-3.80664 -0.50487,-0.40789 -0.97358,-0.77897 -1.29687,-1.1875 C 161.19428,267.55436 161,267.12816 161,266.49414 c 0,-0.20716 0.005,-0.40692 0.01,-0.58984 0.57393,-0.21035 0.99023,-0.75955 0.99023,-1.40235 0,-0.8207 -0.67541,-1.49804 -1.49609,-1.49804 z m 0,1 c 0.27921,0 0.49609,0.21676 0.49609,0.49804 0,0.28129 -0.21688,0.49805 -0.49609,0.49805 -0.27922,0 -0.4961,-0.21676 -0.4961,-0.49805 0,-0.28128 0.21688,-0.49804 0.4961,-0.49804 z"
- transform="translate(1.8536743e-6,20.999995)"
- id="path16949-6-5"
- inkscape:connector-curvature="0" />
- </g>
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g22356"
- transform="translate(-336,-62.999995)">
- <path
- inkscape:export-ydpi="96"
- inkscape:export-xdpi="96"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- sodipodi:nodetypes="ccccc"
- id="path22236"
- d="m 363.5,308.5 3,-3 h 6 l -3,3 z"
- style="display:inline;opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:new"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 366.5,305 a 0.50005,0.50005 0 0 0 -0.35352,0.14648 l -3,3 A 0.50005,0.50005 0 0 0 363.5,309 h 6 a 0.50005,0.50005 0 0 0 0.35352,-0.14648 l 3,-3 A 0.50005,0.50005 0 0 0 372.5,305 Z m 0.20703,1 h 4.58594 l -2,2 h -4.58594 z m 9.77735,3 a 0.50005,0.50005 0 0 0 -0.3379,0.14648 l -3,3 A 0.50005,0.50005 0 0 0 373,312.5 v 6 a 0.50005,0.50005 0 0 0 0.85352,0.35352 l 3,-3 A 0.50005,0.50005 0 0 0 377,315.5 v -6 A 0.50005,0.50005 0 0 0 376.48438,309 Z M 376,310.70703 v 4.58594 l -2,2 v -4.58594 z M 369.5,312 l -6.00781,0.008 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 6 a 0.50005,0.50005 0 0 0 0.5,0.5 h 6 a 0.50005,0.50005 0 0 0 0.5,-0.5 L 370,312.5 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m -0.5,1 -0.008,5.00781 h -5 v -5.00195 z"
- id="path22324"
- inkscape:connector-curvature="0" />
- </g>
- <g
- transform="translate(-1.8536743e-6,4.4999696e-6)"
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g22409">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.5;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 347.75,247 -5.25781,0.002 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 8 a 0.50005,0.50005 0 0 0 0.5,0.5 h 8 a 0.50005,0.50005 0 0 0 0.5,-0.49804 L 351,251.50195 a 0.50005,0.50005 0 1 0 -1,-0.004 l -0.008,3.5039 h -7 v -7 L 347.75,248 a 0.50005,0.50005 0 1 0 0,-1 z"
- id="path22405"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="M 350.49219,241.99219 A 0.50005,0.50005 0 0 0 350,242.5 v 4.59766 c -0.58199,0.20687 -1.00586,0.75933 -1.00586,1.4082 0,0.82235 0.67765,1.5 1.5,1.5 0.36227,0 0.69258,-0.13606 0.95313,-0.35352 l 3.79492,2.27735 a 0.50109829,0.50109829 0 1 0 0.51562,-0.85938 l -3.79297,-2.27734 c 0.0184,-0.0931 0.0293,-0.18901 0.0293,-0.28711 0,-0.10213 -0.0114,-0.20218 -0.0312,-0.29883 l 3.79492,-2.27734 a 0.50109829,0.50109829 0 1 0 -0.51562,-0.85938 l -3.80469,2.28321 C 351.30689,247.24613 351.16128,247.1604 351,247.10156 V 242.5 a 0.50005,0.50005 0 0 0 -0.50781,-0.50781 z"
- transform="translate(1.8536743e-6,-4.4999696e-6)"
- id="path22407"
- inkscape:connector-curvature="0" />
- </g>
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g22292"
- transform="translate(-88.000002,-170)">
- <g
- transform="translate(20,10)"
- id="g22287"
- style="fill:#ffffff">
- <path
- style="opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke"
- d="m 112,515 v 2 h -1 v 4 h 1 v 2 h 2 v -8 z m 10,0 v 8 h 2 v -2 h 1 v -4 h -1 v -2 z m -7,3 v 2 h 6 v -2 z"
- transform="translate(68.000002,160)"
- id="rect22279"
- inkscape:connector-curvature="0" />
+ <g style="display:inline;fill:#ffffff;enable-background:new" id="g21947" transform="matrix(-1,0,0,1,67.986641,-20.999995)">
+ <path id="circle21927" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 27.460938,284.01172 a 0.50005,0.50005 0 1 0 0.04297,0.99805 c 3.348416,-0.1388 6.600566,1.12874 8.972656,3.49609 2.372091,2.36735 3.645762,5.61811 3.513672,8.9668 a 0.50038206,0.50038206 0 1 0 1,0.0391 c 0.143077,-3.62723 -1.237239,-7.14863 -3.80664,-9.71289 -2.569402,-2.56427 -6.09572,-3.93745 -9.722656,-3.78711 z m -0.0332,4.00586 a 0.50005,0.50005 0 1 0 0.0625,0.99804 c 2.281784,-0.14542 4.516597,0.69332 6.140625,2.30274 1.62403,1.60942 2.482218,3.83613 2.357422,6.11914 a 0.50005,0.50005 0 1 0 0.998047,0.0547 c 0.140364,-2.5678 -0.823774,-5.07459 -2.65039,-6.88477 -1.826617,-1.81018 -4.341781,-2.75341 -6.908204,-2.58984 z m 0.03711,4.01172 a 0.50005,0.50005 0 1 0 0.107422,0.99414 c 1.199607,-0.12917 2.392346,0.29002 3.248046,1.14062 0.855701,0.8506 1.282148,2.03988 1.160157,3.24024 a 0.50005,0.50005 0 1 0 0.99414,0.10156 c 0.152408,-1.49965 -0.380162,-2.99006 -1.449218,-4.05274 -1.069056,-1.06268 -2.561836,-1.5852 -4.060547,-1.42382 z M 28,296 c -0.546362,0 -1,0.45364 -1,1 0,0.54636 0.453638,1 1,1 0.546362,0 1,-0.45364 1,-1 0,-0.54636 -0.453638,-1 -1,-1 z" inkscape:connector-curvature="0"/>
+ </g>
+ <g style="display:inline;fill:#ffffff;enable-background:new" id="g22083" transform="translate(-1.8536743e-6,-42.000055)">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 205.49805,242 -3.00586,0.008 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 4 5 4 a 0.50005,0.50005 0 0 0 0.5,0.5 h 3 a 0.50005,0.50005 0 0 0 0.5,-0.5 L 206,252 h 2.5 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -5 A 0.50005,0.50005 0 0 0 208.5,246 H 206 v -3.5 A 0.50005,0.50005 0 0 0 205.49805,242 Z M 205,243.00195 V 246 h -2.00781 v -2.99414 z M 202.99219,247 H 205 v 4 h -2.00781 z M 206,247 h 2 v 4 h -2 z m -3.00781,5 h 2.00586 l -0.006,3.00781 h -2 z" transform="translate(1.8536743e-6,42.000055)" id="path22040" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.7;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 200.53711,284.16992 a 0.50005,0.50005 0 0 0 -0.13477,0.0156 c -3.14392,0.73681 -5.37898,3.53464 -5.40234,6.76367 -0.0234,3.22902 2.17176,6.05956 5.30469,6.8418 a 0.50005,0.50005 0 1 0 0.24219,-0.96875 c -2.69014,-0.67168 -4.56694,-3.09259 -4.54688,-5.86524 0.0201,-2.77265 1.93128,-5.16615 4.63086,-5.79883 a 0.50005,0.50005 0 0 0 -0.0937,-0.98828 z" id="path22034" inkscape:connector-curvature="0"/>
+ </g>
+ <g style="display:inline;fill:#ffffff;enable-background:new" id="g21627" transform="translate(2.8146326e-5,-41.999965)">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.5;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 495.5,305 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 1.5 h -3.5 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 3.5 h -1.5 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 7 a 0.50005,0.50005 0 1 0 1,0 V 312 h 1.5 a 0.50005,0.50005 0 0 0 0.5,-0.5 V 308 h 3.5 a 0.50005,0.50005 0 0 0 0.5,-0.5 V 306 h 6.5 a 0.50005,0.50005 0 1 0 0,-1 z" id="path21618" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 502.5,308 c -5.79307,0 -10.5,4.70693 -10.5,10.5 a 0.50004997,0.50004997 0 1 0 1,0 c 0,-5.25263 4.24737,-9.5 9.5,-9.5 a 0.50004997,0.50004997 0 1 0 0,-1 z" id="circle21622" inkscape:connector-curvature="0"/>
+ </g>
+ <g style="display:inline;fill:#ffffff;enable-background:new" id="g21555" transform="translate(-1.8536743e-6,-20.999995)">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 160.50391,263.00391 c -0.82069,0 -1.4961,0.67734 -1.4961,1.49804 1e-5,0.64713 0.422,1.19917 1.00196,1.40625 -0.004,0.17741 -0.01,0.3625 -0.01,0.58594 0,0.8575 0.30572,1.55064 0.73242,2.08984 0.42671,0.53921 0.958,0.94374 1.45313,1.34375 0.99025,0.80003 1.81445,1.48075 1.81445,3.0293 0,1.03964 -0.41467,1.75679 -1.05859,2.26367 C 162.29747,275.72759 161.4016,276 160.5,276 c -0.9016,0 -1.79749,-0.27241 -2.44141,-0.7793 C 157.41467,274.71382 157,273.99667 157,272.95703 v -1.25 l 1.14648,1.14649 c 0.47127,0.49023 1.19727,-0.23577 0.70704,-0.70704 l -2,-2 c -0.315,-0.31479 -0.85335,-0.0918 -0.85352,0.35352 v 2.45703 c 0,1.32194 0.58533,2.37688 1.44141,3.05078 0.85608,0.6739 1.96019,0.99219 3.05859,0.99219 1.0984,0 2.20251,-0.31829 3.05859,-0.99219 0.85608,-0.6739 1.44141,-1.72884 1.44141,-3.05078 0,-1.93167 -1.1758,-2.99085 -2.18555,-3.80664 -0.50487,-0.40789 -0.97358,-0.77897 -1.29687,-1.1875 C 161.19428,267.55436 161,267.12816 161,266.49414 c 0,-0.20716 0.005,-0.40692 0.01,-0.58984 0.57393,-0.21035 0.99023,-0.75955 0.99023,-1.40235 0,-0.8207 -0.67541,-1.49804 -1.49609,-1.49804 z m 0,1 c 0.27921,0 0.49609,0.21676 0.49609,0.49804 0,0.28129 -0.21688,0.49805 -0.49609,0.49805 -0.27922,0 -0.4961,-0.21676 -0.4961,-0.49805 0,-0.28128 0.21688,-0.49804 0.4961,-0.49804 z" transform="translate(1.8536743e-6,20.999995)" id="path16949-6-5" inkscape:connector-curvature="0"/>
+ </g>
+ <g style="display:inline;fill:#ffffff;enable-background:new" id="g22356" transform="translate(-336,-62.999995)">
+ <path inkscape:export-ydpi="96" inkscape:export-xdpi="96" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" sodipodi:nodetypes="ccccc" id="path22236" d="m 363.5,308.5 3,-3 h 6 l -3,3 z" style="display:inline;opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:new" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 366.5,305 a 0.50005,0.50005 0 0 0 -0.35352,0.14648 l -3,3 A 0.50005,0.50005 0 0 0 363.5,309 h 6 a 0.50005,0.50005 0 0 0 0.35352,-0.14648 l 3,-3 A 0.50005,0.50005 0 0 0 372.5,305 Z m 0.20703,1 h 4.58594 l -2,2 h -4.58594 z m 9.77735,3 a 0.50005,0.50005 0 0 0 -0.3379,0.14648 l -3,3 A 0.50005,0.50005 0 0 0 373,312.5 v 6 a 0.50005,0.50005 0 0 0 0.85352,0.35352 l 3,-3 A 0.50005,0.50005 0 0 0 377,315.5 v -6 A 0.50005,0.50005 0 0 0 376.48438,309 Z M 376,310.70703 v 4.58594 l -2,2 v -4.58594 z M 369.5,312 l -6.00781,0.008 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 6 a 0.50005,0.50005 0 0 0 0.5,0.5 h 6 a 0.50005,0.50005 0 0 0 0.5,-0.5 L 370,312.5 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m -0.5,1 -0.008,5.00781 h -5 v -5.00195 z" id="path22324" inkscape:connector-curvature="0"/>
+ </g>
+ <g transform="translate(-1.8536743e-6,4.4999696e-6)" style="display:inline;fill:#ffffff;enable-background:new" id="g22409">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.5;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 347.75,247 -5.25781,0.002 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 8 a 0.50005,0.50005 0 0 0 0.5,0.5 h 8 a 0.50005,0.50005 0 0 0 0.5,-0.49804 L 351,251.50195 a 0.50005,0.50005 0 1 0 -1,-0.004 l -0.008,3.5039 h -7 v -7 L 347.75,248 a 0.50005,0.50005 0 1 0 0,-1 z" id="path22405" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="M 350.49219,241.99219 A 0.50005,0.50005 0 0 0 350,242.5 v 4.59766 c -0.58199,0.20687 -1.00586,0.75933 -1.00586,1.4082 0,0.82235 0.67765,1.5 1.5,1.5 0.36227,0 0.69258,-0.13606 0.95313,-0.35352 l 3.79492,2.27735 a 0.50109829,0.50109829 0 1 0 0.51562,-0.85938 l -3.79297,-2.27734 c 0.0184,-0.0931 0.0293,-0.18901 0.0293,-0.28711 0,-0.10213 -0.0114,-0.20218 -0.0312,-0.29883 l 3.79492,-2.27734 a 0.50109829,0.50109829 0 1 0 -0.51562,-0.85938 l -3.80469,2.28321 C 351.30689,247.24613 351.16128,247.1604 351,247.10156 V 242.5 a 0.50005,0.50005 0 0 0 -0.50781,-0.50781 z" transform="translate(1.8536743e-6,-4.4999696e-6)" id="path22407" inkscape:connector-curvature="0"/>
+ </g>
+ <g style="display:inline;fill:#ffffff;enable-background:new" id="g22292" transform="translate(-88.000002,-170)">
+ <g transform="translate(20,10)" id="g22287" style="fill:#ffffff">
+ <path style="opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke" d="m 112,515 v 2 h -1 v 4 h 1 v 2 h 2 v -8 z m 10,0 v 8 h 2 v -2 h 1 v -4 h -1 v -2 z m -7,3 v 2 h 6 v -2 z" transform="translate(68.000002,160)" id="rect22279" inkscape:connector-curvature="0"/>
</g>
- <path
- inkscape:connector-curvature="0"
- id="path22290"
- d="m 203,691 v 5 c 0,0.5 0.25,1 1,1 0.75,0 1,-0.5 1,-1 v -1 c 0,-0.5 0.53412,-1 1,-1 0.55229,0 1,0.44772 1,1 v 2.5 c 0,0.82843 0.67157,1.5 1.5,1.5 0.82843,0 1.5,-0.67157 1.5,-1.5 V 697 c 0,-0.55228 0.44772,-1 1,-1 0.55229,0 1,-0.44771 1,-1 v -1 h -3 v -3 z"
- style="display:inline;opacity:0.6;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;enable-background:new"
- sodipodi:nodetypes="csssssssssssscccc" />
- </g>
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g22354"
- transform="translate(-26.000002,-443)">
- <g
- id="g22339"
- transform="translate(0,10)"
- style="fill:#ffffff">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 154,242 v 2 h -1 v 4 h 1 v 2 h 2 v -8 z m 10,0 v 8 h 2 v -2 h 1 v -4 h -1 v -2 z m -7,3 v 2 h 6 v -2 z"
- transform="translate(26.000002,433)"
- id="path22321"
- inkscape:connector-curvature="0" />
+ <path inkscape:connector-curvature="0" id="path22290" d="m 203,691 v 5 c 0,0.5 0.25,1 1,1 0.75,0 1,-0.5 1,-1 v -1 c 0,-0.5 0.53412,-1 1,-1 0.55229,0 1,0.44772 1,1 v 2.5 c 0,0.82843 0.67157,1.5 1.5,1.5 0.82843,0 1.5,-0.67157 1.5,-1.5 V 697 c 0,-0.55228 0.44772,-1 1,-1 0.55229,0 1,-0.44771 1,-1 v -1 h -3 v -3 z" style="display:inline;opacity:0.6;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;enable-background:new" sodipodi:nodetypes="csssssssssssscccc"/>
+ </g>
+ <g style="display:inline;fill:#ffffff;enable-background:new" id="g22354" transform="translate(-26.000002,-443)">
+ <g id="g22339" transform="translate(0,10)" style="fill:#ffffff">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 154,242 v 2 h -1 v 4 h 1 v 2 h 2 v -8 z m 10,0 v 8 h 2 v -2 h 1 v -4 h -1 v -2 z m -7,3 v 2 h 6 v -2 z" transform="translate(26.000002,433)" id="path22321" inkscape:connector-curvature="0"/>
</g>
- <g
- transform="translate(-267.99969,306.00818)"
- style="display:inline;opacity:0.6;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:1.00000036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:7.40000248;stroke-opacity:1;enable-background:new"
- id="g22352">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.00000036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:7.40000248;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 452.49219,387 a 0.50005018,0.50005018 0 0 0 -0.5,0.5 v 3.00781 a 0.50005018,0.50005018 0 0 0 0.5,0.5 c 1.00252,0 2.00529,0 3.00781,0 a 0.50005018,0.50005018 0 0 0 0.5,-0.5 V 387.5 a 0.50005018,0.50005018 0 0 0 -0.5,-0.5 c -1.00252,0 -2.0053,0 -3.00781,0 z m 0.5,1 c 0.66922,0 1.33859,0 2.00781,0 v 2.00781 c -0.66922,0 -1.3386,0 -2.00781,0 z m 4.50781,0.98438 a 0.50005018,0.50005018 0 0 0 -0.5,0.5 v 3.00781 a 0.50005018,0.50005018 0 0 0 0.5,0.5 c 1.00252,0 2.0053,0 3.00781,0 a 0.50005018,0.50005018 0 0 0 0.5,-0.5 v -3.00781 a 0.50005018,0.50005018 0 0 0 -0.5,-0.5 c -1.00252,0 -2.00529,0 -3.00781,0 z M 447.5,389 a 0.50005018,0.50005018 0 0 0 -0.5,0.5 v 3 a 0.50005018,0.50005018 0 0 0 0.5,0.5 c 1,-10e-6 2,10e-6 3,0 a 0.50005018,0.50005018 0 0 0 0.5,-0.5 v -3 a 0.50005018,0.50005018 0 0 0 -0.5,-0.5 c -1,0 -2,0 -3,0 z m 10.5,0.98438 c 0.66922,-10e-6 1.3386,0 2.00781,0 v 2.00781 c -0.66922,0 -1.33859,0 -2.00781,0 z M 448,390 c 0.66667,0 1.33333,0 2,0 v 2 c -0.66667,0 -1.33333,0 -2,0 z"
- id="path22350"
- inkscape:connector-curvature="0" />
+ <g transform="translate(-267.99969,306.00818)" style="display:inline;opacity:0.6;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:1.00000036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:7.40000248;stroke-opacity:1;enable-background:new" id="g22352">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.00000036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:7.40000248;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 452.49219,387 a 0.50005018,0.50005018 0 0 0 -0.5,0.5 v 3.00781 a 0.50005018,0.50005018 0 0 0 0.5,0.5 c 1.00252,0 2.00529,0 3.00781,0 a 0.50005018,0.50005018 0 0 0 0.5,-0.5 V 387.5 a 0.50005018,0.50005018 0 0 0 -0.5,-0.5 c -1.00252,0 -2.0053,0 -3.00781,0 z m 0.5,1 c 0.66922,0 1.33859,0 2.00781,0 v 2.00781 c -0.66922,0 -1.3386,0 -2.00781,0 z m 4.50781,0.98438 a 0.50005018,0.50005018 0 0 0 -0.5,0.5 v 3.00781 a 0.50005018,0.50005018 0 0 0 0.5,0.5 c 1.00252,0 2.0053,0 3.00781,0 a 0.50005018,0.50005018 0 0 0 0.5,-0.5 v -3.00781 a 0.50005018,0.50005018 0 0 0 -0.5,-0.5 c -1.00252,0 -2.00529,0 -3.00781,0 z M 447.5,389 a 0.50005018,0.50005018 0 0 0 -0.5,0.5 v 3 a 0.50005018,0.50005018 0 0 0 0.5,0.5 c 1,-10e-6 2,10e-6 3,0 a 0.50005018,0.50005018 0 0 0 0.5,-0.5 v -3 a 0.50005018,0.50005018 0 0 0 -0.5,-0.5 c -1,0 -2,0 -3,0 z m 10.5,0.98438 c 0.66922,-10e-6 1.3386,0 2.00781,0 v 2.00781 c -0.66922,0 -1.33859,0 -2.00781,0 z M 448,390 c 0.66667,0 1.33333,0 2,0 v 2 c -0.66667,0 -1.33333,0 -2,0 z" id="path22350" inkscape:connector-curvature="0"/>
</g>
</g>
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 118.89062,157.9668 c -1.59478,-0.0195 -3.16997,0.53887 -4.2539,1.6914 l -0.74024,0.73828 c -0.19519,0.19527 -0.19519,0.51177 0,0.70704 l 2,2 c 0.19527,0.19519 0.51177,0.19519 0.70704,0 l 0.5,-0.5 c 0.5849,-0.58491 1.58165,-0.89809 2.3457,-0.69336 0.80156,0.21477 1.42585,0.83907 1.64062,1.64062 0.20473,0.76404 -0.10844,1.76078 -0.69336,2.3457 l -0.5,0.5 c -0.19519,0.19527 -0.19519,0.51177 0,0.70704 l 2,2 c 0.19527,0.19519 0.51177,0.19519 0.70704,0 l 0.75,-0.75 c 2.22378,-2.22379 2.21818,-6.29752 -0.0977,-8.61329 -1.15793,-1.15796 -2.77045,-1.75392 -4.36524,-1.77343 z m -6.14848,3.7832 c -0.12989,0.002 -0.25387,0.0546 -0.34571,0.14648 l -1.25,1.25 c -0.19519,0.19527 -0.19519,0.51177 0,0.70704 l 2,2 c 0.19527,0.19519 0.51177,0.19519 0.70704,0 l 1.25,-1.25 c 0.19519,-0.19527 0.19519,-0.51177 0,-0.70704 l -2,-2 c -0.0957,-0.0957 -0.226,-0.14854 -0.36128,-0.14648 z m 6.00019,6 c -0.12989,0.002 -0.25387,0.0546 -0.34571,0.14648 l -1.25,1.25 c -0.19519,0.19527 -0.19519,0.51177 0,0.70704 l 2,2 c 0.19527,0.19519 0.51177,0.19519 0.70704,0 l 1.25,-1.25 c 0.19519,-0.19527 0.19519,-0.51177 0,-0.70704 l -2,-2 c -0.0957,-0.0957 -0.22612,-0.14859 -0.36147,-0.14648 z"
- id="path21201-1"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="cccccccccscccccccccccccccccccccccccccccc" />
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g22386"
- transform="translate(-886.00002,80.000125)">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 433,263 c -3.84758,0 -6.97776,3.12003 -6.99805,6.96289 -6e-5,0.0125 -0.002,0.0246 -0.002,0.0371 a 0.50004994,0.50004994 0 0 0 0.002,0.0488 0.50004994,0.50004994 0 0 0 0,0.002 l -0.01,6.45508 a 0.50005,0.50005 0 0 0 0.50195,0.50195 L 432.96484,277 A 0.50004994,0.50004994 0 0 0 433,277 c 0.0171,0 0.0337,-0.002 0.0508,-0.002 a 0.50005,0.50005 0 0 0 0.008,0 C 436.89154,276.96613 440,273.84031 440,270 c 0,-3.86007 -3.1399,-7 -7,-7 z m 0,1 c 3.3196,0 6,2.68037 6,6 0,3.31963 -2.6804,6 -6,6 l -6.00781,0.008 0.01,-6.00781 a 0.50005,0.50005 0 0 0 0,-0.0215 C 427.01364,266.66895 429.68766,264 433,264 Z"
- transform="translate(886.00002,-80.000125)"
- id="path22377"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 1314.5,189 a 0.50005,0.50005 0 1 0 0,1 h 4.5 v 4.5 a 0.50005,0.50005 0 1 0 1,0 v -5 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z"
- id="path22381"
- inkscape:connector-curvature="0" />
- </g>
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g22599"
- transform="translate(-1.8536743e-6,-21.999995)">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.5;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 132.5,285 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 13 a 0.50005,0.50005 0 0 0 0.5,0.5 h 13 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -13 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m 0.5,1 h 12 v 12 h -12 z"
- id="path22722"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.10000002;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 139,287 c -2.75493,0 -5,2.24492 -5,5 0,2.75508 2.24507,5 5,5 2.75493,0 5,-2.24492 5,-5 0,-2.75508 -2.24507,-5 -5,-5 z m 0,1.09961 c 2.1604,0 3.90039,1.73975 3.90039,3.90039 0,2.16064 -1.73999,3.90039 -3.90039,3.90039 -2.1604,0 -3.90039,-1.73975 -3.90039,-3.90039 0,-2.16064 1.73999,-3.90039 3.90039,-3.90039 z"
- id="ellipse22724"
- inkscape:connector-curvature="0" />
- </g>
- <g
- style="display:inline;opacity:0.98999999;fill:#ffffff;enable-background:new"
- transform="translate(-356.99997,168.00001)"
- id="g23559">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="M 495.49219,199.99219 A 0.50005,0.50005 0 0 0 495,200.5 v 6.79297 l -3.85352,3.85351 a 0.50005,0.50005 0 1 0 0.70704,0.70704 L 495.70703,208 H 502.5 a 0.50005,0.50005 0 1 0 0,-1 H 496 v -6.5 a 0.50005,0.50005 0 0 0 -0.50781,-0.50781 z"
- id="path23553"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 499.49023,202.99609 a 0.50005,0.50005 0 0 0 -0.34375,0.15039 l -2,2 a 0.50005,0.50005 0 1 0 0.70704,0.70704 l 2,-2 a 0.50005,0.50005 0 0 0 -0.36329,-0.85743 z M 489.5,207 a 0.50005,0.50005 0 1 0 0,1 h 3.25 a 0.50005,0.50005 0 1 0 0,-1 z m 5.99219,2.74219 A 0.50005,0.50005 0 0 0 495,210.25 v 3.25 a 0.50005,0.50005 0 1 0 1,0 v -3.25 a 0.50005,0.50005 0 0 0 -0.50781,-0.50781 z"
- id="path23557"
- inkscape:connector-curvature="0" />
- </g>
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 163.00977,368 c -1.1753,0 -2.25213,0.41841 -2.88477,1.18164 a 0.50005,0.50005 0 1 0 0.76953,0.63672 C 161.27001,369.36537 162.08306,369 163.00977,369 h 1.5 a 0.50005,0.50005 0 1 0 0,-1 z m -1.44141,3.00391 c -1.72788,-0.20328 -3.32792,0.12142 -4.53125,0.90234 -1.20333,0.78092 -1.99513,2.0489 -2.02734,3.58398 v 0.004 0.006 c 0,1.08246 0.28424,1.81368 0.53711,2.38867 0.25286,0.575 0.45312,0.97127 0.45312,1.61133 0,0.46148 -0.10735,0.76987 -0.43555,1.02734 -0.3282,0.25748 -0.96151,0.47266 -2.05468,0.47266 a 0.50005,0.50005 0 1 0 0,1 c 1.21947,0 2.08348,-0.22395 2.67187,-0.68555 C 156.77003,380.85286 157,380.16225 157,379.5 c 0,-0.85994 -0.29523,-1.46367 -0.53711,-2.01367 -0.24115,-0.54835 -0.44991,-1.06809 -0.45117,-1.98047 0.0269,-1.212 0.60444,-2.1349 1.57031,-2.76172 0.96712,-0.62763 2.33652,-0.92835 3.86914,-0.74805 1.98998,0.23412 3.41358,1.22813 4.10352,2.33203 0.68994,1.10391 0.68215,2.23778 -0.14844,3.06836 -0.83795,0.83796 -1.98844,0.89361 -3.08398,0.26368 -1.09554,-0.62994 -2.08047,-1.9799 -2.31446,-3.96875 a 0.50051111,0.50051111 0 1 0 -0.99414,0.11718 c 0.26602,2.26115 1.40609,3.91119 2.81055,4.71875 1.40446,0.80757 3.12702,0.73822 4.28906,-0.42382 1.16941,-1.16942 1.16162,-2.91055 0.28906,-4.30664 -0.87256,-1.3961 -2.57396,-2.52709 -4.83398,-2.79297 z"
- id="path23575"
- inkscape:connector-curvature="0" />
- <g
- transform="matrix(-1,0,0,1,382.99922,-15.999998)"
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g24066">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.20000005;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 198.03906,347.00195 c -0.16252,-0.007 -0.32108,0.006 -0.47461,0.0371 -1.22821,0.25238 -1.95915,1.36682 -2.45507,2.09766 a 0.60006002,0.60006002 0 1 0 0.99218,0.67383 c 0.46736,-0.68874 1.16385,-1.48449 1.70508,-1.59571 0.27061,-0.0556 0.53217,-0.0252 0.94727,0.3125 0.41509,0.33772 0.93861,1.01123 1.49804,2.15625 a 0.60006002,0.60006002 0 0 0 0.53907,0.33594 h 0.41406 a 0.60006002,0.60006002 0 0 0 0.54101,-0.33789 c 0.54756,-1.13491 1.06338,-1.80121 1.47657,-2.13476 0.41318,-0.3336 0.68072,-0.3648 0.95898,-0.3086 0.55653,0.1125 1.2624,0.90264 1.7168,1.57227 a 0.60006002,0.60006002 0 1 0 0.99218,-0.67383 c -0.49155,-0.72441 -1.2401,-1.82545 -2.4707,-2.07422 -0.6153,-0.12438 -1.32524,0.0455 -1.95117,0.55078 -0.51038,0.41204 -0.98784,1.19591 -1.4707,2.07617 -0.49098,-0.88906 -0.97541,-1.67806 -1.48633,-2.09375 -0.46868,-0.38133 -0.98509,-0.5741 -1.47266,-0.59375 z M 202.23047,353 c -0.77376,-7.6e-4 -1.47981,0.46475 -2.07031,1.12109 a 0.60022344,0.60022344 0 1 0 0.89257,0.80274 c 0.54185,-0.60226 0.93231,-0.77859 1.30469,-0.71289 0.37239,0.0657 0.94999,0.47591 1.63867,1.53906 a 0.60006002,0.60006002 0 0 0 1.00782,0 c 0.68868,-1.06315 1.26628,-1.47336 1.63867,-1.53906 0.37238,-0.0657 0.76284,0.11063 1.30469,0.71289 a 0.60022344,0.60022344 0 1 0 0.89257,-0.80274 c -0.67486,-0.75011 -1.50108,-1.25149 -2.40625,-1.09179 -0.70977,0.12522 -1.32665,0.68468 -1.93359,1.45508 -0.60694,-0.7704 -1.22382,-1.32986 -1.93359,-1.45508 -0.11315,-0.02 -0.2254,-0.0292 -0.33594,-0.0293 z"
- transform="matrix(-1,0,0,1,382.99922,15.999998)"
- id="path23960"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999988;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 185.50195,372 c 1.37479,0 2.5,1.12521 2.5,2.5 0,1.37479 -1.12521,2.5 -2.5,2.5 -1.37479,0 -2.5,-1.12521 -2.5,-2.5 0,-1.37479 1.12521,-2.5 2.5,-2.5 z"
- id="circle24296"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="sssss" />
- </g>
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g24237"
- transform="translate(-1.8536743e-6,21.000005)">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999988;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 176.49609,335 c -1.37479,0 -2.5,1.12521 -2.5,2.5 0,1.37479 1.12521,2.5 2.5,2.5 1.37479,0 2.5,-1.12521 2.5,-2.5 0,-1.37479 -1.12521,-2.5 -2.5,-2.5 z"
- id="circle24230"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="sssss" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.20000005;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 181.54297,326 a 0.60006002,0.60006002 0 1 0 0,1.19922 h 0.97656 c 1.24133,0 2.31915,0.34169 3.06836,0.9668 0.74922,0.6251 1.21289,1.52687 1.21289,2.85156 0,2.62859 -2.35092,5.18453 -6.32422,5.78906 a 0.60006002,0.60006002 0 1 0 0.18164,1.18555 c 4.40846,-0.67075 7.3418,-3.63746 7.3418,-6.97461 0,-1.62072 -0.62669,-2.92584 -1.64258,-3.77344 C 185.34154,326.39654 183.97898,326 182.51953,326 Z"
- id="path24226"
- inkscape:connector-curvature="0" />
- </g>
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g24286"
- transform="matrix(-1,0,0,1,319.99683,63.000005)">
- <path
- sodipodi:nodetypes="cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc"
- style="display:inline;opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;enable-background:new"
- d="m 153,284 v 2 h 2 v -2 z m 2,2 v 2 h 2 v -2 z m 2,0 h 2 v -2 h -2 z m 2,0 v 2 h 2 v -2 z m 2,0 h 2 v -2 h -2 z m -6,8 v -2 h -2 v 2 z m 0,-2 h 2 v -2 h -2 z m 0,-2 v -2 h -2 v 2 z m 2,0 h 2 v -2 h -2 z m 2,0 v 2 h 2 v -2 z m 2,0 h 2 v -2 h -2 z m -2,2 h -2 v 2 h 2 z"
- id="path24240"
- inkscape:connector-curvature="0"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- inkscape:export-xdpi="96"
- inkscape:export-ydpi="96" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999988;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 163.99805,292.00391 c -1.65006,0 -2.99805,1.34799 -2.99805,2.99804 0,1.65006 1.34799,2.99805 2.99805,2.99805 1.65005,0 2.99804,-1.34799 2.99804,-2.99805 0,-1.65005 -1.34799,-2.99804 -2.99804,-2.99804 z"
- id="circle24230-9"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="sssss" />
- </g>
- <g
- id="g24294"
- style="display:inline;fill:#ffffff;enable-background:new"
- transform="translate(83.999995,110)">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 185.48047,363.06055 c -0.59845,-0.12754 -1.28387,0.0442 -1.90039,0.56445 -0.53509,0.4515 -1.05167,1.28657 -1.57813,2.31055 -0.51724,-1.01439 -1.02781,-1.84334 -1.5625,-2.29102 -0.61731,-0.51686 -1.30605,-0.68638 -1.90625,-0.56055 -1.20039,0.25167 -1.95047,1.38331 -2.44726,2.14258 a 0.50005,0.50005 0 1 0 0.83594,0.54688 c 0.467,-0.71375 1.196,-1.58087 1.8164,-1.71094 0.3102,-0.065 0.61722,-0.0219 1.0586,0.34766 0.44137,0.36955 0.97784,1.09019 1.54101,2.30078 A 0.50005,0.50005 0 0 0 181.79102,367 h 0.42187 a 0.50005,0.50005 0 0 0 0.45313,-0.28711 c 0.57516,-1.22093 1.11551,-1.9484 1.55859,-2.32227 0.44308,-0.37386 0.74393,-0.41807 1.04687,-0.35351 0.60589,0.12912 1.32737,1.00382 1.80664,1.73633 a 0.50005,0.50005 0 1 0 0.83594,-0.54688 c -0.50216,-0.76749 -1.23669,-1.91095 -2.43359,-2.16601 z M 176.5,370.0332 c -0.89413,-0.17031 -1.70729,0.35696 -2.38477,1.16992 a 0.50064923,0.50064923 0 1 0 0.76954,0.64063 c 0.57252,-0.68703 1.00936,-0.90781 1.42773,-0.82813 0.41837,0.0797 1.03934,0.56817 1.75781,1.76563 a 0.50005,0.50005 0 0 0 0.85938,0 c 0.71847,-1.19746 1.33944,-1.68594 1.75781,-1.76563 0.41837,-0.0797 0.85521,0.1411 1.42773,0.82813 a 0.50064923,0.50064923 0 1 0 0.76954,-0.64063 c -0.67748,-0.81296 -1.49064,-1.34023 -2.38477,-1.16992 -0.73042,0.13913 -1.36539,0.76726 -2,1.66797 -0.63461,-0.90071 -1.26958,-1.52884 -2,-1.66797 z m 6.18555,4.01758 c -0.21091,-0.0352 -0.44348,0.01 -0.63282,0.10938 -0.37867,0.19867 -0.6452,0.54404 -0.97656,1.07422 a 0.50018582,0.50018582 0 1 0 0.84766,0.53124 c 0.29364,-0.46982 0.52711,-0.68574 0.59375,-0.7207 0.0333,-0.0175 0.0107,-0.007 0.004,-0.008 -0.007,-0.001 0.0186,0.003 0.0781,0.0488 0.23799,0.1848 0.74712,0.97866 1.54492,1.78906 a 0.50005,0.50005 0 0 0 0.71094,0 c 0.7978,-0.8104 1.30693,-1.60426 1.54492,-1.78906 0.0595,-0.0462 0.0849,-0.05 0.0781,-0.0488 -0.007,10e-4 -0.0294,-0.01 0.004,0.008 0.0666,0.035 0.30011,0.25088 0.59375,0.7207 a 0.50018582,0.50018582 0 1 0 0.84766,-0.53124 c -0.33136,-0.53018 -0.59789,-0.87555 -0.97656,-1.07422 -0.18934,-0.0993 -0.42191,-0.14455 -0.63282,-0.10938 -0.2109,0.0352 -0.38371,0.13261 -0.52734,0.24414 -0.45025,0.34963 -0.83062,0.92221 -1.28711,1.47266 -0.45649,-0.55045 -0.83686,-1.12303 -1.28711,-1.47266 -0.14363,-0.11153 -0.31644,-0.20897 -0.52734,-0.24414 z"
- id="path24292"
- inkscape:connector-curvature="0" />
- </g>
- <g
- inkscape:export-ydpi="96"
- inkscape:export-xdpi="96"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- transform="rotate(90,171,281.00001)"
- id="g24322"
- style="display:inline;fill:#ffffff;enable-background:new">
- <g
- style="fill:#ffffff;stroke:#ffffff"
- transform="rotate(-90,244.00797,459)"
- id="g24320">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.7;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 267.50195,451.98633 a 0.50005,0.50005 0 0 0 -0.34765,0.85937 l 2.66015,2.66016 -2.67383,2.89648 a 0.50005,0.50005 0 0 0 -0.13281,0.33985 v 0.5 a 0.50005,0.50005 0 0 0 0.13281,0.33984 l 2.67383,2.89649 -2.66015,2.66015 a 0.50005,0.50005 0 1 0 0.70703,0.70703 l 3,-3 a 0.50005,0.50005 0 0 0 0.0137,-0.69336 l -2.86719,-3.10546 v -0.10938 l 2.86719,-3.10547 a 0.50005,0.50005 0 0 0 -0.0137,-0.69336 l -3,-3 a 0.50005,0.50005 0 0 0 -0.35938,-0.15234 z"
- id="path24314"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.85;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 263.50195,451.98633 a 0.50005,0.50005 0 0 0 -0.34765,0.85937 l 2.66015,2.66016 -2.67383,2.89648 a 0.50005,0.50005 0 0 0 -0.13281,0.33985 v 0.5 a 0.50005,0.50005 0 0 0 0.13281,0.33984 l 2.67383,2.89649 -2.66015,2.66015 a 0.50005,0.50005 0 1 0 0.70703,0.70703 l 3,-3 a 0.50005,0.50005 0 0 0 0.0137,-0.69336 l -2.86719,-3.10546 v -0.10938 l 2.86719,-3.10547 a 0.50005,0.50005 0 0 0 -0.0137,-0.69336 l -3,-3 a 0.50005,0.50005 0 0 0 -0.35938,-0.15234 z"
- id="path24324"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 259.50195,451.98633 a 0.50005,0.50005 0 0 0 -0.34765,0.85937 l 2.66015,2.66016 -2.67383,2.89648 a 0.50005,0.50005 0 0 0 -0.13281,0.33985 v 0.5 a 0.50005,0.50005 0 0 0 0.13281,0.33984 l 2.67383,2.89649 -2.66015,2.66015 a 0.50005,0.50005 0 1 0 0.70703,0.70703 l 3,-3 a 0.50005,0.50005 0 0 0 0.0137,-0.69336 l -2.86719,-3.10546 v -0.10938 l 2.86719,-3.10547 a 0.50005,0.50005 0 0 0 -0.0137,-0.69336 l -3,-3 a 0.50005,0.50005 0 0 0 -0.35938,-0.15234 z"
- id="path24326"
- inkscape:connector-curvature="0" />
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 118.89062,157.9668 c -1.59478,-0.0195 -3.16997,0.53887 -4.2539,1.6914 l -0.74024,0.73828 c -0.19519,0.19527 -0.19519,0.51177 0,0.70704 l 2,2 c 0.19527,0.19519 0.51177,0.19519 0.70704,0 l 0.5,-0.5 c 0.5849,-0.58491 1.58165,-0.89809 2.3457,-0.69336 0.80156,0.21477 1.42585,0.83907 1.64062,1.64062 0.20473,0.76404 -0.10844,1.76078 -0.69336,2.3457 l -0.5,0.5 c -0.19519,0.19527 -0.19519,0.51177 0,0.70704 l 2,2 c 0.19527,0.19519 0.51177,0.19519 0.70704,0 l 0.75,-0.75 c 2.22378,-2.22379 2.21818,-6.29752 -0.0977,-8.61329 -1.15793,-1.15796 -2.77045,-1.75392 -4.36524,-1.77343 z m -6.14848,3.7832 c -0.12989,0.002 -0.25387,0.0546 -0.34571,0.14648 l -1.25,1.25 c -0.19519,0.19527 -0.19519,0.51177 0,0.70704 l 2,2 c 0.19527,0.19519 0.51177,0.19519 0.70704,0 l 1.25,-1.25 c 0.19519,-0.19527 0.19519,-0.51177 0,-0.70704 l -2,-2 c -0.0957,-0.0957 -0.226,-0.14854 -0.36128,-0.14648 z m 6.00019,6 c -0.12989,0.002 -0.25387,0.0546 -0.34571,0.14648 l -1.25,1.25 c -0.19519,0.19527 -0.19519,0.51177 0,0.70704 l 2,2 c 0.19527,0.19519 0.51177,0.19519 0.70704,0 l 1.25,-1.25 c 0.19519,-0.19527 0.19519,-0.51177 0,-0.70704 l -2,-2 c -0.0957,-0.0957 -0.22612,-0.14859 -0.36147,-0.14648 z" id="path21201-1" inkscape:connector-curvature="0" sodipodi:nodetypes="cccccccccscccccccccccccccccccccccccccccc"/>
+ <g style="display:inline;fill:#ffffff;enable-background:new" id="g22386" transform="translate(-886.00002,80.000125)">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 433,263 c -3.84758,0 -6.97776,3.12003 -6.99805,6.96289 -6e-5,0.0125 -0.002,0.0246 -0.002,0.0371 a 0.50004994,0.50004994 0 0 0 0.002,0.0488 0.50004994,0.50004994 0 0 0 0,0.002 l -0.01,6.45508 a 0.50005,0.50005 0 0 0 0.50195,0.50195 L 432.96484,277 A 0.50004994,0.50004994 0 0 0 433,277 c 0.0171,0 0.0337,-0.002 0.0508,-0.002 a 0.50005,0.50005 0 0 0 0.008,0 C 436.89154,276.96613 440,273.84031 440,270 c 0,-3.86007 -3.1399,-7 -7,-7 z m 0,1 c 3.3196,0 6,2.68037 6,6 0,3.31963 -2.6804,6 -6,6 l -6.00781,0.008 0.01,-6.00781 a 0.50005,0.50005 0 0 0 0,-0.0215 C 427.01364,266.66895 429.68766,264 433,264 Z" transform="translate(886.00002,-80.000125)" id="path22377" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 1314.5,189 a 0.50005,0.50005 0 1 0 0,1 h 4.5 v 4.5 a 0.50005,0.50005 0 1 0 1,0 v -5 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z" id="path22381" inkscape:connector-curvature="0"/>
+ </g>
+ <g style="display:inline;fill:#ffffff;enable-background:new" id="g22599" transform="translate(-1.8536743e-6,-21.999995)">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.5;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 132.5,285 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 13 a 0.50005,0.50005 0 0 0 0.5,0.5 h 13 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -13 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m 0.5,1 h 12 v 12 h -12 z" id="path22722" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.10000002;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 139,287 c -2.75493,0 -5,2.24492 -5,5 0,2.75508 2.24507,5 5,5 2.75493,0 5,-2.24492 5,-5 0,-2.75508 -2.24507,-5 -5,-5 z m 0,1.09961 c 2.1604,0 3.90039,1.73975 3.90039,3.90039 0,2.16064 -1.73999,3.90039 -3.90039,3.90039 -2.1604,0 -3.90039,-1.73975 -3.90039,-3.90039 0,-2.16064 1.73999,-3.90039 3.90039,-3.90039 z" id="ellipse22724" inkscape:connector-curvature="0"/>
+ </g>
+ <g style="display:inline;opacity:0.98999999;fill:#ffffff;enable-background:new" transform="translate(-356.99997,168.00001)" id="g23559">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="M 495.49219,199.99219 A 0.50005,0.50005 0 0 0 495,200.5 v 6.79297 l -3.85352,3.85351 a 0.50005,0.50005 0 1 0 0.70704,0.70704 L 495.70703,208 H 502.5 a 0.50005,0.50005 0 1 0 0,-1 H 496 v -6.5 a 0.50005,0.50005 0 0 0 -0.50781,-0.50781 z" id="path23553" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 499.49023,202.99609 a 0.50005,0.50005 0 0 0 -0.34375,0.15039 l -2,2 a 0.50005,0.50005 0 1 0 0.70704,0.70704 l 2,-2 a 0.50005,0.50005 0 0 0 -0.36329,-0.85743 z M 489.5,207 a 0.50005,0.50005 0 1 0 0,1 h 3.25 a 0.50005,0.50005 0 1 0 0,-1 z m 5.99219,2.74219 A 0.50005,0.50005 0 0 0 495,210.25 v 3.25 a 0.50005,0.50005 0 1 0 1,0 v -3.25 a 0.50005,0.50005 0 0 0 -0.50781,-0.50781 z" id="path23557" inkscape:connector-curvature="0"/>
+ </g>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 163.00977,368 c -1.1753,0 -2.25213,0.41841 -2.88477,1.18164 a 0.50005,0.50005 0 1 0 0.76953,0.63672 C 161.27001,369.36537 162.08306,369 163.00977,369 h 1.5 a 0.50005,0.50005 0 1 0 0,-1 z m -1.44141,3.00391 c -1.72788,-0.20328 -3.32792,0.12142 -4.53125,0.90234 -1.20333,0.78092 -1.99513,2.0489 -2.02734,3.58398 v 0.004 0.006 c 0,1.08246 0.28424,1.81368 0.53711,2.38867 0.25286,0.575 0.45312,0.97127 0.45312,1.61133 0,0.46148 -0.10735,0.76987 -0.43555,1.02734 -0.3282,0.25748 -0.96151,0.47266 -2.05468,0.47266 a 0.50005,0.50005 0 1 0 0,1 c 1.21947,0 2.08348,-0.22395 2.67187,-0.68555 C 156.77003,380.85286 157,380.16225 157,379.5 c 0,-0.85994 -0.29523,-1.46367 -0.53711,-2.01367 -0.24115,-0.54835 -0.44991,-1.06809 -0.45117,-1.98047 0.0269,-1.212 0.60444,-2.1349 1.57031,-2.76172 0.96712,-0.62763 2.33652,-0.92835 3.86914,-0.74805 1.98998,0.23412 3.41358,1.22813 4.10352,2.33203 0.68994,1.10391 0.68215,2.23778 -0.14844,3.06836 -0.83795,0.83796 -1.98844,0.89361 -3.08398,0.26368 -1.09554,-0.62994 -2.08047,-1.9799 -2.31446,-3.96875 a 0.50051111,0.50051111 0 1 0 -0.99414,0.11718 c 0.26602,2.26115 1.40609,3.91119 2.81055,4.71875 1.40446,0.80757 3.12702,0.73822 4.28906,-0.42382 1.16941,-1.16942 1.16162,-2.91055 0.28906,-4.30664 -0.87256,-1.3961 -2.57396,-2.52709 -4.83398,-2.79297 z" id="path23575" inkscape:connector-curvature="0"/>
+ <g transform="matrix(-1,0,0,1,382.99922,-15.999998)" style="display:inline;fill:#ffffff;enable-background:new" id="g24066">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.20000005;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 198.03906,347.00195 c -0.16252,-0.007 -0.32108,0.006 -0.47461,0.0371 -1.22821,0.25238 -1.95915,1.36682 -2.45507,2.09766 a 0.60006002,0.60006002 0 1 0 0.99218,0.67383 c 0.46736,-0.68874 1.16385,-1.48449 1.70508,-1.59571 0.27061,-0.0556 0.53217,-0.0252 0.94727,0.3125 0.41509,0.33772 0.93861,1.01123 1.49804,2.15625 a 0.60006002,0.60006002 0 0 0 0.53907,0.33594 h 0.41406 a 0.60006002,0.60006002 0 0 0 0.54101,-0.33789 c 0.54756,-1.13491 1.06338,-1.80121 1.47657,-2.13476 0.41318,-0.3336 0.68072,-0.3648 0.95898,-0.3086 0.55653,0.1125 1.2624,0.90264 1.7168,1.57227 a 0.60006002,0.60006002 0 1 0 0.99218,-0.67383 c -0.49155,-0.72441 -1.2401,-1.82545 -2.4707,-2.07422 -0.6153,-0.12438 -1.32524,0.0455 -1.95117,0.55078 -0.51038,0.41204 -0.98784,1.19591 -1.4707,2.07617 -0.49098,-0.88906 -0.97541,-1.67806 -1.48633,-2.09375 -0.46868,-0.38133 -0.98509,-0.5741 -1.47266,-0.59375 z M 202.23047,353 c -0.77376,-7.6e-4 -1.47981,0.46475 -2.07031,1.12109 a 0.60022344,0.60022344 0 1 0 0.89257,0.80274 c 0.54185,-0.60226 0.93231,-0.77859 1.30469,-0.71289 0.37239,0.0657 0.94999,0.47591 1.63867,1.53906 a 0.60006002,0.60006002 0 0 0 1.00782,0 c 0.68868,-1.06315 1.26628,-1.47336 1.63867,-1.53906 0.37238,-0.0657 0.76284,0.11063 1.30469,0.71289 a 0.60022344,0.60022344 0 1 0 0.89257,-0.80274 c -0.67486,-0.75011 -1.50108,-1.25149 -2.40625,-1.09179 -0.70977,0.12522 -1.32665,0.68468 -1.93359,1.45508 -0.60694,-0.7704 -1.22382,-1.32986 -1.93359,-1.45508 -0.11315,-0.02 -0.2254,-0.0292 -0.33594,-0.0293 z" transform="matrix(-1,0,0,1,382.99922,15.999998)" id="path23960" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999988;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 185.50195,372 c 1.37479,0 2.5,1.12521 2.5,2.5 0,1.37479 -1.12521,2.5 -2.5,2.5 -1.37479,0 -2.5,-1.12521 -2.5,-2.5 0,-1.37479 1.12521,-2.5 2.5,-2.5 z" id="circle24296" inkscape:connector-curvature="0" sodipodi:nodetypes="sssss"/>
+ </g>
+ <g style="display:inline;fill:#ffffff;enable-background:new" id="g24237" transform="translate(-1.8536743e-6,21.000005)">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999988;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 176.49609,335 c -1.37479,0 -2.5,1.12521 -2.5,2.5 0,1.37479 1.12521,2.5 2.5,2.5 1.37479,0 2.5,-1.12521 2.5,-2.5 0,-1.37479 -1.12521,-2.5 -2.5,-2.5 z" id="circle24230" inkscape:connector-curvature="0" sodipodi:nodetypes="sssss"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.20000005;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 181.54297,326 a 0.60006002,0.60006002 0 1 0 0,1.19922 h 0.97656 c 1.24133,0 2.31915,0.34169 3.06836,0.9668 0.74922,0.6251 1.21289,1.52687 1.21289,2.85156 0,2.62859 -2.35092,5.18453 -6.32422,5.78906 a 0.60006002,0.60006002 0 1 0 0.18164,1.18555 c 4.40846,-0.67075 7.3418,-3.63746 7.3418,-6.97461 0,-1.62072 -0.62669,-2.92584 -1.64258,-3.77344 C 185.34154,326.39654 183.97898,326 182.51953,326 Z" id="path24226" inkscape:connector-curvature="0"/>
+ </g>
+ <g style="display:inline;fill:#ffffff;enable-background:new" id="g24286" transform="matrix(-1,0,0,1,319.99683,63.000005)">
+ <path sodipodi:nodetypes="cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc" style="display:inline;opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;enable-background:new" d="m 153,284 v 2 h 2 v -2 z m 2,2 v 2 h 2 v -2 z m 2,0 h 2 v -2 h -2 z m 2,0 v 2 h 2 v -2 z m 2,0 h 2 v -2 h -2 z m -6,8 v -2 h -2 v 2 z m 0,-2 h 2 v -2 h -2 z m 0,-2 v -2 h -2 v 2 z m 2,0 h 2 v -2 h -2 z m 2,0 v 2 h 2 v -2 z m 2,0 h 2 v -2 h -2 z m -2,2 h -2 v 2 h 2 z" id="path24240" inkscape:connector-curvature="0" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" inkscape:export-xdpi="96" inkscape:export-ydpi="96"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999988;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 163.99805,292.00391 c -1.65006,0 -2.99805,1.34799 -2.99805,2.99804 0,1.65006 1.34799,2.99805 2.99805,2.99805 1.65005,0 2.99804,-1.34799 2.99804,-2.99805 0,-1.65005 -1.34799,-2.99804 -2.99804,-2.99804 z" id="circle24230-9" inkscape:connector-curvature="0" sodipodi:nodetypes="sssss"/>
+ </g>
+ <g id="g24294" style="display:inline;fill:#ffffff;enable-background:new" transform="translate(83.999995,110)">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 185.48047,363.06055 c -0.59845,-0.12754 -1.28387,0.0442 -1.90039,0.56445 -0.53509,0.4515 -1.05167,1.28657 -1.57813,2.31055 -0.51724,-1.01439 -1.02781,-1.84334 -1.5625,-2.29102 -0.61731,-0.51686 -1.30605,-0.68638 -1.90625,-0.56055 -1.20039,0.25167 -1.95047,1.38331 -2.44726,2.14258 a 0.50005,0.50005 0 1 0 0.83594,0.54688 c 0.467,-0.71375 1.196,-1.58087 1.8164,-1.71094 0.3102,-0.065 0.61722,-0.0219 1.0586,0.34766 0.44137,0.36955 0.97784,1.09019 1.54101,2.30078 A 0.50005,0.50005 0 0 0 181.79102,367 h 0.42187 a 0.50005,0.50005 0 0 0 0.45313,-0.28711 c 0.57516,-1.22093 1.11551,-1.9484 1.55859,-2.32227 0.44308,-0.37386 0.74393,-0.41807 1.04687,-0.35351 0.60589,0.12912 1.32737,1.00382 1.80664,1.73633 a 0.50005,0.50005 0 1 0 0.83594,-0.54688 c -0.50216,-0.76749 -1.23669,-1.91095 -2.43359,-2.16601 z M 176.5,370.0332 c -0.89413,-0.17031 -1.70729,0.35696 -2.38477,1.16992 a 0.50064923,0.50064923 0 1 0 0.76954,0.64063 c 0.57252,-0.68703 1.00936,-0.90781 1.42773,-0.82813 0.41837,0.0797 1.03934,0.56817 1.75781,1.76563 a 0.50005,0.50005 0 0 0 0.85938,0 c 0.71847,-1.19746 1.33944,-1.68594 1.75781,-1.76563 0.41837,-0.0797 0.85521,0.1411 1.42773,0.82813 a 0.50064923,0.50064923 0 1 0 0.76954,-0.64063 c -0.67748,-0.81296 -1.49064,-1.34023 -2.38477,-1.16992 -0.73042,0.13913 -1.36539,0.76726 -2,1.66797 -0.63461,-0.90071 -1.26958,-1.52884 -2,-1.66797 z m 6.18555,4.01758 c -0.21091,-0.0352 -0.44348,0.01 -0.63282,0.10938 -0.37867,0.19867 -0.6452,0.54404 -0.97656,1.07422 a 0.50018582,0.50018582 0 1 0 0.84766,0.53124 c 0.29364,-0.46982 0.52711,-0.68574 0.59375,-0.7207 0.0333,-0.0175 0.0107,-0.007 0.004,-0.008 -0.007,-0.001 0.0186,0.003 0.0781,0.0488 0.23799,0.1848 0.74712,0.97866 1.54492,1.78906 a 0.50005,0.50005 0 0 0 0.71094,0 c 0.7978,-0.8104 1.30693,-1.60426 1.54492,-1.78906 0.0595,-0.0462 0.0849,-0.05 0.0781,-0.0488 -0.007,10e-4 -0.0294,-0.01 0.004,0.008 0.0666,0.035 0.30011,0.25088 0.59375,0.7207 a 0.50018582,0.50018582 0 1 0 0.84766,-0.53124 c -0.33136,-0.53018 -0.59789,-0.87555 -0.97656,-1.07422 -0.18934,-0.0993 -0.42191,-0.14455 -0.63282,-0.10938 -0.2109,0.0352 -0.38371,0.13261 -0.52734,0.24414 -0.45025,0.34963 -0.83062,0.92221 -1.28711,1.47266 -0.45649,-0.55045 -0.83686,-1.12303 -1.28711,-1.47266 -0.14363,-0.11153 -0.31644,-0.20897 -0.52734,-0.24414 z" id="path24292" inkscape:connector-curvature="0"/>
+ </g>
+ <g inkscape:export-ydpi="96" inkscape:export-xdpi="96" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" transform="rotate(90,171,281.00001)" id="g24322" style="display:inline;fill:#ffffff;enable-background:new">
+ <g style="fill:#ffffff;stroke:#ffffff" transform="rotate(-90,244.00797,459)" id="g24320">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.7;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 267.50195,451.98633 a 0.50005,0.50005 0 0 0 -0.34765,0.85937 l 2.66015,2.66016 -2.67383,2.89648 a 0.50005,0.50005 0 0 0 -0.13281,0.33985 v 0.5 a 0.50005,0.50005 0 0 0 0.13281,0.33984 l 2.67383,2.89649 -2.66015,2.66015 a 0.50005,0.50005 0 1 0 0.70703,0.70703 l 3,-3 a 0.50005,0.50005 0 0 0 0.0137,-0.69336 l -2.86719,-3.10546 v -0.10938 l 2.86719,-3.10547 a 0.50005,0.50005 0 0 0 -0.0137,-0.69336 l -3,-3 a 0.50005,0.50005 0 0 0 -0.35938,-0.15234 z" id="path24314" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.85;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 263.50195,451.98633 a 0.50005,0.50005 0 0 0 -0.34765,0.85937 l 2.66015,2.66016 -2.67383,2.89648 a 0.50005,0.50005 0 0 0 -0.13281,0.33985 v 0.5 a 0.50005,0.50005 0 0 0 0.13281,0.33984 l 2.67383,2.89649 -2.66015,2.66015 a 0.50005,0.50005 0 1 0 0.70703,0.70703 l 3,-3 a 0.50005,0.50005 0 0 0 0.0137,-0.69336 l -2.86719,-3.10546 v -0.10938 l 2.86719,-3.10547 a 0.50005,0.50005 0 0 0 -0.0137,-0.69336 l -3,-3 a 0.50005,0.50005 0 0 0 -0.35938,-0.15234 z" id="path24324" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 259.50195,451.98633 a 0.50005,0.50005 0 0 0 -0.34765,0.85937 l 2.66015,2.66016 -2.67383,2.89648 a 0.50005,0.50005 0 0 0 -0.13281,0.33985 v 0.5 a 0.50005,0.50005 0 0 0 0.13281,0.33984 l 2.67383,2.89649 -2.66015,2.66015 a 0.50005,0.50005 0 1 0 0.70703,0.70703 l 3,-3 a 0.50005,0.50005 0 0 0 0.0137,-0.69336 l -2.86719,-3.10546 v -0.10938 l 2.86719,-3.10547 a 0.50005,0.50005 0 0 0 -0.0137,-0.69336 l -3,-3 a 0.50005,0.50005 0 0 0 -0.35938,-0.15234 z" id="path24326" inkscape:connector-curvature="0"/>
</g>
</g>
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g24475"
- transform="matrix(-1,0,0,1,551.00038,4.4999696e-6)">
- <g
- style="display:inline;opacity:1;fill:#ffffff;enable-background:new"
- transform="translate(188,63)"
- id="g24356">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 265.26367,347.00781 c -0.18015,-0.0118 -0.36127,-0.0106 -0.54101,0.002 -0.71897,0.05 -1.42538,0.29465 -2.03516,0.72656 -1.07953,0.76463 -1.69855,2.00863 -1.68359,3.31055 -0.73615,0.10606 -1.42713,0.4336 -1.96289,0.96289 -0.64152,0.63369 -1.00529,1.49176 -1.03125,2.39062 A 0.50005,0.50005 0 0 0 258,354.5 v 1 a 0.50005,0.50005 0 1 0 1,0 v -0.96484 a 0.50005,0.50005 0 0 0 0,-0.0352 c 0,-0.66852 0.26659,-1.30947 0.74219,-1.7793 0.47558,-0.46982 1.12059,-0.7287 1.78906,-0.7207 a 0.50005,0.50005 0 0 0 0.49609,-0.61914 c -0.14075,-1.09982 0.33186,-2.1861 1.23828,-2.82813 0.9161,-0.64887 2.11612,-0.73246 3.11329,-0.21679 C 267.37607,348.85161 268,349.87739 268,351 a 0.50005,0.50005 0 0 0 0.002,0.043 c -0.15856,-0.001 -0.31755,-0.003 -0.47461,0.0137 -0.85318,0.0929 -1.67617,0.45304 -2.33203,1.06641 a 0.5002238,0.5002238 0 1 0 0.6836,0.73047 c 0.98705,-0.92311 2.4814,-1.08629 3.65234,-0.39649 1.17094,0.6898 1.72204,2.04918 1.35937,3.33399 -0.36266,1.2848 -1.55342,2.17677 -2.92187,2.17578 -1.36845,-10e-4 -2.5592,-0.89437 -2.91992,-2.17969 a 0.50005,0.50005 0 0 0 -0.0469,-0.11719 0.50004997,0.50004997 0 0 0 0,-0.002 0.50004997,0.50004997 0 0 0 -0.0156,-0.0977 c -0.19194,-0.87762 -0.95663,-1.51856 -1.85742,-1.56836 -0.9008,-0.0498 -1.73485,0.50125 -2.02539,1.35157 a 0.50060304,0.50060304 0 0 0 0.94726,0.32421 c 0.14448,-0.42284 0.5581,-0.70333 1.02149,-0.67773 0.46338,0.0256 0.84227,0.34777 0.9375,0.7832 a 0.50004997,0.50004997 0 0 0 0.0566,0.1543 0.50005,0.50005 0 0 0 0.0195,0.11914 c 0.4828,1.72035 2.07532,2.90916 3.88086,2.91016 1.80554,10e-4 3.40131,-1.18467 3.88672,-2.9043 0.4854,-1.71963 -0.26339,-3.55306 -1.81446,-4.4668 -0.33807,-0.19915 -0.69725,-0.33834 -1.06445,-0.43164 A 0.50005,0.50005 0 0 0 269,351 c 0,-1.4945 -0.83461,-2.86624 -2.16211,-3.55273 -0.49781,-0.25748 -1.03377,-0.40392 -1.57422,-0.43946 z"
- transform="matrix(-1,0,0,1,363.00038,-63.000004)"
- id="path24346"
- inkscape:connector-curvature="0" />
+ <g style="display:inline;fill:#ffffff;enable-background:new" id="g24475" transform="matrix(-1,0,0,1,551.00038,4.4999696e-6)">
+ <g style="display:inline;opacity:1;fill:#ffffff;enable-background:new" transform="translate(188,63)" id="g24356">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 265.26367,347.00781 c -0.18015,-0.0118 -0.36127,-0.0106 -0.54101,0.002 -0.71897,0.05 -1.42538,0.29465 -2.03516,0.72656 -1.07953,0.76463 -1.69855,2.00863 -1.68359,3.31055 -0.73615,0.10606 -1.42713,0.4336 -1.96289,0.96289 -0.64152,0.63369 -1.00529,1.49176 -1.03125,2.39062 A 0.50005,0.50005 0 0 0 258,354.5 v 1 a 0.50005,0.50005 0 1 0 1,0 v -0.96484 a 0.50005,0.50005 0 0 0 0,-0.0352 c 0,-0.66852 0.26659,-1.30947 0.74219,-1.7793 0.47558,-0.46982 1.12059,-0.7287 1.78906,-0.7207 a 0.50005,0.50005 0 0 0 0.49609,-0.61914 c -0.14075,-1.09982 0.33186,-2.1861 1.23828,-2.82813 0.9161,-0.64887 2.11612,-0.73246 3.11329,-0.21679 C 267.37607,348.85161 268,349.87739 268,351 a 0.50005,0.50005 0 0 0 0.002,0.043 c -0.15856,-0.001 -0.31755,-0.003 -0.47461,0.0137 -0.85318,0.0929 -1.67617,0.45304 -2.33203,1.06641 a 0.5002238,0.5002238 0 1 0 0.6836,0.73047 c 0.98705,-0.92311 2.4814,-1.08629 3.65234,-0.39649 1.17094,0.6898 1.72204,2.04918 1.35937,3.33399 -0.36266,1.2848 -1.55342,2.17677 -2.92187,2.17578 -1.36845,-10e-4 -2.5592,-0.89437 -2.91992,-2.17969 a 0.50005,0.50005 0 0 0 -0.0469,-0.11719 0.50004997,0.50004997 0 0 0 0,-0.002 0.50004997,0.50004997 0 0 0 -0.0156,-0.0977 c -0.19194,-0.87762 -0.95663,-1.51856 -1.85742,-1.56836 -0.9008,-0.0498 -1.73485,0.50125 -2.02539,1.35157 a 0.50060304,0.50060304 0 0 0 0.94726,0.32421 c 0.14448,-0.42284 0.5581,-0.70333 1.02149,-0.67773 0.46338,0.0256 0.84227,0.34777 0.9375,0.7832 a 0.50004997,0.50004997 0 0 0 0.0566,0.1543 0.50005,0.50005 0 0 0 0.0195,0.11914 c 0.4828,1.72035 2.07532,2.90916 3.88086,2.91016 1.80554,10e-4 3.40131,-1.18467 3.88672,-2.9043 0.4854,-1.71963 -0.26339,-3.55306 -1.81446,-4.4668 -0.33807,-0.19915 -0.69725,-0.33834 -1.06445,-0.43164 A 0.50005,0.50005 0 0 0 269,351 c 0,-1.4945 -0.83461,-2.86624 -2.16211,-3.55273 -0.49781,-0.25748 -1.03377,-0.40392 -1.57422,-0.43946 z" transform="matrix(-1,0,0,1,363.00038,-63.000004)" id="path24346" inkscape:connector-curvature="0"/>
</g>
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999976;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 290.99609,357 c -1.09865,0 -2,0.90134 -2,2 0,1.09866 0.90135,2 2,2 1.09866,0 2,-0.90134 2,-2 0,-1.09866 -0.90134,-2 -2,-2 z"
- id="circle24448"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="sssss" />
- </g>
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g24513"
- transform="matrix(0,1,1,0,-152.00318,47.006352)">
- <g
- id="g24612"
- style="fill:#ffffff">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 142.49609,347.00195 c -1.17351,0 -2.15665,0.82286 -2.42187,1.91797 1.14862,0.70733 2.04128,1.7894 2.50586,3.07422 1.33547,-0.0457 2.41601,-1.14613 2.41601,-2.49219 0,-1.37479 -1.12521,-2.5 -2.5,-2.5 z m 0.50196,8 c -1.65181,0 -3.00196,1.35015 -3.00196,3.00196 0,1.65181 1.35015,3.00195 3.00196,3.00195 1.65181,0 3.00195,-1.35014 3.00195,-3.00195 0,-1.65181 -1.35014,-3.00196 -3.00195,-3.00196 z"
- transform="matrix(0,1,1,0,-47.006352,152.00318)"
- id="circle24338"
- inkscape:connector-curvature="0" />
- <path
- id="circle24481"
- transform="matrix(0,1,1,0,-47.006347,152.00318)"
- d="m 136.9668,349.03125 c -2.73852,0 -4.97071,2.23218 -4.97071,4.9707 0,2.73853 2.23219,4.96875 4.97071,4.96875 0.74568,0 1.44822,-0.1767 2.08398,-0.47265 -0.0209,-0.16376 -0.0508,-0.32518 -0.0508,-0.49414 0,-0.2598 0.0297,-0.51312 0.0781,-0.75977 -0.60661,0.39452 -1.33048,0.62695 -2.11132,0.62695 -2.14404,0 -3.8711,-1.72509 -3.8711,-3.86914 0,-2.14404 1.72706,-3.87109 3.8711,-3.87109 2.14405,0 3.86914,1.72705 3.86914,3.87109 0,0.23797 -0.0296,0.46946 -0.0703,0.69532 0.35109,-0.23908 0.74721,-0.40722 1.16407,-0.52539 0.002,-0.0568 0.008,-0.11267 0.008,-0.16993 0,-2.73852 -2.23217,-4.9707 -4.9707,-4.9707 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.10000002;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- inkscape:connector-curvature="0" />
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999976;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 290.99609,357 c -1.09865,0 -2,0.90134 -2,2 0,1.09866 0.90135,2 2,2 1.09866,0 2,-0.90134 2,-2 0,-1.09866 -0.90134,-2 -2,-2 z" id="circle24448" inkscape:connector-curvature="0" sodipodi:nodetypes="sssss"/>
+ </g>
+ <g style="display:inline;fill:#ffffff;enable-background:new" id="g24513" transform="matrix(0,1,1,0,-152.00318,47.006352)">
+ <g id="g24612" style="fill:#ffffff">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 142.49609,347.00195 c -1.17351,0 -2.15665,0.82286 -2.42187,1.91797 1.14862,0.70733 2.04128,1.7894 2.50586,3.07422 1.33547,-0.0457 2.41601,-1.14613 2.41601,-2.49219 0,-1.37479 -1.12521,-2.5 -2.5,-2.5 z m 0.50196,8 c -1.65181,0 -3.00196,1.35015 -3.00196,3.00196 0,1.65181 1.35015,3.00195 3.00196,3.00195 1.65181,0 3.00195,-1.35014 3.00195,-3.00195 0,-1.65181 -1.35014,-3.00196 -3.00195,-3.00196 z" transform="matrix(0,1,1,0,-47.006352,152.00318)" id="circle24338" inkscape:connector-curvature="0"/>
+ <path id="circle24481" transform="matrix(0,1,1,0,-47.006347,152.00318)" d="m 136.9668,349.03125 c -2.73852,0 -4.97071,2.23218 -4.97071,4.9707 0,2.73853 2.23219,4.96875 4.97071,4.96875 0.74568,0 1.44822,-0.1767 2.08398,-0.47265 -0.0209,-0.16376 -0.0508,-0.32518 -0.0508,-0.49414 0,-0.2598 0.0297,-0.51312 0.0781,-0.75977 -0.60661,0.39452 -1.33048,0.62695 -2.11132,0.62695 -2.14404,0 -3.8711,-1.72509 -3.8711,-3.86914 0,-2.14404 1.72706,-3.87109 3.8711,-3.87109 2.14405,0 3.86914,1.72705 3.86914,3.87109 0,0.23797 -0.0296,0.46946 -0.0703,0.69532 0.35109,-0.23908 0.74721,-0.40722 1.16407,-0.52539 0.002,-0.0568 0.008,-0.11267 0.008,-0.16993 0,-2.73852 -2.23217,-4.9707 -4.9707,-4.9707 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.10000002;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" inkscape:connector-curvature="0"/>
</g>
</g>
- <g
- style="display:inline;opacity:1;fill:#ffffff;enable-background:new"
- id="g22255"
- transform="translate(-1.8536743e-6,-20.999994)">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:7.40018749;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 521.5,287 c -5.3,0 -9.5,4.7037 -9.5,9.5 v 1 a 0.50005,0.50005 0 0 0 0.5,0.5 h 3 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -1 c 0,-1.05 0.68155,-2.47832 1.73828,-3.59375 C 518.79501,291.79082 520.19444,291 521.5,291 h 1 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -3 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m 0,1 h 0.5 v 2 h -0.5 c -1.69444,0 -3.29501,0.95918 -4.48828,2.21875 C 515.81845,293.47832 515,295.05 515,296.5 v 0.5 h -2 v -0.5 c 0,-4.2037 3.8,-8.5 8.5,-8.5 z"
- id="path21998"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.5;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 512.5,263 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 6.60938 c 0.29756,-0.51189 0.62592,-1.00687 1,-1.46876 V 264 h 2 v 2.71875 c 0.32103,-0.24305 0.65292,-0.47168 1,-0.67969 V 263.5 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z"
- transform="translate(1.8536743e-6,20.999994)"
- id="path22786"
- inkscape:connector-curvature="0" />
- </g>
- <rect
- style="display:inline;overflow:visible;visibility:visible;opacity:0;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.79999995;marker:none;enable-background:accumulate"
- id="rect40784"
- width="16"
- height="16"
- x="110"
- y="262" />
- <g
- style="display:inline;opacity:1;fill:#ffffff;enable-background:new"
- id="g22709"
- transform="matrix(0,-1,-1,0,408.99494,408.99999)">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.5;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="M 153.49219,289.73828 A 0.50005,0.50005 0 0 0 153,290.24414 l -0.008,7.26172 a 0.50005,0.50005 0 0 0 0.50195,0.50195 l 7.25586,-0.0137 a 0.50005,0.50005 0 1 0 0,-1 l -6.75781,0.0137 0.008,-6.76172 a 0.50005,0.50005 0 0 0 -0.50781,-0.50781 z"
- id="path21430-0"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 115.04297,242 -4,4 h 9.95117 l 0.006,9.95703 3.85352,-3.85351 L 125,251.95703 124.99414,242 Z m 0.41406,1 h 7.9707 l -2,2 h -7.9707 z m 8.53711,0.56641 0.006,7.97656 -2,2 -0.006,-7.97656 z"
- transform="matrix(0,-1,-1,0,408.99999,408.99494)"
- id="path21432-2"
- inkscape:connector-curvature="0" />
- </g>
- <g
- style="display:inline;opacity:1;fill:#ffffff;enable-background:new"
- id="g22406"
- transform="translate(20.999998,-20.999994)">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.5;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 240.49805,288 -3.00586,0.008 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 9 a 0.50005,0.50005 0 0 0 0.5,0.5 h 3 a 0.50005,0.50005 0 0 0 0.5,-0.5 L 241,288.5 A 0.50005,0.50005 0 0 0 240.49805,288 Z M 240,289.00195 l -0.008,8.00586 h -2 v -8.00195 z"
- id="path22383"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 250.49805,284 -3.00586,0.008 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 9 a 0.50005,0.50005 0 0 0 0.5,0.5 h 3 a 0.50005,0.50005 0 0 0 0.5,-0.5 L 251,284.5 A 0.50005,0.50005 0 0 0 250.49805,284 Z M 250,285.00195 l -0.008,8.00586 h -2 v -8.00195 z M 245.49805,286 l -3.00586,0.008 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 9 a 0.50005,0.50005 0 0 0 0.5,0.5 h 3 a 0.50005,0.50005 0 0 0 0.5,-0.5 L 246,286.5 A 0.50005,0.50005 0 0 0 245.49805,286 Z M 245,287.00195 l -0.008,8.00586 h -2 v -8.00195 z"
- id="path22387"
- inkscape:connector-curvature="0" />
- </g>
- <g
- style="display:inline;opacity:1;fill:#ffffff;enable-background:new"
- id="g22579"
- transform="matrix(-1,0,0,1,571.99995,-62.999994)">
- <g
- style="opacity:1;fill:#ffffff"
- id="g22529">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 268.5,242 c -1.88693,0 -3.42464,1.51084 -3.48828,3.38281 -0.009,0.0385 -0.0124,0.0778 -0.0117,0.11719 -4.1e-4,0.0117 -4.1e-4,0.0234 0,0.0352 V 249 h -3.5 c -0.0381,-4.2e-4 -0.0761,0.004 -0.11328,0.0117 C 259.5129,249.07334 258,250.61174 258,252.5 c 0,1.88693 1.51084,3.42464 3.38281,3.48828 0.0385,0.009 0.0778,0.0124 0.11719,0.0117 h 7 c 0.92807,0 1.81837,-0.36915 2.47461,-1.02539 C 271.63085,254.31837 272,253.42807 272,252.5 v -7 c 7.2e-4,-0.0394 -0.003,-0.0787 -0.0117,-0.11719 C 271.92462,243.51084 270.38693,242 268.5,242 Z m 0,1 c 1.38663,0 2.5,1.11337 2.5,2.5 -4.1e-4,0.0117 -4.1e-4,0.0234 0,0.0352 V 252.5 c 0,0.66323 -0.26345,1.2986 -0.73242,1.76758 C 269.7986,254.73655 269.16323,255 268.5,255 h -7 c -1.38663,0 -2.5,-1.11337 -2.5,-2.5 0,-1.38663 1.11337,-2.5 2.5,-2.5 h 3.75 c 0.1326,-2e-5 0.25976,-0.0527 0.35352,-0.14648 l 0.25,-0.25 c 0.0938,-0.0938 0.14646,-0.22092 0.14648,-0.35352 v -3.75 c 0,-1.38663 1.11337,-2.5 2.5,-2.5 z"
- transform="matrix(-1,0,0,1,571.99995,62.999994)"
- id="path22488"
- inkscape:connector-curvature="0" />
+ <g style="display:inline;opacity:1;fill:#ffffff;enable-background:new" id="g22255" transform="translate(-1.8536743e-6,-20.999994)">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:7.40018749;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 521.5,287 c -5.3,0 -9.5,4.7037 -9.5,9.5 v 1 a 0.50005,0.50005 0 0 0 0.5,0.5 h 3 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -1 c 0,-1.05 0.68155,-2.47832 1.73828,-3.59375 C 518.79501,291.79082 520.19444,291 521.5,291 h 1 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -3 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m 0,1 h 0.5 v 2 h -0.5 c -1.69444,0 -3.29501,0.95918 -4.48828,2.21875 C 515.81845,293.47832 515,295.05 515,296.5 v 0.5 h -2 v -0.5 c 0,-4.2037 3.8,-8.5 8.5,-8.5 z" id="path21998" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.5;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 512.5,263 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 6.60938 c 0.29756,-0.51189 0.62592,-1.00687 1,-1.46876 V 264 h 2 v 2.71875 c 0.32103,-0.24305 0.65292,-0.47168 1,-0.67969 V 263.5 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z" transform="translate(1.8536743e-6,20.999994)" id="path22786" inkscape:connector-curvature="0"/>
+ </g>
+ <rect style="display:inline;overflow:visible;visibility:visible;opacity:0;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.79999995;marker:none;enable-background:accumulate" id="rect40784" width="16" height="16" x="110" y="262"/>
+ <g style="display:inline;opacity:1;fill:#ffffff;enable-background:new" id="g22709" transform="matrix(0,-1,-1,0,408.99494,408.99999)">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.5;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="M 153.49219,289.73828 A 0.50005,0.50005 0 0 0 153,290.24414 l -0.008,7.26172 a 0.50005,0.50005 0 0 0 0.50195,0.50195 l 7.25586,-0.0137 a 0.50005,0.50005 0 1 0 0,-1 l -6.75781,0.0137 0.008,-6.76172 a 0.50005,0.50005 0 0 0 -0.50781,-0.50781 z" id="path21430-0" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 115.04297,242 -4,4 h 9.95117 l 0.006,9.95703 3.85352,-3.85351 L 125,251.95703 124.99414,242 Z m 0.41406,1 h 7.9707 l -2,2 h -7.9707 z m 8.53711,0.56641 0.006,7.97656 -2,2 -0.006,-7.97656 z" transform="matrix(0,-1,-1,0,408.99999,408.99494)" id="path21432-2" inkscape:connector-curvature="0"/>
+ </g>
+ <g style="display:inline;opacity:1;fill:#ffffff;enable-background:new" id="g22406" transform="translate(20.999998,-20.999994)">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.5;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 240.49805,288 -3.00586,0.008 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 9 a 0.50005,0.50005 0 0 0 0.5,0.5 h 3 a 0.50005,0.50005 0 0 0 0.5,-0.5 L 241,288.5 A 0.50005,0.50005 0 0 0 240.49805,288 Z M 240,289.00195 l -0.008,8.00586 h -2 v -8.00195 z" id="path22383" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 250.49805,284 -3.00586,0.008 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 9 a 0.50005,0.50005 0 0 0 0.5,0.5 h 3 a 0.50005,0.50005 0 0 0 0.5,-0.5 L 251,284.5 A 0.50005,0.50005 0 0 0 250.49805,284 Z M 250,285.00195 l -0.008,8.00586 h -2 v -8.00195 z M 245.49805,286 l -3.00586,0.008 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 9 a 0.50005,0.50005 0 0 0 0.5,0.5 h 3 a 0.50005,0.50005 0 0 0 0.5,-0.5 L 246,286.5 A 0.50005,0.50005 0 0 0 245.49805,286 Z M 245,287.00195 l -0.008,8.00586 h -2 v -8.00195 z" id="path22387" inkscape:connector-curvature="0"/>
+ </g>
+ <g style="display:inline;opacity:1;fill:#ffffff;enable-background:new" id="g22579" transform="matrix(-1,0,0,1,571.99995,-62.999994)">
+ <g style="opacity:1;fill:#ffffff" id="g22529">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 268.5,242 c -1.88693,0 -3.42464,1.51084 -3.48828,3.38281 -0.009,0.0385 -0.0124,0.0778 -0.0117,0.11719 -4.1e-4,0.0117 -4.1e-4,0.0234 0,0.0352 V 249 h -3.5 c -0.0381,-4.2e-4 -0.0761,0.004 -0.11328,0.0117 C 259.5129,249.07334 258,250.61174 258,252.5 c 0,1.88693 1.51084,3.42464 3.38281,3.48828 0.0385,0.009 0.0778,0.0124 0.11719,0.0117 h 7 c 0.92807,0 1.81837,-0.36915 2.47461,-1.02539 C 271.63085,254.31837 272,253.42807 272,252.5 v -7 c 7.2e-4,-0.0394 -0.003,-0.0787 -0.0117,-0.11719 C 271.92462,243.51084 270.38693,242 268.5,242 Z m 0,1 c 1.38663,0 2.5,1.11337 2.5,2.5 -4.1e-4,0.0117 -4.1e-4,0.0234 0,0.0352 V 252.5 c 0,0.66323 -0.26345,1.2986 -0.73242,1.76758 C 269.7986,254.73655 269.16323,255 268.5,255 h -7 c -1.38663,0 -2.5,-1.11337 -2.5,-2.5 0,-1.38663 1.11337,-2.5 2.5,-2.5 h 3.75 c 0.1326,-2e-5 0.25976,-0.0527 0.35352,-0.14648 l 0.25,-0.25 c 0.0938,-0.0938 0.14646,-0.22092 0.14648,-0.35352 v -3.75 c 0,-1.38663 1.11337,-2.5 2.5,-2.5 z" transform="matrix(-1,0,0,1,571.99995,62.999994)" id="path22488" inkscape:connector-curvature="0"/>
</g>
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="M 303.49219,307.99219 A 0.50005,0.50005 0 0 0 303,308.5 v 6.91992 a 0.50005,0.50005 0 0 0 0.11328,0.4043 0.50005,0.50005 0 0 0 0.0156,0.0195 0.50005,0.50005 0 0 0 0.0176,0.0176 0.50005,0.50005 0 0 0 0.004,0.002 0.50005,0.50005 0 0 0 0.0332,0.0312 0.50005,0.50005 0 0 0 0.004,0.002 A 0.50005,0.50005 0 0 0 303.58203,316 H 310.5 a 0.50005,0.50005 0 1 0 0,-1 H 304 v -6.5 a 0.50005,0.50005 0 0 0 -0.50781,-0.50781 z"
- id="path22537"
- inkscape:connector-curvature="0" />
- </g>
- <g
- style="display:inline;opacity:1;fill:#ffffff;enable-background:new"
- transform="matrix(-1,0,0,1,550.99293,-20.999994)"
- id="g22139">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.5;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 310.5,287 -10.00781,0.008 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 10 a 0.50005,0.50005 0 0 0 0.5,0.5 h 10 a 0.50005,0.50005 0 0 0 0.5,-0.5 L 311,287.5 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m -0.5,1 -0.008,9.00781 h -9 v -9.00195 z"
- id="path22135"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 300.5,284 a 0.50005,0.50005 0 1 0 0,1 h 10 a 0.50005,0.50005 0 1 0 0,-1 z m 12.99219,2.99219 A 0.50005,0.50005 0 0 0 313,287.5 l -0.008,10.00586 a 0.50005,0.50005 0 1 0 1,0.002 L 314,287.5 a 0.50005,0.50005 0 0 0 -0.50781,-0.50781 z"
- id="path22141"
- inkscape:connector-curvature="0" />
- </g>
- <g
- style="display:inline;opacity:1;fill:#ffffff;enable-background:new"
- id="g22221"
- transform="translate(20.999998,-20.999994)">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 48.5,267 c -0.276131,3e-5 -0.499972,0.22387 -0.5,0.5 v 9 c 2.8e-5,0.27613 0.223869,0.49997 0.5,0.5 h 13 c 0.276131,-3e-5 0.499972,-0.22387 0.5,-0.5 v -6 c -2.8e-5,-0.27613 -0.223869,-0.49997 -0.5,-0.5 H 54 v -2.5 c -2.8e-5,-0.27613 -0.223869,-0.49997 -0.5,-0.5 z m 0.5,1 h 4 v 2 h -4 z m 0,3 h 2 v 2 h -2 z m 3,0 h 4 v 2 h -4 z m 5,0 h 4 v 2 h -4 z m -8,3 h 4 v 2 h -4 z m 5,0 h 4 v 2 h -4 z m 5,0 h 2 v 2 h -2 z"
- transform="translate(-20.999998,20.999994)"
- id="rect22184"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="ccccccccccccccccccccccccccccccccccccccccccccccc" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.5;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 40.5,284 a 0.50005,0.50005 0 0 1 0.5,0.5 v 3 a 0.50005,0.50005 0 0 1 -0.5,0.5 h -5 A 0.50005,0.50005 0 0 1 35,287.5 v -3 a 0.50005,0.50005 0 0 1 0.5,-0.5 z m -0.5,1 h -4 v 2 h 4 z"
- id="rect22200"
- inkscape:connector-curvature="0" />
- </g>
- <g
- style="display:inline;opacity:1;fill:#ffffff;enable-background:new"
- id="g21692"
- transform="translate(-1.8536743e-6,-41.999984)">
- <g
- transform="translate(-63)"
- style="display:inline;opacity:1;fill:#ffffff;stroke:#f9f9f9;enable-background:new"
- id="g21667">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:6.5999999;stroke-opacity:1;marker:none;paint-order:normal;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="M 145.49219,241.99219 A 0.50005,0.50005 0 0 0 145,242.5 c 0,1.27778 -0.82701,2.37965 -2.66602,3.44141 -1.66335,0.96034 -4.28314,1.19403 -6.30078,1.06054 -0.9786,-0.0647 -1.78811,-0.30625 -2.3125,-0.61133 -0.52058,-0.30284 -0.71591,-0.62257 -0.71875,-0.88476 0.003,-0.26222 0.19817,-0.58387 0.71875,-0.88672 0.5244,-0.30506 1.3339,-0.54463 2.3125,-0.60937 1.74084,-0.11517 3.90302,0.0169 5.24414,0.6875 a 0.50005,0.50005 0 1 0 0.44532,-0.89454 c -1.65888,-0.82943 -3.92118,-0.91239 -5.75586,-0.79101 -1.10098,0.0728 -2.04234,0.3336 -2.74805,0.74414 -0.63776,0.37101 -1.097,0.90981 -1.18359,1.55273 A 0.50005,0.50005 0 0 0 132,245.5 c 0,0.002 0.002,0.004 0.002,0.006 -1e-5,0.002 -0.002,0.004 -0.002,0.006 a 0.50005,0.50005 0 0 0 0.0352,0.18945 0.50005,0.50005 0 0 0 0.002,0.006 c 0.0881,0.64105 0.54525,1.17861 1.18164,1.54883 0.70571,0.41055 1.64707,0.66937 2.74805,0.74219 2.1415,0.14167 4.88621,-0.0477 6.86718,-1.19141 C 144.82884,245.65491 146,244.22222 146,242.5 a 0.50005,0.50005 0 0 0 -0.50781,-0.50781 z m -0.27539,5.25195 a 0.50005,0.50005 0 0 0 -0.4375,0.67578 C 144.90088,248.25504 145,248.58141 145,249 c 0,1.83333 -0.82701,2.87965 -2.66602,3.94141 -1.66335,0.96034 -4.28314,1.19403 -6.30078,1.06054 -0.9786,-0.0647 -1.78811,-0.30625 -2.3125,-0.61133 -0.52058,-0.30284 -0.71591,-0.62257 -0.71875,-0.88476 0.003,-0.26222 0.19817,-0.58387 0.71875,-0.88672 0.5244,-0.30506 1.3339,-0.54463 2.3125,-0.60937 1.74084,-0.11517 3.90302,0.0169 5.24414,0.6875 a 0.50005,0.50005 0 1 0 0.44532,-0.89454 c -1.65888,-0.82943 -3.92118,-0.91239 -5.75586,-0.79101 -1.10098,0.0728 -2.04234,0.3336 -2.74805,0.74414 -0.63776,0.37101 -1.097,0.90981 -1.18359,1.55273 A 0.50005,0.50005 0 0 0 132,252.5 c 0,0.002 0.002,0.004 0.002,0.006 -1e-5,0.002 -0.002,0.004 -0.002,0.006 a 0.50005,0.50005 0 0 0 0.0371,0.19531 c 0.0881,0.64105 0.54525,1.17861 1.18164,1.54883 0.70571,0.41055 1.64707,0.66937 2.74805,0.74219 2.1415,0.14167 4.88621,-0.0477 6.86718,-1.19141 1.96806,-1.13625 3.12917,-2.60303 3.16016,-4.72266 A 0.50005,0.50005 0 0 0 146,249 a 0.50005,0.50005 0 0 0 -0.0137,-0.12695 c -0.0205,-0.51808 -0.14222,-0.95284 -0.26563,-1.29297 a 0.50005,0.50005 0 0 0 -0.5039,-0.33594 z m 0.043,7 a 0.50005,0.50005 0 0 0 -0.4336,0.76953 c 0,0 0.17383,0.35663 0.17383,0.51953 a 0.50005,0.50005 0 1 0 1,0 c 0,-0.59989 -0.32617,-1.04687 -0.32617,-1.04687 a 0.50005,0.50005 0 0 0 -0.41406,-0.24219 z"
- transform="translate(63.000002,41.999984)"
- id="path21655"
- inkscape:connector-curvature="0" />
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="M 303.49219,307.99219 A 0.50005,0.50005 0 0 0 303,308.5 v 6.91992 a 0.50005,0.50005 0 0 0 0.11328,0.4043 0.50005,0.50005 0 0 0 0.0156,0.0195 0.50005,0.50005 0 0 0 0.0176,0.0176 0.50005,0.50005 0 0 0 0.004,0.002 0.50005,0.50005 0 0 0 0.0332,0.0312 0.50005,0.50005 0 0 0 0.004,0.002 A 0.50005,0.50005 0 0 0 303.58203,316 H 310.5 a 0.50005,0.50005 0 1 0 0,-1 H 304 v -6.5 a 0.50005,0.50005 0 0 0 -0.50781,-0.50781 z" id="path22537" inkscape:connector-curvature="0"/>
+ </g>
+ <g style="display:inline;opacity:1;fill:#ffffff;enable-background:new" transform="matrix(-1,0,0,1,550.99293,-20.999994)" id="g22139">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.5;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 310.5,287 -10.00781,0.008 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 10 a 0.50005,0.50005 0 0 0 0.5,0.5 h 10 a 0.50005,0.50005 0 0 0 0.5,-0.5 L 311,287.5 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m -0.5,1 -0.008,9.00781 h -9 v -9.00195 z" id="path22135" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 300.5,284 a 0.50005,0.50005 0 1 0 0,1 h 10 a 0.50005,0.50005 0 1 0 0,-1 z m 12.99219,2.99219 A 0.50005,0.50005 0 0 0 313,287.5 l -0.008,10.00586 a 0.50005,0.50005 0 1 0 1,0.002 L 314,287.5 a 0.50005,0.50005 0 0 0 -0.50781,-0.50781 z" id="path22141" inkscape:connector-curvature="0"/>
+ </g>
+ <g style="display:inline;opacity:1;fill:#ffffff;enable-background:new" id="g22221" transform="translate(20.999998,-20.999994)">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 48.5,267 c -0.276131,3e-5 -0.499972,0.22387 -0.5,0.5 v 9 c 2.8e-5,0.27613 0.223869,0.49997 0.5,0.5 h 13 c 0.276131,-3e-5 0.499972,-0.22387 0.5,-0.5 v -6 c -2.8e-5,-0.27613 -0.223869,-0.49997 -0.5,-0.5 H 54 v -2.5 c -2.8e-5,-0.27613 -0.223869,-0.49997 -0.5,-0.5 z m 0.5,1 h 4 v 2 h -4 z m 0,3 h 2 v 2 h -2 z m 3,0 h 4 v 2 h -4 z m 5,0 h 4 v 2 h -4 z m -8,3 h 4 v 2 h -4 z m 5,0 h 4 v 2 h -4 z m 5,0 h 2 v 2 h -2 z" transform="translate(-20.999998,20.999994)" id="rect22184" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccccccccccccccccccccccccccccccccccccccccccccc"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.5;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 40.5,284 a 0.50005,0.50005 0 0 1 0.5,0.5 v 3 a 0.50005,0.50005 0 0 1 -0.5,0.5 h -5 A 0.50005,0.50005 0 0 1 35,287.5 v -3 a 0.50005,0.50005 0 0 1 0.5,-0.5 z m -0.5,1 h -4 v 2 h 4 z" id="rect22200" inkscape:connector-curvature="0"/>
+ </g>
+ <g style="display:inline;opacity:1;fill:#ffffff;enable-background:new" id="g21692" transform="translate(-1.8536743e-6,-41.999984)">
+ <g transform="translate(-63)" style="display:inline;opacity:1;fill:#ffffff;stroke:#f9f9f9;enable-background:new" id="g21667">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:6.5999999;stroke-opacity:1;marker:none;paint-order:normal;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="M 145.49219,241.99219 A 0.50005,0.50005 0 0 0 145,242.5 c 0,1.27778 -0.82701,2.37965 -2.66602,3.44141 -1.66335,0.96034 -4.28314,1.19403 -6.30078,1.06054 -0.9786,-0.0647 -1.78811,-0.30625 -2.3125,-0.61133 -0.52058,-0.30284 -0.71591,-0.62257 -0.71875,-0.88476 0.003,-0.26222 0.19817,-0.58387 0.71875,-0.88672 0.5244,-0.30506 1.3339,-0.54463 2.3125,-0.60937 1.74084,-0.11517 3.90302,0.0169 5.24414,0.6875 a 0.50005,0.50005 0 1 0 0.44532,-0.89454 c -1.65888,-0.82943 -3.92118,-0.91239 -5.75586,-0.79101 -1.10098,0.0728 -2.04234,0.3336 -2.74805,0.74414 -0.63776,0.37101 -1.097,0.90981 -1.18359,1.55273 A 0.50005,0.50005 0 0 0 132,245.5 c 0,0.002 0.002,0.004 0.002,0.006 -1e-5,0.002 -0.002,0.004 -0.002,0.006 a 0.50005,0.50005 0 0 0 0.0352,0.18945 0.50005,0.50005 0 0 0 0.002,0.006 c 0.0881,0.64105 0.54525,1.17861 1.18164,1.54883 0.70571,0.41055 1.64707,0.66937 2.74805,0.74219 2.1415,0.14167 4.88621,-0.0477 6.86718,-1.19141 C 144.82884,245.65491 146,244.22222 146,242.5 a 0.50005,0.50005 0 0 0 -0.50781,-0.50781 z m -0.27539,5.25195 a 0.50005,0.50005 0 0 0 -0.4375,0.67578 C 144.90088,248.25504 145,248.58141 145,249 c 0,1.83333 -0.82701,2.87965 -2.66602,3.94141 -1.66335,0.96034 -4.28314,1.19403 -6.30078,1.06054 -0.9786,-0.0647 -1.78811,-0.30625 -2.3125,-0.61133 -0.52058,-0.30284 -0.71591,-0.62257 -0.71875,-0.88476 0.003,-0.26222 0.19817,-0.58387 0.71875,-0.88672 0.5244,-0.30506 1.3339,-0.54463 2.3125,-0.60937 1.74084,-0.11517 3.90302,0.0169 5.24414,0.6875 a 0.50005,0.50005 0 1 0 0.44532,-0.89454 c -1.65888,-0.82943 -3.92118,-0.91239 -5.75586,-0.79101 -1.10098,0.0728 -2.04234,0.3336 -2.74805,0.74414 -0.63776,0.37101 -1.097,0.90981 -1.18359,1.55273 A 0.50005,0.50005 0 0 0 132,252.5 c 0,0.002 0.002,0.004 0.002,0.006 -1e-5,0.002 -0.002,0.004 -0.002,0.006 a 0.50005,0.50005 0 0 0 0.0371,0.19531 c 0.0881,0.64105 0.54525,1.17861 1.18164,1.54883 0.70571,0.41055 1.64707,0.66937 2.74805,0.74219 2.1415,0.14167 4.88621,-0.0477 6.86718,-1.19141 1.96806,-1.13625 3.12917,-2.60303 3.16016,-4.72266 A 0.50005,0.50005 0 0 0 146,249 a 0.50005,0.50005 0 0 0 -0.0137,-0.12695 c -0.0205,-0.51808 -0.14222,-0.95284 -0.26563,-1.29297 a 0.50005,0.50005 0 0 0 -0.5039,-0.33594 z m 0.043,7 a 0.50005,0.50005 0 0 0 -0.4336,0.76953 c 0,0 0.17383,0.35663 0.17383,0.51953 a 0.50005,0.50005 0 1 0 1,0 c 0,-0.59989 -0.32617,-1.04687 -0.32617,-1.04687 a 0.50005,0.50005 0 0 0 -0.41406,-0.24219 z" transform="translate(63.000002,41.999984)" id="path21655" inkscape:connector-curvature="0"/>
</g>
- <g
- id="g21673"
- style="display:inline;opacity:1;fill:#ffffff;stroke:#f9f9f9;enable-background:new"
- transform="translate(-63,6)" />
- </g>
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 219.50391,243 a 0.50005,0.50005 0 0 0 -0.45118,0.27734 C 218.38224,244.61833 217.33333,245 216.5,245 a 0.50005,0.50005 0 1 0 0,1 c 1.00319,0 2.15225,-0.6005 3,-1.7832 0.82397,1.14952 1.9314,1.74461 2.91406,1.77734 a 0.50005,0.50005 0 0 0 0.002,0 0.50005,0.50005 0 0 0 0.084,0.006 0.50005,0.50005 0 0 0 0.0996,-0.008 c 0.97927,-0.0378 2.08023,-0.63118 2.90039,-1.77539 0.84775,1.1827 1.99681,1.7832 3,1.7832 a 0.50005,0.50005 0 1 0 0,-1 c -0.83333,0 -1.88224,-0.38167 -2.55273,-1.72266 A 0.50005,0.50005 0 0 0 225.50391,243 a 0.50005,0.50005 0 0 0 -0.45118,0.27734 C 224.38224,244.61833 223.33333,245 222.5,245 c -0.83333,0 -1.88224,-0.38167 -2.55273,-1.72266 A 0.50005,0.50005 0 0 0 219.50391,243 Z m 1,5 a 0.50005,0.50005 0 0 0 -0.45118,0.27734 C 219.38224,249.61833 218.33333,250 217.5,250 a 0.50005,0.50005 0 1 0 0,1 c 1.00319,0 2.15225,-0.6005 3,-1.7832 0.82397,1.14952 1.9314,1.74461 2.91406,1.77734 a 0.50005,0.50005 0 0 0 0.002,0 0.50005,0.50005 0 0 0 0.084,0.006 0.50005,0.50005 0 0 0 0.0859,-0.006 0.50005,0.50005 0 0 0 0.0137,-0.002 c 0.97927,-0.0378 2.08023,-0.63118 2.90039,-1.77539 0.84775,1.1827 1.99681,1.7832 3,1.7832 a 0.50005,0.50005 0 1 0 0,-1 c -0.83333,0 -1.88224,-0.38167 -2.55273,-1.72266 A 0.50005,0.50005 0 0 0 226.50391,248 a 0.50005,0.50005 0 0 0 -0.45118,0.27734 C 225.38224,249.61833 224.33333,250 223.5,250 c -0.83333,0 -1.88224,-0.38167 -2.55273,-1.72266 A 0.50005,0.50005 0 0 0 220.50391,248 Z m -1,5 a 0.50005,0.50005 0 0 0 -0.45118,0.27734 C 218.38224,254.61833 217.33333,255 216.5,255 a 0.50005,0.50005 0 1 0 0,1 c 1.00319,0 2.15225,-0.6005 3,-1.7832 0.82397,1.14952 1.9314,1.74461 2.91406,1.77734 a 0.50005,0.50005 0 0 0 0.002,0 0.50005,0.50005 0 0 0 0.084,0.006 0.50005,0.50005 0 0 0 0.0996,-0.008 c 0.97927,-0.0378 2.08023,-0.63118 2.90039,-1.77539 0.84775,1.1827 1.99681,1.7832 3,1.7832 a 0.50005,0.50005 0 1 0 0,-1 c -0.83333,0 -1.88224,-0.38167 -2.55273,-1.72266 A 0.50005,0.50005 0 0 0 225.50391,253 a 0.50005,0.50005 0 0 0 -0.45118,0.27734 C 224.38224,254.61833 223.33333,255 222.5,255 c -0.83333,0 -1.88224,-0.38167 -2.55273,-1.72266 A 0.50005,0.50005 0 0 0 219.50391,253 Z"
- id="path21858"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 97.689453,242.01172 c -0.394683,0.0302 -0.787753,0.12022 -1.167969,0.27148 C 95.00062,242.88827 94,244.36319 94,246 a 0.50005,0.50005 0 0 0 0.01563,0.13281 c -0.365184,0.0927 -0.722816,0.22834 -1.058594,0.42774 -1.441397,0.85595 -2.170881,2.51688 -1.878906,4.14453 -0.687144,0.57705 -1.108155,1.44799 -1.076172,2.39648 0.05016,1.48769 1.192146,2.71921 2.671875,2.88086 1.398175,0.15274 2.699752,-0.69789 3.152344,-2.00781 0.896041,0.0388 1.769696,-0.22225 2.498047,-0.74609 1.073726,0.85551 2.557876,1.01607 3.789066,0.37695 1.30171,-0.67573 2.04374,-2.09602 1.85742,-3.55078 -0.16328,-1.27499 -1.01006,-2.34261 -2.17968,-2.80664 0.45466,-1.38242 0.13144,-2.9211 -0.88477,-3.9961 -0.56221,-0.59473 -1.277273,-0.98709 -2.042974,-1.15625 -0.38285,-0.0846 -0.779145,-0.11418 -1.173828,-0.084 z m 0.521485,0.99609 c 0.734455,0.0517 1.440532,0.37287 1.968752,0.93164 0.84514,0.89404 1.0593,2.20845 0.54101,3.32422 a 0.50005,0.50005 0 0 0 -0.0527,0.2168 0.50005,0.50005 0 0 0 0.38672,0.58203 c 1.02426,0.23341 1.79232,1.07713 1.92578,2.11914 0.13345,1.04201 -0.39575,2.0531 -1.32813,2.53711 -0.93238,0.48401 -2.064441,0.33572 -2.83984,-0.37305 a 0.50005,0.50005 0 0 0 -0.203125,-0.11914 0.50005,0.50005 0 0 0 -0.28125,-0.0977 0.50005,0.50005 0 0 0 -0.351563,0.1289 c -0.657713,0.57559 -1.533142,0.83597 -2.398437,0.71289 a 0.50008765,0.50008765 0 0 0 -0.542969,0.33008 0.50005,0.50005 0 0 0 -0.09766,0.19727 c -0.248328,0.96717 -1.16166,1.59867 -2.154297,1.49023 -0.992636,-0.10844 -1.747599,-0.92195 -1.78125,-1.91992 -0.02307,-0.68418 0.30371,-1.29829 0.824219,-1.67774 a 0.50005,0.50005 0 0 0 0.166016,-0.11718 c 0.198328,-0.11547 0.417989,-0.19976 0.65625,-0.24219 a 0.50005,0.50005 0 0 0 -0.08984,-0.99414 0.50005,0.50005 0 0 0 -0.08398,0.01 c -0.160251,0.0285 -0.313314,0.0746 -0.46289,0.12695 -0.0646,-1.10299 0.477746,-2.17237 1.457031,-2.75391 1.157707,-0.68748 2.624443,-0.52021 3.599609,0.4082 a 0.50009764,0.50009764 0 0 0 0.689453,-0.7246 c -0.648161,-0.6171 -1.462878,-0.98259 -2.308593,-1.07813 -0.148752,-0.017 -0.299358,-0.0157 -0.449254,-0.0158 A 0.50005,0.50005 0 0 0 95,246 c 0,-1.23027 0.747501,-2.33232 1.890625,-2.78711 0.428672,-0.17055 0.879639,-0.23611 1.320313,-0.20508 z"
- id="path21574"
- inkscape:connector-curvature="0" />
- <g
- transform="translate(-1.8536743e-6,4.4999696e-6)"
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g23463">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:7.40000248;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="M 10.492188,241.99219 A 0.50005,0.50005 0 0 0 10.417969,242 H 6.5 A 0.50005,0.50005 0 0 0 6,242.5 v 5 A 0.50005,0.50005 0 0 0 6.5,248 H 8 v 7.5 a 0.50005,0.50005 0 0 0 0.5,0.5 h 9 A 0.50005,0.50005 0 0 0 18,255.5 V 248 h 1.5 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -5 A 0.50005,0.50005 0 0 0 19.5,242 h -3.919922 a 0.50005,0.50005 0 0 0 -0.404297,0.11328 0.50005,0.50005 0 0 0 -0.01953,0.0156 0.50005,0.50005 0 0 0 -0.01758,0.0176 0.50005,0.50005 0 0 0 -0.002,0.004 0.50005,0.50005 0 0 0 -0.03125,0.0332 0.50005,0.50005 0 0 0 -0.002,0.004 A 0.50005,0.50005 0 0 0 15,242.58203 V 243 c 0,0.71532 -0.380592,1.37478 -1,1.73242 -0.619409,0.35765 -1.380591,0.35765 -2,0 -0.619408,-0.35764 -1,-1.0171 -1,-1.73242 v -0.41992 a 0.50005,0.50005 0 0 0 -0.113281,-0.4043 0.50005,0.50005 0 0 0 -0.002,-0.004 0.50005,0.50005 0 0 0 -0.03125,-0.0332 0.50005,0.50005 0 0 0 -0.0039,-0.002 0.50005,0.50005 0 0 0 -0.0332,-0.0312 0.50005,0.50005 0 0 0 -0.0039,-0.002 0.50005,0.50005 0 0 0 -0.320312,-0.11133 z M 7,243 h 3 c 0,1.07096 0.57257,2.06216 1.5,2.59766 0.927429,0.53549 2.072571,0.53549 3,0 0.92743,-0.5355 1.5,-1.5267 1.5,-2.59766 h 3 v 4 H 17.5 A 0.50005,0.50005 0 0 0 17,247.5 V 255 H 9 v -7.5 A 0.50005,0.50005 0 0 0 8.5,247 H 7 Z"
- id="path22384"
- inkscape:connector-curvature="0" />
- </g>
- <g
- style="display:inline;opacity:1;fill:#ffffff;enable-background:new"
- id="g22840"
- transform="translate(-1.8536743e-6,-19.999994)">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999988;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 412,286 c 1.65601,0 3,1.37486 3,3.04688 0,1.67201 -1.34399,3.04687 -3,3.04687 -1.65601,0 -3,-1.37486 -3,-3.04687 C 409,287.37486 410.34399,286 412,286 Z m 0,1 c -1.10534,0 -2,0.90526 -2,2.04688 0,1.14161 0.89466,2.04687 2,2.04687 1.10534,0 2,-0.90526 2,-2.04687 C 414,287.90526 413.10534,287 412,287 Z"
- id="circle22836"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999982;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 412,283 c -3.5093,0 -6,2.77253 -6,5.91992 V 296 h -0.96094 a 0.50004991,0.50004991 0 1 0 0,1 H 406.5 a 0.50004991,0.50004991 0 0 0 0.5,-0.5 v -7.58008 C 407,286.29196 409.01002,284 412,284 c 2.99076,0 5,2.29197 5,4.91992 V 296.5 a 0.50004991,0.50004991 0 0 0 0.5,0.5 h 1.46094 a 0.50004991,0.50004991 0 1 0 0,-1 H 418 v -7.08008 C 418,285.77251 415.50996,283 412,283 Z"
- id="path22838"
- inkscape:connector-curvature="0" />
- </g>
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.95;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.10000002;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 54.951172,347 c -1.831463,0.10706 -3.628606,0.91857 -4.910156,2.35742 -2.943003,3.30422 -2.532587,8.31019 0.05078,11.44531 a 0.5501659,0.5501659 0 1 0 0.849609,-0.69921 c -2.251956,-2.73294 -2.615242,-7.16516 -0.07813,-10.01368 2.156081,-2.42072 6.066547,-2.73646 8.435547,-0.43164 1.937906,1.88542 2.205459,5.18464 0.267578,7.14453 -1.518438,1.53565 -4.123722,1.73043 -5.623047,0.11133 -1.098553,-1.18629 -1.217866,-3.2114 0.03516,-4.28515 0.40623,-0.34811 0.977609,-0.54432 1.501953,-0.52539 0.524344,0.0189 0.981344,0.22421 1.291015,0.67968 0.145266,0.21367 0.237116,0.58238 0.201172,0.86719 -0.03594,0.28481 -0.127716,0.44479 -0.371094,0.5332 a 0.55049551,0.55049551 0 1 0 0.375,1.03516 c 0.656421,-0.23845 1.015068,-0.85266 1.087891,-1.42969 0.07282,-0.57703 -0.06773,-1.15869 -0.384765,-1.625 -0.517269,-0.76081 -1.34716,-1.12886 -2.160157,-1.1582 -0.812997,-0.0293 -1.63015,0.25121 -2.257812,0.78906 -1.781519,1.52664 -1.618395,4.25452 -0.125,5.86719 1.955333,2.11153 5.283443,1.86538 7.21289,-0.0859 2.400922,-2.4282 2.076076,-6.41165 -0.283203,-8.70703 -1.417731,-1.37933 -3.283772,-1.9762 -5.115234,-1.86914 z"
- id="path23662-2"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.10000002;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 81.492188,347.13672 c -0.442306,0.006 -0.696492,0.5058 -0.441407,0.86719 0.49808,0.72856 0.898438,1.27175 0.898438,2.60351 0,2.36371 -1.912476,5.29297 -6.919922,5.29297 -2.17926,0 -3.451901,-0.37865 -4.130859,-0.79883 -0.678959,-0.42018 -0.798829,-0.80387 -0.798829,-1.10156 0,-0.45749 0.450606,-1.844 3.496094,-2.17969 0.731186,-0.0565 0.647202,-1.15413 -0.08398,-1.09765 -0.01241,9.1e-4 -0.02479,0.002 -0.03711,0.004 C 70.097311,351.09872 69,352.84097 69,354 c 0,0.6737 0.378574,1.45551 1.318359,2.03711 0.939785,0.58159 2.407524,0.96289 4.710938,0.96289 5.452133,0 8.021484,-3.41358 8.021484,-6.39258 0,-1.58243 -0.595669,-2.49605 -1.09375,-3.22461 -0.103149,-0.1556 -0.278176,-0.24826 -0.464843,-0.24609 z M 77.5,350.96875 c -0.645258,0.008 -0.75144,0.92907 -0.125,1.08398 0.86985,0.23625 1.603372,0.59862 2.212891,1.02539 0.601573,0.42066 1.232432,-0.48169 0.630859,-0.90234 -0.709221,-0.49659 -1.560177,-0.91545 -2.554688,-1.18555 -0.05329,-0.0154 -0.108604,-0.0226 -0.164062,-0.0215 z m 4.814453,4.19141 c -0.370377,0.014 -0.621193,0.38283 -0.498047,0.73242 0.0943,0.28097 0.132813,0.5225 0.132813,0.67969 0,0.15896 0.01621,0.32983 0.0059,0.58398 -0.01039,0.25415 -0.04509,0.56394 -0.138672,0.89063 -0.187171,0.65336 -0.583988,1.36714 -1.576172,1.91796 -0.642059,0.35673 -0.106902,1.31962 0.535157,0.96289 1.249156,-0.69348 1.849012,-1.70822 2.097656,-2.57617 0.124322,-0.43397 0.166734,-0.83367 0.179687,-1.15039 0.01295,-0.31671 -0.002,-0.5795 -0.002,-0.6289 0,-0.3203 -0.06792,-0.66136 -0.191406,-1.0293 -0.07498,-0.23555 -0.297898,-0.39215 -0.544922,-0.38281 z"
- id="path42609-7"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="M 75.492188,347.04102 A 0.50005,0.50005 0 0 0 75,347.54688 V 354.5 a 0.50005,0.50005 0 1 0 1,0 v -6.95312 a 0.50005,0.50005 0 0 0 -0.507812,-0.50586 z m 0,10.95117 A 0.50005,0.50005 0 0 0 75,358.5 v 2.04688 a 0.50005,0.50005 0 1 0 1,0 V 358.5 a 0.50005,0.50005 0 0 0 -0.507812,-0.50781 z"
- id="rect42619-7"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;overflow:visible;visibility:visible;opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.79999995;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
- d="m 114.49609,354 a 3.4824922,3.4824822 0 0 0 -3.48242,3.48242 3.4824922,3.4824822 0 0 0 3.48242,3.48242 3.4824922,3.4824822 0 0 0 3.48243,-3.48242 A 3.4824922,3.4824822 0 0 0 114.49609,354 Z m -0.50586,0.98633 h 1.01368 v 1.98633 H 117 v 1.01367 h -1.99609 v 1.98633 h -1.01368 v -1.98633 h -1.99609 v -1.01367 h 1.99609 z"
- id="circle23722"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;opacity:0.6;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.80000001;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;enable-background:new"
- d="m 121.47461,347 a 3.4883757,3.4883673 0 0 0 -3.48828,3.48828 3.4883757,3.4883673 0 0 0 3.48828,3.48828 3.4883757,3.4883673 0 0 0 3.48828,-3.48828 A 3.4883757,3.4883673 0 0 0 121.47461,347 Z m -2.48047,3 H 124 v 1.01367 h -5.00586 z"
- id="circle23728"
- inkscape:connector-curvature="0" />
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g23638">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.85;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 229.49023,351.99609 a 0.50005,0.50005 0 0 0 -0.34375,0.15039 l -0.74609,0.7461 -1.67773,-0.83985 a 0.50005,0.50005 0 0 0 -0.62305,0.14649 L 225.5,353 h -1 a 0.50005,0.50005 0 0 0 -0.35352,0.14648 l -1,1 A 0.50005,0.50005 0 0 0 223,354.5 v 2.79297 l -1.85352,1.85351 a 0.50005,0.50005 0 0 0 0,0.70704 l 1,1 a 0.50005,0.50005 0 1 0 0.70704,-0.70704 l -0.64649,-0.64648 1.64649,-1.64648 A 0.50005,0.50005 0 0 0 224,357.5 v -2.79297 L 224.70703,354 H 225.75 a 0.50005,0.50005 0 0 0 0.40039,-0.19922 l 0.5,-0.66601 1.62695,0.8125 a 0.50005,0.50005 0 0 0 0.57618,-0.0937 l 1,-1 a 0.50005,0.50005 0 0 0 -0.36329,-0.85743 z"
- id="path42208-0"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.7;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 223.49219,347 a 0.50005,0.50005 0 0 0 -0.34571,0.14648 l -2,2 A 0.50005,0.50005 0 0 0 221,349.5 v 0.79297 L 220.29297,351 H 218.5 a 0.50005,0.50005 0 0 0 -0.35352,0.14648 l -1,1 a 0.50005,0.50005 0 0 0 0,0.70704 L 218,353.70703 v 2.58594 l -1.85352,1.85351 A 0.50005,0.50005 0 0 0 216,358.5 v 2 a 0.50005,0.50005 0 1 0 1,0 v -1.79297 l 1.85352,-1.85351 A 0.50005,0.50005 0 0 0 219,356.5 v -3 a 0.50005,0.50005 0 0 0 -0.14648,-0.35352 l -0.64649,-0.64648 0.5,-0.5 H 220.5 a 0.50005,0.50005 0 0 0 0.35352,-0.14648 l 1,-1 A 0.50005,0.50005 0 0 0 222,350.5 v -0.79297 l 1.5,-1.5 0.64648,0.64649 A 0.50005,0.50005 0 0 0 224.5,349 h 3 a 0.50005,0.50005 0 0 0 0.5,-0.5 V 348 h 1.5 a 0.50005,0.50005 0 1 0 0,-1 h -2 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 0.5 h -2.29297 l -0.85351,-0.85352 A 0.50005,0.50005 0 0 0 223.49219,347 Z"
- id="path42222-9"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 228.5,357 a 0.50005,0.50005 0 0 0 -0.35352,0.14648 l -1,1 a 0.50005,0.50005 0 0 0 0,0.70704 l 0.64649,0.64648 -0.64649,0.64648 a 0.50005,0.50005 0 1 0 0.70704,0.70704 l 1,-1 a 0.50005,0.50005 0 0 0 0,-0.70704 l -0.64649,-0.64648 0.5,-0.5 H 229.5 a 0.50005,0.50005 0 1 0 0,-1 z"
- id="path23824"
- inkscape:connector-curvature="0" />
- </g>
- <g
- style="display:inline;opacity:1;fill:#ffffff;enable-background:new"
- id="g24220"
- transform="translate(-1.8536743e-6,63.000006)">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 32.855469,347.00586 c -0.706567,0.052 -1.35787,0.479 -1.669922,1.15234 a 0.50005,0.50005 0 1 0 0.90625,0.42188 c 0.210359,-0.45391 0.713864,-0.68179 1.193359,-0.53906 0.479496,0.14272 0.777196,0.60845 0.705078,1.10351 C 33.918117,349.63959 33.500288,350 33,350 h -5.5 c -0.676161,-0.01 -0.676161,1.00956 0,1 H 33 c 0.98952,0 1.835874,-0.73175 1.978516,-1.71094 0.142642,-0.97918 -0.459806,-1.92277 -1.408204,-2.20508 -0.237099,-0.0706 -0.479321,-0.0955 -0.714843,-0.0781 z M 38.488281,349 c -0.867889,0.005 -1.700579,0.46414 -2.154297,1.25 a 0.5005035,0.5005035 0 1 0 0.867188,0.5 c 0.36563,-0.63329 1.125339,-0.91026 1.8125,-0.66016 0.68716,0.25011 1.089874,0.94977 0.96289,1.66993 C 39.849581,352.47992 39.231261,353 38.5,353 h -11 c -0.676161,-0.01 -0.676161,1.00956 0,1 h 11 c 1.209914,0 2.252791,-0.87487 2.462891,-2.06641 0.210099,-1.19153 -0.470475,-2.36938 -1.607422,-2.7832 C 39.071232,349.04694 38.777578,348.99817 38.488281,349 Z M 27.5,356 c -0.676161,-0.01 -0.676161,1.00956 0,1 H 35.464844 35.5 c 0.74205,0 1.3672,0.53453 1.482422,1.26758 0.115221,0.73305 -0.315216,1.43251 -1.021484,1.66015 -0.706269,0.22765 -1.466229,-0.0896 -1.800782,-0.75195 a 0.50006246,0.50006246 0 1 0 -0.892578,0.45117 c 0.553327,1.09549 1.831882,1.62847 3,1.25196 1.168118,-0.37652 1.891741,-1.55517 1.701172,-2.76758 C 37.778181,356.89891 36.727299,356 35.5,356 Z"
- transform="translate(1.8536743e-6,-63.000006)"
- id="path24132"
- inkscape:connector-curvature="0" />
- <g
- id="g24588"
- style="opacity:0.8;fill:#ffffff" />
- <g
- id="g24584"
- style="opacity:0.8;fill:#ffffff" />
- </g>
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g22036"
- transform="translate(-21.000002,4.4999696e-6)">
- <g
- transform="matrix(-1,0,0,1,508.99288,-42.00012)"
- id="g23159"
- style="fill:#ffffff">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 286.49219,242 a 0.50005,0.50005 0 0 0 -0.5,0.5 L 286,255.50781 a 0.50005,0.50005 0 0 0 0.5,0.5 h 6 a 0.50005,0.50005 0 0 0 0.5,-0.5 V 242.5 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m 0.5,1 h 4.72656 l -4.7207,10.22852 z M 292,244.77344 v 10.23437 h -4.72266 z"
- transform="matrix(-1,0,0,1,487.99288,42.000116)"
- id="path23171"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.5;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 202.99219,284 v 1 H 208 l -0.008,12.00781 -4.99805,-0.008 -0.002,1 5.5,0.008 a 0.50005,0.50005 0 0 0 0.5,-0.5 L 209,284.5 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z"
- id="path21181"
- inkscape:connector-curvature="0" />
+ <g id="g21673" style="display:inline;opacity:1;fill:#ffffff;stroke:#f9f9f9;enable-background:new" transform="translate(-63,6)"/>
+ </g>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 219.50391,243 a 0.50005,0.50005 0 0 0 -0.45118,0.27734 C 218.38224,244.61833 217.33333,245 216.5,245 a 0.50005,0.50005 0 1 0 0,1 c 1.00319,0 2.15225,-0.6005 3,-1.7832 0.82397,1.14952 1.9314,1.74461 2.91406,1.77734 a 0.50005,0.50005 0 0 0 0.002,0 0.50005,0.50005 0 0 0 0.084,0.006 0.50005,0.50005 0 0 0 0.0996,-0.008 c 0.97927,-0.0378 2.08023,-0.63118 2.90039,-1.77539 0.84775,1.1827 1.99681,1.7832 3,1.7832 a 0.50005,0.50005 0 1 0 0,-1 c -0.83333,0 -1.88224,-0.38167 -2.55273,-1.72266 A 0.50005,0.50005 0 0 0 225.50391,243 a 0.50005,0.50005 0 0 0 -0.45118,0.27734 C 224.38224,244.61833 223.33333,245 222.5,245 c -0.83333,0 -1.88224,-0.38167 -2.55273,-1.72266 A 0.50005,0.50005 0 0 0 219.50391,243 Z m 1,5 a 0.50005,0.50005 0 0 0 -0.45118,0.27734 C 219.38224,249.61833 218.33333,250 217.5,250 a 0.50005,0.50005 0 1 0 0,1 c 1.00319,0 2.15225,-0.6005 3,-1.7832 0.82397,1.14952 1.9314,1.74461 2.91406,1.77734 a 0.50005,0.50005 0 0 0 0.002,0 0.50005,0.50005 0 0 0 0.084,0.006 0.50005,0.50005 0 0 0 0.0859,-0.006 0.50005,0.50005 0 0 0 0.0137,-0.002 c 0.97927,-0.0378 2.08023,-0.63118 2.90039,-1.77539 0.84775,1.1827 1.99681,1.7832 3,1.7832 a 0.50005,0.50005 0 1 0 0,-1 c -0.83333,0 -1.88224,-0.38167 -2.55273,-1.72266 A 0.50005,0.50005 0 0 0 226.50391,248 a 0.50005,0.50005 0 0 0 -0.45118,0.27734 C 225.38224,249.61833 224.33333,250 223.5,250 c -0.83333,0 -1.88224,-0.38167 -2.55273,-1.72266 A 0.50005,0.50005 0 0 0 220.50391,248 Z m -1,5 a 0.50005,0.50005 0 0 0 -0.45118,0.27734 C 218.38224,254.61833 217.33333,255 216.5,255 a 0.50005,0.50005 0 1 0 0,1 c 1.00319,0 2.15225,-0.6005 3,-1.7832 0.82397,1.14952 1.9314,1.74461 2.91406,1.77734 a 0.50005,0.50005 0 0 0 0.002,0 0.50005,0.50005 0 0 0 0.084,0.006 0.50005,0.50005 0 0 0 0.0996,-0.008 c 0.97927,-0.0378 2.08023,-0.63118 2.90039,-1.77539 0.84775,1.1827 1.99681,1.7832 3,1.7832 a 0.50005,0.50005 0 1 0 0,-1 c -0.83333,0 -1.88224,-0.38167 -2.55273,-1.72266 A 0.50005,0.50005 0 0 0 225.50391,253 a 0.50005,0.50005 0 0 0 -0.45118,0.27734 C 224.38224,254.61833 223.33333,255 222.5,255 c -0.83333,0 -1.88224,-0.38167 -2.55273,-1.72266 A 0.50005,0.50005 0 0 0 219.50391,253 Z" id="path21858" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 97.689453,242.01172 c -0.394683,0.0302 -0.787753,0.12022 -1.167969,0.27148 C 95.00062,242.88827 94,244.36319 94,246 a 0.50005,0.50005 0 0 0 0.01563,0.13281 c -0.365184,0.0927 -0.722816,0.22834 -1.058594,0.42774 -1.441397,0.85595 -2.170881,2.51688 -1.878906,4.14453 -0.687144,0.57705 -1.108155,1.44799 -1.076172,2.39648 0.05016,1.48769 1.192146,2.71921 2.671875,2.88086 1.398175,0.15274 2.699752,-0.69789 3.152344,-2.00781 0.896041,0.0388 1.769696,-0.22225 2.498047,-0.74609 1.073726,0.85551 2.557876,1.01607 3.789066,0.37695 1.30171,-0.67573 2.04374,-2.09602 1.85742,-3.55078 -0.16328,-1.27499 -1.01006,-2.34261 -2.17968,-2.80664 0.45466,-1.38242 0.13144,-2.9211 -0.88477,-3.9961 -0.56221,-0.59473 -1.277273,-0.98709 -2.042974,-1.15625 -0.38285,-0.0846 -0.779145,-0.11418 -1.173828,-0.084 z m 0.521485,0.99609 c 0.734455,0.0517 1.440532,0.37287 1.968752,0.93164 0.84514,0.89404 1.0593,2.20845 0.54101,3.32422 a 0.50005,0.50005 0 0 0 -0.0527,0.2168 0.50005,0.50005 0 0 0 0.38672,0.58203 c 1.02426,0.23341 1.79232,1.07713 1.92578,2.11914 0.13345,1.04201 -0.39575,2.0531 -1.32813,2.53711 -0.93238,0.48401 -2.064441,0.33572 -2.83984,-0.37305 a 0.50005,0.50005 0 0 0 -0.203125,-0.11914 0.50005,0.50005 0 0 0 -0.28125,-0.0977 0.50005,0.50005 0 0 0 -0.351563,0.1289 c -0.657713,0.57559 -1.533142,0.83597 -2.398437,0.71289 a 0.50008765,0.50008765 0 0 0 -0.542969,0.33008 0.50005,0.50005 0 0 0 -0.09766,0.19727 c -0.248328,0.96717 -1.16166,1.59867 -2.154297,1.49023 -0.992636,-0.10844 -1.747599,-0.92195 -1.78125,-1.91992 -0.02307,-0.68418 0.30371,-1.29829 0.824219,-1.67774 a 0.50005,0.50005 0 0 0 0.166016,-0.11718 c 0.198328,-0.11547 0.417989,-0.19976 0.65625,-0.24219 a 0.50005,0.50005 0 0 0 -0.08984,-0.99414 0.50005,0.50005 0 0 0 -0.08398,0.01 c -0.160251,0.0285 -0.313314,0.0746 -0.46289,0.12695 -0.0646,-1.10299 0.477746,-2.17237 1.457031,-2.75391 1.157707,-0.68748 2.624443,-0.52021 3.599609,0.4082 a 0.50009764,0.50009764 0 0 0 0.689453,-0.7246 c -0.648161,-0.6171 -1.462878,-0.98259 -2.308593,-1.07813 -0.148752,-0.017 -0.299358,-0.0157 -0.449254,-0.0158 A 0.50005,0.50005 0 0 0 95,246 c 0,-1.23027 0.747501,-2.33232 1.890625,-2.78711 0.428672,-0.17055 0.879639,-0.23611 1.320313,-0.20508 z" id="path21574" inkscape:connector-curvature="0"/>
+ <g transform="translate(-1.8536743e-6,4.4999696e-6)" style="display:inline;fill:#ffffff;enable-background:new" id="g23463">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:7.40000248;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="M 10.492188,241.99219 A 0.50005,0.50005 0 0 0 10.417969,242 H 6.5 A 0.50005,0.50005 0 0 0 6,242.5 v 5 A 0.50005,0.50005 0 0 0 6.5,248 H 8 v 7.5 a 0.50005,0.50005 0 0 0 0.5,0.5 h 9 A 0.50005,0.50005 0 0 0 18,255.5 V 248 h 1.5 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -5 A 0.50005,0.50005 0 0 0 19.5,242 h -3.919922 a 0.50005,0.50005 0 0 0 -0.404297,0.11328 0.50005,0.50005 0 0 0 -0.01953,0.0156 0.50005,0.50005 0 0 0 -0.01758,0.0176 0.50005,0.50005 0 0 0 -0.002,0.004 0.50005,0.50005 0 0 0 -0.03125,0.0332 0.50005,0.50005 0 0 0 -0.002,0.004 A 0.50005,0.50005 0 0 0 15,242.58203 V 243 c 0,0.71532 -0.380592,1.37478 -1,1.73242 -0.619409,0.35765 -1.380591,0.35765 -2,0 -0.619408,-0.35764 -1,-1.0171 -1,-1.73242 v -0.41992 a 0.50005,0.50005 0 0 0 -0.113281,-0.4043 0.50005,0.50005 0 0 0 -0.002,-0.004 0.50005,0.50005 0 0 0 -0.03125,-0.0332 0.50005,0.50005 0 0 0 -0.0039,-0.002 0.50005,0.50005 0 0 0 -0.0332,-0.0312 0.50005,0.50005 0 0 0 -0.0039,-0.002 0.50005,0.50005 0 0 0 -0.320312,-0.11133 z M 7,243 h 3 c 0,1.07096 0.57257,2.06216 1.5,2.59766 0.927429,0.53549 2.072571,0.53549 3,0 0.92743,-0.5355 1.5,-1.5267 1.5,-2.59766 h 3 v 4 H 17.5 A 0.50005,0.50005 0 0 0 17,247.5 V 255 H 9 v -7.5 A 0.50005,0.50005 0 0 0 8.5,247 H 7 Z" id="path22384" inkscape:connector-curvature="0"/>
+ </g>
+ <g style="display:inline;opacity:1;fill:#ffffff;enable-background:new" id="g22840" transform="translate(-1.8536743e-6,-19.999994)">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999988;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 412,286 c 1.65601,0 3,1.37486 3,3.04688 0,1.67201 -1.34399,3.04687 -3,3.04687 -1.65601,0 -3,-1.37486 -3,-3.04687 C 409,287.37486 410.34399,286 412,286 Z m 0,1 c -1.10534,0 -2,0.90526 -2,2.04688 0,1.14161 0.89466,2.04687 2,2.04687 1.10534,0 2,-0.90526 2,-2.04687 C 414,287.90526 413.10534,287 412,287 Z" id="circle22836" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999982;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 412,283 c -3.5093,0 -6,2.77253 -6,5.91992 V 296 h -0.96094 a 0.50004991,0.50004991 0 1 0 0,1 H 406.5 a 0.50004991,0.50004991 0 0 0 0.5,-0.5 v -7.58008 C 407,286.29196 409.01002,284 412,284 c 2.99076,0 5,2.29197 5,4.91992 V 296.5 a 0.50004991,0.50004991 0 0 0 0.5,0.5 h 1.46094 a 0.50004991,0.50004991 0 1 0 0,-1 H 418 v -7.08008 C 418,285.77251 415.50996,283 412,283 Z" id="path22838" inkscape:connector-curvature="0"/>
+ </g>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.95;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.10000002;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 54.951172,347 c -1.831463,0.10706 -3.628606,0.91857 -4.910156,2.35742 -2.943003,3.30422 -2.532587,8.31019 0.05078,11.44531 a 0.5501659,0.5501659 0 1 0 0.849609,-0.69921 c -2.251956,-2.73294 -2.615242,-7.16516 -0.07813,-10.01368 2.156081,-2.42072 6.066547,-2.73646 8.435547,-0.43164 1.937906,1.88542 2.205459,5.18464 0.267578,7.14453 -1.518438,1.53565 -4.123722,1.73043 -5.623047,0.11133 -1.098553,-1.18629 -1.217866,-3.2114 0.03516,-4.28515 0.40623,-0.34811 0.977609,-0.54432 1.501953,-0.52539 0.524344,0.0189 0.981344,0.22421 1.291015,0.67968 0.145266,0.21367 0.237116,0.58238 0.201172,0.86719 -0.03594,0.28481 -0.127716,0.44479 -0.371094,0.5332 a 0.55049551,0.55049551 0 1 0 0.375,1.03516 c 0.656421,-0.23845 1.015068,-0.85266 1.087891,-1.42969 0.07282,-0.57703 -0.06773,-1.15869 -0.384765,-1.625 -0.517269,-0.76081 -1.34716,-1.12886 -2.160157,-1.1582 -0.812997,-0.0293 -1.63015,0.25121 -2.257812,0.78906 -1.781519,1.52664 -1.618395,4.25452 -0.125,5.86719 1.955333,2.11153 5.283443,1.86538 7.21289,-0.0859 2.400922,-2.4282 2.076076,-6.41165 -0.283203,-8.70703 -1.417731,-1.37933 -3.283772,-1.9762 -5.115234,-1.86914 z" id="path23662-2" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.10000002;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 81.492188,347.13672 c -0.442306,0.006 -0.696492,0.5058 -0.441407,0.86719 0.49808,0.72856 0.898438,1.27175 0.898438,2.60351 0,2.36371 -1.912476,5.29297 -6.919922,5.29297 -2.17926,0 -3.451901,-0.37865 -4.130859,-0.79883 -0.678959,-0.42018 -0.798829,-0.80387 -0.798829,-1.10156 0,-0.45749 0.450606,-1.844 3.496094,-2.17969 0.731186,-0.0565 0.647202,-1.15413 -0.08398,-1.09765 -0.01241,9.1e-4 -0.02479,0.002 -0.03711,0.004 C 70.097311,351.09872 69,352.84097 69,354 c 0,0.6737 0.378574,1.45551 1.318359,2.03711 0.939785,0.58159 2.407524,0.96289 4.710938,0.96289 5.452133,0 8.021484,-3.41358 8.021484,-6.39258 0,-1.58243 -0.595669,-2.49605 -1.09375,-3.22461 -0.103149,-0.1556 -0.278176,-0.24826 -0.464843,-0.24609 z M 77.5,350.96875 c -0.645258,0.008 -0.75144,0.92907 -0.125,1.08398 0.86985,0.23625 1.603372,0.59862 2.212891,1.02539 0.601573,0.42066 1.232432,-0.48169 0.630859,-0.90234 -0.709221,-0.49659 -1.560177,-0.91545 -2.554688,-1.18555 -0.05329,-0.0154 -0.108604,-0.0226 -0.164062,-0.0215 z m 4.814453,4.19141 c -0.370377,0.014 -0.621193,0.38283 -0.498047,0.73242 0.0943,0.28097 0.132813,0.5225 0.132813,0.67969 0,0.15896 0.01621,0.32983 0.0059,0.58398 -0.01039,0.25415 -0.04509,0.56394 -0.138672,0.89063 -0.187171,0.65336 -0.583988,1.36714 -1.576172,1.91796 -0.642059,0.35673 -0.106902,1.31962 0.535157,0.96289 1.249156,-0.69348 1.849012,-1.70822 2.097656,-2.57617 0.124322,-0.43397 0.166734,-0.83367 0.179687,-1.15039 0.01295,-0.31671 -0.002,-0.5795 -0.002,-0.6289 0,-0.3203 -0.06792,-0.66136 -0.191406,-1.0293 -0.07498,-0.23555 -0.297898,-0.39215 -0.544922,-0.38281 z" id="path42609-7" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="M 75.492188,347.04102 A 0.50005,0.50005 0 0 0 75,347.54688 V 354.5 a 0.50005,0.50005 0 1 0 1,0 v -6.95312 a 0.50005,0.50005 0 0 0 -0.507812,-0.50586 z m 0,10.95117 A 0.50005,0.50005 0 0 0 75,358.5 v 2.04688 a 0.50005,0.50005 0 1 0 1,0 V 358.5 a 0.50005,0.50005 0 0 0 -0.507812,-0.50781 z" id="rect42619-7" inkscape:connector-curvature="0"/>
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.79999995;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" d="m 114.49609,354 a 3.4824922,3.4824822 0 0 0 -3.48242,3.48242 3.4824922,3.4824822 0 0 0 3.48242,3.48242 3.4824922,3.4824822 0 0 0 3.48243,-3.48242 A 3.4824922,3.4824822 0 0 0 114.49609,354 Z m -0.50586,0.98633 h 1.01368 v 1.98633 H 117 v 1.01367 h -1.99609 v 1.98633 h -1.01368 v -1.98633 h -1.99609 v -1.01367 h 1.99609 z" id="circle23722" inkscape:connector-curvature="0"/>
+ <path style="display:inline;opacity:0.6;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.80000001;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;enable-background:new" d="m 121.47461,347 a 3.4883757,3.4883673 0 0 0 -3.48828,3.48828 3.4883757,3.4883673 0 0 0 3.48828,3.48828 3.4883757,3.4883673 0 0 0 3.48828,-3.48828 A 3.4883757,3.4883673 0 0 0 121.47461,347 Z m -2.48047,3 H 124 v 1.01367 h -5.00586 z" id="circle23728" inkscape:connector-curvature="0"/>
+ <g style="display:inline;fill:#ffffff;enable-background:new" id="g23638">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.85;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 229.49023,351.99609 a 0.50005,0.50005 0 0 0 -0.34375,0.15039 l -0.74609,0.7461 -1.67773,-0.83985 a 0.50005,0.50005 0 0 0 -0.62305,0.14649 L 225.5,353 h -1 a 0.50005,0.50005 0 0 0 -0.35352,0.14648 l -1,1 A 0.50005,0.50005 0 0 0 223,354.5 v 2.79297 l -1.85352,1.85351 a 0.50005,0.50005 0 0 0 0,0.70704 l 1,1 a 0.50005,0.50005 0 1 0 0.70704,-0.70704 l -0.64649,-0.64648 1.64649,-1.64648 A 0.50005,0.50005 0 0 0 224,357.5 v -2.79297 L 224.70703,354 H 225.75 a 0.50005,0.50005 0 0 0 0.40039,-0.19922 l 0.5,-0.66601 1.62695,0.8125 a 0.50005,0.50005 0 0 0 0.57618,-0.0937 l 1,-1 a 0.50005,0.50005 0 0 0 -0.36329,-0.85743 z" id="path42208-0" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.7;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 223.49219,347 a 0.50005,0.50005 0 0 0 -0.34571,0.14648 l -2,2 A 0.50005,0.50005 0 0 0 221,349.5 v 0.79297 L 220.29297,351 H 218.5 a 0.50005,0.50005 0 0 0 -0.35352,0.14648 l -1,1 a 0.50005,0.50005 0 0 0 0,0.70704 L 218,353.70703 v 2.58594 l -1.85352,1.85351 A 0.50005,0.50005 0 0 0 216,358.5 v 2 a 0.50005,0.50005 0 1 0 1,0 v -1.79297 l 1.85352,-1.85351 A 0.50005,0.50005 0 0 0 219,356.5 v -3 a 0.50005,0.50005 0 0 0 -0.14648,-0.35352 l -0.64649,-0.64648 0.5,-0.5 H 220.5 a 0.50005,0.50005 0 0 0 0.35352,-0.14648 l 1,-1 A 0.50005,0.50005 0 0 0 222,350.5 v -0.79297 l 1.5,-1.5 0.64648,0.64649 A 0.50005,0.50005 0 0 0 224.5,349 h 3 a 0.50005,0.50005 0 0 0 0.5,-0.5 V 348 h 1.5 a 0.50005,0.50005 0 1 0 0,-1 h -2 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 0.5 h -2.29297 l -0.85351,-0.85352 A 0.50005,0.50005 0 0 0 223.49219,347 Z" id="path42222-9" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 228.5,357 a 0.50005,0.50005 0 0 0 -0.35352,0.14648 l -1,1 a 0.50005,0.50005 0 0 0 0,0.70704 l 0.64649,0.64648 -0.64649,0.64648 a 0.50005,0.50005 0 1 0 0.70704,0.70704 l 1,-1 a 0.50005,0.50005 0 0 0 0,-0.70704 l -0.64649,-0.64648 0.5,-0.5 H 229.5 a 0.50005,0.50005 0 1 0 0,-1 z" id="path23824" inkscape:connector-curvature="0"/>
+ </g>
+ <g style="display:inline;opacity:1;fill:#ffffff;enable-background:new" id="g24220" transform="translate(-1.8536743e-6,63.000006)">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 32.855469,347.00586 c -0.706567,0.052 -1.35787,0.479 -1.669922,1.15234 a 0.50005,0.50005 0 1 0 0.90625,0.42188 c 0.210359,-0.45391 0.713864,-0.68179 1.193359,-0.53906 0.479496,0.14272 0.777196,0.60845 0.705078,1.10351 C 33.918117,349.63959 33.500288,350 33,350 h -5.5 c -0.676161,-0.01 -0.676161,1.00956 0,1 H 33 c 0.98952,0 1.835874,-0.73175 1.978516,-1.71094 0.142642,-0.97918 -0.459806,-1.92277 -1.408204,-2.20508 -0.237099,-0.0706 -0.479321,-0.0955 -0.714843,-0.0781 z M 38.488281,349 c -0.867889,0.005 -1.700579,0.46414 -2.154297,1.25 a 0.5005035,0.5005035 0 1 0 0.867188,0.5 c 0.36563,-0.63329 1.125339,-0.91026 1.8125,-0.66016 0.68716,0.25011 1.089874,0.94977 0.96289,1.66993 C 39.849581,352.47992 39.231261,353 38.5,353 h -11 c -0.676161,-0.01 -0.676161,1.00956 0,1 h 11 c 1.209914,0 2.252791,-0.87487 2.462891,-2.06641 0.210099,-1.19153 -0.470475,-2.36938 -1.607422,-2.7832 C 39.071232,349.04694 38.777578,348.99817 38.488281,349 Z M 27.5,356 c -0.676161,-0.01 -0.676161,1.00956 0,1 H 35.464844 35.5 c 0.74205,0 1.3672,0.53453 1.482422,1.26758 0.115221,0.73305 -0.315216,1.43251 -1.021484,1.66015 -0.706269,0.22765 -1.466229,-0.0896 -1.800782,-0.75195 a 0.50006246,0.50006246 0 1 0 -0.892578,0.45117 c 0.553327,1.09549 1.831882,1.62847 3,1.25196 1.168118,-0.37652 1.891741,-1.55517 1.701172,-2.76758 C 37.778181,356.89891 36.727299,356 35.5,356 Z" transform="translate(1.8536743e-6,-63.000006)" id="path24132" inkscape:connector-curvature="0"/>
+ <g id="g24588" style="opacity:0.8;fill:#ffffff"/>
+ <g id="g24584" style="opacity:0.8;fill:#ffffff"/>
+ </g>
+ <g style="display:inline;fill:#ffffff;enable-background:new" id="g22036" transform="translate(-21.000002,4.4999696e-6)">
+ <g transform="matrix(-1,0,0,1,508.99288,-42.00012)" id="g23159" style="fill:#ffffff">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 286.49219,242 a 0.50005,0.50005 0 0 0 -0.5,0.5 L 286,255.50781 a 0.50005,0.50005 0 0 0 0.5,0.5 h 6 a 0.50005,0.50005 0 0 0 0.5,-0.5 V 242.5 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m 0.5,1 h 4.72656 l -4.7207,10.22852 z M 292,244.77344 v 10.23437 h -4.72266 z" transform="matrix(-1,0,0,1,487.99288,42.000116)" id="path23171" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.5;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 202.99219,284 v 1 H 208 l -0.008,12.00781 -4.99805,-0.008 -0.002,1 5.5,0.008 a 0.50005,0.50005 0 0 0 0.5,-0.5 L 209,284.5 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z" id="path21181" inkscape:connector-curvature="0"/>
</g>
</g>
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g22891"
- transform="translate(443.99999,-274)">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m -141,519.5 v 1.5 h 1 v -1.5 z m 0,2.5 v 2 h 1 v -2 z m 0,3 v 1.2793 l -2.58594,2.35156 0.67188,0.73828 2.60351,-2.36719 L -139,527 v -1 h -1 v -1 z m 3.00781,1 v 1 h 2 v -1 z M -135,526 v 1 h 1.5 v -1 z"
- mask="none"
- id="path12456"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="cccccccccccccccccccccccccccccc" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 303.5,242 a 0.50005,0.50005 0 0 0 -0.35352,0.14648 l -3,3 A 0.50005,0.50005 0 0 0 300,245.5 v 10 a 0.50005,0.50005 0 0 0 0.5,0.5 h 10 a 0.50005,0.50005 0 0 0 0.35352,-0.14648 l 3,-3 A 0.50005,0.50005 0 0 0 314,252.5 v -10 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m 0.20703,1 h 8.58594 l -2,2 h -8.58594 z M 313,243.70703 v 8.58594 l -2,2 v -8.58594 z M 301,246 h 9 v 9 h -9 z"
- transform="translate(-443.99999,274)"
- id="path12458"
- inkscape:connector-curvature="0" />
- </g>
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g22594"
- transform="translate(-1.8536743e-6,21.000005)">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999976;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 239.00391,336 c 1.09865,0 2,0.90134 2,2 0,1.09866 -0.90135,2 -2,2 -1.09866,0 -2,-0.90134 -2,-2 0,-1.09866 0.90134,-2 2,-2 z"
- id="circle22541"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="sssss" />
- <g
- id="g22585"
- style="fill:#ffffff">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 244.04102,347.03125 c -1.67358,-0.0335 -3.28213,0.6908 -3.99805,2.26758 -0.007,0.016 -0.0126,0.0323 -0.0176,0.0488 l -2,5.99414 c -0.21093,0.63281 0.73829,0.94921 0.94922,0.3164 l 1.98437,-5.95117 c 0.004,-0.009 0.0113,-0.0162 0.0156,-0.0254 l 7.3457,7.3457 c -0.008,0.004 -0.0138,0.008 -0.0215,0.0117 l -5.95703,1.98633 c -0.63281,0.21093 -0.31641,1.16015 0.3164,0.94922 l 6,-2 c 0.0166,-0.006 0.0329,-0.0122 0.0488,-0.0195 1.57453,-0.7157 2.29587,-2.32277 2.26172,-3.9961 -0.0342,-1.67332 -0.77095,-3.46821 -2.11523,-4.8125 -1.34429,-1.34428 -3.13893,-2.08176 -4.8125,-2.11523 z m -0.0195,1 c 1.00796,0.0202 2.11393,0.36656 3.0879,0.99414 -1.6826,0.11569 -2.73353,0.941 -3.59961,1.77734 l -1.94336,-1.94335 c 0.60824,-0.57833 1.46627,-0.84791 2.45507,-0.82813 z M 247.5,350 h 0.5 c 0,6.5e-4 0,10e-4 0,0.002 l 0.002,0.5 c -6.4e-4,1.6083 -0.66875,2.43361 -1.50586,3.28711 l -2.2832,-2.2832 C 245.06632,350.66889 245.89088,350 247.5,350 Z m 1.47656,0.89258 c 0.62645,0.97337 0.97164,2.0788 0.99219,3.08594 0.0202,0.98929 -0.2502,1.84704 -0.82813,2.45507 l -1.9414,-1.9414 c 0.83635,-0.86594 1.6611,-1.91749 1.77734,-3.59961 z"
- transform="translate(1.8536743e-6,-21.000005)"
- id="path24556"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="cccccccccccccccccccccscccccsccccc" />
+ <g style="display:inline;fill:#ffffff;enable-background:new" id="g22891" transform="translate(443.99999,-274)">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m -141,519.5 v 1.5 h 1 v -1.5 z m 0,2.5 v 2 h 1 v -2 z m 0,3 v 1.2793 l -2.58594,2.35156 0.67188,0.73828 2.60351,-2.36719 L -139,527 v -1 h -1 v -1 z m 3.00781,1 v 1 h 2 v -1 z M -135,526 v 1 h 1.5 v -1 z" mask="none" id="path12456" inkscape:connector-curvature="0" sodipodi:nodetypes="cccccccccccccccccccccccccccccc"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 303.5,242 a 0.50005,0.50005 0 0 0 -0.35352,0.14648 l -3,3 A 0.50005,0.50005 0 0 0 300,245.5 v 10 a 0.50005,0.50005 0 0 0 0.5,0.5 h 10 a 0.50005,0.50005 0 0 0 0.35352,-0.14648 l 3,-3 A 0.50005,0.50005 0 0 0 314,252.5 v -10 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m 0.20703,1 h 8.58594 l -2,2 h -8.58594 z M 313,243.70703 v 8.58594 l -2,2 v -8.58594 z M 301,246 h 9 v 9 h -9 z" transform="translate(-443.99999,274)" id="path12458" inkscape:connector-curvature="0"/>
+ </g>
+ <g style="display:inline;fill:#ffffff;enable-background:new" id="g22594" transform="translate(-1.8536743e-6,21.000005)">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999976;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 239.00391,336 c 1.09865,0 2,0.90134 2,2 0,1.09866 -0.90135,2 -2,2 -1.09866,0 -2,-0.90134 -2,-2 0,-1.09866 0.90134,-2 2,-2 z" id="circle22541" inkscape:connector-curvature="0" sodipodi:nodetypes="sssss"/>
+ <g id="g22585" style="fill:#ffffff">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 244.04102,347.03125 c -1.67358,-0.0335 -3.28213,0.6908 -3.99805,2.26758 -0.007,0.016 -0.0126,0.0323 -0.0176,0.0488 l -2,5.99414 c -0.21093,0.63281 0.73829,0.94921 0.94922,0.3164 l 1.98437,-5.95117 c 0.004,-0.009 0.0113,-0.0162 0.0156,-0.0254 l 7.3457,7.3457 c -0.008,0.004 -0.0138,0.008 -0.0215,0.0117 l -5.95703,1.98633 c -0.63281,0.21093 -0.31641,1.16015 0.3164,0.94922 l 6,-2 c 0.0166,-0.006 0.0329,-0.0122 0.0488,-0.0195 1.57453,-0.7157 2.29587,-2.32277 2.26172,-3.9961 -0.0342,-1.67332 -0.77095,-3.46821 -2.11523,-4.8125 -1.34429,-1.34428 -3.13893,-2.08176 -4.8125,-2.11523 z m -0.0195,1 c 1.00796,0.0202 2.11393,0.36656 3.0879,0.99414 -1.6826,0.11569 -2.73353,0.941 -3.59961,1.77734 l -1.94336,-1.94335 c 0.60824,-0.57833 1.46627,-0.84791 2.45507,-0.82813 z M 247.5,350 h 0.5 c 0,6.5e-4 0,10e-4 0,0.002 l 0.002,0.5 c -6.4e-4,1.6083 -0.66875,2.43361 -1.50586,3.28711 l -2.2832,-2.2832 C 245.06632,350.66889 245.89088,350 247.5,350 Z m 1.47656,0.89258 c 0.62645,0.97337 0.97164,2.0788 0.99219,3.08594 0.0202,0.98929 -0.2502,1.84704 -0.82813,2.45507 l -1.9414,-1.9414 c 0.83635,-0.86594 1.6611,-1.91749 1.77734,-3.59961 z" transform="translate(1.8536743e-6,-21.000005)" id="path24556" inkscape:connector-curvature="0" sodipodi:nodetypes="cccccccccccccccccccccscccccsccccc"/>
</g>
</g>
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g22663"
- transform="translate(-126,21.000005)">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.0999999;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 219.77539,326 c -0.5582,0 -1.07768,0.24943 -1.49219,0.64258 -0.41451,0.39314 -0.75014,0.92623 -1.04101,1.57422 -0.58174,1.29596 -0.98621,3.07228 -1.23828,5.21484 a 0.55005495,0.55005495 0 1 0 1.09179,0.12891 c 0.24409,-2.07475 0.64639,-3.77175 1.15039,-4.89453 0.252,-0.5614 0.52906,-0.97431 0.79297,-1.22461 0.26391,-0.25031 0.48846,-0.3418 0.73633,-0.3418 0.24788,0 0.46416,0.0907 0.7207,0.33398 0.25655,0.24329 0.52547,0.64294 0.77149,1.17579 0.49204,1.06569 0.89452,2.64518 1.18945,4.47851 0.3037,1.88782 0.70794,3.53465 1.27539,4.76367 0.28373,0.61451 0.60805,1.12901 1.01367,1.51367 0.40563,0.38466 0.92032,0.63477 1.47852,0.63477 1.08819,0 1.93098,-0.8296 2.51953,-1.97266 0.58855,-1.14305 0.99634,-2.67751 1.25,-4.45312 a 0.55005495,0.55005495 0 1 0 -1.08789,-0.15625 c -0.2425,1.69747 -0.64149,3.13986 -1.13867,4.10547 -0.49719,0.9656 -1.01901,1.37695 -1.54297,1.37695 -0.24788,0 -0.46416,-0.0907 -0.7207,-0.33398 -0.25655,-0.24329 -0.52547,-0.64294 -0.77149,-1.17579 -0.49204,-1.06569 -0.89451,-2.64518 -1.18945,-4.47851 -0.30369,-1.88783 -0.70794,-3.53465 -1.27539,-4.76367 -0.28373,-0.61451 -0.60805,-1.12901 -1.01367,-1.51367 C 220.84828,326.25011 220.33359,326 219.77539,326 Z"
- id="use22627"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 218.75,333 a 0.50005,0.50005 0 1 0 0,1 h 2 a 0.50005,0.50005 0 1 0 0,-1 z m 6.5,0 a 0.50005,0.50005 0 1 0 0,1 h 2 a 0.50005,0.50005 0 1 0 0,-1 z"
- id="rect42619-7-8"
- inkscape:connector-curvature="0" />
- </g>
- <g
- transform="translate(41.999999,42.000005)"
- style="display:inline;opacity:1;fill:#ffffff;enable-background:new"
- id="g22961">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="M 534.49219,599 C 534.2199,599 534,599.223 534,599.5 v 1.5 h -2.5 a 0.50005,0.50005 0 1 0 0,1 h 2.5 v 3 h -2.5 a 0.50005,0.50005 0 1 0 0,1 h 2.5 v 1.5 c 0,0.277 0.2199,0.5 0.49219,0.5 h 0.0156 C 534.7801,608 535,607.777 535,607.5 v -8 c 0,-0.277 -0.2199,-0.5 -0.49219,-0.5 z m 1.25781,1 v 7 H 537 c 1.69468,0 3,-1.30532 3,-3 v -1 c 0,-1.69468 -1.30532,-3 -3,-3 z"
- transform="translate(-41.999999,-42.000005)"
- id="path22706-5"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="M 499.48633,561.0293 A 0.50005,0.50005 0 0 0 499.33984,562 c 1.47643,0.53891 2.51536,1.92006 2.64649,3.53906 0.13107,1.61836 -0.67676,3.15596 -2.04688,3.94727 -1.28647,0.743 -2.75259,0.74008 -4.125,-0.375 -1.33989,-1.08866 -2.72844,-1.33025 -3.91015,-1.00586 -1.18172,0.32439 -2.13574,1.15878 -2.81055,2.10351 a 0.50005,0.50005 0 1 0 0.8125,0.58204 c 0.57519,-0.80527 1.37908,-1.47983 2.26367,-1.72266 0.88459,-0.24283 1.87074,-0.10991 3.01563,0.82031 1.65841,1.34746 3.6606,1.38311 5.2539,0.46289 1.70792,-0.9864 2.70484,-2.89411 2.54297,-4.89258 -0.16181,-1.99781 -1.44971,-3.72278 -3.30078,-4.39843 a 0.50005,0.50005 0 0 0 -0.19531,-0.0312 z"
- id="path22783-2"
- inkscape:connector-curvature="0" />
- </g>
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- transform="rotate(-180,349.00525,417)"
- id="g22180"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- inkscape:export-xdpi="96"
- inkscape:export-ydpi="96">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 324.95117,410.94531 c -0.75176,0.0616 -1.47366,0.37015 -2.05469,0.95117 -1.16941,1.16942 -1.16162,2.91055 -0.28906,4.30664 0.87256,1.3961 2.57397,2.52709 4.83399,2.79297 2.83908,0.33401 5.63985,-1.05664 6.5332,-3.3125 a 0.50005,0.50005 0 1 0 -0.92969,-0.36718 c -0.67177,1.69632 -3.05327,2.97373 -5.48633,2.6875 -1.98998,-0.23411 -3.41357,-1.22813 -4.10351,-2.33203 -0.68994,-1.10391 -0.68215,-2.23778 0.14844,-3.06836 0.83795,-0.83796 1.98844,-0.89361 3.08398,-0.26368 1.09554,0.62994 2.08242,1.9799 2.31641,3.96875 a 0.50005,0.50005 0 1 0 0.99218,-0.11718 c -0.26601,-2.26115 -1.40413,-3.91119 -2.80859,-4.71875 -0.70223,-0.40379 -1.48457,-0.58895 -2.23633,-0.52735 z m 3.54102,9.04883 a 0.50005,0.50005 0 0 0 -0.37696,0.1875 c -0.31249,0.377 -0.92604,0.69672 -1.66015,0.78906 a 0.50005,0.50005 0 1 0 0.125,0.99219 c 0.94034,-0.11828 1.77818,-0.50935 2.30469,-1.14453 a 0.50005,0.50005 0 0 0 -0.39258,-0.82422 z"
- id="path22178"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 331.50586,410 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 3 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 3 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -3 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z m -10,10 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 3 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 3 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -3 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z"
- id="path22182"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="cccccccccccccccccc" />
- </g>
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g22365"
- transform="translate(-1.8536743e-6,-25.999995)">
- <path
- id="path22215"
- d="m 302,649 v 8 h 4 v -8 z m 1,1 h 2 v 1 h -2 z m 0,2 h 2 v 1 h -2 z m 0,2 h 2 v 1 h -2 z"
- style="display:inline;opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;enable-background:new"
- inkscape:connector-curvature="0" />
- <path
- sodipodi:nodetypes="sssssssssccccc"
- inkscape:connector-curvature="0"
- id="rect21916"
- d="m 301.5,647 c -0.82235,0 -1.5,0.67765 -1.5,1.5 v 9 c 0,0.82235 0.67765,1.5 1.5,1.5 h 11 c 0.82235,0 1.5,-0.67765 1.5,-1.5 v -9 c 0,-0.82235 -0.67765,-1.5 -1.5,-1.5 z m -0.5,1 h 12 v 10 h -12 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
- </g>
- <g
- transform="translate(-1.8536743e-6,4.4999696e-6)"
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g22423">
- <g
- id="g22461"
- style="fill:#ffffff">
- <path
- sodipodi:nodetypes="ssscccssssccsss"
- inkscape:connector-curvature="0"
- id="path22413"
- d="m 175.5,599 c -0.82235,0 -1.5,0.67765 -1.5,1.5 v 6 c 0,0.64672 0.42101,1.19773 1,1.40625 V 606.5 v -3 -3 c 0,-0.28564 0.21436,-0.5 0.5,-0.5 h 9 c 0.28564,0 0.5,0.21436 0.5,0.5 v 1.5 h 1 v -1.5 c 0,-0.82235 -0.67765,-1.5 -1.5,-1.5 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
- <path
- id="rect22415"
- transform="translate(0,-50)"
- d="m 177.5,653 c -0.82235,0 -1.5,0.67765 -1.5,1.5 v 6 c 0,0.82235 0.67765,1.5 1.5,1.5 h 9 c 0.82235,0 1.5,-0.67765 1.5,-1.5 v -6 c 0,-0.82235 -0.67765,-1.5 -1.5,-1.5 z m 2.00391,2 c 0.1882,0.002 0.35956,0.10882 0.44336,0.27734 l 2,4 c 0.16517,0.33222 -0.0763,0.72229 -0.44727,0.72266 h -4 c -0.37097,-3.7e-4 -0.61244,-0.39044 -0.44727,-0.72266 l 2,-4 c 0.0851,-0.17104 0.26016,-0.27834 0.45118,-0.27734 z m 3.99609,0 h 3 a 0.50005,0.50005 0 1 1 0,1 h -3 a 0.50005,0.50005 0 1 1 0,-1 z m 0,2 h 3 a 0.50005,0.50005 0 1 1 0,1 h -3 a 0.50005,0.50005 0 1 1 0,-1 z m 0,2 h 2 a 0.50005,0.50005 0 1 1 0,1 h -2 a 0.50005,0.50005 0 1 1 0,-1 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- inkscape:connector-curvature="0" />
+ <g style="display:inline;fill:#ffffff;enable-background:new" id="g22663" transform="translate(-126,21.000005)">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.0999999;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 219.77539,326 c -0.5582,0 -1.07768,0.24943 -1.49219,0.64258 -0.41451,0.39314 -0.75014,0.92623 -1.04101,1.57422 -0.58174,1.29596 -0.98621,3.07228 -1.23828,5.21484 a 0.55005495,0.55005495 0 1 0 1.09179,0.12891 c 0.24409,-2.07475 0.64639,-3.77175 1.15039,-4.89453 0.252,-0.5614 0.52906,-0.97431 0.79297,-1.22461 0.26391,-0.25031 0.48846,-0.3418 0.73633,-0.3418 0.24788,0 0.46416,0.0907 0.7207,0.33398 0.25655,0.24329 0.52547,0.64294 0.77149,1.17579 0.49204,1.06569 0.89452,2.64518 1.18945,4.47851 0.3037,1.88782 0.70794,3.53465 1.27539,4.76367 0.28373,0.61451 0.60805,1.12901 1.01367,1.51367 0.40563,0.38466 0.92032,0.63477 1.47852,0.63477 1.08819,0 1.93098,-0.8296 2.51953,-1.97266 0.58855,-1.14305 0.99634,-2.67751 1.25,-4.45312 a 0.55005495,0.55005495 0 1 0 -1.08789,-0.15625 c -0.2425,1.69747 -0.64149,3.13986 -1.13867,4.10547 -0.49719,0.9656 -1.01901,1.37695 -1.54297,1.37695 -0.24788,0 -0.46416,-0.0907 -0.7207,-0.33398 -0.25655,-0.24329 -0.52547,-0.64294 -0.77149,-1.17579 -0.49204,-1.06569 -0.89451,-2.64518 -1.18945,-4.47851 -0.30369,-1.88783 -0.70794,-3.53465 -1.27539,-4.76367 -0.28373,-0.61451 -0.60805,-1.12901 -1.01367,-1.51367 C 220.84828,326.25011 220.33359,326 219.77539,326 Z" id="use22627" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 218.75,333 a 0.50005,0.50005 0 1 0 0,1 h 2 a 0.50005,0.50005 0 1 0 0,-1 z m 6.5,0 a 0.50005,0.50005 0 1 0 0,1 h 2 a 0.50005,0.50005 0 1 0 0,-1 z" id="rect42619-7-8" inkscape:connector-curvature="0"/>
+ </g>
+ <g transform="translate(41.999999,42.000005)" style="display:inline;opacity:1;fill:#ffffff;enable-background:new" id="g22961">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="M 534.49219,599 C 534.2199,599 534,599.223 534,599.5 v 1.5 h -2.5 a 0.50005,0.50005 0 1 0 0,1 h 2.5 v 3 h -2.5 a 0.50005,0.50005 0 1 0 0,1 h 2.5 v 1.5 c 0,0.277 0.2199,0.5 0.49219,0.5 h 0.0156 C 534.7801,608 535,607.777 535,607.5 v -8 c 0,-0.277 -0.2199,-0.5 -0.49219,-0.5 z m 1.25781,1 v 7 H 537 c 1.69468,0 3,-1.30532 3,-3 v -1 c 0,-1.69468 -1.30532,-3 -3,-3 z" transform="translate(-41.999999,-42.000005)" id="path22706-5" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.00157475;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 499.48633,561.02734 c -0.55718,0.017 -0.67407,0.7946 -0.14649,0.97461 1.47614,0.5388 2.51343,1.91841 2.64454,3.53711 0.13105,1.61806 -0.67507,3.15416 -2.04493,3.94532 C 499.32404,569.8398 498.6905,570 498,570 h -9 v 1 h 9 c 0.84916,0 1.67422,-0.20648 2.43945,-0.64844 1.70819,-0.98656 2.70486,-2.89381 2.54297,-4.89258 -0.16183,-1.99811 -1.44941,-3.72267 -3.30078,-4.39843 -0.0622,-0.024 -0.12865,-0.0353 -0.19531,-0.0332 z" id="path22783-2-0" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccccccccccc"/>
+ </g>
+ <g style="display:inline;fill:#ffffff;enable-background:new" transform="rotate(-180,349.00525,417)" id="g22180" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" inkscape:export-xdpi="96" inkscape:export-ydpi="96">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 324.95117,410.94531 c -0.75176,0.0616 -1.47366,0.37015 -2.05469,0.95117 -1.16941,1.16942 -1.16162,2.91055 -0.28906,4.30664 0.87256,1.3961 2.57397,2.52709 4.83399,2.79297 2.83908,0.33401 5.63985,-1.05664 6.5332,-3.3125 a 0.50005,0.50005 0 1 0 -0.92969,-0.36718 c -0.67177,1.69632 -3.05327,2.97373 -5.48633,2.6875 -1.98998,-0.23411 -3.41357,-1.22813 -4.10351,-2.33203 -0.68994,-1.10391 -0.68215,-2.23778 0.14844,-3.06836 0.83795,-0.83796 1.98844,-0.89361 3.08398,-0.26368 1.09554,0.62994 2.08242,1.9799 2.31641,3.96875 a 0.50005,0.50005 0 1 0 0.99218,-0.11718 c -0.26601,-2.26115 -1.40413,-3.91119 -2.80859,-4.71875 -0.70223,-0.40379 -1.48457,-0.58895 -2.23633,-0.52735 z m 3.54102,9.04883 a 0.50005,0.50005 0 0 0 -0.37696,0.1875 c -0.31249,0.377 -0.92604,0.69672 -1.66015,0.78906 a 0.50005,0.50005 0 1 0 0.125,0.99219 c 0.94034,-0.11828 1.77818,-0.50935 2.30469,-1.14453 a 0.50005,0.50005 0 0 0 -0.39258,-0.82422 z" id="path22178" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 331.50586,410 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 3 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 3 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -3 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z m -10,10 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 3 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 3 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -3 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z" id="path22182" inkscape:connector-curvature="0" sodipodi:nodetypes="cccccccccccccccccc"/>
+ </g>
+ <g style="display:inline;fill:#ffffff;enable-background:new" id="g22365" transform="translate(-1.8536743e-6,-25.999995)">
+ <path id="path22215" d="m 302,649 v 8 h 4 v -8 z m 1,1 h 2 v 1 h -2 z m 0,2 h 2 v 1 h -2 z m 0,2 h 2 v 1 h -2 z" style="display:inline;opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;enable-background:new" inkscape:connector-curvature="0"/>
+ <path sodipodi:nodetypes="sssssssssccccc" inkscape:connector-curvature="0" id="rect21916" d="m 301.5,647 c -0.82235,0 -1.5,0.67765 -1.5,1.5 v 9 c 0,0.82235 0.67765,1.5 1.5,1.5 h 11 c 0.82235,0 1.5,-0.67765 1.5,-1.5 v -9 c 0,-0.82235 -0.67765,-1.5 -1.5,-1.5 z m -0.5,1 h 12 v 10 h -12 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
+ </g>
+ <g transform="translate(-1.8536743e-6,4.4999696e-6)" style="display:inline;fill:#ffffff;enable-background:new" id="g22423">
+ <g id="g22461" style="fill:#ffffff">
+ <path sodipodi:nodetypes="ssscccssssccsss" inkscape:connector-curvature="0" id="path22413" d="m 175.5,599 c -0.82235,0 -1.5,0.67765 -1.5,1.5 v 6 c 0,0.64672 0.42101,1.19773 1,1.40625 V 606.5 v -3 -3 c 0,-0.28564 0.21436,-0.5 0.5,-0.5 h 9 c 0.28564,0 0.5,0.21436 0.5,0.5 v 1.5 h 1 v -1.5 c 0,-0.82235 -0.67765,-1.5 -1.5,-1.5 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
+ <path id="rect22415" transform="translate(0,-50)" d="m 177.5,653 c -0.82235,0 -1.5,0.67765 -1.5,1.5 v 6 c 0,0.82235 0.67765,1.5 1.5,1.5 h 9 c 0.82235,0 1.5,-0.67765 1.5,-1.5 v -6 c 0,-0.82235 -0.67765,-1.5 -1.5,-1.5 z m 2.00391,2 c 0.1882,0.002 0.35956,0.10882 0.44336,0.27734 l 2,4 c 0.16517,0.33222 -0.0763,0.72229 -0.44727,0.72266 h -4 c -0.37097,-3.7e-4 -0.61244,-0.39044 -0.44727,-0.72266 l 2,-4 c 0.0851,-0.17104 0.26016,-0.27834 0.45118,-0.27734 z m 3.99609,0 h 3 a 0.50005,0.50005 0 1 1 0,1 h -3 a 0.50005,0.50005 0 1 1 0,-1 z m 0,2 h 3 a 0.50005,0.50005 0 1 1 0,1 h -3 a 0.50005,0.50005 0 1 1 0,-1 z m 0,2 h 2 a 0.50005,0.50005 0 1 1 0,1 h -2 a 0.50005,0.50005 0 1 1 0,-1 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" inkscape:connector-curvature="0"/>
</g>
</g>
- <path
- sodipodi:nodetypes="cccccccccccccccscccccccccccccc"
- inkscape:connector-curvature="0"
- id="path22769"
- d="m 517.98438,9.9863345 c -0.55152,0.009 -0.99193,0.4621405 -0.98438,1.0136695 v 7 h -1.10156 l -0.91016,-6.14648 c -0.0643,-0.48249 -0.46671,-0.84859 -0.95312,-0.86719 -0.63083,-0.0229 -1.12488,0.53711 -1.02344,1.16015 L 514,18.816414 v 0.88671 1.296881 h -1 v -1.746091 l -2.58984,-1.16602 c -0.12175,-0.0548 -0.25324,-0.0847 -0.38672,-0.0879 -0.88449,-0.0197 -1.35703,1.03438 -0.75391,1.68164 l 3.5,3.750001 c 1.45044,1.55404 3.38812,2.64316 5.12305,2.55469 2.20226,-0.16055 4.09501,-1.6226 4.80664,-3.71289 l 2.25586,-6.269531 c 0.1808,-0.48082 -0.16432,-0.99701 -0.67774,-1.01368 -0.32862,-0.0101 -0.62553,0.19494 -0.73242,0.50586 l -0.90039,2.50392 h -0.74023 l 1.07812,-5.81836 c 0.12593,-0.63116 -0.36843,-1.215229 -1.01172,-1.19531 -0.47506,0.0156 -0.8735,0.36343 -0.95312,0.83203 l -1.14453,6.18164 H 519 v -7 c 0.008,-0.563769 -0.45189,-1.0224695 -1.01562,-1.0136695 z"
- style="display:inline;opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;enable-background:new" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 264.49219,453.00195 a 0.50005,0.50005 0 0 0 -0.34571,0.14649 l -5,4.99804 a 0.50005,0.50005 0 0 0 0,0.70704 l 5,5 a 0.50005,0.50005 0 0 0 0.70508,0 l 4.99219,-4.97852 a 0.50005,0.50005 0 0 0 0.002,-0.70703 l -4.99218,-5.01953 a 0.50005,0.50005 0 0 0 -0.36133,-0.14649 z m 0.006,1.20703 4.28711,4.31055 -4.2853,4.27344 -4.29297,-4.29297 z"
- id="path22390"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 243.49219,453 c -0.12989,0.002 -0.25387,0.0546 -0.34571,0.14648 l -5,5 c -0.19519,0.19527 -0.19519,0.51177 0,0.70704 l 5,5 c 0.19504,0.19389 0.51004,0.19389 0.70508,0 l 4.99219,-4.97852 c 0.19574,-0.19471 0.19663,-0.51121 0.002,-0.70703 l -4.99218,-5.02149 c -0.0957,-0.0957 -0.22606,-0.14857 -0.36138,-0.14648 z"
- id="path22397"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="cccccccccc" />
- <g
- transform="matrix(-1,0,0,1,384.8323,63.000015)"
- style="display:inline;opacity:1;fill:#ffffff;enable-background:new"
- id="g23034">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:7.40000057;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 310.58203,494 c -1.1875,0 -2.13583,0.69085 -2.52344,1.62109 -0.3876,0.93025 -0.20775,2.10475 0.66993,2.98243 l 2.5,2.5 c 0.62232,0.62232 0.69247,1.32282 0.45507,1.89257 C 311.4462,503.56585 310.89453,504 310.08203,504 l -6.53515,-0.008 2.13867,-2.13867 a 0.50005,0.50005 0 1 0 -0.70703,-0.70704 l -2.9336,2.93555 -0.01,0.008 a 0.50005,0.50005 0 0 0 -0.20704,0.41602 0.50005,0.50005 0 0 0 0,0.008 0.50005,0.50005 0 0 0 0.004,0.0469 0.50005,0.50005 0 0 0 0.008,0.0488 0.50005,0.50005 0 0 0 0.19336,0.29882 l 2.94532,2.94532 a 0.50005,0.50005 0 1 0 0.70703,-0.70704 l -2.1543,-2.15429 6.55078,0.008 c 1.1875,0 2.13584,-0.69085 2.52344,-1.62109 0.3876,-0.93025 0.20775,-2.10475 -0.66992,-2.98243 l -2.5,-2.5 c -0.62233,-0.62232 -0.69248,-1.32282 -0.45508,-1.89257 0.2374,-0.56976 0.78906,-1.00391 1.60156,-1.00391 h 4.75 a 0.50005,0.50005 0 1 0 0,-1 z"
- id="path23032"
- inkscape:connector-curvature="0" />
- </g>
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g22949"
- transform="matrix(1,0,0,-1,168,540.00935)">
- <g
- inkscape:export-ydpi="96"
- inkscape:export-xdpi="96"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- transform="matrix(0,-1,-1,0,558.00846,761.00467)"
- id="g22540"
- style="display:inline;opacity:1;fill:#ffffff;enable-background:new">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="M 469.00195,355 C 467.90167,355 467,355.90326 467,357.00391 c 0,1.10064 0.90167,2.00391 2.00195,2.0039 1.10028,0 2.00196,-0.90326 2.00196,-2.0039 0,-1.10064 -0.90168,-2.00391 -2.00196,-2.00391 z"
- id="path22508"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="sscss" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 468.5,349 c -0.82251,0 -1.5,0.67749 -1.5,1.5 0,0.82251 0.67749,1.5 1.5,1.5 0.8225,0 1.5,-0.6775 1.5,-1.5 0,-0.82251 -0.67749,-1.5 -1.5,-1.5 z"
- id="path22516"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="sssss" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 475.5,356 c -0.8225,0 -1.5,0.6775 -1.5,1.5 0,0.8225 0.6775,1.5 1.5,1.5 0.8225,0 1.5,-0.6775 1.5,-1.5 0,-0.8225 -0.6775,-1.5 -1.5,-1.5 z"
- id="path22518"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="sssss" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 474.50195,350.00781 c -0.82202,10e-6 -1.50195,0.67415 -1.50195,1.4961 0,0.82195 0.67993,1.49609 1.50195,1.49609 0.82203,0 1.50195,-0.67414 1.50196,-1.49609 -1e-5,-0.82196 -0.67993,-1.4961 -1.50196,-1.4961 z"
- id="path22520"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="csscc" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.7;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 468,351.5 v 4 h 1 v -4 z m 5.14648,0.64648 -3.49609,3.50977 0.70899,0.70508 3.49414,-3.50781 z M 470.5,357 v 1 h 4 v -1 z"
- id="path22536"
- inkscape:connector-curvature="0" />
+ <path sodipodi:nodetypes="cccccccccccccccscccccccccccccc" inkscape:connector-curvature="0" id="path22769" d="m 517.98438,9.9863345 c -0.55152,0.009 -0.99193,0.4621405 -0.98438,1.0136695 v 7 h -1.10156 l -0.91016,-6.14648 c -0.0643,-0.48249 -0.46671,-0.84859 -0.95312,-0.86719 -0.63083,-0.0229 -1.12488,0.53711 -1.02344,1.16015 L 514,18.816414 v 0.88671 1.296881 h -1 v -1.746091 l -2.58984,-1.16602 c -0.12175,-0.0548 -0.25324,-0.0847 -0.38672,-0.0879 -0.88449,-0.0197 -1.35703,1.03438 -0.75391,1.68164 l 3.5,3.750001 c 1.45044,1.55404 3.38812,2.64316 5.12305,2.55469 2.20226,-0.16055 4.09501,-1.6226 4.80664,-3.71289 l 2.25586,-6.269531 c 0.1808,-0.48082 -0.16432,-0.99701 -0.67774,-1.01368 -0.32862,-0.0101 -0.62553,0.19494 -0.73242,0.50586 l -0.90039,2.50392 h -0.74023 l 1.07812,-5.81836 c 0.12593,-0.63116 -0.36843,-1.215229 -1.01172,-1.19531 -0.47506,0.0156 -0.8735,0.36343 -0.95312,0.83203 l -1.14453,6.18164 H 519 v -7 c 0.008,-0.563769 -0.45189,-1.0224695 -1.01562,-1.0136695 z" style="display:inline;opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;enable-background:new"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 264.49219,453.00195 a 0.50005,0.50005 0 0 0 -0.34571,0.14649 l -5,4.99804 a 0.50005,0.50005 0 0 0 0,0.70704 l 5,5 a 0.50005,0.50005 0 0 0 0.70508,0 l 4.99219,-4.97852 a 0.50005,0.50005 0 0 0 0.002,-0.70703 l -4.99218,-5.01953 a 0.50005,0.50005 0 0 0 -0.36133,-0.14649 z m 0.006,1.20703 4.28711,4.31055 -4.2853,4.27344 -4.29297,-4.29297 z" id="path22390" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 243.49219,453 c -0.12989,0.002 -0.25387,0.0546 -0.34571,0.14648 l -5,5 c -0.19519,0.19527 -0.19519,0.51177 0,0.70704 l 5,5 c 0.19504,0.19389 0.51004,0.19389 0.70508,0 l 4.99219,-4.97852 c 0.19574,-0.19471 0.19663,-0.51121 0.002,-0.70703 l -4.99218,-5.02149 c -0.0957,-0.0957 -0.22606,-0.14857 -0.36138,-0.14648 z" id="path22397" inkscape:connector-curvature="0" sodipodi:nodetypes="cccccccccc"/>
+ <g transform="matrix(-1,0,0,1,384.8323,63.000015)" style="display:inline;opacity:1;fill:#ffffff;enable-background:new" id="g23034">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:7.40000057;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 310.58203,494 c -1.1875,0 -2.13583,0.69085 -2.52344,1.62109 -0.3876,0.93025 -0.20775,2.10475 0.66993,2.98243 l 2.5,2.5 c 0.62232,0.62232 0.69247,1.32282 0.45507,1.89257 C 311.4462,503.56585 310.89453,504 310.08203,504 l -6.53515,-0.008 2.13867,-2.13867 a 0.50005,0.50005 0 1 0 -0.70703,-0.70704 l -2.9336,2.93555 -0.01,0.008 a 0.50005,0.50005 0 0 0 -0.20704,0.41602 0.50005,0.50005 0 0 0 0,0.008 0.50005,0.50005 0 0 0 0.004,0.0469 0.50005,0.50005 0 0 0 0.008,0.0488 0.50005,0.50005 0 0 0 0.19336,0.29882 l 2.94532,2.94532 a 0.50005,0.50005 0 1 0 0.70703,-0.70704 l -2.1543,-2.15429 6.55078,0.008 c 1.1875,0 2.13584,-0.69085 2.52344,-1.62109 0.3876,-0.93025 0.20775,-2.10475 -0.66992,-2.98243 l -2.5,-2.5 c -0.62233,-0.62232 -0.69248,-1.32282 -0.45508,-1.89257 0.2374,-0.56976 0.78906,-1.00391 1.60156,-1.00391 h 4.75 a 0.50005,0.50005 0 1 0 0,-1 z" id="path23032" inkscape:connector-curvature="0"/>
+ </g>
+ <g style="display:inline;fill:#ffffff;enable-background:new" id="g22949" transform="matrix(1,0,0,-1,168,540.00935)">
+ <g inkscape:export-ydpi="96" inkscape:export-xdpi="96" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" transform="matrix(0,-1,-1,0,558.00846,761.00467)" id="g22540" style="display:inline;opacity:1;fill:#ffffff;enable-background:new">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="M 469.00195,355 C 467.90167,355 467,355.90326 467,357.00391 c 0,1.10064 0.90167,2.00391 2.00195,2.0039 1.10028,0 2.00196,-0.90326 2.00196,-2.0039 0,-1.10064 -0.90168,-2.00391 -2.00196,-2.00391 z" id="path22508" inkscape:connector-curvature="0" sodipodi:nodetypes="sscss"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 468.5,349 c -0.82251,0 -1.5,0.67749 -1.5,1.5 0,0.82251 0.67749,1.5 1.5,1.5 0.8225,0 1.5,-0.6775 1.5,-1.5 0,-0.82251 -0.67749,-1.5 -1.5,-1.5 z" id="path22516" inkscape:connector-curvature="0" sodipodi:nodetypes="sssss"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 475.5,356 c -0.8225,0 -1.5,0.6775 -1.5,1.5 0,0.8225 0.6775,1.5 1.5,1.5 0.8225,0 1.5,-0.6775 1.5,-1.5 0,-0.8225 -0.6775,-1.5 -1.5,-1.5 z" id="path22518" inkscape:connector-curvature="0" sodipodi:nodetypes="sssss"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 474.50195,350.00781 c -0.82202,10e-6 -1.50195,0.67415 -1.50195,1.4961 0,0.82195 0.67993,1.49609 1.50195,1.49609 0.82203,0 1.50195,-0.67414 1.50196,-1.49609 -1e-5,-0.82196 -0.67993,-1.4961 -1.50196,-1.4961 z" id="path22520" inkscape:connector-curvature="0" sodipodi:nodetypes="csscc"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.7;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 468,351.5 v 4 h 1 v -4 z m 5.14648,0.64648 -3.49609,3.50977 0.70899,0.70508 3.49414,-3.50781 z M 470.5,357 v 1 h 4 v -1 z" id="path22536" inkscape:connector-curvature="0"/>
</g>
- <g
- style="display:inline;opacity:0.6;fill:#ffffff;enable-background:new"
- id="g22761"
- transform="matrix(0,-1,-1,0,554.00846,765.00467)"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- inkscape:export-xdpi="96"
- inkscape:export-ydpi="96">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 468.5,349 c -0.82251,0 -1.5,0.67749 -1.5,1.5 0,0.82251 0.67749,1.5 1.5,1.5 0.8225,0 1.5,-0.6775 1.5,-1.5 0,-0.82251 -0.67749,-1.5 -1.5,-1.5 z m 0,1 c 0.28207,0 0.5,0.21793 0.5,0.5 0,0.28207 -0.21793,0.5 -0.5,0.5 -0.28207,0 -0.5,-0.21793 -0.5,-0.5 0,-0.28207 0.21793,-0.5 0.5,-0.5 z m 0.50195,5 C 467.90167,355 467,355.90326 467,357.00391 c 0,1.10064 0.90167,2.00391 2.00195,2.0039 1.10028,0 2.00196,-0.90326 2.00196,-2.0039 0,-1.10064 -0.90168,-2.00391 -2.00196,-2.00391 z m 0,1 c 0.55916,0 1.00196,0.44302 1.00196,1.00391 0,0.56088 -0.4428,1.0039 -1.00196,1.0039 -0.55915,0 -1.00195,-0.44302 -1.00195,-1.0039 C 468,356.44302 468.4428,356 469.00195,356 Z m 6.49805,0 c -0.8225,0 -1.5,0.6775 -1.5,1.5 0,0.8225 0.6775,1.5 1.5,1.5 0.8225,0 1.5,-0.6775 1.5,-1.5 0,-0.8225 -0.6775,-1.5 -1.5,-1.5 z m 0,1 c 0.28206,0 0.5,0.21794 0.5,0.5 0,0.28206 -0.21794,0.5 -0.5,0.5 -0.28206,0 -0.5,-0.21794 -0.5,-0.5 0,-0.28206 0.21794,-0.5 0.5,-0.5 z"
- id="path22750"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.7;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 468,351.5 v 4 h 1 v -4 z"
- id="path22755"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.7;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 470.5,357 v 1 h 4 v -1 z"
- id="path22757"
- inkscape:connector-curvature="0" />
+ <g style="display:inline;opacity:0.6;fill:#ffffff;enable-background:new" id="g22761" transform="matrix(0,-1,-1,0,554.00846,765.00467)" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" inkscape:export-xdpi="96" inkscape:export-ydpi="96">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 468.5,349 c -0.82251,0 -1.5,0.67749 -1.5,1.5 0,0.82251 0.67749,1.5 1.5,1.5 0.8225,0 1.5,-0.6775 1.5,-1.5 0,-0.82251 -0.67749,-1.5 -1.5,-1.5 z m 0,1 c 0.28207,0 0.5,0.21793 0.5,0.5 0,0.28207 -0.21793,0.5 -0.5,0.5 -0.28207,0 -0.5,-0.21793 -0.5,-0.5 0,-0.28207 0.21793,-0.5 0.5,-0.5 z m 0.50195,5 C 467.90167,355 467,355.90326 467,357.00391 c 0,1.10064 0.90167,2.00391 2.00195,2.0039 1.10028,0 2.00196,-0.90326 2.00196,-2.0039 0,-1.10064 -0.90168,-2.00391 -2.00196,-2.00391 z m 0,1 c 0.55916,0 1.00196,0.44302 1.00196,1.00391 0,0.56088 -0.4428,1.0039 -1.00196,1.0039 -0.55915,0 -1.00195,-0.44302 -1.00195,-1.0039 C 468,356.44302 468.4428,356 469.00195,356 Z m 6.49805,0 c -0.8225,0 -1.5,0.6775 -1.5,1.5 0,0.8225 0.6775,1.5 1.5,1.5 0.8225,0 1.5,-0.6775 1.5,-1.5 0,-0.8225 -0.6775,-1.5 -1.5,-1.5 z m 0,1 c 0.28206,0 0.5,0.21794 0.5,0.5 0,0.28206 -0.21794,0.5 -0.5,0.5 -0.28206,0 -0.5,-0.21794 -0.5,-0.5 0,-0.28206 0.21794,-0.5 0.5,-0.5 z" id="path22750" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.7;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 468,351.5 v 4 h 1 v -4 z" id="path22755" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.7;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 470.5,357 v 1 h 4 v -1 z" id="path22757" inkscape:connector-curvature="0"/>
</g>
</g>
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g22484"
- transform="translate(-220,-220)">
- <path
- id="path22480"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.00000012;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0.5;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 334.5,777 c -0.15738,-3e-4 -0.30571,0.0735 -0.40039,0.19922 L 332.75,779 H 332 c -0.54535,0 -1,0.45465 -1,1 v 9 c 0,0.54535 0.45465,1 1,1 h 12 c 0.54535,0 1,-0.45465 1,-1 v -9 c 0,-0.54535 -0.45465,-1 -1,-1 h -3.75 l -1.34961,-1.80078 C 338.80571,777.07351 338.65738,776.9997 338.5,777 Z m 1,1 h 2 c 0.27613,3e-5 0.49997,0.22387 0.5,0.5 v 1 c -3e-5,0.27613 -0.22387,0.49997 -0.5,0.5 h -2 c -0.27613,-3e-5 -0.49997,-0.22387 -0.5,-0.5 v -1 c 3e-5,-0.27613 0.22387,-0.49997 0.5,-0.5 z m -3.5,3 h 9 v 7 h -9 v -6.5 z m 11,1 c 0.54636,0 1,0.45364 1,1 0,0.54636 -0.45364,1 -1,1 -0.54636,0 -1,-0.45364 -1,-1 0,-0.54636 0.45364,-1 1,-1 z m 0,4 c 0.54636,0 1,0.45364 1,1 0,0.54636 -0.45364,1 -1,1 -0.54636,0 -1,-0.45364 -1,-1 0,-0.54636 0.45364,-1 1,-1 z"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="cccsssssssscccccccccccccccccccssssssssss" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.2;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.00000012;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0.5;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 333.5,782 a 0.50005006,0.50005006 0 1 0 0,1 h 6.00195 a 0.50005006,0.50005006 0 1 0 0,-1 z m 0,2 a 0.50005006,0.50005006 0 1 0 0,1 h 6.00195 a 0.50005006,0.50005006 0 1 0 0,-1 z m 0,2 a 0.50005006,0.50005006 0 1 0 0,1 h 6.00195 a 0.50005006,0.50005006 0 1 0 0,-1 z"
- id="path22526"
- inkscape:connector-curvature="0" />
- <path
- inkscape:connector-curvature="0"
- d="m 342.50195,777 c -0.67617,-0.01 -0.67617,1.00957 0,1 h 1 c 0.67617,0.01 0.67617,-1.00957 0,-1 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.8;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.00000012;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0.5;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- id="path22529"
- sodipodi:nodetypes="ccccc" />
- </g>
- <g
- transform="translate(-1.8536743e-6,4.4999696e-6)"
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g22589">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 120.85938,263.01172 c -2.71113,-0.14985 -5.132,0.84146 -7.07032,2.78125 -2.61921,2.6212 -3.50441,6.90582 -2.24609,9.9043 0.25386,0.60493 0.66496,1.06469 1.2168,1.20507 0.55183,0.14039 1.13738,-0.0925 1.59375,-0.54882 l 10,-10 a 0.50005,0.50005 0 0 0 0.01,-0.01 c 0.45574,-0.48275 0.74002,-1.03795 0.61133,-1.61328 -0.12869,-0.57533 -0.64203,-0.96413 -1.31445,-1.18164 -0.96105,-0.31088 -1.89708,-0.48716 -2.80078,-0.53711 z m -0.0586,0.98437 c 0.81237,0.051 1.66258,0.21855 2.55078,0.50586 0.49509,0.16015 0.62426,0.33915 0.64844,0.44727 0.0242,0.10812 -0.028,0.35187 -0.36328,0.70703 l -9.99024,9.99023 c -0.29363,0.29364 -0.48952,0.32555 -0.64062,0.28711 -0.1511,-0.0384 -0.36452,-0.20246 -0.54102,-0.62304 -1.05362,-2.51071 -0.27172,-6.50583 2.03125,-8.81055 1.77041,-1.77175 3.86758,-2.65679 6.30469,-2.50391 z M 115.48438,267 a 0.50005,0.50005 0 0 0 -0.34376,0.15234 C 113.75486,268.5381 112.997,270.82305 113,272.5 a 0.50005,0.50005 0 1 0 1,0 c -0.002,-1.34281 0.7435,-3.53647 1.84766,-4.64062 A 0.50005,0.50005 0 0 0 115.48438,267 Z m 7.02343,3 a 0.50005,0.50005 0 1 0 0,1 c 0.67897,0 1.01439,0.13886 1.19922,0.33398 0.18483,0.19513 0.30078,0.54691 0.30078,1.16602 a 0.50005,0.50005 0 1 0 1,0 c 0,-0.74159 -0.136,-1.38882 -0.57617,-1.85352 C 123.99147,270.18179 123.32885,270 122.50781,270 Z m -2.01562,1.99219 A 0.50005,0.50005 0 0 0 120,272.5 c 0,0.86111 0.31215,1.53681 0.80469,1.94727 0.49254,0.41045 1.11198,0.55273 1.69531,0.55273 0.41667,0 0.79723,0.10772 1.05469,0.32227 C 123.81215,275.53681 124,275.86111 124,276.5 a 0.50005,0.50005 0 1 0 1,0 c 0,-0.86111 -0.31215,-1.53681 -0.80469,-1.94727 C 123.70277,274.14228 123.08333,274 122.5,274 c -0.41667,0 -0.79723,-0.10772 -1.05469,-0.32227 C 121.18785,273.46319 121,273.13889 121,272.5 a 0.50005,0.50005 0 0 0 -0.50781,-0.50781 z m -2,2 A 0.50005,0.50005 0 0 0 118,274.5 c 0,0.82103 0.18179,1.48561 0.64648,1.92578 C 119.11118,276.86595 119.75841,277 120.5,277 h 1 a 0.50005,0.50005 0 1 0 0,-1 h -1 c -0.61911,0 -0.97089,-0.11595 -1.16602,-0.30078 C 119.13886,275.51439 119,275.17897 119,274.5 a 0.50005,0.50005 0 0 0 -0.50781,-0.50781 z"
- id="path22545"
- inkscape:connector-curvature="0" />
- </g>
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 310.26367,452.0293 c -0.67255,-0.0123 -1.33821,0.3 -1.8789,0.8789 l -0.23829,0.23828 a 0.50004997,0.50004997 0 0 0 -0.084,0.10938 0.50004997,0.50004997 0 0 0 -0.0879,0.0723 l -1.26563,1.25196 c -0.23797,0.23547 -0.44036,0.48356 -0.58984,0.75781 a 0.50004997,0.50004997 0 1 0 0.87695,0.47852 c 0.0885,-0.16243 0.22753,-0.33889 0.41602,-0.52539 l 1.26562,-1.25391 a 0.50004997,0.50004997 0 0 0 0.0899,-0.11523 0.50004997,0.50004997 0 0 0 0.002,-0.002 0.50004997,0.50004997 0 0 0 0.084,-0.0664 l 0.25,-0.25 a 0.50004997,0.50004997 0 0 0 0.0117,-0.0117 c 0.39332,-0.4211 0.76594,-0.57109 1.12891,-0.56446 0.36298,0.007 0.75841,0.18208 1.15234,0.57618 0.39504,0.3952 0.56757,0.78617 0.57422,1.14648 0.007,0.36031 -0.14053,0.73397 -0.56445,1.13672 l -0.26758,0.2539 a 0.50004997,0.50004997 0 0 0 -0.0957,0.12305 0.50004997,0.50004997 0 0 0 -0.0859,0.0684 l -1.25,1.25 a 0.50004997,0.50004997 0 0 0 -0.0137,0.0117 c -0.16233,0.1738 -0.32346,0.30196 -0.48047,0.39063 a 0.50026213,0.50026213 0 1 0 0.49219,0.87109 c 0.25644,-0.14482 0.49753,-0.33919 0.7207,-0.57813 l 1.23828,-1.23828 a 0.50004997,0.50004997 0 0 0 0.0859,-0.11133 0.50004997,0.50004997 0 0 0 0.0781,-0.0625 l 0.26563,-0.25195 c 0.57608,-0.54732 0.88934,-1.2117 0.87695,-1.88281 -0.0124,-0.67111 -0.33835,-1.30493 -0.86718,-1.83399 -0.52994,-0.53015 -1.16729,-0.85488 -1.83985,-0.86718 z m -1.77344,3.96679 a 0.50004997,0.50004997 0 0 0 -0.34375,0.15039 l -4.01367,4.01563 a 0.50004997,0.50004997 0 1 0 0.70703,0.70703 l 4.01368,-4.01562 a 0.50004997,0.50004997 0 0 0 -0.36329,-0.85743 z m -4.94921,2.1836 a 0.50004997,0.50004997 0 0 0 -0.22852,0.0469 c -0.33394,0.14944 -0.64532,0.37928 -0.92773,0.68164 l -1.23829,1.23828 a 0.50004997,0.50004997 0 0 0 -0.0547,0.0645 l -0.18555,0.17578 c -0.57608,0.54731 -0.88934,1.2117 -0.87695,1.88281 0.0124,0.67111 0.33835,1.30494 0.86718,1.83399 0.52994,0.53016 1.16729,0.85489 1.83985,0.86718 0.67255,0.0123 1.33821,-0.3 1.8789,-0.8789 l 0.23829,-0.23828 a 0.50004997,0.50004997 0 0 0 0.0605,-0.0723 0.50004997,0.50004997 0 0 0 0.004,-0.004 l 1.18359,-1.17187 c 0.27971,-0.27677 0.50962,-0.57119 0.66211,-0.9043 a 0.50004997,0.50004997 0 1 0 -0.9082,-0.41601 c -0.0851,0.18591 -0.2355,0.39018 -0.45703,0.60937 l -1.26563,1.25391 a 0.50004997,0.50004997 0 0 0 -0.0664,0.0762 0.50004997,0.50004997 0 0 0 -0.004,0.006 l -0.16602,0.16601 a 0.50004997,0.50004997 0 0 0 -0.0117,0.0117 c -0.39332,0.4211 -0.76594,0.57109 -1.12891,0.56446 -0.36298,-0.007 -0.75841,-0.18208 -1.15234,-0.57618 -0.39505,-0.3952 -0.56758,-0.78617 -0.57422,-1.14648 -0.007,-0.36031 0.14053,-0.73396 0.56445,-1.13672 l 0.26758,-0.2539 a 0.50004997,0.50004997 0 0 0 0.0742,-0.0879 l 1.16797,-1.16796 a 0.50004997,0.50004997 0 0 0 0.0117,-0.0117 c 0.20545,-0.21996 0.40997,-0.36564 0.60547,-0.45313 a 0.50004997,0.50004997 0 0 0 -0.17968,-0.95898 z"
- id="path23240-3"
- inkscape:connector-curvature="0" />
- <g
- style="display:inline;opacity:1;fill:#ffffff;enable-background:new"
- id="g23545-6"
- transform="rotate(-90,318.41616,448.41614)">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:7.40000057;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 393.99219,462.28516 -2.13867,-2.13868 c -0.318,-0.32528 -0.86991,-0.0915 -0.85743,0.36329 0.004,0.12976 0.0575,0.25303 0.15039,0.34375 l 2.93555,2.93359 0.008,0.01 c 0.0962,0.13317 0.25175,0.21055 0.41602,0.20703 0.003,2e-5 0.005,2e-5 0.008,0 0.0157,-6e-4 0.0313,-0.002 0.0469,-0.004 0.0164,-0.002 0.0327,-0.005 0.0488,-0.008 0.11995,-0.0256 0.2263,-0.0944 0.29882,-0.19336 l 2.94532,-2.94531 c 0.49057,-0.47126 -0.23578,-1.19761 -0.70704,-0.70704 l -2.15429,2.1543 L 395,457.5 c 0,-2.47936 -2.02064,-4.5 -4.5,-4.5 -2.47936,0 -4.5,2.02064 -4.5,4.5 v 6 c -0.01,0.67616 1.00956,0.67616 1,0 v -6 c 0,-1.93892 1.56108,-3.5 3.5,-3.5 1.93826,0 3.49893,1.56005 3.5,3.49902 z"
- transform="rotate(90,318.41616,448.41614)"
- id="path23541-6"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="cccccccccccccccssccsscc" />
- </g>
- <g
- transform="translate(-346,-11.999995)"
- id="g24012-1"
- style="display:inline;fill:#ffffff;enable-background:new">
- <g
- style="opacity:0.7;fill:#ffffff;stroke-width:1.18252182"
- transform="matrix(0.84565033,0,0,0.84565033,271.3184,206.1572)"
- id="g24008-0">
- <g
- style="fill:#ffffff;stroke-width:1.18252182"
- transform="translate(829,-385)"
- id="g24002-7" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.18252182;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 480.06836,304.9375 c -0.78863,-0.0147 -1.5648,0.35582 -2.23633,1.02734 l -1.47851,1.47852 a 0.59132004,0.59132004 0 1 0 0.83593,0.83594 l 1.47852,-1.47852 c 0.51101,-0.511 0.96056,-0.68742 1.37695,-0.67969 0.41639,0.008 0.86317,0.20868 1.33399,0.67969 0.4709,0.4711 0.67191,0.91763 0.67968,1.33399 0.008,0.41635 -0.16868,0.86595 -0.67968,1.37695 l -1.47852,1.47851 a 0.59132004,0.59132004 0 1 0 0.83594,0.83594 l 1.47851,-1.47851 c 0.67153,-0.67153 1.04012,-1.44777 1.02539,-2.23633 -0.0147,-0.78856 -0.40379,-1.52464 -1.02539,-2.14649 -0.62168,-0.62194 -1.35785,-1.01269 -2.14648,-1.02734 z m -0.94336,3.50977 a 0.59132004,0.59132004 0 0 0 -0.40625,0.17773 l -1.47852,1.47852 a 0.59132004,0.59132004 0 1 0 0.83594,0.83593 l 1.47852,-1.47851 a 0.59132004,0.59132004 0 0 0 -0.42969,-1.01367 z m -8.27344,4.72851 a 0.59132004,0.59132004 0 0 0 -0.4082,0.17774 l -1.51367,1.49218 a 0.59132004,0.59132004 0 0 0 -0.008,0.006 c -0.65272,0.66501 -1.01668,1.4358 -1.00782,2.22266 0.009,0.78686 0.38697,1.53124 1.01172,2.15625 0.62485,0.62507 1.3751,1.00952 2.16992,1.01953 0.79483,0.01 1.57721,-0.36041 2.25,-1.0332 l 1.47852,-1.47657 a 0.59178867,0.59178867 0 1 0 -0.83594,-0.83789 l -1.47851,1.47852 c -0.50973,0.50972 -0.97241,0.69289 -1.40039,0.6875 -0.42799,-0.005 -0.87805,-0.206 -1.34571,-0.67383 -0.46775,-0.46794 -0.66322,-0.91244 -0.66797,-1.33398 -0.005,-0.42154 0.17763,-0.8773 0.67188,-1.38086 l 1.50586,-1.48438 a 0.59132004,0.59132004 0 0 0 -0.42188,-1.01953 z m 2.65625,0.88867 a 0.59132004,0.59132004 0 0 0 -0.40625,0.17774 l -1.47851,1.47851 a 0.59132004,0.59132004 0 1 0 0.83593,0.83594 l 1.47852,-1.47852 a 0.59132004,0.59132004 0 0 0 -0.42969,-1.01367 z"
- id="path24006-7"
- inkscape:connector-curvature="0" />
+ <g style="display:inline;fill:#ffffff;enable-background:new" id="g22484" transform="translate(-220,-220)">
+ <path id="path22480" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.00000012;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0.5;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 334.5,777 c -0.15738,-3e-4 -0.30571,0.0735 -0.40039,0.19922 L 332.75,779 H 332 c -0.54535,0 -1,0.45465 -1,1 v 9 c 0,0.54535 0.45465,1 1,1 h 12 c 0.54535,0 1,-0.45465 1,-1 v -9 c 0,-0.54535 -0.45465,-1 -1,-1 h -3.75 l -1.34961,-1.80078 C 338.80571,777.07351 338.65738,776.9997 338.5,777 Z m 1,1 h 2 c 0.27613,3e-5 0.49997,0.22387 0.5,0.5 v 1 c -3e-5,0.27613 -0.22387,0.49997 -0.5,0.5 h -2 c -0.27613,-3e-5 -0.49997,-0.22387 -0.5,-0.5 v -1 c 3e-5,-0.27613 0.22387,-0.49997 0.5,-0.5 z m -3.5,3 h 9 v 7 h -9 v -6.5 z m 11,1 c 0.54636,0 1,0.45364 1,1 0,0.54636 -0.45364,1 -1,1 -0.54636,0 -1,-0.45364 -1,-1 0,-0.54636 0.45364,-1 1,-1 z m 0,4 c 0.54636,0 1,0.45364 1,1 0,0.54636 -0.45364,1 -1,1 -0.54636,0 -1,-0.45364 -1,-1 0,-0.54636 0.45364,-1 1,-1 z" inkscape:connector-curvature="0" sodipodi:nodetypes="cccsssssssscccccccccccccccccccssssssssss"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.2;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.00000012;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0.5;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 333.5,782 a 0.50005006,0.50005006 0 1 0 0,1 h 6.00195 a 0.50005006,0.50005006 0 1 0 0,-1 z m 0,2 a 0.50005006,0.50005006 0 1 0 0,1 h 6.00195 a 0.50005006,0.50005006 0 1 0 0,-1 z m 0,2 a 0.50005006,0.50005006 0 1 0 0,1 h 6.00195 a 0.50005006,0.50005006 0 1 0 0,-1 z" id="path22526" inkscape:connector-curvature="0"/>
+ <path inkscape:connector-curvature="0" d="m 342.50195,777 c -0.67617,-0.01 -0.67617,1.00957 0,1 h 1 c 0.67617,0.01 0.67617,-1.00957 0,-1 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.8;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.00000012;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0.5;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" id="path22529" sodipodi:nodetypes="ccccc"/>
+ </g>
+ <g transform="translate(-1.8536743e-6,4.4999696e-6)" style="display:inline;fill:#ffffff;enable-background:new" id="g22589">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 120.85938,263.01172 c -2.71113,-0.14985 -5.132,0.84146 -7.07032,2.78125 -2.61921,2.6212 -3.50441,6.90582 -2.24609,9.9043 0.25386,0.60493 0.66496,1.06469 1.2168,1.20507 0.55183,0.14039 1.13738,-0.0925 1.59375,-0.54882 l 10,-10 a 0.50005,0.50005 0 0 0 0.01,-0.01 c 0.45574,-0.48275 0.74002,-1.03795 0.61133,-1.61328 -0.12869,-0.57533 -0.64203,-0.96413 -1.31445,-1.18164 -0.96105,-0.31088 -1.89708,-0.48716 -2.80078,-0.53711 z m -0.0586,0.98437 c 0.81237,0.051 1.66258,0.21855 2.55078,0.50586 0.49509,0.16015 0.62426,0.33915 0.64844,0.44727 0.0242,0.10812 -0.028,0.35187 -0.36328,0.70703 l -9.99024,9.99023 c -0.29363,0.29364 -0.48952,0.32555 -0.64062,0.28711 -0.1511,-0.0384 -0.36452,-0.20246 -0.54102,-0.62304 -1.05362,-2.51071 -0.27172,-6.50583 2.03125,-8.81055 1.77041,-1.77175 3.86758,-2.65679 6.30469,-2.50391 z M 115.48438,267 a 0.50005,0.50005 0 0 0 -0.34376,0.15234 C 113.75486,268.5381 112.997,270.82305 113,272.5 a 0.50005,0.50005 0 1 0 1,0 c -0.002,-1.34281 0.7435,-3.53647 1.84766,-4.64062 A 0.50005,0.50005 0 0 0 115.48438,267 Z m 7.02343,3 a 0.50005,0.50005 0 1 0 0,1 c 0.67897,0 1.01439,0.13886 1.19922,0.33398 0.18483,0.19513 0.30078,0.54691 0.30078,1.16602 a 0.50005,0.50005 0 1 0 1,0 c 0,-0.74159 -0.136,-1.38882 -0.57617,-1.85352 C 123.99147,270.18179 123.32885,270 122.50781,270 Z m -2.01562,1.99219 A 0.50005,0.50005 0 0 0 120,272.5 c 0,0.86111 0.31215,1.53681 0.80469,1.94727 0.49254,0.41045 1.11198,0.55273 1.69531,0.55273 0.41667,0 0.79723,0.10772 1.05469,0.32227 C 123.81215,275.53681 124,275.86111 124,276.5 a 0.50005,0.50005 0 1 0 1,0 c 0,-0.86111 -0.31215,-1.53681 -0.80469,-1.94727 C 123.70277,274.14228 123.08333,274 122.5,274 c -0.41667,0 -0.79723,-0.10772 -1.05469,-0.32227 C 121.18785,273.46319 121,273.13889 121,272.5 a 0.50005,0.50005 0 0 0 -0.50781,-0.50781 z m -2,2 A 0.50005,0.50005 0 0 0 118,274.5 c 0,0.82103 0.18179,1.48561 0.64648,1.92578 C 119.11118,276.86595 119.75841,277 120.5,277 h 1 a 0.50005,0.50005 0 1 0 0,-1 h -1 c -0.61911,0 -0.97089,-0.11595 -1.16602,-0.30078 C 119.13886,275.51439 119,275.17897 119,274.5 a 0.50005,0.50005 0 0 0 -0.50781,-0.50781 z" id="path22545" inkscape:connector-curvature="0"/>
+ </g>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 310.26367,452.0293 c -0.67255,-0.0123 -1.33821,0.3 -1.8789,0.8789 l -0.23829,0.23828 a 0.50004997,0.50004997 0 0 0 -0.084,0.10938 0.50004997,0.50004997 0 0 0 -0.0879,0.0723 l -1.26563,1.25196 c -0.23797,0.23547 -0.44036,0.48356 -0.58984,0.75781 a 0.50004997,0.50004997 0 1 0 0.87695,0.47852 c 0.0885,-0.16243 0.22753,-0.33889 0.41602,-0.52539 l 1.26562,-1.25391 a 0.50004997,0.50004997 0 0 0 0.0899,-0.11523 0.50004997,0.50004997 0 0 0 0.002,-0.002 0.50004997,0.50004997 0 0 0 0.084,-0.0664 l 0.25,-0.25 a 0.50004997,0.50004997 0 0 0 0.0117,-0.0117 c 0.39332,-0.4211 0.76594,-0.57109 1.12891,-0.56446 0.36298,0.007 0.75841,0.18208 1.15234,0.57618 0.39504,0.3952 0.56757,0.78617 0.57422,1.14648 0.007,0.36031 -0.14053,0.73397 -0.56445,1.13672 l -0.26758,0.2539 a 0.50004997,0.50004997 0 0 0 -0.0957,0.12305 0.50004997,0.50004997 0 0 0 -0.0859,0.0684 l -1.25,1.25 a 0.50004997,0.50004997 0 0 0 -0.0137,0.0117 c -0.16233,0.1738 -0.32346,0.30196 -0.48047,0.39063 a 0.50026213,0.50026213 0 1 0 0.49219,0.87109 c 0.25644,-0.14482 0.49753,-0.33919 0.7207,-0.57813 l 1.23828,-1.23828 a 0.50004997,0.50004997 0 0 0 0.0859,-0.11133 0.50004997,0.50004997 0 0 0 0.0781,-0.0625 l 0.26563,-0.25195 c 0.57608,-0.54732 0.88934,-1.2117 0.87695,-1.88281 -0.0124,-0.67111 -0.33835,-1.30493 -0.86718,-1.83399 -0.52994,-0.53015 -1.16729,-0.85488 -1.83985,-0.86718 z m -1.77344,3.96679 a 0.50004997,0.50004997 0 0 0 -0.34375,0.15039 l -4.01367,4.01563 a 0.50004997,0.50004997 0 1 0 0.70703,0.70703 l 4.01368,-4.01562 a 0.50004997,0.50004997 0 0 0 -0.36329,-0.85743 z m -4.94921,2.1836 a 0.50004997,0.50004997 0 0 0 -0.22852,0.0469 c -0.33394,0.14944 -0.64532,0.37928 -0.92773,0.68164 l -1.23829,1.23828 a 0.50004997,0.50004997 0 0 0 -0.0547,0.0645 l -0.18555,0.17578 c -0.57608,0.54731 -0.88934,1.2117 -0.87695,1.88281 0.0124,0.67111 0.33835,1.30494 0.86718,1.83399 0.52994,0.53016 1.16729,0.85489 1.83985,0.86718 0.67255,0.0123 1.33821,-0.3 1.8789,-0.8789 l 0.23829,-0.23828 a 0.50004997,0.50004997 0 0 0 0.0605,-0.0723 0.50004997,0.50004997 0 0 0 0.004,-0.004 l 1.18359,-1.17187 c 0.27971,-0.27677 0.50962,-0.57119 0.66211,-0.9043 a 0.50004997,0.50004997 0 1 0 -0.9082,-0.41601 c -0.0851,0.18591 -0.2355,0.39018 -0.45703,0.60937 l -1.26563,1.25391 a 0.50004997,0.50004997 0 0 0 -0.0664,0.0762 0.50004997,0.50004997 0 0 0 -0.004,0.006 l -0.16602,0.16601 a 0.50004997,0.50004997 0 0 0 -0.0117,0.0117 c -0.39332,0.4211 -0.76594,0.57109 -1.12891,0.56446 -0.36298,-0.007 -0.75841,-0.18208 -1.15234,-0.57618 -0.39505,-0.3952 -0.56758,-0.78617 -0.57422,-1.14648 -0.007,-0.36031 0.14053,-0.73396 0.56445,-1.13672 l 0.26758,-0.2539 a 0.50004997,0.50004997 0 0 0 0.0742,-0.0879 l 1.16797,-1.16796 a 0.50004997,0.50004997 0 0 0 0.0117,-0.0117 c 0.20545,-0.21996 0.40997,-0.36564 0.60547,-0.45313 a 0.50004997,0.50004997 0 0 0 -0.17968,-0.95898 z" id="path23240-3" inkscape:connector-curvature="0"/>
+ <g style="display:inline;opacity:1;fill:#ffffff;enable-background:new" id="g23545-6" transform="rotate(-90,318.41616,448.41614)">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:7.40000057;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 393.99219,462.28516 -2.13867,-2.13868 c -0.318,-0.32528 -0.86991,-0.0915 -0.85743,0.36329 0.004,0.12976 0.0575,0.25303 0.15039,0.34375 l 2.93555,2.93359 0.008,0.01 c 0.0962,0.13317 0.25175,0.21055 0.41602,0.20703 0.003,2e-5 0.005,2e-5 0.008,0 0.0157,-6e-4 0.0313,-0.002 0.0469,-0.004 0.0164,-0.002 0.0327,-0.005 0.0488,-0.008 0.11995,-0.0256 0.2263,-0.0944 0.29882,-0.19336 l 2.94532,-2.94531 c 0.49057,-0.47126 -0.23578,-1.19761 -0.70704,-0.70704 l -2.15429,2.1543 L 395,457.5 c 0,-2.47936 -2.02064,-4.5 -4.5,-4.5 -2.47936,0 -4.5,2.02064 -4.5,4.5 v 6 c -0.01,0.67616 1.00956,0.67616 1,0 v -6 c 0,-1.93892 1.56108,-3.5 3.5,-3.5 1.93826,0 3.49893,1.56005 3.5,3.49902 z" transform="rotate(90,318.41616,448.41614)" id="path23541-6" inkscape:connector-curvature="0" sodipodi:nodetypes="cccccccccccccccssccsscc"/>
+ </g>
+ <g transform="translate(-346,-11.999995)" id="g24012-1" style="display:inline;fill:#ffffff;enable-background:new">
+ <g style="opacity:0.7;fill:#ffffff;stroke-width:1.18252182" transform="matrix(0.84565033,0,0,0.84565033,271.3184,206.1572)" id="g24008-0">
+ <g style="fill:#ffffff;stroke-width:1.18252182" transform="translate(829,-385)" id="g24002-7"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.18252182;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 480.06836,304.9375 c -0.78863,-0.0147 -1.5648,0.35582 -2.23633,1.02734 l -1.47851,1.47852 a 0.59132004,0.59132004 0 1 0 0.83593,0.83594 l 1.47852,-1.47852 c 0.51101,-0.511 0.96056,-0.68742 1.37695,-0.67969 0.41639,0.008 0.86317,0.20868 1.33399,0.67969 0.4709,0.4711 0.67191,0.91763 0.67968,1.33399 0.008,0.41635 -0.16868,0.86595 -0.67968,1.37695 l -1.47852,1.47851 a 0.59132004,0.59132004 0 1 0 0.83594,0.83594 l 1.47851,-1.47851 c 0.67153,-0.67153 1.04012,-1.44777 1.02539,-2.23633 -0.0147,-0.78856 -0.40379,-1.52464 -1.02539,-2.14649 -0.62168,-0.62194 -1.35785,-1.01269 -2.14648,-1.02734 z m -0.94336,3.50977 a 0.59132004,0.59132004 0 0 0 -0.40625,0.17773 l -1.47852,1.47852 a 0.59132004,0.59132004 0 1 0 0.83594,0.83593 l 1.47852,-1.47851 a 0.59132004,0.59132004 0 0 0 -0.42969,-1.01367 z m -8.27344,4.72851 a 0.59132004,0.59132004 0 0 0 -0.4082,0.17774 l -1.51367,1.49218 a 0.59132004,0.59132004 0 0 0 -0.008,0.006 c -0.65272,0.66501 -1.01668,1.4358 -1.00782,2.22266 0.009,0.78686 0.38697,1.53124 1.01172,2.15625 0.62485,0.62507 1.3751,1.00952 2.16992,1.01953 0.79483,0.01 1.57721,-0.36041 2.25,-1.0332 l 1.47852,-1.47657 a 0.59178867,0.59178867 0 1 0 -0.83594,-0.83789 l -1.47851,1.47852 c -0.50973,0.50972 -0.97241,0.69289 -1.40039,0.6875 -0.42799,-0.005 -0.87805,-0.206 -1.34571,-0.67383 -0.46775,-0.46794 -0.66322,-0.91244 -0.66797,-1.33398 -0.005,-0.42154 0.17763,-0.8773 0.67188,-1.38086 l 1.50586,-1.48438 a 0.59132004,0.59132004 0 0 0 -0.42188,-1.01953 z m 2.65625,0.88867 a 0.59132004,0.59132004 0 0 0 -0.40625,0.17774 l -1.47851,1.47851 a 0.59132004,0.59132004 0 1 0 0.83593,0.83594 l 1.47852,-1.47852 a 0.59132004,0.59132004 0 0 0 -0.42969,-1.01367 z" id="path24006-7" inkscape:connector-curvature="0"/>
</g>
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 668.49414,464.99414 a 0.50005,0.50005 0 0 0 -0.34766,0.85938 L 678.29297,476 H 675.25 a 0.50005,0.50005 0 1 0 0,1 h 4.18945 A 0.50005,0.50005 0 0 0 680,476.43945 V 472.25 a 0.50005,0.50005 0 1 0 -1,0 v 3.04297 l -10.14648,-10.14649 a 0.50005,0.50005 0 0 0 -0.35938,-0.15234 z"
- id="path24010-2"
- inkscape:connector-curvature="0" />
- </g>
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 310.57031,473.01758 c -0.79787,-0.038 -1.57177,0.27684 -2.16015,0.86523 l -1.48633,1.48828 c -0.61577,0.57533 -0.93433,1.35407 -0.89258,2.1543 a 0.50005,0.50005 0 1 0 0.99805,-0.0508 c -0.0269,-0.51495 0.15566,-0.98016 0.57617,-1.37305 a 0.50005,0.50005 0 0 0 0.0117,-0.0117 l 1.5,-1.5 c 0.41161,-0.41161 0.88966,-0.59872 1.40429,-0.57422 0.51464,0.0245 1.08439,0.26993 1.63868,0.82422 0.55479,0.5548 0.80954,1.13546 0.83789,1.65235 0.0283,0.51688 -0.15241,0.9848 -0.57422,1.3789 a 0.50005,0.50005 0 0 0 -0.0137,0.0117 l -1.5,1.5 c -0.41213,0.41213 -0.87694,0.60352 -1.39649,0.60352 a 0.50005,0.50005 0 1 0 0,1 c 0.78067,0 1.52491,-0.31788 2.10352,-0.89649 l 1.48828,-1.48828 c 0.61768,-0.57711 0.9366,-1.36125 0.89258,-2.16406 -0.044,-0.80281 -0.43566,-1.60948 -1.13086,-2.30469 -0.69571,-0.69571 -1.49901,-1.07724 -2.29688,-1.11523 z m -1.08008,3.97851 a 0.50005,0.50005 0 0 0 -0.34375,0.15039 l -5,5 a 0.50005,0.50005 0 1 0 0.70704,0.70704 l 5,-5 a 0.50005,0.50005 0 0 0 -0.36329,-0.85743 z m -4.92968,2.02149 c -0.80753,-0.0482 -1.5954,0.26944 -2.17578,0.89062 l -1.48829,1.48828 c -0.58838,0.58839 -0.90322,1.36034 -0.86523,2.15821 0.038,0.79787 0.41952,1.60311 1.11523,2.29883 0.69521,0.6952 1.50384,1.08487 2.30664,1.1289 0.80281,0.044 1.585,-0.27294 2.16211,-0.89062 l 1.48829,-1.48828 C 307.68213,484.0249 308,483.28067 308,482.5 a 0.50005,0.50005 0 1 0 -1,0 c 0,0.51955 -0.19139,0.98436 -0.60352,1.39648 l -1.5,1.5 a 0.50005,0.50005 0 0 0 -0.0117,0.0117 c -0.39411,0.42182 -0.86007,0.60452 -1.37696,0.57618 -0.51688,-0.0283 -1.0995,-0.2831 -1.65429,-0.8379 -0.55429,-0.55428 -0.79776,-1.12404 -0.82227,-1.63867 -0.0245,-0.51463 0.16065,-0.99268 0.57227,-1.40429 l 1.5,-1.5 a 0.50005,0.50005 0 0 0 0.0117,-0.0117 c 0.39634,-0.4242 0.86629,-0.60725 1.38672,-0.57618 a 0.50005,0.50005 0 1 0 0.0586,-0.99804 z"
- id="path23281"
- inkscape:connector-curvature="0" />
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g23341"
- transform="translate(62.999998,-41.999995)">
- <g
- transform="translate(231,-63)"
- id="g23324"
- style="opacity:0.6;fill:#ffffff">
- <g
- transform="translate(430,-112)"
- id="g23301"
- style="fill:#ffffff" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 79.570312,578.01758 c -0.797869,-0.038 -1.571767,0.27684 -2.160156,0.86523 l -0.486328,0.48828 c -0.615772,0.57533 -0.93433,1.35407 -0.892578,2.1543 a 0.50005,0.50005 0 1 0 0.998047,-0.0508 c -0.02687,-0.51495 0.155664,-0.98016 0.576172,-1.37305 a 0.50005,0.50005 0 0 0 0.01172,-0.0117 l 0.5,-0.5 c 0.411611,-0.41161 0.889666,-0.59872 1.404296,-0.57422 0.514631,0.0245 1.084383,0.26993 1.638672,0.82422 0.554795,0.5548 0.809544,1.13546 0.837891,1.65235 0.02835,0.51688 -0.152405,0.9848 -0.574219,1.3789 a 0.50005,0.50005 0 0 0 -0.01367,0.0117 l -0.5,0.5 c -0.412129,0.41213 -0.876932,0.60352 -1.396484,0.60352 a 0.50005,0.50005 0 1 0 0,1 c 0.780667,0 1.524905,-0.31788 2.103516,-0.89649 l 0.488281,-0.48828 c 0.617686,-0.57711 0.936606,-1.36125 0.892578,-2.16406 -0.04403,-0.80281 -0.435654,-1.60948 -1.130859,-2.30469 -0.695711,-0.69571 -1.499006,-1.07724 -2.296876,-1.11523 z m -0.830078,3.72851 a 0.50005,0.50005 0 0 0 -0.34375,0.15039 l -1,1 a 0.50005,0.50005 0 1 0 0.707032,0.70704 l 1,-1 a 0.50005,0.50005 0 0 0 -0.363282,-0.85743 z m -6.179687,3.27149 c -0.807524,-0.0482 -1.595401,0.26944 -2.175781,0.89062 l -0.488282,0.48828 c -0.588388,0.58839 -0.903228,1.36034 -0.865234,2.15821 0.03799,0.79787 0.419524,1.60311 1.115234,2.29883 0.695206,0.6952 1.503832,1.08487 2.306641,1.1289 0.802809,0.044 1.584996,-0.27294 2.162109,-0.89062 l 0.488282,-0.48828 C 75.682126,590.0249 76,589.28067 76,588.5 a 0.50005,0.50005 0 1 0 -1,0 c 0,0.51955 -0.191386,0.98436 -0.603516,1.39648 l -0.5,0.5 a 0.50005,0.50005 0 0 0 -0.01172,0.0117 c -0.394107,0.42182 -0.860068,0.60452 -1.376954,0.57618 -0.516885,-0.0283 -1.099502,-0.2831 -1.654296,-0.8379 -0.55429,-0.55428 -0.79776,-1.12404 -0.822266,-1.63867 -0.02451,-0.51463 0.160654,-0.99268 0.572266,-1.40429 l 0.5,-0.5 a 0.50005,0.50005 0 0 0 0.01172,-0.0117 c 0.39634,-0.4242 0.866283,-0.60725 1.386719,-0.57618 a 0.50005,0.50005 0 1 0 0.05859,-0.99804 z m 1.679687,1.22851 a 0.50005,0.50005 0 0 0 -0.34375,0.15039 l -1,1 a 0.50005,0.50005 0 1 0 0.707032,0.70704 l 1,-1 a 0.50005,0.50005 0 0 0 -0.363282,-0.85743 z"
- id="path23322"
- inkscape:connector-curvature="0" />
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 668.49414,464.99414 a 0.50005,0.50005 0 0 0 -0.34766,0.85938 L 678.29297,476 H 675.25 a 0.50005,0.50005 0 1 0 0,1 h 4.18945 A 0.50005,0.50005 0 0 0 680,476.43945 V 472.25 a 0.50005,0.50005 0 1 0 -1,0 v 3.04297 l -10.14648,-10.14649 a 0.50005,0.50005 0 0 0 -0.35938,-0.15234 z" id="path24010-2" inkscape:connector-curvature="0"/>
+ </g>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 310.57031,473.01758 c -0.79787,-0.038 -1.57177,0.27684 -2.16015,0.86523 l -1.48633,1.48828 c -0.61577,0.57533 -0.93433,1.35407 -0.89258,2.1543 a 0.50005,0.50005 0 1 0 0.99805,-0.0508 c -0.0269,-0.51495 0.15566,-0.98016 0.57617,-1.37305 a 0.50005,0.50005 0 0 0 0.0117,-0.0117 l 1.5,-1.5 c 0.41161,-0.41161 0.88966,-0.59872 1.40429,-0.57422 0.51464,0.0245 1.08439,0.26993 1.63868,0.82422 0.55479,0.5548 0.80954,1.13546 0.83789,1.65235 0.0283,0.51688 -0.15241,0.9848 -0.57422,1.3789 a 0.50005,0.50005 0 0 0 -0.0137,0.0117 l -1.5,1.5 c -0.41213,0.41213 -0.87694,0.60352 -1.39649,0.60352 a 0.50005,0.50005 0 1 0 0,1 c 0.78067,0 1.52491,-0.31788 2.10352,-0.89649 l 1.48828,-1.48828 c 0.61768,-0.57711 0.9366,-1.36125 0.89258,-2.16406 -0.044,-0.80281 -0.43566,-1.60948 -1.13086,-2.30469 -0.69571,-0.69571 -1.49901,-1.07724 -2.29688,-1.11523 z m -1.08008,3.97851 a 0.50005,0.50005 0 0 0 -0.34375,0.15039 l -5,5 a 0.50005,0.50005 0 1 0 0.70704,0.70704 l 5,-5 a 0.50005,0.50005 0 0 0 -0.36329,-0.85743 z m -4.92968,2.02149 c -0.80753,-0.0482 -1.5954,0.26944 -2.17578,0.89062 l -1.48829,1.48828 c -0.58838,0.58839 -0.90322,1.36034 -0.86523,2.15821 0.038,0.79787 0.41952,1.60311 1.11523,2.29883 0.69521,0.6952 1.50384,1.08487 2.30664,1.1289 0.80281,0.044 1.585,-0.27294 2.16211,-0.89062 l 1.48829,-1.48828 C 307.68213,484.0249 308,483.28067 308,482.5 a 0.50005,0.50005 0 1 0 -1,0 c 0,0.51955 -0.19139,0.98436 -0.60352,1.39648 l -1.5,1.5 a 0.50005,0.50005 0 0 0 -0.0117,0.0117 c -0.39411,0.42182 -0.86007,0.60452 -1.37696,0.57618 -0.51688,-0.0283 -1.0995,-0.2831 -1.65429,-0.8379 -0.55429,-0.55428 -0.79776,-1.12404 -0.82227,-1.63867 -0.0245,-0.51463 0.16065,-0.99268 0.57227,-1.40429 l 1.5,-1.5 a 0.50005,0.50005 0 0 0 0.0117,-0.0117 c 0.39634,-0.4242 0.86629,-0.60725 1.38672,-0.57618 a 0.50005,0.50005 0 1 0 0.0586,-0.99804 z" id="path23281" inkscape:connector-curvature="0"/>
+ <g style="display:inline;fill:#ffffff;enable-background:new" id="g23341" transform="translate(62.999998,-41.999995)">
+ <g transform="translate(231,-63)" id="g23324" style="opacity:0.6;fill:#ffffff">
+ <g transform="translate(430,-112)" id="g23301" style="fill:#ffffff"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 79.570312,578.01758 c -0.797869,-0.038 -1.571767,0.27684 -2.160156,0.86523 l -0.486328,0.48828 c -0.615772,0.57533 -0.93433,1.35407 -0.892578,2.1543 a 0.50005,0.50005 0 1 0 0.998047,-0.0508 c -0.02687,-0.51495 0.155664,-0.98016 0.576172,-1.37305 a 0.50005,0.50005 0 0 0 0.01172,-0.0117 l 0.5,-0.5 c 0.411611,-0.41161 0.889666,-0.59872 1.404296,-0.57422 0.514631,0.0245 1.084383,0.26993 1.638672,0.82422 0.554795,0.5548 0.809544,1.13546 0.837891,1.65235 0.02835,0.51688 -0.152405,0.9848 -0.574219,1.3789 a 0.50005,0.50005 0 0 0 -0.01367,0.0117 l -0.5,0.5 c -0.412129,0.41213 -0.876932,0.60352 -1.396484,0.60352 a 0.50005,0.50005 0 1 0 0,1 c 0.780667,0 1.524905,-0.31788 2.103516,-0.89649 l 0.488281,-0.48828 c 0.617686,-0.57711 0.936606,-1.36125 0.892578,-2.16406 -0.04403,-0.80281 -0.435654,-1.60948 -1.130859,-2.30469 -0.695711,-0.69571 -1.499006,-1.07724 -2.296876,-1.11523 z m -0.830078,3.72851 a 0.50005,0.50005 0 0 0 -0.34375,0.15039 l -1,1 a 0.50005,0.50005 0 1 0 0.707032,0.70704 l 1,-1 a 0.50005,0.50005 0 0 0 -0.363282,-0.85743 z m -6.179687,3.27149 c -0.807524,-0.0482 -1.595401,0.26944 -2.175781,0.89062 l -0.488282,0.48828 c -0.588388,0.58839 -0.903228,1.36034 -0.865234,2.15821 0.03799,0.79787 0.419524,1.60311 1.115234,2.29883 0.695206,0.6952 1.503832,1.08487 2.306641,1.1289 0.802809,0.044 1.584996,-0.27294 2.162109,-0.89062 l 0.488282,-0.48828 C 75.682126,590.0249 76,589.28067 76,588.5 a 0.50005,0.50005 0 1 0 -1,0 c 0,0.51955 -0.191386,0.98436 -0.603516,1.39648 l -0.5,0.5 a 0.50005,0.50005 0 0 0 -0.01172,0.0117 c -0.394107,0.42182 -0.860068,0.60452 -1.376954,0.57618 -0.516885,-0.0283 -1.099502,-0.2831 -1.654296,-0.8379 -0.55429,-0.55428 -0.79776,-1.12404 -0.822266,-1.63867 -0.02451,-0.51463 0.160654,-0.99268 0.572266,-1.40429 l 0.5,-0.5 a 0.50005,0.50005 0 0 0 0.01172,-0.0117 c 0.39634,-0.4242 0.866283,-0.60725 1.386719,-0.57618 a 0.50005,0.50005 0 1 0 0.05859,-0.99804 z m 1.679687,1.22851 a 0.50005,0.50005 0 0 0 -0.34375,0.15039 l -1,1 a 0.50005,0.50005 0 1 0 0.707032,0.70704 l 1,-1 a 0.50005,0.50005 0 0 0 -0.363282,-0.85743 z" id="path23322" inkscape:connector-curvature="0"/>
</g>
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 301.49414,515.99414 a 0.50005,0.50005 0 0 0 -0.34766,0.85938 L 312.29297,528 H 309.25 a 0.50005,0.50005 0 1 0 0,1 h 4.18945 A 0.50005,0.50005 0 0 0 314,528.43945 V 524.25 a 0.50005,0.50005 0 1 0 -1,0 v 3.04297 l -11.14648,-11.14649 a 0.50005,0.50005 0 0 0 -0.35938,-0.15234 z"
- id="path23333"
- inkscape:connector-curvature="0" />
- </g>
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g22284-9"
- transform="translate(168,-252)">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 54.75,284 a 0.50004997,0.50004997 0 0 0 -0.431641,0.24805 l -3.646484,6.25 a 0.50004997,0.50004997 0 0 0 -0.002,0.002 c -1.211575,2.0985 -0.741006,4.77251 1.115234,6.33008 1.856239,1.55756 4.573449,1.55756 6.429688,0 1.85624,-1.55757 2.326809,-4.23158 1.115234,-6.33008 a 0.50004997,0.50004997 0 0 0 -0.002,-0.002 l -3.646484,-6.25 A 0.50004997,0.50004997 0 0 0 55.25,284 Z m 0.25,1.06445 3.464844,5.9375 c 0.970958,1.6837 0.594513,3.81305 -0.894532,5.0625 -1.489569,1.2499 -3.651055,1.2499 -5.140624,0 -1.489045,-1.24945 -1.86549,-3.3788 -0.894532,-5.0625 V 291 Z m -0.511719,2.92969 a 0.50004997,0.50004997 0 0 0 -0.429687,0.27148 l -1.697266,3.20704 c -0.166111,0.28617 -0.283806,0.59778 -0.349609,0.92187 a 0.50005872,0.50005872 0 1 0 0.980469,0.19727 c 0.04414,-0.2174 0.122796,-0.42496 0.234374,-0.61719 a 0.50004997,0.50004997 0 0 0 0.0098,-0.0176 l 1.705078,-3.22265 a 0.50004997,0.50004997 0 0 0 -0.453125,-0.74024 z"
- id="path22264-7"
- inkscape:connector-curvature="0" />
- </g>
- <g
- transform="translate(189,-210)"
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g23463-9">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:7.40000248;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="M 6.5,242 A 0.50005,0.50005 0 0 0 6,242.5 v 5 A 0.50005,0.50005 0 0 0 6.5,248 H 8 v 7.5 a 0.50005,0.50005 0 0 0 0.5,0.5 h 9 A 0.50005,0.50005 0 0 0 18,255.5 V 248 h 1.5 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -5 A 0.50005,0.50005 0 0 0 19.5,242 h -4 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 0.5 c 0,0.71532 -0.380592,1.37478 -1,1.73242 -0.619409,0.35765 -1.380591,0.35765 -2,0 -0.619408,-0.35764 -1,-1.0171 -1,-1.73242 v -0.5 A 0.50005,0.50005 0 0 0 10.5,242 Z m 0.5,1 h 3 c 0,1.07096 0.57257,2.06216 1.5,2.59766 0.927429,0.53549 2.072571,0.53549 3,0 0.92743,-0.5355 1.5,-1.5267 1.5,-2.59766 h 3 v 4 H 17.5 A 0.50005,0.50005 0 0 0 17,247.5 V 255 H 9 v -7.5 A 0.50005,0.50005 0 0 0 8.5,247 H 7 Z"
- id="path22384-8"
- inkscape:connector-curvature="0" />
- </g>
- <g
- id="g6342"
- style="fill:#ffffff">
- <path
- inkscape:connector-curvature="0"
- id="path8743"
- d="m 31.5,494 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 9 a 0.50005,0.50005 0 0 0 0.5,0.5 h 9 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -9 A 0.50005,0.50005 0 0 0 40.5,494 Z m 0.5,1 h 8 v 8 h -8 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
- <path
- id="path8759"
- d="m 38,496 c -0.546362,0 -1,0.45364 -1,1 0,0.54636 0.453638,1 1,1 0.546362,0 1,-0.45364 1,-1 0,-0.54636 -0.453638,-1 -1,-1 z m -3.513672,1.05078 c -0.16529,0.005 -0.314526,0.10024 -0.388672,0.24805 l -2.75,5.5 c -0.148607,0.29892 0.06852,0.64991 0.402344,0.65039 h 5.75 c 0.340259,-0.001 0.55634,-0.36474 0.394531,-0.66406 l -3,-5.5 c -0.08111,-0.14873 -0.238867,-0.23931 -0.408203,-0.23438 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.89999998;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- inkscape:connector-curvature="0"
- id="path8807"
- d="M 29.492188,495.99219 A 0.50005,0.50005 0 0 0 29,496.5 v 9 a 0.50005,0.50005 0 0 0 0.5,0.5 h 9 a 0.50005,0.50005 0 1 0 0,-1 H 30 v -8.5 a 0.50005,0.50005 0 0 0 -0.507812,-0.50781 z m -2,2 A 0.50005,0.50005 0 0 0 27,498.5 v 9 a 0.50005,0.50005 0 0 0 0.5,0.5 h 9 a 0.50005,0.50005 0 1 0 0,-1 H 28 v -8.5 a 0.50005,0.50005 0 0 0 -0.507812,-0.50781 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.69300022;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
- </g>
- <g
- inkscape:export-ydpi="96"
- inkscape:export-xdpi="96"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- transform="translate(-21.000002,42.000006)"
- id="g12626"
- style="display:inline;fill:#ffffff;enable-background:new">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="M 31.492188,367.99219 A 0.50005,0.50005 0 0 0 31,368.5 v 8.79297 l -3.853516,3.85351 a 0.50005,0.50005 0 1 0 0.707032,0.70704 L 31.707031,378 H 40.5 a 0.50005,0.50005 0 1 0 0,-1 H 32 v -8.5 a 0.50005,0.50005 0 0 0 -0.507812,-0.50781 z"
- id="path12205"
- inkscape:connector-curvature="0" />
- </g>
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 433.5,536 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 4.98242 8.01758 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 2 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -13 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z m -0.5,5.48242 c -0.007,-0.18325 -0.1131,-0.34814 -0.27734,-0.42969 l -2,-1 c -0.24704,-0.12272 -0.54679,-0.0222 -0.66993,0.22461 l -4,8 c -0.12272,0.24704 -0.0222,0.54679 0.22461,0.66993 l 2,1 c 0.24704,0.12272 0.54679,0.0222 0.66993,-0.22461 l 4,-8 c 0.0373,-0.0744 0.0554,-0.15702 0.0527,-0.24024 z M 434,537 h 1 v 12 h -1 z m 3.5,1 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 11 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 2 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -11 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z"
- id="rect11443"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="cccccccccccccccccccccccccccccccccc" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="M 157.49219,472.99219 A 0.50005,0.50005 0 0 0 157,473.5 v 8.79297 l -3.85352,3.85351 a 0.50005,0.50005 0 1 0 0.70704,0.70704 L 157.70703,483 H 166.5 a 0.50005,0.50005 0 1 0 0,-1 H 158 v -8.5 a 0.50005,0.50005 0 0 0 -0.50781,-0.50781 z"
- id="path22612"
- inkscape:connector-curvature="0" />
- <g
- transform="translate(-21.000002,4.4999696e-6)"
- inkscape:export-ydpi="96"
- inkscape:export-xdpi="96"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- style="display:inline;opacity:0.6;fill:#ffffff;enable-background:new"
- id="g12548">
- <g
- style="display:inline;opacity:1;fill:#ffffff;enable-background:new"
- transform="translate(640.00001,-112)"
- id="g7753-3">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m -539.42969,690.01758 c -0.79787,-0.038 -1.57177,0.27684 -2.16015,0.86523 l -0.48633,0.48828 c -0.61577,0.57533 -0.93433,1.35407 -0.89258,2.1543 a 0.50005,0.50005 0 1 0 0.99805,-0.0508 c -0.0269,-0.51495 0.15566,-0.98016 0.57617,-1.37305 a 0.50005,0.50005 0 0 0 0.0117,-0.0117 l 0.5,-0.5 c 0.41161,-0.41161 0.88966,-0.59872 1.40429,-0.57422 0.51464,0.0245 1.08439,0.26993 1.63868,0.82422 0.55479,0.5548 0.80954,1.13546 0.83789,1.65235 0.0283,0.51688 -0.15241,0.9848 -0.57422,1.3789 a 0.50005,0.50005 0 0 0 -0.0137,0.0117 l -0.5,0.5 c -0.41213,0.41213 -0.87694,0.60352 -1.39649,0.60352 a 0.50005,0.50005 0 1 0 0,1 c 0.78067,0 1.52491,-0.31788 2.10352,-0.89649 l 0.48828,-0.48828 c 0.61768,-0.57711 0.9366,-1.36125 0.89258,-2.16406 -0.044,-0.80281 -0.43566,-1.60948 -1.13086,-2.30469 -0.69571,-0.69571 -1.49901,-1.07724 -2.29688,-1.11523 z m -7.00976,7 c -0.80753,-0.0482 -1.5954,0.26944 -2.17578,0.89062 l -0.48829,0.48828 c -0.58838,0.58839 -0.90322,1.36034 -0.86523,2.15821 0.038,0.79787 0.41952,1.60311 1.11523,2.29883 0.69521,0.6952 1.50384,1.08487 2.30664,1.1289 0.80281,0.044 1.585,-0.27294 2.16211,-0.89062 l 0.48829,-0.48828 C -543.31787,702.0249 -543,701.28067 -543,700.5 a 0.50005,0.50005 0 1 0 -1,0 c 0,0.51955 -0.19139,0.98436 -0.60352,1.39648 l -0.5,0.5 a 0.50005,0.50005 0 0 0 -0.0117,0.0117 c -0.39411,0.42182 -0.86007,0.60452 -1.37696,0.57618 -0.51688,-0.0283 -1.0995,-0.2831 -1.65429,-0.8379 -0.55429,-0.55428 -0.79776,-1.12404 -0.82227,-1.63867 -0.0245,-0.51463 0.16065,-0.99268 0.57227,-1.40429 l 0.5,-0.5 a 0.50005,0.50005 0 0 0 0.0117,-0.0117 c 0.39634,-0.4242 0.86629,-0.60725 1.38672,-0.57618 a 0.50005,0.50005 0 1 0 0.0586,-0.99804 z"
- id="path12469-4"
- inkscape:connector-curvature="0" />
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 301.49414,515.99414 a 0.50005,0.50005 0 0 0 -0.34766,0.85938 L 312.29297,528 H 309.25 a 0.50005,0.50005 0 1 0 0,1 h 4.18945 A 0.50005,0.50005 0 0 0 314,528.43945 V 524.25 a 0.50005,0.50005 0 1 0 -1,0 v 3.04297 l -11.14648,-11.14649 a 0.50005,0.50005 0 0 0 -0.35938,-0.15234 z" id="path23333" inkscape:connector-curvature="0"/>
+ </g>
+ <g style="display:inline;fill:#ffffff;enable-background:new" id="g22284-9" transform="translate(168,-252)">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 54.75,284 a 0.50004997,0.50004997 0 0 0 -0.431641,0.24805 l -3.646484,6.25 a 0.50004997,0.50004997 0 0 0 -0.002,0.002 c -1.211575,2.0985 -0.741006,4.77251 1.115234,6.33008 1.856239,1.55756 4.573449,1.55756 6.429688,0 1.85624,-1.55757 2.326809,-4.23158 1.115234,-6.33008 a 0.50004997,0.50004997 0 0 0 -0.002,-0.002 l -3.646484,-6.25 A 0.50004997,0.50004997 0 0 0 55.25,284 Z m 0.25,1.06445 3.464844,5.9375 c 0.970958,1.6837 0.594513,3.81305 -0.894532,5.0625 -1.489569,1.2499 -3.651055,1.2499 -5.140624,0 -1.489045,-1.24945 -1.86549,-3.3788 -0.894532,-5.0625 V 291 Z m -0.511719,2.92969 a 0.50004997,0.50004997 0 0 0 -0.429687,0.27148 l -1.697266,3.20704 c -0.166111,0.28617 -0.283806,0.59778 -0.349609,0.92187 a 0.50005872,0.50005872 0 1 0 0.980469,0.19727 c 0.04414,-0.2174 0.122796,-0.42496 0.234374,-0.61719 a 0.50004997,0.50004997 0 0 0 0.0098,-0.0176 l 1.705078,-3.22265 a 0.50004997,0.50004997 0 0 0 -0.453125,-0.74024 z" id="path22264-7" inkscape:connector-curvature="0"/>
+ </g>
+ <g transform="translate(189,-210)" style="display:inline;fill:#ffffff;enable-background:new" id="g23463-9">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:7.40000248;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="M 6.5,242 A 0.50005,0.50005 0 0 0 6,242.5 v 5 A 0.50005,0.50005 0 0 0 6.5,248 H 8 v 7.5 a 0.50005,0.50005 0 0 0 0.5,0.5 h 9 A 0.50005,0.50005 0 0 0 18,255.5 V 248 h 1.5 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -5 A 0.50005,0.50005 0 0 0 19.5,242 h -4 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 0.5 c 0,0.71532 -0.380592,1.37478 -1,1.73242 -0.619409,0.35765 -1.380591,0.35765 -2,0 -0.619408,-0.35764 -1,-1.0171 -1,-1.73242 v -0.5 A 0.50005,0.50005 0 0 0 10.5,242 Z m 0.5,1 h 3 c 0,1.07096 0.57257,2.06216 1.5,2.59766 0.927429,0.53549 2.072571,0.53549 3,0 0.92743,-0.5355 1.5,-1.5267 1.5,-2.59766 h 3 v 4 H 17.5 A 0.50005,0.50005 0 0 0 17,247.5 V 255 H 9 v -7.5 A 0.50005,0.50005 0 0 0 8.5,247 H 7 Z" id="path22384-8" inkscape:connector-curvature="0"/>
+ </g>
+ <g id="g6342" style="fill:#ffffff">
+ <path inkscape:connector-curvature="0" id="path8743" d="m 31.5,494 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 9 a 0.50005,0.50005 0 0 0 0.5,0.5 h 9 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -9 A 0.50005,0.50005 0 0 0 40.5,494 Z m 0.5,1 h 8 v 8 h -8 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
+ <path id="path8759" d="m 38,496 c -0.546362,0 -1,0.45364 -1,1 0,0.54636 0.453638,1 1,1 0.546362,0 1,-0.45364 1,-1 0,-0.54636 -0.453638,-1 -1,-1 z m -3.513672,1.05078 c -0.16529,0.005 -0.314526,0.10024 -0.388672,0.24805 l -2.75,5.5 c -0.148607,0.29892 0.06852,0.64991 0.402344,0.65039 h 5.75 c 0.340259,-0.001 0.55634,-0.36474 0.394531,-0.66406 l -3,-5.5 c -0.08111,-0.14873 -0.238867,-0.23931 -0.408203,-0.23438 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.89999998;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path inkscape:connector-curvature="0" id="path8807" d="M 29.492188,495.99219 A 0.50005,0.50005 0 0 0 29,496.5 v 9 a 0.50005,0.50005 0 0 0 0.5,0.5 h 9 a 0.50005,0.50005 0 1 0 0,-1 H 30 v -8.5 a 0.50005,0.50005 0 0 0 -0.507812,-0.50781 z m -2,2 A 0.50005,0.50005 0 0 0 27,498.5 v 9 a 0.50005,0.50005 0 0 0 0.5,0.5 h 9 a 0.50005,0.50005 0 1 0 0,-1 H 28 v -8.5 a 0.50005,0.50005 0 0 0 -0.507812,-0.50781 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.69300022;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
+ </g>
+ <g inkscape:export-ydpi="96" inkscape:export-xdpi="96" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" transform="translate(-21.000002,42.000006)" id="g12626" style="display:inline;fill:#ffffff;enable-background:new">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="M 31.492188,367.99219 A 0.50005,0.50005 0 0 0 31,368.5 v 8.79297 l -3.853516,3.85351 a 0.50005,0.50005 0 1 0 0.707032,0.70704 L 31.707031,378 H 40.5 a 0.50005,0.50005 0 1 0 0,-1 H 32 v -8.5 a 0.50005,0.50005 0 0 0 -0.507812,-0.50781 z" id="path12205" inkscape:connector-curvature="0"/>
+ </g>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 433.5,536 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 4.98242 8.01758 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 2 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -13 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z m -0.5,5.48242 c -0.007,-0.18325 -0.1131,-0.34814 -0.27734,-0.42969 l -2,-1 c -0.24704,-0.12272 -0.54679,-0.0222 -0.66993,0.22461 l -4,8 c -0.12272,0.24704 -0.0222,0.54679 0.22461,0.66993 l 2,1 c 0.24704,0.12272 0.54679,0.0222 0.66993,-0.22461 l 4,-8 c 0.0373,-0.0744 0.0554,-0.15702 0.0527,-0.24024 z M 434,537 h 1 v 12 h -1 z m 3.5,1 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 11 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 2 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -11 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z" id="rect11443" inkscape:connector-curvature="0" sodipodi:nodetypes="cccccccccccccccccccccccccccccccccc"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="M 157.49219,472.99219 A 0.50005,0.50005 0 0 0 157,473.5 v 8.79297 l -3.85352,3.85351 a 0.50005,0.50005 0 1 0 0.70704,0.70704 L 157.70703,483 H 166.5 a 0.50005,0.50005 0 1 0 0,-1 H 158 v -8.5 a 0.50005,0.50005 0 0 0 -0.50781,-0.50781 z" id="path22612" inkscape:connector-curvature="0"/>
+ <g transform="translate(-21.000002,4.4999696e-6)" inkscape:export-ydpi="96" inkscape:export-xdpi="96" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" style="display:inline;opacity:0.6;fill:#ffffff;enable-background:new" id="g12548">
+ <g style="display:inline;opacity:1;fill:#ffffff;enable-background:new" transform="translate(640.00001,-112)" id="g7753-3">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m -539.42969,690.01758 c -0.79787,-0.038 -1.57177,0.27684 -2.16015,0.86523 l -0.48633,0.48828 c -0.61577,0.57533 -0.93433,1.35407 -0.89258,2.1543 a 0.50005,0.50005 0 1 0 0.99805,-0.0508 c -0.0269,-0.51495 0.15566,-0.98016 0.57617,-1.37305 a 0.50005,0.50005 0 0 0 0.0117,-0.0117 l 0.5,-0.5 c 0.41161,-0.41161 0.88966,-0.59872 1.40429,-0.57422 0.51464,0.0245 1.08439,0.26993 1.63868,0.82422 0.55479,0.5548 0.80954,1.13546 0.83789,1.65235 0.0283,0.51688 -0.15241,0.9848 -0.57422,1.3789 a 0.50005,0.50005 0 0 0 -0.0137,0.0117 l -0.5,0.5 c -0.41213,0.41213 -0.87694,0.60352 -1.39649,0.60352 a 0.50005,0.50005 0 1 0 0,1 c 0.78067,0 1.52491,-0.31788 2.10352,-0.89649 l 0.48828,-0.48828 c 0.61768,-0.57711 0.9366,-1.36125 0.89258,-2.16406 -0.044,-0.80281 -0.43566,-1.60948 -1.13086,-2.30469 -0.69571,-0.69571 -1.49901,-1.07724 -2.29688,-1.11523 z m -7.00976,7 c -0.80753,-0.0482 -1.5954,0.26944 -2.17578,0.89062 l -0.48829,0.48828 c -0.58838,0.58839 -0.90322,1.36034 -0.86523,2.15821 0.038,0.79787 0.41952,1.60311 1.11523,2.29883 0.69521,0.6952 1.50384,1.08487 2.30664,1.1289 0.80281,0.044 1.585,-0.27294 2.16211,-0.89062 l 0.48829,-0.48828 C -543.31787,702.0249 -543,701.28067 -543,700.5 a 0.50005,0.50005 0 1 0 -1,0 c 0,0.51955 -0.19139,0.98436 -0.60352,1.39648 l -0.5,0.5 a 0.50005,0.50005 0 0 0 -0.0117,0.0117 c -0.39411,0.42182 -0.86007,0.60452 -1.37696,0.57618 -0.51688,-0.0283 -1.0995,-0.2831 -1.65429,-0.8379 -0.55429,-0.55428 -0.79776,-1.12404 -0.82227,-1.63867 -0.0245,-0.51463 0.16065,-0.99268 0.57227,-1.40429 l 0.5,-0.5 a 0.50005,0.50005 0 0 0 0.0117,-0.0117 c 0.39634,-0.4242 0.86629,-0.60725 1.38672,-0.57618 a 0.50005,0.50005 0 1 0 0.0586,-0.99804 z" id="path12469-4" inkscape:connector-curvature="0"/>
</g>
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="M 94.492188,577.99219 A 0.50005,0.50005 0 0 0 94,578.5 v 2 a 0.50005,0.50005 0 1 0 1,0 v -2 a 0.50005,0.50005 0 0 0 -0.507812,-0.50781 z m -2.998047,1.00195 a 0.50005,0.50005 0 0 0 -0.347657,0.85938 l 1,1 a 0.50005,0.50005 0 1 0 0.707032,-0.70704 l -1,-1 a 0.50005,0.50005 0 0 0 -0.359375,-0.15234 z M 90.5,582 a 0.50005,0.50005 0 1 0 0,1 h 2 a 0.50005,0.50005 0 1 0 0,-1 z m 11,5 a 0.50005,0.50005 0 1 0 0,1 h 2 a 0.50005,0.50005 0 1 0 0,-1 z m -2.007812,1.99219 A 0.50005,0.50005 0 0 0 99,589.5 v 2 a 0.50005,0.50005 0 1 0 1,0 v -2 a 0.50005,0.50005 0 0 0 -0.507812,-0.50781 z m 2.001952,0.002 a 0.50005,0.50005 0 0 0 -0.34766,0.85938 l 1,1 a 0.50005,0.50005 0 1 0 0.70704,-0.70704 l -1,-1 a 0.50005,0.50005 0 0 0 -0.35938,-0.15234 z"
- id="path12538"
- inkscape:connector-curvature="0" />
- </g>
- <g
- transform="translate(-1.8536743e-6,4.4999696e-6)"
- id="g23748"
- style="display:inline;fill:#ffffff;enable-background:new">
- <path
- inkscape:connector-curvature="0"
- style="display:inline;opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.99999988;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;enable-background:new"
- d="m 49,558 v 3 h 3 v -3 z m 3,3 v 3 h 3 v -3 z m 3,0 h 3 v -3 h -3 z m 3,0 v 3 h 3 v -3 z m 0,3 h -3 v 3 h 3 z m 0,3 v 3 h 3 v -3 z m -3,0 h -3 v 3 h 3 z m -3,0 v -3 h -3 v 3 z"
- id="path10767"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- inkscape:export-xdpi="96"
- inkscape:export-ydpi="96" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.8;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 48.5,557 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 13 a 0.50005,0.50005 0 0 0 0.5,0.5 h 13 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -13 A 0.50005,0.50005 0 0 0 61.5,557 Z m 0.5,1 h 12 v 12 H 49 Z"
- id="rect22625"
- inkscape:connector-curvature="0" />
- </g>
- <g
- transform="matrix(-1,0,0,1,593.8323,-41.999985)"
- style="display:inline;opacity:1;fill:#ffffff;enable-background:new"
- id="g24182">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:7.40000057;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 309.83203,496 c -0.79167,0 -1.54903,0.39305 -1.86328,1.11133 -0.31425,0.71827 -0.0786,1.6538 0.75977,2.49219 l 2.5,2.5 c 0.66161,0.66161 0.67598,1.10108 0.55273,1.38281 C 311.658,503.76805 311.29036,504 310.83203,504 l -7.28515,-0.008 2.13867,-2.13867 a 0.50005,0.50005 0 1 0 -0.70703,-0.70704 l -2.9336,2.93555 -0.01,0.008 a 0.50005,0.50005 0 0 0 -0.20704,0.41602 0.50005,0.50005 0 0 0 0,0.008 0.50005,0.50005 0 0 0 0.004,0.0469 0.50005,0.50005 0 0 0 0.008,0.0488 0.50005,0.50005 0 0 0 0.19336,0.29882 l 2.94532,2.94532 a 0.50005,0.50005 0 1 0 0.70703,-0.70704 l -2.1543,-2.15429 7.30078,0.008 c 0.79167,0 1.55099,-0.39305 1.86524,-1.11133 0.31424,-0.71827 0.0767,-1.6538 -0.76172,-2.49219 l -2.5,-2.5 c -0.66161,-0.66161 -0.67404,-1.10108 -0.55078,-1.38281 C 309.00802,497.23195 309.3737,497 309.83203,497 h 3.5 a 0.50005,0.50005 0 1 0 0,-1 z"
- id="path24180"
- inkscape:connector-curvature="0" />
- </g>
- <g
- transform="translate(112.05535,339.92702)"
- id="g44391-4"
- style="display:inline;opacity:0.7;fill:#ffffff;enable-background:new">
- <rect
- style="display:inline;overflow:visible;visibility:visible;opacity:0;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.79999995;marker:none;enable-background:accumulate"
- id="rect44387-5"
- width="16"
- height="16"
- x="103"
- y="111" />
- <circle
- r="8"
- cy="118"
- cx="132"
- style="display:inline;opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none"
- id="circle44389-4"
- inkscape:export-filename="C:\Documents and Settings\Tata\Pulpit\BLENDER ICONSET\blender-cvs-windows\.blender\.blender\icons\jendrzych's iconset.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90"
- transform="matrix(-0.248353,0.02816779,0.02830718,0.248422,140.45214,86.01031)" />
- </g>
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g23689-9"
- transform="rotate(180,957.9976,414.99747)">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 1419.4941,588.00195 c 4.1402,0 7.5079,-3.36769 7.5079,-7.50781 a 0.50004997,0.50004997 0 1 0 -1,0 c 0,3.59968 -2.9082,6.50781 -6.5079,6.50781 a 0.50004997,0.50004997 0 1 0 0,1 z"
- id="path23647-2"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.20000005;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 1416.4941,585.10156 c 4.1942,0 7.6075,-3.41326 7.6075,-7.60742 a 0.6006,0.6006 0 1 0 -1.2012,0 c 0,3.54564 -2.8606,6.40625 -6.4063,6.40625 a 0.600585,0.600585 0 1 0 0,1.20117 z"
- id="path23668-9"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.20000005;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 1413.4941,582.10156 c 4.1942,0 7.6075,-3.41326 7.6075,-7.60742 a 0.6006,0.6006 0 1 0 -1.2012,0 c 0,3.54564 -2.8606,6.40625 -6.4063,6.40625 a 0.600585,0.600585 0 1 0 0,1.20117 z"
- id="path23670-8"
- inkscape:connector-curvature="0" />
- </g>
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g23935-0"
- transform="translate(-924,-332)">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 1404.4688,576.96289 a 1.50015,1.50015 0 0 0 -0.1036,0.01 c -4.9348,0.53258 -8.8525,4.44095 -9.3925,9.375 a 1.5001977,1.5001977 0 1 0 2.9824,0.32812 c 0.3887,-3.55095 3.1789,-6.33741 6.7304,-6.7207 a 1.50015,1.50015 0 0 0 -0.2167,-2.99219 z"
- id="path23640-2-5"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 1405.498,573.99805 c -7.4498,0 -13.5,6.0501 -13.5,13.5 a 0.50004997,0.50004997 0 1 0 1,0 c 0,-6.90946 5.5906,-12.5 12.5,-12.5 a 0.50004997,0.50004997 0 1 0 0,-1 z"
- id="path23706-8"
- inkscape:connector-curvature="0" />
- </g>
- <g
- style="display:inline;opacity:1;fill:#ffffff;enable-background:new"
- id="g13692-5-0"
- transform="translate(316.0071,-315)"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- inkscape:export-xdpi="96"
- inkscape:export-ydpi="96">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="M 47.5,578 A 0.50005,0.50005 0 0 0 47,578.5 L 46.9922,589 c 0,1.51667 1.219298,3 2.984374,3 1.765077,0 3.015625,-1.475 3.015626,-3 L 53,578.5 A 0.50005,0.50005 0 0 0 52.5,578 Z m 0.5,1 h 4 l -0.0078,10 c 0,0.975 -0.811952,2 -2.015626,2 -1.203673,0 -1.984375,-1.01667 -1.984374,-2 z"
- id="path13679-7-1"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 58.492188,586 a 0.50005,0.50005 0 1 0 0,1 H 60 v 4 h -6.257812 a 0.50005,0.50005 0 1 0 0,1 H 60.5 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -5 A 0.50005,0.50005 0 0 0 60.5,586 Z"
- id="path13681-7-8"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.8;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 56.492188,579 a 0.50005,0.50005 0 0 0 -0.345704,0.14648 l -2,2 a 0.50005,0.50005 0 1 0 0.707032,0.70704 L 56.5,580.20703 58.792969,582.5 l -4.646485,4.64648 a 0.50005,0.50005 0 1 0 0.707032,0.70704 l 5,-5 a 0.50005,0.50005 0 0 0 0,-0.70704 l -3,-3 A 0.50005,0.50005 0 0 0 56.492188,579 Z"
- id="path13684-4-3"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 50,588 c -0.546362,0 -1,0.45364 -1,1 0,0.54636 0.453638,1 1,1 0.546362,0 1,-0.45364 1,-1 0,-0.54636 -0.453638,-1 -1,-1 z"
- id="circle13686-9-5"
- inkscape:connector-curvature="0" />
- </g>
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g23993-7"
- transform="matrix(1,0,0,-1,-1008,851.0067)">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.20000005;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 1437,595.60938 c 0,6.25034 4.6305,11.38281 10.4004,11.38281 a 0.60006002,0.60006002 0 1 0 0,-1.19922 c -5.0564,0 -9.2012,-4.52271 -9.2012,-10.18359 a 0.60006002,0.60006002 0 1 0 -1.1992,0 z"
- id="path23981-7"
- inkscape:connector-curvature="0" />
- <g
- style="opacity:0.6;fill:#ffffff"
- id="g23987-2">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 1444.5,597 c -1.4566,10e-6 -2.897,0.34937 -4.2207,1.02148 a 0.50005,0.50005 0 1 0 0.4531,0.89063 c 1.1877,-0.60305 2.4706,-0.9121 3.7676,-0.91211 a 0.50005,0.50005 0 1 0 0,-1 z m -8.0176,4.01172 a 0.50005,0.50005 0 0 0 -0.4043,0.23242 C 1434.7288,603.30241 1434,605.86102 1434,608.5 a 0.50005,0.50005 0 1 0 1,0 c 0,-2.45438 0.6833,-4.83156 1.9141,-6.70898 a 0.50005,0.50005 0 0 0 -0.4317,-0.7793 z"
- id="path23983-7"
- inkscape:connector-curvature="0" />
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="M 94.492188,577.99219 A 0.50005,0.50005 0 0 0 94,578.5 v 2 a 0.50005,0.50005 0 1 0 1,0 v -2 a 0.50005,0.50005 0 0 0 -0.507812,-0.50781 z m -2.998047,1.00195 a 0.50005,0.50005 0 0 0 -0.347657,0.85938 l 1,1 a 0.50005,0.50005 0 1 0 0.707032,-0.70704 l -1,-1 a 0.50005,0.50005 0 0 0 -0.359375,-0.15234 z M 90.5,582 a 0.50005,0.50005 0 1 0 0,1 h 2 a 0.50005,0.50005 0 1 0 0,-1 z m 11,5 a 0.50005,0.50005 0 1 0 0,1 h 2 a 0.50005,0.50005 0 1 0 0,-1 z m -2.007812,1.99219 A 0.50005,0.50005 0 0 0 99,589.5 v 2 a 0.50005,0.50005 0 1 0 1,0 v -2 a 0.50005,0.50005 0 0 0 -0.507812,-0.50781 z m 2.001952,0.002 a 0.50005,0.50005 0 0 0 -0.34766,0.85938 l 1,1 a 0.50005,0.50005 0 1 0 0.70704,-0.70704 l -1,-1 a 0.50005,0.50005 0 0 0 -0.35938,-0.15234 z" id="path12538" inkscape:connector-curvature="0"/>
+ </g>
+ <g transform="translate(-1.8536743e-6,4.4999696e-6)" id="g23748" style="display:inline;fill:#ffffff;enable-background:new">
+ <path inkscape:connector-curvature="0" style="display:inline;opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.99999988;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;enable-background:new" d="m 49,558 v 3 h 3 v -3 z m 3,3 v 3 h 3 v -3 z m 3,0 h 3 v -3 h -3 z m 3,0 v 3 h 3 v -3 z m 0,3 h -3 v 3 h 3 z m 0,3 v 3 h 3 v -3 z m -3,0 h -3 v 3 h 3 z m -3,0 v -3 h -3 v 3 z" id="path10767" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" inkscape:export-xdpi="96" inkscape:export-ydpi="96"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.8;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 48.5,557 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 13 a 0.50005,0.50005 0 0 0 0.5,0.5 h 13 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -13 A 0.50005,0.50005 0 0 0 61.5,557 Z m 0.5,1 h 12 v 12 H 49 Z" id="rect22625" inkscape:connector-curvature="0"/>
+ </g>
+ <g transform="matrix(-1,0,0,1,593.8323,-41.999985)" style="display:inline;opacity:1;fill:#ffffff;enable-background:new" id="g24182">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:7.40000057;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 309.83203,496 c -0.79167,0 -1.54903,0.39305 -1.86328,1.11133 -0.31425,0.71827 -0.0786,1.6538 0.75977,2.49219 l 2.5,2.5 c 0.66161,0.66161 0.67598,1.10108 0.55273,1.38281 C 311.658,503.76805 311.29036,504 310.83203,504 l -7.28515,-0.008 2.13867,-2.13867 a 0.50005,0.50005 0 1 0 -0.70703,-0.70704 l -2.9336,2.93555 -0.01,0.008 a 0.50005,0.50005 0 0 0 -0.20704,0.41602 0.50005,0.50005 0 0 0 0,0.008 0.50005,0.50005 0 0 0 0.004,0.0469 0.50005,0.50005 0 0 0 0.008,0.0488 0.50005,0.50005 0 0 0 0.19336,0.29882 l 2.94532,2.94532 a 0.50005,0.50005 0 1 0 0.70703,-0.70704 l -2.1543,-2.15429 7.30078,0.008 c 0.79167,0 1.55099,-0.39305 1.86524,-1.11133 0.31424,-0.71827 0.0767,-1.6538 -0.76172,-2.49219 l -2.5,-2.5 c -0.66161,-0.66161 -0.67404,-1.10108 -0.55078,-1.38281 C 309.00802,497.23195 309.3737,497 309.83203,497 h 3.5 a 0.50005,0.50005 0 1 0 0,-1 z" id="path24180" inkscape:connector-curvature="0"/>
+ </g>
+ <g transform="translate(112.05535,339.92702)" id="g44391-4" style="display:inline;opacity:0.7;fill:#ffffff;enable-background:new">
+ <rect style="display:inline;overflow:visible;visibility:visible;opacity:0;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.79999995;marker:none;enable-background:accumulate" id="rect44387-5" width="16" height="16" x="103" y="111"/>
+ <circle r="8" cy="118" cx="132" style="display:inline;opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" id="circle44389-4" inkscape:export-filename="C:\Documents and Settings\Tata\Pulpit\BLENDER ICONSET\blender-cvs-windows\.blender\.blender\icons\jendrzych's iconset.png" inkscape:export-xdpi="90" inkscape:export-ydpi="90" transform="matrix(-0.248353,0.02816779,0.02830718,0.248422,140.45214,86.01031)"/>
+ </g>
+ <g style="display:inline;fill:#ffffff;enable-background:new" id="g23689-9" transform="rotate(180,957.9976,414.99747)">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 1419.4941,588.00195 c 4.1402,0 7.5079,-3.36769 7.5079,-7.50781 a 0.50004997,0.50004997 0 1 0 -1,0 c 0,3.59968 -2.9082,6.50781 -6.5079,6.50781 a 0.50004997,0.50004997 0 1 0 0,1 z" id="path23647-2" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.20000005;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 1416.4941,585.10156 c 4.1942,0 7.6075,-3.41326 7.6075,-7.60742 a 0.6006,0.6006 0 1 0 -1.2012,0 c 0,3.54564 -2.8606,6.40625 -6.4063,6.40625 a 0.600585,0.600585 0 1 0 0,1.20117 z" id="path23668-9" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.20000005;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 1413.4941,582.10156 c 4.1942,0 7.6075,-3.41326 7.6075,-7.60742 a 0.6006,0.6006 0 1 0 -1.2012,0 c 0,3.54564 -2.8606,6.40625 -6.4063,6.40625 a 0.600585,0.600585 0 1 0 0,1.20117 z" id="path23670-8" inkscape:connector-curvature="0"/>
+ </g>
+ <g style="display:inline;fill:#ffffff;enable-background:new" id="g23935-0" transform="translate(-924,-332)">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 1404.4688,576.96289 a 1.50015,1.50015 0 0 0 -0.1036,0.01 c -4.9348,0.53258 -8.8525,4.44095 -9.3925,9.375 a 1.5001977,1.5001977 0 1 0 2.9824,0.32812 c 0.3887,-3.55095 3.1789,-6.33741 6.7304,-6.7207 a 1.50015,1.50015 0 0 0 -0.2167,-2.99219 z" id="path23640-2-5" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 1405.498,573.99805 c -7.4498,0 -13.5,6.0501 -13.5,13.5 a 0.50004997,0.50004997 0 1 0 1,0 c 0,-6.90946 5.5906,-12.5 12.5,-12.5 a 0.50004997,0.50004997 0 1 0 0,-1 z" id="path23706-8" inkscape:connector-curvature="0"/>
+ </g>
+ <g style="display:inline;opacity:1;fill:#ffffff;enable-background:new" id="g13692-5-0" transform="translate(316.0071,-315)" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" inkscape:export-xdpi="96" inkscape:export-ydpi="96">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="M 47.5,578 A 0.50005,0.50005 0 0 0 47,578.5 L 46.9922,589 c 0,1.51667 1.219298,3 2.984374,3 1.765077,0 3.015625,-1.475 3.015626,-3 L 53,578.5 A 0.50005,0.50005 0 0 0 52.5,578 Z m 0.5,1 h 4 l -0.0078,10 c 0,0.975 -0.811952,2 -2.015626,2 -1.203673,0 -1.984375,-1.01667 -1.984374,-2 z" id="path13679-7-1" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 58.492188,586 a 0.50005,0.50005 0 1 0 0,1 H 60 v 4 h -6.257812 a 0.50005,0.50005 0 1 0 0,1 H 60.5 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -5 A 0.50005,0.50005 0 0 0 60.5,586 Z" id="path13681-7-8" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.8;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 56.492188,579 a 0.50005,0.50005 0 0 0 -0.345704,0.14648 l -2,2 a 0.50005,0.50005 0 1 0 0.707032,0.70704 L 56.5,580.20703 58.792969,582.5 l -4.646485,4.64648 a 0.50005,0.50005 0 1 0 0.707032,0.70704 l 5,-5 a 0.50005,0.50005 0 0 0 0,-0.70704 l -3,-3 A 0.50005,0.50005 0 0 0 56.492188,579 Z" id="path13684-4-3" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 50,588 c -0.546362,0 -1,0.45364 -1,1 0,0.54636 0.453638,1 1,1 0.546362,0 1,-0.45364 1,-1 0,-0.54636 -0.453638,-1 -1,-1 z" id="circle13686-9-5" inkscape:connector-curvature="0"/>
+ </g>
+ <g style="display:inline;fill:#ffffff;enable-background:new" id="g23993-7" transform="matrix(1,0,0,-1,-1008,851.0067)">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.20000005;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 1437,595.60938 c 0,6.25034 4.6305,11.38281 10.4004,11.38281 a 0.60006002,0.60006002 0 1 0 0,-1.19922 c -5.0564,0 -9.2012,-4.52271 -9.2012,-10.18359 a 0.60006002,0.60006002 0 1 0 -1.1992,0 z" id="path23981-7" inkscape:connector-curvature="0"/>
+ <g style="opacity:0.6;fill:#ffffff" id="g23987-2">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 1444.5,597 c -1.4566,10e-6 -2.897,0.34937 -4.2207,1.02148 a 0.50005,0.50005 0 1 0 0.4531,0.89063 c 1.1877,-0.60305 2.4706,-0.9121 3.7676,-0.91211 a 0.50005,0.50005 0 1 0 0,-1 z m -8.0176,4.01172 a 0.50005,0.50005 0 0 0 -0.4043,0.23242 C 1434.7288,603.30241 1434,605.86102 1434,608.5 a 0.50005,0.50005 0 1 0 1,0 c 0,-2.45438 0.6833,-4.83156 1.9141,-6.70898 a 0.50005,0.50005 0 0 0 -0.4317,-0.7793 z" id="path23983-7" inkscape:connector-curvature="0"/>
</g>
</g>
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- transform="rotate(180,947.5,425.5)"
- id="g24104-2">
- <g
- id="g24094-5"
- style="opacity:0.5;fill:#ffffff">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 449,242 c -1.0986,0 -2,0.90135 -2,2 0,0.73315 0.40645,1.37054 1,1.71875 V 250 h 1 v -4 c 1.0986,0 2,-0.90135 2,-2 h 4 v -1 h -4.28125 c -0.34822,-0.59355 -0.98563,-1 -1.71875,-1 z m 0,1 c 0.5582,0 1,0.44179 1,1 0,0.55821 -0.4418,1 -1,1 -0.5582,0 -1,-0.44179 -1,-1 0,-0.55821 0.4418,-1 1,-1 z"
- transform="rotate(-180,947.5,425.5)"
- id="circle24085-2"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="ssccccccccssssss" />
+ <g style="display:inline;fill:#ffffff;enable-background:new" transform="rotate(180,947.5,425.5)" id="g24104-2">
+ <g id="g24094-5" style="opacity:0.5;fill:#ffffff">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 449,242 c -1.0986,0 -2,0.90135 -2,2 0,0.73315 0.40645,1.37054 1,1.71875 V 250 h 1 v -4 c 1.0986,0 2,-0.90135 2,-2 h 4 v -1 h -4.28125 c -0.34822,-0.59355 -0.98563,-1 -1.71875,-1 z m 0,1 c 0.5582,0 1,0.44179 1,1 0,0.55821 -0.4418,1 -1,1 -0.5582,0 -1,-0.44179 -1,-1 0,-0.55821 0.4418,-1 1,-1 z" transform="rotate(-180,947.5,425.5)" id="circle24085-2" inkscape:connector-curvature="0" sodipodi:nodetypes="ssccccccccssssss"/>
</g>
- <g
- id="g24102-2"
- style="fill:#ffffff">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 459,242 c -1.0986,0 -2,0.90135 -2,2 0,0.36859 0.10883,0.71022 0.28516,1.00781 l -7.27735,7.27735 C 449.71022,252.10883 449.36858,252 449,252 c -1.0986,0 -2,0.90135 -2,2 0,1.09865 0.9014,2 2,2 1.0986,0 2,-0.90135 2,-2 0,-0.36859 -0.10883,-0.71022 -0.28516,-1.00781 l 7.27735,-7.27735 C 458.28978,245.89117 458.63142,246 459,246 c 1.0986,0 2,-0.90135 2,-2 0,-1.09865 -0.9014,-2 -2,-2 z m 0,1 c 0.5582,0 1,0.44179 1,1 0,0.55821 -0.4418,1 -1,1 -0.5582,0 -1,-0.44179 -1,-1 0,-0.55821 0.4418,-1 1,-1 z m -10,10 c 0.5582,0 1,0.44179 1,1 0,0.55821 -0.4418,1 -1,1 -0.5582,0 -1,-0.44179 -1,-1 0,-0.55821 0.4418,-1 1,-1 z"
- transform="rotate(-180,947.5,425.5)"
- id="path24100-8"
- inkscape:connector-curvature="0" />
+ <g id="g24102-2" style="fill:#ffffff">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 459,242 c -1.0986,0 -2,0.90135 -2,2 0,0.36859 0.10883,0.71022 0.28516,1.00781 l -7.27735,7.27735 C 449.71022,252.10883 449.36858,252 449,252 c -1.0986,0 -2,0.90135 -2,2 0,1.09865 0.9014,2 2,2 1.0986,0 2,-0.90135 2,-2 0,-0.36859 -0.10883,-0.71022 -0.28516,-1.00781 l 7.27735,-7.27735 C 458.28978,245.89117 458.63142,246 459,246 c 1.0986,0 2,-0.90135 2,-2 0,-1.09865 -0.9014,-2 -2,-2 z m 0,1 c 0.5582,0 1,0.44179 1,1 0,0.55821 -0.4418,1 -1,1 -0.5582,0 -1,-0.44179 -1,-1 0,-0.55821 0.4418,-1 1,-1 z m -10,10 c 0.5582,0 1,0.44179 1,1 0,0.55821 -0.4418,1 -1,1 -0.5582,0 -1,-0.44179 -1,-1 0,-0.55821 0.4418,-1 1,-1 z" transform="rotate(-180,947.5,425.5)" id="path24100-8" inkscape:connector-curvature="0"/>
</g>
</g>
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.10000002;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 416.49023,242.95508 a 0.55005501,0.55005501 0 0 0 -0.55078,0.55078 v 0.77539 l -0.44922,0.45117 -0.61132,-0.61133 a 0.55005501,0.55005501 0 0 0 -0.38868,-0.16211 h -1.77148 l -0.83984,-0.83789 a 0.55005501,0.55005501 0 0 0 -0.77735,0 l -1,1 a 0.55005501,0.55005501 0 0 0 -0.16211,0.38868 v 1.77148 l -0.67773,0.67773 h -0.77149 a 0.55005501,0.55005501 0 0 0 -0.39062,0.16211 l -0.83789,0.8418 h -0.77149 a 0.55005501,0.55005501 0 0 0 -0.55078,0.55078 v 2.00391 a 0.55005501,0.55005501 0 0 0 0.55078,0.55078 h 0.77344 l 0.67578,0.67383 v 0.54492 l -0.67578,0.68164 -0.76758,-0.008 a 0.55005501,0.55005501 0 0 0 -0.55664,0.54883 v 1.21093 0.78907 a 0.550785,0.550785 0 1 0 1.10157,0 v -0.78907 -0.65429 l 0.44336,0.004 a 0.55005501,0.55005501 0 0 0 0.39648,-0.16211 l 1,-1.00781 a 0.55005501,0.55005501 0 0 0 0.16016,-0.38672 v -1 a 0.55005501,0.55005501 0 0 0 -0.16211,-0.39062 l -1,-0.99414 a 0.55005501,0.55005501 0 0 0 -0.38868,-0.16211 h -0.44921 v -0.90235 h 0.44921 a 0.55005501,0.55005501 0 0 0 0.38868,-0.16211 l 0.83984,-0.84375 h 0.77148 a 0.55005501,0.55005501 0 0 0 0.38868,-0.16015 l 1,-1 a 0.55005501,0.55005501 0 0 0 0.16211,-0.38867 v -1.77344 l 0.44921,-0.44922 0.61133,0.61133 a 0.55005501,0.55005501 0 0 0 0.38867,0.16015 h 1.77149 l 0.83984,0.83985 a 0.55005501,0.55005501 0 0 0 0.77735,0 l 1,-1 a 0.55005501,0.55005501 0 0 0 0.16211,-0.38867 v -0.45508 h 1.44921 a 0.55005501,0.55005501 0 1 0 0,-1.09961 z"
- id="path42222-9-3-2"
- inkscape:connector-curvature="0" />
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g10865-1-4"
- transform="translate(209.9929,-231)">
- <g
- inkscape:export-ydpi="96"
- inkscape:export-xdpi="96"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- id="g12049-3-5"
- transform="translate(126,64.00005)"
- style="display:inline;opacity:0.98999999;fill:#ffffff;enable-background:new">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 52.0071,410.99995 v 1 L 61.5,412 c 0.676161,0.01 0.676161,-1.00956 0,-1 z M 48.5,416 c -0.676161,-0.01 -0.676161,1.00956 0,1 l 5.5071,-5e-5 v -1 z m 10.5071,-5e-5 v 1 L 61.5,417 c 0.676161,0.01 0.676161,-1.00956 0,-1 z M 48.5,421 c -0.676161,-0.01 -0.676161,1.00956 0,1 l 9.5071,-5e-5 v -1 z"
- id="path12047-5-1"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="cccccccccccccccccccc" />
- </g>
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 175.5,474 c -0.8225,0 -1.5,0.6775 -1.5,1.5 0,0.8225 0.6775,1.5 1.5,1.5 0.8225,0 1.5,-0.6775 1.5,-1.5 0,-0.8225 -0.6775,-1.5 -1.5,-1.5 z m 0,1 c 0.28206,0 0.5,0.21794 0.5,0.5 0,0.28206 -0.21794,0.5 -0.5,0.5 -0.28206,0 -0.5,-0.21794 -0.5,-0.5 0,-0.28206 0.21794,-0.5 0.5,-0.5 z m 7,4 c -0.8225,0 -1.5,0.6775 -1.5,1.5 0,0.8225 0.6775,1.5 1.5,1.5 0.8225,0 1.5,-0.6775 1.5,-1.5 0,-0.8225 -0.6775,-1.5 -1.5,-1.5 z m 0,1 c 0.28206,0 0.5,0.21794 0.5,0.5 0,0.28206 -0.21794,0.5 -0.5,0.5 -0.28206,0 -0.5,-0.21794 -0.5,-0.5 0,-0.28206 0.21794,-0.5 0.5,-0.5 z m 4,4 c -0.8225,0 -1.5,0.6775 -1.5,1.5 0,0.8225 0.6775,1.5 1.5,1.5 0.8225,0 1.5,-0.6775 1.5,-1.5 0,-0.8225 -0.6775,-1.5 -1.5,-1.5 z m 0,1 c 0.28206,0 0.5,0.21794 0.5,0.5 0,0.28206 -0.21794,0.5 -0.5,0.5 -0.28206,0 -0.5,-0.21794 -0.5,-0.5 0,-0.28206 0.21794,-0.5 0.5,-0.5 z"
- id="circle14100-8-7"
- inkscape:connector-curvature="0" />
- </g>
- <g
- transform="translate(-0.00710095,-1)"
- id="g24230-2"
- style="display:inline;fill:#ffffff;enable-background:new">
- <g
- style="display:inline;opacity:0.98999999;fill:#ffffff;enable-background:new"
- transform="translate(126,64.00005)"
- id="g24222-6"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- inkscape:export-xdpi="96"
- inkscape:export-ydpi="96">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 53.5,411 a 0.50005,0.50005 0 1 0 0,1 h 8 a 0.50005,0.50005 0 1 0 0,-1 z m 0,5 a 0.50005,0.50005 0 1 0 0,1 h 8 a 0.50005,0.50005 0 1 0 0,-1 z m 0,5 a 0.50005,0.50005 0 1 0 0,1 h 8 a 0.50005,0.50005 0 1 0 0,-1 z"
- id="path24220-9"
- inkscape:connector-curvature="0" />
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.10000002;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 416.49023,242.95508 a 0.55005501,0.55005501 0 0 0 -0.55078,0.55078 v 0.77539 l -0.44922,0.45117 -0.61132,-0.61133 a 0.55005501,0.55005501 0 0 0 -0.38868,-0.16211 h -1.77148 l -0.83984,-0.83789 a 0.55005501,0.55005501 0 0 0 -0.77735,0 l -1,1 a 0.55005501,0.55005501 0 0 0 -0.16211,0.38868 v 1.77148 l -0.67773,0.67773 h -0.77149 a 0.55005501,0.55005501 0 0 0 -0.39062,0.16211 l -0.83789,0.8418 h -0.77149 a 0.55005501,0.55005501 0 0 0 -0.55078,0.55078 v 2.00391 a 0.55005501,0.55005501 0 0 0 0.55078,0.55078 h 0.77344 l 0.67578,0.67383 v 0.54492 l -0.67578,0.68164 -0.76758,-0.008 a 0.55005501,0.55005501 0 0 0 -0.55664,0.54883 v 1.21093 0.78907 a 0.550785,0.550785 0 1 0 1.10157,0 v -0.78907 -0.65429 l 0.44336,0.004 a 0.55005501,0.55005501 0 0 0 0.39648,-0.16211 l 1,-1.00781 a 0.55005501,0.55005501 0 0 0 0.16016,-0.38672 v -1 a 0.55005501,0.55005501 0 0 0 -0.16211,-0.39062 l -1,-0.99414 a 0.55005501,0.55005501 0 0 0 -0.38868,-0.16211 h -0.44921 v -0.90235 h 0.44921 a 0.55005501,0.55005501 0 0 0 0.38868,-0.16211 l 0.83984,-0.84375 h 0.77148 a 0.55005501,0.55005501 0 0 0 0.38868,-0.16015 l 1,-1 a 0.55005501,0.55005501 0 0 0 0.16211,-0.38867 v -1.77344 l 0.44921,-0.44922 0.61133,0.61133 a 0.55005501,0.55005501 0 0 0 0.38867,0.16015 h 1.77149 l 0.83984,0.83985 a 0.55005501,0.55005501 0 0 0 0.77735,0 l 1,-1 a 0.55005501,0.55005501 0 0 0 0.16211,-0.38867 v -0.45508 h 1.44921 a 0.55005501,0.55005501 0 1 0 0,-1.09961 z" id="path42222-9-3-2" inkscape:connector-curvature="0"/>
+ <g style="display:inline;fill:#ffffff;enable-background:new" id="g10865-1-4" transform="translate(209.9929,-231)">
+ <g inkscape:export-ydpi="96" inkscape:export-xdpi="96" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" id="g12049-3-5" transform="translate(126,64.00005)" style="display:inline;opacity:0.98999999;fill:#ffffff;enable-background:new">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 52.0071,410.99995 v 1 L 61.5,412 c 0.676161,0.01 0.676161,-1.00956 0,-1 z M 48.5,416 c -0.676161,-0.01 -0.676161,1.00956 0,1 l 5.5071,-5e-5 v -1 z m 10.5071,-5e-5 v 1 L 61.5,417 c 0.676161,0.01 0.676161,-1.00956 0,-1 z M 48.5,421 c -0.676161,-0.01 -0.676161,1.00956 0,1 l 9.5071,-5e-5 v -1 z" id="path12047-5-1" inkscape:connector-curvature="0" sodipodi:nodetypes="cccccccccccccccccccc"/>
</g>
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 175.5,474 c -0.8225,0 -1.5,0.6775 -1.5,1.5 0,0.8225 0.6775,1.5 1.5,1.5 0.8225,0 1.5,-0.6775 1.5,-1.5 0,-0.8225 -0.6775,-1.5 -1.5,-1.5 z m 0,5 c -0.8225,0 -1.5,0.6775 -1.5,1.5 0,0.8225 0.6775,1.5 1.5,1.5 0.8225,0 1.5,-0.6775 1.5,-1.5 0,-0.8225 -0.6775,-1.5 -1.5,-1.5 z m 0,5 c -0.8225,0 -1.5,0.6775 -1.5,1.5 0,0.8225 0.6775,1.5 1.5,1.5 0.8225,0 1.5,-0.6775 1.5,-1.5 0,-0.8225 -0.6775,-1.5 -1.5,-1.5 z"
- id="circle24228-7"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="sssssssssssssss" />
- </g>
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g24393-7"
- transform="matrix(-1,0,0,1,1912.004,-92)">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 1367.5039,334.00195 a 0.50004997,0.50004997 0 0 0 -0.5,0.5 v 9.99219 a 0.50004997,0.50004997 0 0 0 0.5,0.5 h 9.9961 a 0.50004997,0.50004997 0 0 0 0.5,-0.5 v -9.99219 a 0.50004997,0.50004997 0 0 0 -0.5,-0.5 z m 0.5,1 H 1377 v 8.99219 h -8.9961 z"
- id="path24368-5"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.7;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 1376,338 -4.4961,0.002 a 0.50004997,0.50004997 0 0 0 -0.5,0.5 V 343 h 1 v -3.99805 L 1376,339 Z m 3,0 v 1 l 1,0.002 v 7.99024 h -7.9961 V 346 h -1 v 1.49219 a 0.50004997,0.50004997 0 0 0 0.5,0.5 h 8.9961 a 0.50004997,0.50004997 0 0 0 0.5,-0.5 v -8.99024 a 0.50004997,0.50004997 0 0 0 -0.5,-0.5 z"
- id="path24388-3"
- inkscape:connector-curvature="0" />
- </g>
- <g
- transform="translate(112.05535,339.92702)"
- id="g44391"
- style="display:inline;opacity:0.7;fill:#ffffff;enable-background:new">
- <rect
- style="display:inline;overflow:visible;visibility:visible;opacity:0;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.79999995;marker:none;enable-background:accumulate"
- id="rect44387"
- width="16"
- height="16"
- x="103"
- y="111" />
- <path
- transform="matrix(-0.248353,0.02816779,0.02830718,0.248422,140.45214,86.01031)"
- style="display:inline;opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none"
- d="m 140,118 a 8,8 0 0 1 -8,8 8,8 0 0 1 -8,-8 8,8 0 0 1 8,-8 8,8 0 0 1 8,8 z"
- id="circle44389"
- inkscape:connector-curvature="0" />
- </g>
- <g
- transform="matrix(-1,0,0,1,593.8323,-41.99999)"
- style="display:inline;opacity:1;fill:#ffffff;enable-background:new"
- id="g22538" />
- <g
- id="g15557"
- transform="translate(42)"
- style="fill:#ffffff">
- <g
- transform="matrix(1,0,0,-1,-42,813.00707)"
- id="g15497"
- style="display:inline;fill:#ffffff;enable-background:new">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999988;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 346,286.00391 c 0,-1.09977 -0.90081,-2.00196 -2,-2.00196 -1.09919,0 -2,0.90219 -2,2.00196 0,1.09976 0.90081,2.0039 2,2.0039 1.09919,0 2,-0.90414 2,-2.0039 z m -1,0 c 0,0.56041 -0.44233,1.0039 -1,1.0039 -0.55767,0 -1,-0.44349 -1,-1.0039 0,-0.56041 0.44233,-1.00196 1,-1.00196 0.55767,0 1,0.44155 1,1.00196 z"
- id="ellipse15493"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999988;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 356,296.00391 c 0,-1.09734 -0.90199,-1.9961 -2,-1.9961 -1.09801,0 -2,0.89876 -2,1.9961 0,1.09733 0.90199,1.99609 2,1.99609 1.09801,0 2,-0.89876 2,-1.99609 z"
- id="ellipse15495"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="sssss" />
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 175.5,474 c -0.8225,0 -1.5,0.6775 -1.5,1.5 0,0.8225 0.6775,1.5 1.5,1.5 0.8225,0 1.5,-0.6775 1.5,-1.5 0,-0.8225 -0.6775,-1.5 -1.5,-1.5 z m 0,1 c 0.28206,0 0.5,0.21794 0.5,0.5 0,0.28206 -0.21794,0.5 -0.5,0.5 -0.28206,0 -0.5,-0.21794 -0.5,-0.5 0,-0.28206 0.21794,-0.5 0.5,-0.5 z m 7,4 c -0.8225,0 -1.5,0.6775 -1.5,1.5 0,0.8225 0.6775,1.5 1.5,1.5 0.8225,0 1.5,-0.6775 1.5,-1.5 0,-0.8225 -0.6775,-1.5 -1.5,-1.5 z m 0,1 c 0.28206,0 0.5,0.21794 0.5,0.5 0,0.28206 -0.21794,0.5 -0.5,0.5 -0.28206,0 -0.5,-0.21794 -0.5,-0.5 0,-0.28206 0.21794,-0.5 0.5,-0.5 z m 4,4 c -0.8225,0 -1.5,0.6775 -1.5,1.5 0,0.8225 0.6775,1.5 1.5,1.5 0.8225,0 1.5,-0.6775 1.5,-1.5 0,-0.8225 -0.6775,-1.5 -1.5,-1.5 z m 0,1 c 0.28206,0 0.5,0.21794 0.5,0.5 0,0.28206 -0.21794,0.5 -0.5,0.5 -0.28206,0 -0.5,-0.21794 -0.5,-0.5 0,-0.28206 0.21794,-0.5 0.5,-0.5 z" id="circle14100-8-7" inkscape:connector-curvature="0"/>
+ </g>
+ <g style="display:inline;fill:#ffffff;enable-background:new" id="g24393-7" transform="matrix(-1,0,0,1,1912.004,-92)">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 1367.5039,334.00195 a 0.50004997,0.50004997 0 0 0 -0.5,0.5 v 9.99219 a 0.50004997,0.50004997 0 0 0 0.5,0.5 h 9.9961 a 0.50004997,0.50004997 0 0 0 0.5,-0.5 v -9.99219 a 0.50004997,0.50004997 0 0 0 -0.5,-0.5 z m 0.5,1 H 1377 v 8.99219 h -8.9961 z" id="path24368-5" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.7;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 1376,338 -4.4961,0.002 a 0.50004997,0.50004997 0 0 0 -0.5,0.5 V 343 h 1 v -3.99805 L 1376,339 Z m 3,0 v 1 l 1,0.002 v 7.99024 h -7.9961 V 346 h -1 v 1.49219 a 0.50004997,0.50004997 0 0 0 0.5,0.5 h 8.9961 a 0.50004997,0.50004997 0 0 0 0.5,-0.5 v -8.99024 a 0.50004997,0.50004997 0 0 0 -0.5,-0.5 z" id="path24388-3" inkscape:connector-curvature="0"/>
+ </g>
+ <g transform="translate(112.05535,339.92702)" id="g44391" style="display:inline;opacity:0.7;fill:#ffffff;enable-background:new">
+ <rect style="display:inline;overflow:visible;visibility:visible;opacity:0;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.79999995;marker:none;enable-background:accumulate" id="rect44387" width="16" height="16" x="103" y="111"/>
+ <path transform="matrix(-0.248353,0.02816779,0.02830718,0.248422,140.45214,86.01031)" style="display:inline;opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" d="m 140,118 a 8,8 0 0 1 -8,8 8,8 0 0 1 -8,-8 8,8 0 0 1 8,-8 8,8 0 0 1 8,8 z" id="circle44389" inkscape:connector-curvature="0"/>
+ </g>
+ <g transform="matrix(-1,0,0,1,593.8323,-41.99999)" style="display:inline;opacity:1;fill:#ffffff;enable-background:new" id="g22538"/>
+ <g id="g15557" transform="translate(42)" style="fill:#ffffff">
+ <g transform="matrix(1,0,0,-1,-42,813.00707)" id="g15497" style="display:inline;fill:#ffffff;enable-background:new">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999988;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 346,286.00391 c 0,-1.09977 -0.90081,-2.00196 -2,-2.00196 -1.09919,0 -2,0.90219 -2,2.00196 0,1.09976 0.90081,2.0039 2,2.0039 1.09919,0 2,-0.90414 2,-2.0039 z m -1,0 c 0,0.56041 -0.44233,1.0039 -1,1.0039 -0.55767,0 -1,-0.44349 -1,-1.0039 0,-0.56041 0.44233,-1.00196 1,-1.00196 0.55767,0 1,0.44155 1,1.00196 z" id="ellipse15493" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999988;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 356,296.00391 c 0,-1.09734 -0.90199,-1.9961 -2,-1.9961 -1.09801,0 -2,0.89876 -2,1.9961 0,1.09733 0.90199,1.99609 2,1.99609 1.09801,0 2,-0.89876 2,-1.99609 z" id="ellipse15495" inkscape:connector-curvature="0" sodipodi:nodetypes="sssss"/>
</g>
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 306.49609,516.00391 a 0.50005,0.50005 0 1 0 0,1 h 2 a 0.50005,0.50005 0 1 0 0,-1 z m -2.00976,0.99414 a 0.50005,0.50005 0 0 0 -0.34375,0.15234 l -1,1 a 0.50005,0.50005 0 1 0 0.70703,0.70703 l 1,-1 a 0.50005,0.50005 0 0 0 -0.36328,-0.85937 z m -1.00195,3 a 0.50005,0.50005 0 0 0 -0.34766,0.85937 l 1,1 a 0.50005,0.50005 0 1 0 0.70703,-0.70703 l -1,-1 a 0.50005,0.50005 0 0 0 -0.35937,-0.15234 z m 3.01171,2.00586 a 0.50005,0.50005 0 1 0 0,1 h 1 a 0.50005,0.50005 0 1 0 0,-1 z m 2.9961,0.99414 a 0.50005,0.50005 0 0 0 -0.34961,0.85937 l 1,1 a 0.50005,0.50005 0 1 0 0.70703,-0.70703 l -1,-1 a 0.50005,0.50005 0 0 0 -0.35742,-0.15234 z m 0.99414,3 a 0.50005,0.50005 0 0 0 -0.34375,0.15234 l -1,1 a 0.50005,0.50005 0 1 0 0.70703,0.70703 l 1,-1 a 0.50005,0.50005 0 0 0 -0.36328,-0.85937 z m -4.9961,1.00586 a 0.50005,0.50005 0 1 0 0,1 h 2 a 0.50005,0.50005 0 1 0 0,-1 z"
- id="path15483-4"
- inkscape:connector-curvature="0" />
- </g>
- <g
- id="g6238"
- style="fill:#ffffff">
- <g
- id="g15734"
- style="fill:#ffffff">
- <g
- style="opacity:0.6;fill:#ffffff"
- id="g15738">
- <path
- inkscape:connector-curvature="0"
- id="path15684"
- d="m 532.57617,472.98047 a 0.55005501,0.55005501 0 0 0 -0.42383,0.18555 c -0.46657,0.51387 -1.20227,1.13094 -1.20312,2.14257 -10e-4,1.1847 0.85571,2.11411 1.94336,2.91797 1.08765,0.80386 2.47935,1.527 3.84765,2.25782 0.44144,0.23578 0.88242,0.47056 1.3086,0.70312 1.11316,0.60746 2.13512,1.2144 2.84375,1.81836 0.70862,0.60396 1.05894,1.15906 1.05859,1.68359 -4e-4,0.48086 -0.32771,1.0064 -0.79492,1.38086 a 0.55027044,0.55027044 0 1 0 0.6875,0.85938 c 0.65297,-0.52334 1.20625,-1.30182 1.20703,-2.23828 6.6e-4,-0.99421 -0.62031,-1.82029 -1.44531,-2.52344 -0.825,-0.70315 -1.89813,-1.32892 -3.03125,-1.94727 -0.43382,-0.23673 -0.87477,-0.47022 -1.31445,-0.70508 -1.37366,-0.73367 -2.73478,-1.45092 -3.71289,-2.17382 -0.97812,-0.72291 -1.49874,-1.40647 -1.49805,-2.03125 3.7e-4,-0.43907 0.39742,-0.83099 0.91797,-1.4043 a 0.55005501,0.55005501 0 0 0 -0.39063,-0.92578 z m 1.92578,7.9668 a 0.55005501,0.55005501 0 0 0 -0.24804,0.0605 c -0.75,0.375 -1.5313,0.75874 -2.16797,1.28907 -0.63668,0.53032 -1.13681,1.26964 -1.13867,2.20312 0,0.98843 0.53602,1.85319 1.19335,2.41797 a 0.55122854,0.55122854 0 1 0 0.71876,-0.83594 c -0.44771,-0.38466 -0.8125,-1.01968 -0.8125,-1.58203 0.002,-0.56635 0.25363,-0.95243 0.74218,-1.35938 0.48909,-0.40739 1.20703,-0.77343 1.95703,-1.14843 a 0.55005501,0.55005501 0 0 0 -0.24414,-1.04492 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.10000002;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 306.49609,516.00391 a 0.50005,0.50005 0 1 0 0,1 h 2 a 0.50005,0.50005 0 1 0 0,-1 z m -2.00976,0.99414 a 0.50005,0.50005 0 0 0 -0.34375,0.15234 l -1,1 a 0.50005,0.50005 0 1 0 0.70703,0.70703 l 1,-1 a 0.50005,0.50005 0 0 0 -0.36328,-0.85937 z m -1.00195,3 a 0.50005,0.50005 0 0 0 -0.34766,0.85937 l 1,1 a 0.50005,0.50005 0 1 0 0.70703,-0.70703 l -1,-1 a 0.50005,0.50005 0 0 0 -0.35937,-0.15234 z m 3.01171,2.00586 a 0.50005,0.50005 0 1 0 0,1 h 1 a 0.50005,0.50005 0 1 0 0,-1 z m 2.9961,0.99414 a 0.50005,0.50005 0 0 0 -0.34961,0.85937 l 1,1 a 0.50005,0.50005 0 1 0 0.70703,-0.70703 l -1,-1 a 0.50005,0.50005 0 0 0 -0.35742,-0.15234 z m 0.99414,3 a 0.50005,0.50005 0 0 0 -0.34375,0.15234 l -1,1 a 0.50005,0.50005 0 1 0 0.70703,0.70703 l 1,-1 a 0.50005,0.50005 0 0 0 -0.36328,-0.85937 z m -4.9961,1.00586 a 0.50005,0.50005 0 1 0 0,1 h 2 a 0.50005,0.50005 0 1 0 0,-1 z" id="path15483-4" inkscape:connector-curvature="0"/>
+ </g>
+ <g id="g6238" style="fill:#ffffff">
+ <g id="g15734" style="fill:#ffffff">
+ <g style="opacity:0.6;fill:#ffffff" id="g15738">
+ <path inkscape:connector-curvature="0" id="path15684" d="m 532.57617,472.98047 a 0.55005501,0.55005501 0 0 0 -0.42383,0.18555 c -0.46657,0.51387 -1.20227,1.13094 -1.20312,2.14257 -10e-4,1.1847 0.85571,2.11411 1.94336,2.91797 1.08765,0.80386 2.47935,1.527 3.84765,2.25782 0.44144,0.23578 0.88242,0.47056 1.3086,0.70312 1.11316,0.60746 2.13512,1.2144 2.84375,1.81836 0.70862,0.60396 1.05894,1.15906 1.05859,1.68359 -4e-4,0.48086 -0.32771,1.0064 -0.79492,1.38086 a 0.55027044,0.55027044 0 1 0 0.6875,0.85938 c 0.65297,-0.52334 1.20625,-1.30182 1.20703,-2.23828 6.6e-4,-0.99421 -0.62031,-1.82029 -1.44531,-2.52344 -0.825,-0.70315 -1.89813,-1.32892 -3.03125,-1.94727 -0.43382,-0.23673 -0.87477,-0.47022 -1.31445,-0.70508 -1.37366,-0.73367 -2.73478,-1.45092 -3.71289,-2.17382 -0.97812,-0.72291 -1.49874,-1.40647 -1.49805,-2.03125 3.7e-4,-0.43907 0.39742,-0.83099 0.91797,-1.4043 a 0.55005501,0.55005501 0 0 0 -0.39063,-0.92578 z m 1.92578,7.9668 a 0.55005501,0.55005501 0 0 0 -0.24804,0.0605 c -0.75,0.375 -1.5313,0.75874 -2.16797,1.28907 -0.63668,0.53032 -1.13681,1.26964 -1.13867,2.20312 0,0.98843 0.53602,1.85319 1.19335,2.41797 a 0.55122854,0.55122854 0 1 0 0.71876,-0.83594 c -0.44771,-0.38466 -0.8125,-1.01968 -0.8125,-1.58203 0.002,-0.56635 0.25363,-0.95243 0.74218,-1.35938 0.48909,-0.40739 1.20703,-0.77343 1.95703,-1.14843 a 0.55005501,0.55005501 0 0 0 -0.24414,-1.04492 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.10000002;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
</g>
- <path
- inkscape:connector-curvature="0"
- id="path15690"
- d="m 533.5,475 a 0.50005,0.50005 0 1 0 0,1 h 2 a 0.50005,0.50005 0 1 0 0,-1 z m 0,9 a 0.50005,0.50005 0 1 0 0,1 h 2 A 0.50005,0.50005 0 0 0 536,484.58008 0.50005,0.50005 0 0 0 536.5,485 h 4 a 0.50005,0.50005 0 1 0 0,-1 h -4 A 0.50005,0.50005 0 0 0 536,484.41992 0.50005,0.50005 0 0 0 535.5,484 Z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.5;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
+ <path inkscape:connector-curvature="0" id="path15690" d="m 533.5,475 a 0.50005,0.50005 0 1 0 0,1 h 2 a 0.50005,0.50005 0 1 0 0,-1 z m 0,9 a 0.50005,0.50005 0 1 0 0,1 h 2 A 0.50005,0.50005 0 0 0 536,484.58008 0.50005,0.50005 0 0 0 536.5,485 h 4 a 0.50005,0.50005 0 1 0 0,-1 h -4 A 0.50005,0.50005 0 0 0 536,484.41992 0.50005,0.50005 0 0 0 535.5,484 Z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.5;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
</g>
- <path
- sodipodi:nodetypes="sssssccccccccccccc"
- inkscape:connector-curvature="0"
- id="path13640-8"
- d="m 540.5,472.25 c -1.933,0 -3.5,1.567 -3.5,3.5 0,1.933 1.567,3.5 3.5,3.5 1.933,0 3.5,-1.567 3.5,-3.5 0,-1.933 -1.567,-3.5 -3.5,-3.5 z m -0.5,1 h 1 v 2 h 2 v 1 h -2 v 2 h -1 v -2 h -2 v -1 h 2 z"
- style="display:inline;opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.80000001;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:new" />
- </g>
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g15124-5"
- transform="translate(-558,-200)">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.20000005;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 247.59961,579 a 0.60006002,0.60006002 0 0 0 -0.41797,1.03125 l 2.78711,2.78711 a 0.60076499,0.60076499 0 0 0 0.84961,-0.84961 l -2.78711,-2.78711 A 0.60006002,0.60006002 0 0 0 247.59961,579 Z m -0.11133,2.89453 a 0.60006002,0.60006002 0 0 0 -0.41211,0.18164 l -1,1 a 0.60006002,0.60006002 0 1 0 0.84766,0.84766 l 1,-1 a 0.60006002,0.60006002 0 0 0 -0.43555,-1.0293 z m -3,3 a 0.60006002,0.60006002 0 0 0 -0.41211,0.18164 l -1,1 a 0.60006002,0.60006002 0 1 0 0.84766,0.84766 l 1,-1 a 0.60006002,0.60006002 0 0 0 -0.43555,-1.0293 z m -3,3 a 0.60006002,0.60006002 0 0 0 -0.41211,0.18164 l -1,1 a 0.60006002,0.60006002 0 1 0 0.84766,0.84766 l 1,-1 a 0.60006002,0.60006002 0 0 0 -0.43555,-1.0293 z M 237.59961,589 a 0.60006002,0.60006002 0 0 0 -0.41797,1.03125 l 2.78711,2.78711 a 0.60076499,0.60076499 0 0 0 0.84961,-0.84961 l -2.78711,-2.78711 A 0.60006002,0.60006002 0 0 0 237.59961,589 Z"
- transform="translate(558,200)"
- id="path15289-7"
- inkscape:connector-curvature="0" />
- </g>
- <g
- inkscape:export-ydpi="96"
- inkscape:export-xdpi="96"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- id="g15178-7"
- style="display:inline;opacity:1;fill:#ffffff;stroke:#ffffff;stroke-width:1.33333337;stroke-miterlimit:4;stroke-dasharray:none;enable-background:new"
- transform="matrix(-0.53033009,-0.53033009,-0.53033009,0.53033009,580.8635,617.75914)">
- <g
- id="g15176-5"
- style="fill:#ffffff;stroke:#ffffff;stroke-width:1.33333337;stroke-miterlimit:4;stroke-dasharray:none">
- <g
- id="g15174-3"
- style="fill:#ffffff">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 281.51172,579 a 0.50005002,0.50005002 0 0 0 -0.41797,0.20898 c -2.81255,3.79393 -2.81255,9.78811 0,13.58204 a 0.50005002,0.50005002 0 1 0 0.80273,-0.59571 c -2.50459,-3.37852 -2.50459,-9.0121 0,-12.39062 A 0.50005002,0.50005002 0 0 0 281.51172,579 Z m 8.95898,0 a 0.50005002,0.50005002 0 0 0 -0.38476,0.80469 c 2.50459,3.37852 2.50459,9.0121 0,12.39062 a 0.50059472,0.50059472 0 1 0 0.80468,0.59571 c 2.81256,-3.79393 2.81256,-9.78811 0,-13.58204 A 0.50005002,0.50005002 0 0 0 290.47266,579 a 0.50005002,0.50005002 0 0 1 -0.002,0 z m -6.98047,2.99219 a 0.50005002,0.50005002 0 0 0 -0.39648,0.79883 l 2.29102,3.20898 -2.29297,3.20898 a 0.50131814,0.50131814 0 1 0 0.8164,0.58204 l 2.0918,-2.92969 2.0918,2.92969 a 0.50131814,0.50131814 0 1 0 0.8164,-0.58204 L 286.61523,586 l 2.29102,-3.20898 a 0.50005002,0.50005002 0 0 0 -0.0312,-0.63282 0.50005002,0.50005002 0 0 0 -0.78125,0.0508 l -2.0938,2.92967 -2.09375,-2.92969 a 0.50005002,0.50005002 0 0 0 -0.0527,-0.0664 0.50005002,0.50005002 0 0 0 -0.36329,-0.15039 z"
- transform="matrix(-0.94280903,-0.94280903,-0.94280903,0.94280903,1130.0723,-34.785543)"
- id="path15160-1"
- inkscape:connector-curvature="0" />
+ <path sodipodi:nodetypes="sssssccccccccccccc" inkscape:connector-curvature="0" id="path13640-8" d="m 540.5,472.25 c -1.933,0 -3.5,1.567 -3.5,3.5 0,1.933 1.567,3.5 3.5,3.5 1.933,0 3.5,-1.567 3.5,-3.5 0,-1.933 -1.567,-3.5 -3.5,-3.5 z m -0.5,1 h 1 v 2 h 2 v 1 h -2 v 2 h -1 v -2 h -2 v -1 h 2 z" style="display:inline;opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.80000001;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:new"/>
+ </g>
+ <g style="display:inline;fill:#ffffff;enable-background:new" id="g15124-5" transform="translate(-558,-200)">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.20000005;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 247.59961,579 a 0.60006002,0.60006002 0 0 0 -0.41797,1.03125 l 2.78711,2.78711 a 0.60076499,0.60076499 0 0 0 0.84961,-0.84961 l -2.78711,-2.78711 A 0.60006002,0.60006002 0 0 0 247.59961,579 Z m -0.11133,2.89453 a 0.60006002,0.60006002 0 0 0 -0.41211,0.18164 l -1,1 a 0.60006002,0.60006002 0 1 0 0.84766,0.84766 l 1,-1 a 0.60006002,0.60006002 0 0 0 -0.43555,-1.0293 z m -3,3 a 0.60006002,0.60006002 0 0 0 -0.41211,0.18164 l -1,1 a 0.60006002,0.60006002 0 1 0 0.84766,0.84766 l 1,-1 a 0.60006002,0.60006002 0 0 0 -0.43555,-1.0293 z m -3,3 a 0.60006002,0.60006002 0 0 0 -0.41211,0.18164 l -1,1 a 0.60006002,0.60006002 0 1 0 0.84766,0.84766 l 1,-1 a 0.60006002,0.60006002 0 0 0 -0.43555,-1.0293 z M 237.59961,589 a 0.60006002,0.60006002 0 0 0 -0.41797,1.03125 l 2.78711,2.78711 a 0.60076499,0.60076499 0 0 0 0.84961,-0.84961 l -2.78711,-2.78711 A 0.60006002,0.60006002 0 0 0 237.59961,589 Z" transform="translate(558,200)" id="path15289-7" inkscape:connector-curvature="0"/>
+ </g>
+ <g inkscape:export-ydpi="96" inkscape:export-xdpi="96" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" id="g15178-7" style="display:inline;opacity:1;fill:#ffffff;stroke:#ffffff;stroke-width:1.33333337;stroke-miterlimit:4;stroke-dasharray:none;enable-background:new" transform="matrix(-0.53033009,-0.53033009,-0.53033009,0.53033009,580.8635,617.75914)">
+ <g id="g15176-5" style="fill:#ffffff;stroke:#ffffff;stroke-width:1.33333337;stroke-miterlimit:4;stroke-dasharray:none">
+ <g id="g15174-3" style="fill:#ffffff">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 281.51172,579 a 0.50005002,0.50005002 0 0 0 -0.41797,0.20898 c -2.81255,3.79393 -2.81255,9.78811 0,13.58204 a 0.50005002,0.50005002 0 1 0 0.80273,-0.59571 c -2.50459,-3.37852 -2.50459,-9.0121 0,-12.39062 A 0.50005002,0.50005002 0 0 0 281.51172,579 Z m 8.95898,0 a 0.50005002,0.50005002 0 0 0 -0.38476,0.80469 c 2.50459,3.37852 2.50459,9.0121 0,12.39062 a 0.50059472,0.50059472 0 1 0 0.80468,0.59571 c 2.81256,-3.79393 2.81256,-9.78811 0,-13.58204 A 0.50005002,0.50005002 0 0 0 290.47266,579 a 0.50005002,0.50005002 0 0 1 -0.002,0 z m -6.98047,2.99219 a 0.50005002,0.50005002 0 0 0 -0.39648,0.79883 l 2.29102,3.20898 -2.29297,3.20898 a 0.50131814,0.50131814 0 1 0 0.8164,0.58204 l 2.0918,-2.92969 2.0918,2.92969 a 0.50131814,0.50131814 0 1 0 0.8164,-0.58204 L 286.61523,586 l 2.29102,-3.20898 a 0.50005002,0.50005002 0 0 0 -0.0312,-0.63282 0.50005002,0.50005002 0 0 0 -0.78125,0.0508 l -2.0938,2.92967 -2.09375,-2.92969 a 0.50005002,0.50005002 0 0 0 -0.0527,-0.0664 0.50005002,0.50005002 0 0 0 -0.36329,-0.15039 z" transform="matrix(-0.94280903,-0.94280903,-0.94280903,0.94280903,1130.0723,-34.785543)" id="path15160-1" inkscape:connector-curvature="0"/>
</g>
</g>
</g>
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g15242-0"
- transform="translate(-558,-305)">
- <g
- id="g15149-2"
- transform="translate(21,43)"
- style="fill:#ffffff">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="M 259.49219,578.99219 A 0.50005,0.50005 0 0 0 259,579.5 v 11.91992 a 0.50005,0.50005 0 0 0 0.11328,0.4043 0.50005,0.50005 0 0 0 0.0156,0.0195 0.50005,0.50005 0 0 0 0.0176,0.0176 0.50005,0.50005 0 0 0 0.004,0.002 0.50005,0.50005 0 0 0 0.0332,0.0312 0.50005,0.50005 0 0 0 0.004,0.002 A 0.50005,0.50005 0 0 0 259.58203,592 H 271.5 a 0.50005,0.50005 0 1 0 0,-1 H 260 v -11.5 a 0.50005,0.50005 0 0 0 -0.50781,-0.50781 z m 1.94922,3.08593 a 0.50005,0.50005 0 1 0 0,1 h 1 a 0.50005,0.50005 0 1 0 0,-1 z m 3.28515,0.70899 a 0.50005,0.50005 0 0 0 -0.18945,0.96484 l 1,0.41602 a 0.50005,0.50005 0 1 0 0.38477,-0.92188 l -1,-0.41797 a 0.50005,0.50005 0 0 0 -0.19532,-0.041 z m 2.57813,1.99609 a 0.50005,0.50005 0 0 0 -0.45508,0.69922 l 0.41797,1 a 0.50037731,0.50037731 0 0 0 0.92383,-0.38476 l -0.41797,-1 a 0.50005,0.50005 0 0 0 -0.46875,-0.31446 z m 1.16601,3.25 a 0.50005,0.50005 0 0 0 -0.49218,0.50586 v 1 a 0.50005,0.50005 0 1 0 1,0 v -1 a 0.50005,0.50005 0 0 0 -0.50782,-0.50586 z"
- transform="translate(537,262)"
- id="path15133-4"
- inkscape:connector-curvature="0" />
+ <g style="display:inline;fill:#ffffff;enable-background:new" id="g15242-0" transform="translate(-558,-305)">
+ <g id="g15149-2" transform="translate(21,43)" style="fill:#ffffff">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="M 259.49219,578.99219 A 0.50005,0.50005 0 0 0 259,579.5 v 11.91992 a 0.50005,0.50005 0 0 0 0.11328,0.4043 0.50005,0.50005 0 0 0 0.0156,0.0195 0.50005,0.50005 0 0 0 0.0176,0.0176 0.50005,0.50005 0 0 0 0.004,0.002 0.50005,0.50005 0 0 0 0.0332,0.0312 0.50005,0.50005 0 0 0 0.004,0.002 A 0.50005,0.50005 0 0 0 259.58203,592 H 271.5 a 0.50005,0.50005 0 1 0 0,-1 H 260 v -11.5 a 0.50005,0.50005 0 0 0 -0.50781,-0.50781 z m 1.94922,3.08593 a 0.50005,0.50005 0 1 0 0,1 h 1 a 0.50005,0.50005 0 1 0 0,-1 z m 3.28515,0.70899 a 0.50005,0.50005 0 0 0 -0.18945,0.96484 l 1,0.41602 a 0.50005,0.50005 0 1 0 0.38477,-0.92188 l -1,-0.41797 a 0.50005,0.50005 0 0 0 -0.19532,-0.041 z m 2.57813,1.99609 a 0.50005,0.50005 0 0 0 -0.45508,0.69922 l 0.41797,1 a 0.50037731,0.50037731 0 0 0 0.92383,-0.38476 l -0.41797,-1 a 0.50005,0.50005 0 0 0 -0.46875,-0.31446 z m 1.16601,3.25 a 0.50005,0.50005 0 0 0 -0.49218,0.50586 v 1 a 0.50005,0.50005 0 1 0 1,0 v -1 a 0.50005,0.50005 0 0 0 -0.50782,-0.50586 z" transform="translate(537,262)" id="path15133-4" inkscape:connector-curvature="0"/>
</g>
- <g
- inkscape:export-ydpi="96"
- inkscape:export-xdpi="96"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- transform="translate(555.01703,519.07892)"
- id="g12701-3-4"
- style="display:inline;fill:#ffffff;enable-background:new" />
- </g>
- <g
- transform="translate(-390.0036,-305.9964)"
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g15818-1">
- <path
- inkscape:connector-curvature="0"
- id="path15352-4"
- d="m 718.49219,868 c -0.12989,0.002 -0.25387,0.0546 -0.34571,0.14648 L 717,869.29297 718.70703,871 l 1.14649,-1.14648 c 0.19519,-0.19527 0.19519,-0.51177 0,-0.70704 l -1,-1 c -0.0957,-0.0957 -0.22603,-0.14855 -0.36133,-0.14648 z m -2.19922,2 -5.14649,5.14648 c -0.19519,0.19527 -0.19519,0.51177 0,0.70704 l 1,1 c 0.19527,0.19519 0.51177,0.19519 0.70704,0 L 718,871.70703 Z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.7;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- sodipodi:nodetypes="ccccccscccccccc" />
- <g
- transform="translate(42)"
- id="g15380-9"
- style="opacity:1;fill:#ffffff">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="M 672.49219,862.99219 A 0.50005,0.50005 0 0 0 672,863.5 v 1.5 h -1.5 a 0.50005,0.50005 0 1 0 0,1 h 1.5 v 1.5 a 0.50005,0.50005 0 1 0 1,0 V 866 h 1.5 a 0.50005,0.50005 0 1 0 0,-1 H 673 v -1.5 a 0.50005,0.50005 0 0 0 -0.50781,-0.50781 z m 8,0.5 A 0.50005,0.50005 0 0 0 680,864 v 1 h -1 a 0.50005,0.50005 0 1 0 0,1 h 1 v 1 a 0.50005,0.50005 0 1 0 1,0 v -1 h 1 a 0.50005,0.50005 0 1 0 0,-1 h -1 v -1 a 0.50005,0.50005 0 0 0 -0.50781,-0.50781 z m 0,7.5 A 0.50005,0.50005 0 0 0 680,871.5 v 1.5 h -1.5 a 0.50005,0.50005 0 1 0 0,1 h 1.5 v 1.5 a 0.50005,0.50005 0 1 0 1,0 V 874 h 1.5 a 0.50005,0.50005 0 1 0 0,-1 H 681 v -1.5 a 0.50005,0.50005 0 0 0 -0.50781,-0.50781 z"
- id="path15378-5"
- inkscape:connector-curvature="0" />
+ <g inkscape:export-ydpi="96" inkscape:export-xdpi="96" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" transform="translate(555.01703,519.07892)" id="g12701-3-4" style="display:inline;fill:#ffffff;enable-background:new"/>
+ </g>
+ <g transform="translate(-390.0036,-305.9964)" style="display:inline;fill:#ffffff;enable-background:new" id="g15818-1">
+ <path inkscape:connector-curvature="0" id="path15352-4" d="m 718.49219,868 c -0.12989,0.002 -0.25387,0.0546 -0.34571,0.14648 L 717,869.29297 718.70703,871 l 1.14649,-1.14648 c 0.19519,-0.19527 0.19519,-0.51177 0,-0.70704 l -1,-1 c -0.0957,-0.0957 -0.22603,-0.14855 -0.36133,-0.14648 z m -2.19922,2 -5.14649,5.14648 c -0.19519,0.19527 -0.19519,0.51177 0,0.70704 l 1,1 c 0.19527,0.19519 0.51177,0.19519 0.70704,0 L 718,871.70703 Z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.7;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" sodipodi:nodetypes="ccccccscccccccc"/>
+ <g transform="translate(42)" id="g15380-9" style="opacity:1;fill:#ffffff">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="M 672.49219,862.99219 A 0.50005,0.50005 0 0 0 672,863.5 v 1.5 h -1.5 a 0.50005,0.50005 0 1 0 0,1 h 1.5 v 1.5 a 0.50005,0.50005 0 1 0 1,0 V 866 h 1.5 a 0.50005,0.50005 0 1 0 0,-1 H 673 v -1.5 a 0.50005,0.50005 0 0 0 -0.50781,-0.50781 z m 8,0.5 A 0.50005,0.50005 0 0 0 680,864 v 1 h -1 a 0.50005,0.50005 0 1 0 0,1 h 1 v 1 a 0.50005,0.50005 0 1 0 1,0 v -1 h 1 a 0.50005,0.50005 0 1 0 0,-1 h -1 v -1 a 0.50005,0.50005 0 0 0 -0.50781,-0.50781 z m 0,7.5 A 0.50005,0.50005 0 0 0 680,871.5 v 1.5 h -1.5 a 0.50005,0.50005 0 1 0 0,1 h 1.5 v 1.5 a 0.50005,0.50005 0 1 0 1,0 V 874 h 1.5 a 0.50005,0.50005 0 1 0 0,-1 H 681 v -1.5 a 0.50005,0.50005 0 0 0 -0.50781,-0.50781 z" id="path15378-5" inkscape:connector-curvature="0"/>
</g>
</g>
- <g
- transform="translate(-126.00356,356.99997)"
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g15185-9">
- <path
- id="circle24228-7-4-8"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 301,99 c -0.54636,0 -1,0.453638 -1,1 0,0.54636 0.45364,1 1,1 0.54636,0 1,-0.45364 1,-1 0,-0.546362 -0.45364,-1 -1,-1 z m 0,4 c -0.54636,0 -1,0.45364 -1,1 0,0.54636 0.45364,1 1,1 0.54636,0 1,-0.45364 1,-1 0,-0.54636 -0.45364,-1 -1,-1 z m 0,4 c -0.54636,0 -1,0.45364 -1,1 0,0.54636 0.45364,1 1,1 0.54636,0 1,-0.45364 1,-1 0,-0.54636 -0.45364,-1 -1,-1 z m 3.5,-7 c -0.67616,-0.0096 -0.67616,1.00956 0,1 h 2.25977 c -0.20553,-0.30677 -0.35861,-0.64616 -0.48438,-1 z m 0,4 c -0.67616,-0.01 -0.67616,1.00956 0,1 h 8 c 0.67616,0.01 0.67616,-1.00956 0,-1 z m 0,4 c -0.67616,-0.01 -0.67616,1.00956 0,1 h 8 c 0.67616,0.01 0.67616,-1.00956 0,-1 z"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="sssssssssssssssccccccccccccccc" />
- <path
- sodipodi:nodetypes="sssssccccccccccccc"
- inkscape:connector-curvature="0"
- id="path13640-7-5"
- d="m 310.5,95 c -1.933,0 -3.5,1.567 -3.5,3.5 0,1.933 1.567,3.5 3.5,3.5 1.933,0 3.5,-1.567 3.5,-3.5 0,-1.933 -1.567,-3.5 -3.5,-3.5 z m -0.5,1 h 1 v 2 h 2 v 1 h -2 v 2 h -1 v -2 h -2 v -1 h 2 z"
- style="display:inline;opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.80000001;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:new" />
- </g>
- <g
- id="g15277"
- transform="translate(21,-41)"
- style="fill:#ffffff">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.5;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 216.49219,286 a 0.50005,0.50005 0 0 0 -0.5,0.5 L 216,297.50781 a 0.50005,0.50005 0 0 0 0.5,0.5 h 11 a 0.50005,0.50005 0 0 0 0.5,-0.5 V 295 h -1 v 2.00781 H 217 L 216.99219,287 H 219 v -1 z"
- id="path15273"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 227.53906,284 c -0.61479,0.0726 -1.18185,0.348 -1.74609,0.6543 C 224.66449,285.2669 223.53333,286 222.5,286 h -1 a 0.50005,0.50005 0 1 0 0,1 h 1 c 1.46667,0 2.71051,-0.8919 3.76953,-1.4668 0.52951,-0.28745 1.00932,-0.49644 1.38672,-0.54101 0.3774,-0.0446 0.64533,0.0164 0.99023,0.36133 0.34491,0.3449 0.40591,0.61283 0.36133,0.99023 -0.0446,0.3774 -0.25356,0.85721 -0.54101,1.38672 C 227.8919,288.78949 227,290.03333 227,291.5 v 1 a 0.50005,0.50005 0 1 0 1,0 v -1 c 0,-1.03333 0.7331,-2.16449 1.3457,-3.29297 0.3063,-0.56424 0.58169,-1.1313 0.6543,-1.74609 0.0726,-0.61479 -0.11639,-1.28436 -0.64648,-1.81446 -0.5301,-0.53009 -1.19967,-0.71909 -1.81446,-0.64648 z"
- id="path15275"
- inkscape:connector-curvature="0" />
- </g>
- <g
- transform="translate(-541,-51)"
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g15431-6">
- <path
- inkscape:connector-curvature="0"
- id="rect15415-8"
- d="m 548,653 c -0.54532,0 -1,0.45468 -1,1 v 9 c 0,0.54532 0.45468,1 1,1 h 10 c 0.54532,0 1,-0.45468 1,-1 v -1 h -1 v 1 h -10 v -4 -5 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
- <path
- inkscape:connector-curvature="0"
- id="rect15379-7"
- d="m 550,650 c -0.54532,0 -1,0.45468 -1,1 v 9 c 0,0.54532 0.45468,1 1,1 h 10 c 0.54532,0 1,-0.45468 1,-1 v -9 c 0,-0.54532 -0.45468,-1 -1,-1 z m 0,1 h 2 v 2 h -2 z m 0,3 h 10 v 6 h -10 z"
- style="opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke" />
- </g>
- <path
- inkscape:connector-curvature="0"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 342.5,158 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 13 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 13 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -13 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z m 6.5,3 c 2.20237,0 4,1.79764 4,4 0,2.20237 -1.79763,4 -4,4 -2.20236,0 -4,-1.79763 -4,-4 0,-2.20236 1.79764,-4 4,-4 z"
- id="rect13348" />
- <g
- id="g15500"
- style="display:inline;fill:#ffffff;enable-background:new">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 384.5,158 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 3 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 13 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -3 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z m 0.5,1 h 12 v 2 h -12 z m -0.5,9 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 3 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 13 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -3 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z m 0.5,1 h 12 v 2 h -12 z"
- id="path15496"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="cccccccccccccccccccccccccccc" />
- <path
- style="opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke"
- d="M 393.00001,165 A 2.000005,2.000005 0 0 1 391,167.00001 2.000005,2.000005 0 0 1 388.99999,165 2.000005,2.000005 0 0 1 391,162.99999 2.000005,2.000005 0 0 1 393.00001,165 Z"
- id="circle15498"
- inkscape:connector-curvature="0" />
- </g>
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g20455"
- transform="rotate(-180,359.49632,417.00345)">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 283.49219,330.00781 c -0.1326,3e-5 -0.25976,0.0527 -0.35352,0.14649 l -2,2 c -0.0938,0.0938 -0.14645,0.22091 -0.14648,0.35351 v 5 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 5 c 0.1326,-3e-5 0.25975,-0.0527 0.35351,-0.14648 l 2,-2 c 0.0938,-0.0938 0.14646,-0.22092 0.14649,-0.35352 v -5 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z"
- id="path20447"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="ccccccccccccc" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 284.25,326 a 0.50005,0.50005 0 0 0 -0.35352,0.14648 l -4.75,4.75 A 0.50005,0.50005 0 0 0 279,331.25 l -0.008,8.25586 a 0.50005,0.50005 0 0 0 0.50195,0.50195 L 287.75,340 a 0.50005,0.50005 0 0 0 0.35352,-0.14648 l 4.75,-4.75 A 0.50005,0.50005 0 0 0 293,334.75 l -0.008,-8.24414 a 0.50005,0.50005 0 0 0 -0.49805,-0.49805 z m 0.20703,1 7.53711,0.006 0.006,7.53711 -4.45703,4.45703 -7.55078,0.008 0.008,-7.55078 z"
- id="path20449"
- inkscape:connector-curvature="0" />
- </g>
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g15543"
- transform="translate(42,-41.999994)">
- <g
- id="g15520"
- transform="translate(231.99999,-397.99995)"
- style="display:inline;opacity:0.6;fill:#ffffff;enable-background:new"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- inkscape:export-xdpi="96"
- inkscape:export-ydpi="96">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 430.48047,53 c -0.15153,0.004 -0.29304,0.07659 -0.38477,0.197266 l -3.94922,3.949218 C 425.83169,57.461484 426.05468,57.99983 426.5,58 h 4 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 V 54 h 6 v 3.5 c -0.01,0.676161 1.00956,0.676161 1,0 v -4 c -3e-5,-0.276131 -0.22387,-0.499972 -0.5,-0.5 h -7 c -0.005,-6.2e-5 -0.009,-6.2e-5 -0.0137,0 -6.7e-4,1.8e-5 -0.001,-2.1e-5 -0.002,0 -0.001,4.1e-5 -0.003,-5e-5 -0.004,0 z M 426,59.000004 V 66.5 c 3e-5,0.276131 0.22387,0.499972 0.5,0.5 h 4.25 c 0.67616,0.0096 0.67616,-1.009563 0,-1 H 427 v -6.999996 z"
- transform="translate(-273.99999,439.99994)"
- id="path15514"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="ccccccccccccccccccccccccc" />
+ <g transform="translate(-126.00356,356.99997)" style="display:inline;fill:#ffffff;enable-background:new" id="g15185-9">
+ <path id="circle24228-7-4-8" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 301,99 c -0.54636,0 -1,0.453638 -1,1 0,0.54636 0.45364,1 1,1 0.54636,0 1,-0.45364 1,-1 0,-0.546362 -0.45364,-1 -1,-1 z m 0,4 c -0.54636,0 -1,0.45364 -1,1 0,0.54636 0.45364,1 1,1 0.54636,0 1,-0.45364 1,-1 0,-0.54636 -0.45364,-1 -1,-1 z m 0,4 c -0.54636,0 -1,0.45364 -1,1 0,0.54636 0.45364,1 1,1 0.54636,0 1,-0.45364 1,-1 0,-0.54636 -0.45364,-1 -1,-1 z m 3.5,-7 c -0.67616,-0.0096 -0.67616,1.00956 0,1 h 2.25977 c -0.20553,-0.30677 -0.35861,-0.64616 -0.48438,-1 z m 0,4 c -0.67616,-0.01 -0.67616,1.00956 0,1 h 8 c 0.67616,0.01 0.67616,-1.00956 0,-1 z m 0,4 c -0.67616,-0.01 -0.67616,1.00956 0,1 h 8 c 0.67616,0.01 0.67616,-1.00956 0,-1 z" inkscape:connector-curvature="0" sodipodi:nodetypes="sssssssssssssssccccccccccccccc"/>
+ <path sodipodi:nodetypes="sssssccccccccccccc" inkscape:connector-curvature="0" id="path13640-7-5" d="m 310.5,95 c -1.933,0 -3.5,1.567 -3.5,3.5 0,1.933 1.567,3.5 3.5,3.5 1.933,0 3.5,-1.567 3.5,-3.5 0,-1.933 -1.567,-3.5 -3.5,-3.5 z m -0.5,1 h 1 v 2 h 2 v 1 h -2 v 2 h -1 v -2 h -2 v -1 h 2 z" style="display:inline;opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.80000001;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:new"/>
+ </g>
+ <g id="g15277" transform="translate(21,-41)" style="fill:#ffffff">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.5;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 216.49219,286 a 0.50005,0.50005 0 0 0 -0.5,0.5 L 216,297.50781 a 0.50005,0.50005 0 0 0 0.5,0.5 h 11 a 0.50005,0.50005 0 0 0 0.5,-0.5 V 295 h -1 v 2.00781 H 217 L 216.99219,287 H 219 v -1 z" id="path15273" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 227.53906,284 c -0.61479,0.0726 -1.18185,0.348 -1.74609,0.6543 C 224.66449,285.2669 223.53333,286 222.5,286 h -1 a 0.50005,0.50005 0 1 0 0,1 h 1 c 1.46667,0 2.71051,-0.8919 3.76953,-1.4668 0.52951,-0.28745 1.00932,-0.49644 1.38672,-0.54101 0.3774,-0.0446 0.64533,0.0164 0.99023,0.36133 0.34491,0.3449 0.40591,0.61283 0.36133,0.99023 -0.0446,0.3774 -0.25356,0.85721 -0.54101,1.38672 C 227.8919,288.78949 227,290.03333 227,291.5 v 1 a 0.50005,0.50005 0 1 0 1,0 v -1 c 0,-1.03333 0.7331,-2.16449 1.3457,-3.29297 0.3063,-0.56424 0.58169,-1.1313 0.6543,-1.74609 0.0726,-0.61479 -0.11639,-1.28436 -0.64648,-1.81446 -0.5301,-0.53009 -1.19967,-0.71909 -1.81446,-0.64648 z" id="path15275" inkscape:connector-curvature="0"/>
+ </g>
+ <g transform="translate(-541,-51)" style="display:inline;fill:#ffffff;enable-background:new" id="g15431-6">
+ <path inkscape:connector-curvature="0" id="rect15415-8" d="m 548,653 c -0.54532,0 -1,0.45468 -1,1 v 9 c 0,0.54532 0.45468,1 1,1 h 10 c 0.54532,0 1,-0.45468 1,-1 v -1 h -1 v 1 h -10 v -4 -5 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
+ <path inkscape:connector-curvature="0" id="rect15379-7" d="m 550,650 c -0.54532,0 -1,0.45468 -1,1 v 9 c 0,0.54532 0.45468,1 1,1 h 10 c 0.54532,0 1,-0.45468 1,-1 v -9 c 0,-0.54532 -0.45468,-1 -1,-1 z m 0,1 h 2 v 2 h -2 z m 0,3 h 10 v 6 h -10 z" style="opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke"/>
+ </g>
+ <path inkscape:connector-curvature="0" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 342.5,158 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 13 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 13 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -13 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z m 6.5,3 c 2.20237,0 4,1.79764 4,4 0,2.20237 -1.79763,4 -4,4 -2.20236,0 -4,-1.79763 -4,-4 0,-2.20236 1.79764,-4 4,-4 z" id="rect13348"/>
+ <g id="g15500" style="display:inline;fill:#ffffff;enable-background:new">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 384.5,158 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 3 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 13 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -3 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z m 0.5,1 h 12 v 2 h -12 z m -0.5,9 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 3 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 13 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -3 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z m 0.5,1 h 12 v 2 h -12 z" id="path15496" inkscape:connector-curvature="0" sodipodi:nodetypes="cccccccccccccccccccccccccccc"/>
+ <path style="opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke" d="M 393.00001,165 A 2.000005,2.000005 0 0 1 391,167.00001 2.000005,2.000005 0 0 1 388.99999,165 2.000005,2.000005 0 0 1 391,162.99999 2.000005,2.000005 0 0 1 393.00001,165 Z" id="circle15498" inkscape:connector-curvature="0"/>
+ </g>
+ <g style="display:inline;fill:#ffffff;enable-background:new" id="g20455" transform="rotate(-180,359.49632,417.00345)">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 283.49219,330.00781 c -0.1326,3e-5 -0.25976,0.0527 -0.35352,0.14649 l -2,2 c -0.0938,0.0938 -0.14645,0.22091 -0.14648,0.35351 v 5 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 5 c 0.1326,-3e-5 0.25975,-0.0527 0.35351,-0.14648 l 2,-2 c 0.0938,-0.0938 0.14646,-0.22092 0.14649,-0.35352 v -5 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z" id="path20447" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccccccccccc"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 284.25,326 a 0.50005,0.50005 0 0 0 -0.35352,0.14648 l -4.75,4.75 A 0.50005,0.50005 0 0 0 279,331.25 l -0.008,8.25586 a 0.50005,0.50005 0 0 0 0.50195,0.50195 L 287.75,340 a 0.50005,0.50005 0 0 0 0.35352,-0.14648 l 4.75,-4.75 A 0.50005,0.50005 0 0 0 293,334.75 l -0.008,-8.24414 a 0.50005,0.50005 0 0 0 -0.49805,-0.49805 z m 0.20703,1 7.53711,0.006 0.006,7.53711 -4.45703,4.45703 -7.55078,0.008 0.008,-7.55078 z" id="path20449" inkscape:connector-curvature="0"/>
+ </g>
+ <g style="display:inline;fill:#ffffff;enable-background:new" id="g15543" transform="translate(42,-41.999994)">
+ <g id="g15520" transform="translate(231.99999,-397.99995)" style="display:inline;opacity:0.6;fill:#ffffff;enable-background:new" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" inkscape:export-xdpi="96" inkscape:export-ydpi="96">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 430.48047,53 c -0.15153,0.004 -0.29304,0.07659 -0.38477,0.197266 l -3.94922,3.949218 C 425.83169,57.461484 426.05468,57.99983 426.5,58 h 4 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 V 54 h 6 v 3.5 c -0.01,0.676161 1.00956,0.676161 1,0 v -4 c -3e-5,-0.276131 -0.22387,-0.499972 -0.5,-0.5 h -7 c -0.005,-6.2e-5 -0.009,-6.2e-5 -0.0137,0 -6.7e-4,1.8e-5 -0.001,-2.1e-5 -0.002,0 -0.001,4.1e-5 -0.003,-5e-5 -0.004,0 z M 426,59.000004 V 66.5 c 3e-5,0.276131 0.22387,0.499972 0.5,0.5 h 4.25 c 0.67616,0.0096 0.67616,-1.009563 0,-1 H 427 v -6.999996 z" transform="translate(-273.99999,439.99994)" id="path15514" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccccccccccccccccccccccc"/>
</g>
- <g
- inkscape:export-ydpi="96"
- inkscape:export-xdpi="96"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- style="display:inline;opacity:1;fill:#ffffff;stroke-width:1.25111365;enable-background:new"
- transform="matrix(-0.79928788,0,0,0.79928788,686.43544,-75.73586)"
- id="g12909-3">
- <path
- style="display:inline;opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.99999988;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:new"
- d="m 435.50195,58 a 0.50005,0.50005 0 0 0 -0.50586,0.507812 L 435,59.847656 c -0.37235,0.07227 -0.71903,0.219786 -1.02148,0.427735 l -1.12696,-1.123047 a 0.50005,0.50005 0 0 0 -0.34375,-0.150391 0.50005,0.50005 0 0 0 -0.36133,0.859375 l 1.12696,1.123047 c -0.20773,0.30118 -0.3566,0.644813 -0.42969,1.015625 l -1.3457,0.002 a 0.5009775,0.5009775 0 0 0 0.002,1.001953 L 432.83789,63 c 0.0676,0.378442 0.20857,0.7312 0.41602,1.039062 l -1.10743,1.109376 a 0.50005,0.50005 0 1 0 0.70508,0.705078 l 1.10352,-1.101563 c 0.30785,0.216541 0.661,0.370975 1.04297,0.445313 l -0.002,1.300781 a 0.50098382,0.50098382 0 1 0 1.00196,0.0039 L 436,65.199219 c 0.38598,-0.06997 0.74484,-0.216649 1.05664,-0.431641 l 1.08203,1.085938 a 0.5000572,0.5000572 0 1 0 0.70899,-0.705078 l -1.08399,-1.087891 C 437.97884,63.747505 438.12621,63.387471 438.19531,63 H 439.5 a 0.50033424,0.50033424 0 1 0 0,-1 h -1.31055 c -0.0748,-0.379778 -0.22985,-0.730801 -0.44531,-1.037109 l 1.10156,-1.103516 A 0.50005,0.50005 0 0 0 438.49805,59 a 0.50005,0.50005 0 0 0 -0.35743,0.154297 l -1.10742,1.105469 C 436.72738,60.053691 436.37559,59.913865 436,59.845703 l -0.004,-1.339844 A 0.50005,0.50005 0 0 0 435.50195,58 Z m -0.002,3.300781 c 0.66274,0 1.19921,0.536481 1.19922,1.199219 0,0.662738 -0.53648,1.199219 -1.19922,1.199219 -0.66274,-8e-6 -1.19922,-0.536481 -1.19922,-1.199219 0,-0.66273 0.53649,-1.199211 1.19922,-1.199219 z"
- transform="matrix(-1.2511137,0,0,1.2511137,911.35554,147.30094)"
- id="path12903-0"
- inkscape:connector-curvature="0" />
+ <g inkscape:export-ydpi="96" inkscape:export-xdpi="96" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" style="display:inline;opacity:1;fill:#ffffff;stroke-width:1.25111365;enable-background:new" transform="matrix(-0.79928788,0,0,0.79928788,686.43544,-75.73586)" id="g12909-3">
+ <path style="display:inline;opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.99999988;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:new" d="m 435.50195,58 a 0.50005,0.50005 0 0 0 -0.50586,0.507812 L 435,59.847656 c -0.37235,0.07227 -0.71903,0.219786 -1.02148,0.427735 l -1.12696,-1.123047 a 0.50005,0.50005 0 0 0 -0.34375,-0.150391 0.50005,0.50005 0 0 0 -0.36133,0.859375 l 1.12696,1.123047 c -0.20773,0.30118 -0.3566,0.644813 -0.42969,1.015625 l -1.3457,0.002 a 0.5009775,0.5009775 0 0 0 0.002,1.001953 L 432.83789,63 c 0.0676,0.378442 0.20857,0.7312 0.41602,1.039062 l -1.10743,1.109376 a 0.50005,0.50005 0 1 0 0.70508,0.705078 l 1.10352,-1.101563 c 0.30785,0.216541 0.661,0.370975 1.04297,0.445313 l -0.002,1.300781 a 0.50098382,0.50098382 0 1 0 1.00196,0.0039 L 436,65.199219 c 0.38598,-0.06997 0.74484,-0.216649 1.05664,-0.431641 l 1.08203,1.085938 a 0.5000572,0.5000572 0 1 0 0.70899,-0.705078 l -1.08399,-1.087891 C 437.97884,63.747505 438.12621,63.387471 438.19531,63 H 439.5 a 0.50033424,0.50033424 0 1 0 0,-1 h -1.31055 c -0.0748,-0.379778 -0.22985,-0.730801 -0.44531,-1.037109 l 1.10156,-1.103516 A 0.50005,0.50005 0 0 0 438.49805,59 a 0.50005,0.50005 0 0 0 -0.35743,0.154297 l -1.10742,1.105469 C 436.72738,60.053691 436.37559,59.913865 436,59.845703 l -0.004,-1.339844 A 0.50005,0.50005 0 0 0 435.50195,58 Z m -0.002,3.300781 c 0.66274,0 1.19921,0.536481 1.19922,1.199219 0,0.662738 -0.53648,1.199219 -1.19922,1.199219 -0.66274,-8e-6 -1.19922,-0.536481 -1.19922,-1.199219 0,-0.66273 0.53649,-1.199211 1.19922,-1.199219 z" transform="matrix(-1.2511137,0,0,1.2511137,911.35554,147.30094)" id="path12903-0" inkscape:connector-curvature="0"/>
</g>
</g>
- <g
- transform="translate(-583.99495,-390.00505)"
- id="g15882-7"
- style="display:inline;opacity:0.6;fill:#ffffff;enable-background:new">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 351.50586,598.99414 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 0.79297 l -2.70703,2.70703 h -2.79297 a 0.50005,0.50005 0 0 0 -0.35352,0.14648 l -1,1 a 0.50005,0.50005 0 0 0 0,0.70704 l 6,6 a 0.50005,0.50005 0 0 0 0.70704,0 l 1,-1 a 0.50005,0.50005 0 0 0 0.14648,-0.35352 v -2.79297 l 2.70703,-2.70703 h 0.79297 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -1 a 0.50005,0.50005 0 0 0 -0.14648,-0.35352 l -3,-3 a 0.50005,0.50005 0 0 0 -0.35352,-0.14648 z m 0.5,1 h 0.29297 l 2.70703,2.70703 v 0.29297 h -0.5 a 0.50005,0.50005 0 0 0 -0.35352,0.14648 l -3,3 a 0.50005,0.50005 0 0 0 -0.14648,0.35352 v 2.79297 l -0.5,0.5 -5.29297,-5.29297 0.5,-0.5 h 2.79297 a 0.50005,0.50005 0 0 0 0.35352,-0.14648 l 3,-3 a 0.50005,0.50005 0 0 0 0.14648,-0.35352 z m -5.75977,8.24609 a 0.50005,0.50005 0 0 0 -0.34375,0.15039 l -3.75,3.75 a 0.50005,0.50005 0 1 0 0.70704,0.70704 l 3.75,-3.75 a 0.50005,0.50005 0 0 0 -0.36329,-0.85743 z"
- transform="translate(583.99495,390.00505)"
- id="path15847-7"
- inkscape:connector-curvature="0" />
- </g>
- <g
- transform="translate(-583.99495,-390.00505)"
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g16002-8">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 372.50586,598.99414 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 0.79297 l 3.70703,3.70703 h 0.79297 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -1 c -2e-5,-0.1326 -0.0527,-0.25975 -0.14648,-0.35352 l -3,-3 c -0.0938,-0.0938 -0.22092,-0.14646 -0.35352,-0.14648 z m -1.20703,2 -2,2 h -2.79297 c -0.1326,2e-5 -0.25976,0.0527 -0.35352,0.14648 l -1,1 c -0.19519,0.19528 -0.19519,0.51177 0,0.70704 l 6,6 c 0.19527,0.1952 0.51176,0.1952 0.70704,0 l 1,-1 c 0.0938,-0.0938 0.14646,-0.22092 0.14648,-0.35352 v -2.79297 l 2,-2 z m -4.05274,7.24609 a 0.50005,0.50005 0 0 0 -0.34375,0.15039 l -3.75,3.75 a 0.50005,0.50005 0 1 0 0.70704,0.70704 l 3.75,-3.75 a 0.50005,0.50005 0 0 0 -0.36329,-0.85743 z"
- transform="translate(583.99495,390.00505)"
- id="path15876-9"
- inkscape:connector-curvature="0" />
- </g>
- <g
- inkscape:export-ydpi="96"
- inkscape:export-xdpi="96"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- transform="translate(-21.000047,168)"
- id="g15951-6"
- style="display:inline;opacity:1;fill:#ffffff;enable-background:new">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 27.5,347 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 3.5 h 1 v -3 h 3 v -1 z m 9.5,0 v 1 h 3 v 3 h 1 v -3.5 A 0.50005,0.50005 0 0 0 40.5,347 Z m -10,10 v 3.5 a 0.50005,0.50005 0 0 0 0.5,0.5 H 31 v -1 h -3 v -3 z m 13,0 v 3 h -3 v 1 h 3.5 A 0.50005,0.50005 0 0 0 41,360.5 V 357 Z"
- id="path15947-7"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 30.5,350 c -0.276131,3e-5 -0.499972,0.22387 -0.5,0.5 v 7 c 2.8e-5,0.27613 0.223869,0.49997 0.5,0.5 h 7 c 0.276131,-3e-5 0.499972,-0.22387 0.5,-0.5 v -7 c -2.8e-5,-0.27613 -0.223869,-0.49997 -0.5,-0.5 z"
- id="rect15949-3"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="ccccccccc" />
- </g>
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g16385"
- transform="translate(-21,21.00001)">
- <path
- id="path16351"
- d="m 118,95.5 c -3.58986,0 -6.5,2.41014 -6.5,6 1,1 3,2.5 6.5,2.5 z"
- style="opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="cccc" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 118,95 c -3.86007,0 -7,3.139925 -7,7 0,3.86008 3.13992,7 7,7 3.86008,0 7,-3.13992 7,-7 0,-3.860075 -3.13993,-7 -7,-7 z m 0,1 c 3.31963,0 6,2.680365 6,6 0,3.31964 -2.68036,6 -6,6 -3.31964,0 -6,-2.68036 -6,-6 0,-3.319635 2.68037,-6 6,-6 z"
- id="path16353"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.20000005;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 123.24414,102.64453 a 0.60006002,0.60006002 0 0 0 -0.41797,1.0293 l 0.5,0.5 a 0.60006002,0.60006002 0 1 0 0.84766,-0.84766 l -0.5,-0.5 a 0.60006002,0.60006002 0 0 0 -0.42969,-0.18164 z m -2.25,0.75 a 0.60006002,0.60006002 0 0 0 -0.41797,1.0293 l 1.75,1.75 a 0.60006002,0.60006002 0 1 0 0.84766,-0.84766 l -1.75,-1.75 a 0.60006002,0.60006002 0 0 0 -0.42969,-0.18164 z m -2.5,0.5 a 0.60006002,0.60006002 0 0 0 -0.41797,1.0293 l 2.75,2.75 a 0.60006002,0.60006002 0 1 0 0.84766,-0.84766 l -2.75,-2.75 a 0.60006002,0.60006002 0 0 0 -0.42969,-0.18164 z m 0,3 a 0.60006002,0.60006002 0 0 0 -0.41797,1.0293 l 0.75,0.75 a 0.60006002,0.60006002 0 1 0 0.84766,-0.84766 l -0.75,-0.75 a 0.60006002,0.60006002 0 0 0 -0.42969,-0.18164 z"
- id="path16355"
- inkscape:connector-curvature="0" />
- </g>
- <g
- transform="translate(-168,-294)"
- id="g16054"
- style="display:inline;fill:#ffffff;enable-background:new">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.10000002;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 180.82031,32.001953 c -2.53256,0.0762 -4.74925,1.739751 -5.52929,4.150391 -0.66549,2.0566 -0.15791,4.2781 1.25,5.847656 H 176.25 a 0.50005,0.50005 0 0 0 -0.35352,0.146484 l -1.75,1.75 A 0.50005,0.50005 0 0 0 174,44.25 v 1.25 a 0.50005,0.50005 0 0 0 0.5,0.5 h 13 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -1.25 a 0.50005,0.50005 0 0 0 -0.14648,-0.353516 l -1.75,-1.75 A 0.50005,0.50005 0 0 0 185.75,42 h -0.29492 c 1.50007,-1.670137 1.96594,-4.059297 1.13281,-6.1875 -0.92362,-2.35937 -3.23501,-3.886777 -5.76758,-3.810547 z m 0.0332,1.099609 c 2.07177,-0.0624 3.95341,1.181239 4.70898,3.111329 0.75557,1.9301 0.2178,4.121692 -1.3457,5.482421 A 0.55028534,0.55028534 0 0 0 184.03906,42 H 183.5 a 0.50005,0.50005 0 1 0 0,1 h 2.04297 L 187,44.457031 V 45 H 175 V 44.457031 L 176.45703,43 H 180.5 a 0.50005,0.50005 0 1 0 0,-1 h -2.37695 a 0.55005501,0.55005501 0 0 0 -0.11133,-0.117188 c -1.64252,-1.264239 -2.31195,-3.418585 -1.67383,-5.390624 0.63812,-1.972051 2.44385,-3.328265 4.51563,-3.390626 z"
- transform="translate(168,294)"
- id="path16048"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 348.55469,328.69141 a 0.50005,0.50005 0 0 0 -0.0859,0.008 c -1.42662,0.22929 -2.54672,1.3539 -2.77148,2.78125 a 0.50012645,0.50012645 0 1 0 0.98828,0.1543 c 0.15806,-1.00378 0.94009,-1.78798 1.94336,-1.94922 a 0.50005,0.50005 0 0 0 -0.0742,-0.99414 z"
- id="path16052"
- inkscape:connector-curvature="0" />
- </g>
- <g
- id="g16187"
- style="display:inline;fill:#ffffff;enable-background:new"
- transform="translate(462.00505,-96.005057)">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.98999999;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.9999997;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 103.49609,556.99023 a 0.50005,0.50005 0 0 0 -0.34375,0.15039 l -1.57031,1.57032 c -1.22858,-1.06562 -2.825838,-1.7168 -4.576171,-1.7168 -3.86007,0 -7,3.13993 -7,7 0,1.75033 0.649231,3.34954 1.714844,4.57813 l -1.568359,1.56835 a 0.50005,0.50005 0 1 0 0.707031,0.70704 l 1.568359,-1.56836 c 1.228585,1.06561 2.827793,1.71484 4.578125,1.71484 3.860071,0 7.000001,-3.13993 7.000001,-7 0,-1.75033 -0.65118,-3.34759 -1.7168,-4.57617 l 1.57032,-1.57031 a 0.50005,0.50005 0 0 0 -0.36329,-0.85743 z m -6.490231,1.00391 c 3.319631,0 6.000001,2.68037 6.000001,6 0,3.31963 -2.68037,6 -6.000001,6 -3.31963,0 -6,-2.68037 -6,-6 0,-0.88092 0.193846,-1.71405 0.533203,-2.4668 l 0.466797,0.4668 1,1 v 2 h 2 v 1 l 1,1 v 2 h 0.75 1.25 l 1,-1 1.000001,-1 v -1 l -1.000001,-1 h -2 -1 l -1,-1 h -1 l 1,-1 h 1 l 2,-2 -1,-1 h -1 l -1,-1 0.894532,-0.89453 c 0.358617,-0.0666 0.727234,-0.10547 1.105468,-0.10547 z"
- transform="translate(-462.00505,96.005057)"
- id="circle16176"
- inkscape:connector-curvature="0" />
- </g>
- <g
- style="display:inline;opacity:1;fill:#ffffff;enable-background:new"
- id="g8419-9"
- transform="translate(1279.001,-241)"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- inkscape:export-xdpi="96"
- inkscape:export-ydpi="96">
- <rect
- style="display:inline;opacity:0;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;enable-background:new"
- id="rect8368-4"
- width="16"
- height="16"
- x="-1148"
- y="398" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m -1140.8984,400.01367 c -2.0857,0.12882 -4.0362,1.26078 -5.1621,3.1211 -1.5012,2.48042 -1.1755,5.66201 0.7968,7.78711 1.9724,2.12509 5.1198,2.68733 7.7051,1.375 2.5853,-1.31234 3.9907,-4.18482 3.4395,-7.03126 a 0.50030025,0.50030025 0 1 0 -0.9825,0.18946 c 0.4673,2.4126 -0.7188,4.8369 -2.9101,5.94922 -2.1913,1.11231 -4.8478,0.63909 -6.5195,-1.16211 -1.6718,-1.8012 -1.9463,-4.48748 -0.6739,-6.58985 1.2724,-2.10236 3.7774,-3.10263 6.1485,-2.45703 a 0.50104088,0.50104088 0 1 0 0.2636,-0.96679 c -0.6993,-0.19043 -1.4102,-0.25779 -2.1054,-0.21485 z"
- id="ellipse8370-9"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 144.98047,157.99023 a 1.0001,1.0001 0 0 0 -0.6875,0.30274 l -3.71289,3.71484 c -0.0265,-0.001 -0.0513,-0.008 -0.0781,-0.008 -0.8224,0 -1.5,0.67765 -1.5,1.5 0,0.82235 0.6776,1.5 1.5,1.5 0.8224,0 1.5,-0.67765 1.5,-1.5 0,-0.0274 -0.006,-0.0531 -0.008,-0.0801 l 3.71289,-3.71289 a 1.0001,1.0001 0 0 0 -0.72656,-1.7168 z"
- transform="translate(-1279.001,241)"
- id="rect8385-9"
- inkscape:connector-curvature="0" />
- </g>
- <g
- id="g15336"
- style="display:inline;opacity:0.6;fill:#ffffff;enable-background:new">
- <path
- sodipodi:nodetypes="sssss"
- inkscape:connector-curvature="0"
- id="path13329"
- d="m 369.99998,160.99999 c -2.20236,0 -4,1.79764 -4,4 0,2.20237 1.79764,4 4,4 2.20237,0 4,-1.79763 4,-4 0,-2.20236 -1.79763,-4 -4,-4 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.3;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 363.5,158 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 13 a 0.50005,0.50005 0 0 0 0.5,0.5 h 13 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -13 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m 0.5,1 h 12 v 12 h -12 z"
- id="rect13350"
- inkscape:connector-curvature="0" />
- </g>
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g23051-0"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- inkscape:export-xdpi="96"
- inkscape:export-ydpi="96"
- transform="translate(210,20.999991)">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 243.49219,389 c -0.12989,0.002 -0.25387,0.0546 -0.34571,0.14648 l -3,3 c -0.49023,0.47127 0.23577,1.19727 0.70704,0.70704 L 243,390.70703 V 402 h -1.5 c -0.67616,-0.01 -0.67616,1.00956 0,1 h 4 c 0.67616,0.01 0.67616,-1.00956 0,-1 H 244 v -11.29297 l 2.14648,2.14649 c 0.47127,0.49023 1.19727,-0.23577 0.70704,-0.70704 l -3,-3 c -0.0957,-0.0957 -0.22603,-0.14855 -0.36133,-0.14648 z"
- transform="translate(-210,-20.999991)"
- id="path23043-3"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="cccccccccccccccc" />
- </g>
- <g
- inkscape:export-ydpi="96"
- inkscape:export-xdpi="96"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- id="g22966-4"
- transform="translate(-504,167.99288)"
- style="display:inline;opacity:1;fill:#ffffff;enable-background:new">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 366.5,389 a 0.50005,0.50005 0 0 0 -0.35352,0.14648 l -3,3 A 0.50005,0.50005 0 0 0 363,392.5 v 10 a 0.50005,0.50005 0 0 0 0.5,0.5 h 10 a 0.50005,0.50005 0 0 0 0.35352,-0.14648 l 3,-3 A 0.50005,0.50005 0 0 0 377,399.5 v -10 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m 0.20703,1 h 8.58008 l -1.99414,2 h -8.58594 z M 376,390.70117 v 8.5918 l -2,2 v -8.58789 z M 364,393 h 9 v 9 h -9 z"
- transform="translate(504,-167.99288)"
- id="path22960-9"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.5;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="M 870.49219,220.99219 A 0.50005,0.50005 0 0 0 870,221.5 v 9.79297 l -2.85352,2.86133 a 0.50005,0.50005 0 1 0 0.70704,0.70508 L 870.70703,232 H 880.5 a 0.50005,0.50005 0 1 0 0,-1 H 871 v -9.5 a 0.50005,0.50005 0 0 0 -0.50781,-0.50781 z"
- id="path23055-1"
- inkscape:connector-curvature="0" />
- </g>
- <g
- transform="translate(-327,477.99999)"
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g16423-6">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 391,389 c -3.83836,-10e-6 -6.96097,3.10534 -6.99609,6.93555 A 0.50005,0.50005 0 0 0 384,396 c 0,3.86012 3.13988,7.00001 7,7 0.0171,0 0.0337,-0.002 0.0508,-0.002 a 0.50005,0.50005 0 0 0 0.01,-0.002 C 394.89256,402.96308 398,399.83968 398,396 c 0,-0.0171 -0.002,-0.0337 -0.002,-0.0508 a 0.50005,0.50005 0 0 0 -0.002,-0.01 c -0.0328,-3.81095 -3.12289,-6.90166 -6.93359,-6.93554 A 0.50005,0.50005 0 0 0 391,389 Z m 0,1 c 3.31968,0 6,2.68032 6,6 0,0.16955 -0.0858,0.36541 -0.34766,0.60352 -0.26184,0.2381 -0.68795,0.48634 -1.23632,0.69726 C 394.31926,397.72262 392.74298,398 391,398 c -0.65939,0 -1.28221,-0.0509 -1.87695,-0.12305 C 389.05085,397.28221 389,396.65939 389,396 c 0,-1.74298 0.27738,-3.31926 0.69922,-4.41602 0.21092,-0.54837 0.45916,-0.97448 0.69726,-1.23632 C 390.63459,390.08581 390.83045,390 391,390 Z m -1.76367,0.26367 c -0.17337,0.28719 -0.33274,0.60224 -0.47071,0.96094 C 388.28261,392.48043 388,394.15308 388,396 c 0,0.59486 0.0379,1.16229 0.0937,1.71289 -0.55897,-0.113 -1.07951,-0.24662 -1.50977,-0.41211 -0.54837,-0.21092 -0.97448,-0.45916 -1.23632,-0.69726 C 385.08581,396.36541 385,396.16955 385,396 c 0,-2.70567 1.78034,-4.98512 4.23633,-5.73633 z m -3.97266,7.5 c 0.28719,0.17337 0.60224,0.33274 0.96094,0.47071 0.58524,0.22509 1.26802,0.40153 2.00977,0.53124 0.12972,0.74174 0.30616,1.42453 0.53124,2.00977 0.13797,0.3587 0.29734,0.67375 0.47071,0.96094 -1.89863,-0.58074 -3.39192,-2.07402 -3.97266,-3.97266 z m 11.47266,0 C 395.98511,400.21966 393.70566,402 391,402 c -0.16955,0 -0.36541,-0.0858 -0.60352,-0.34766 -0.2381,-0.26184 -0.48634,-0.68795 -0.69726,-1.23632 -0.16549,-0.43026 -0.29911,-0.9508 -0.41211,-1.50977 0.5506,0.0559 1.11803,0.0937 1.71289,0.0937 1.84692,0 3.51957,-0.28262 4.77539,-0.76562 0.3587,-0.13797 0.67375,-0.29734 0.96094,-0.47071 z"
- transform="translate(327,-477.99999)"
- id="path22958-5"
- inkscape:connector-curvature="0" />
- <g
- transform="translate(327,-415)"
- id="g23066-1"
- style="display:inline;fill:#ffffff;enable-background:new">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.5;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 391,330 c -1.84692,0 -3.51957,0.28261 -4.77539,0.76562 -0.62791,0.24151 -1.15478,0.53052 -1.55078,0.89063 C 384.27783,332.01636 384,332.47917 384,333 a 0.50005,0.50005 0 1 0 1,0 c 0,-0.16955 0.0858,-0.36541 0.34766,-0.60352 0.26184,-0.2381 0.68795,-0.48634 1.23632,-0.69726 C 387.68074,331.27738 389.25702,331 391,331 c 1.74298,0 3.31926,0.27738 4.41602,0.69922 0.54837,0.21092 0.97448,0.45916 1.23632,0.69726 C 396.91419,332.63459 397,332.83045 397,333 a 0.50005,0.50005 0 1 0 1,0 c 0,-0.52083 -0.27783,-0.98364 -0.67383,-1.34375 -0.396,-0.36011 -0.92287,-0.64912 -1.55078,-0.89063 C 394.51957,330.28261 392.84692,330 391,330 Z"
- id="path23061-5"
- inkscape:connector-curvature="0" />
- </g>
+ <g transform="translate(-583.99495,-390.00505)" id="g15882-7" style="display:inline;opacity:0.6;fill:#ffffff;enable-background:new">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 351.50586,598.99414 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 0.79297 l -2.70703,2.70703 h -2.79297 a 0.50005,0.50005 0 0 0 -0.35352,0.14648 l -1,1 a 0.50005,0.50005 0 0 0 0,0.70704 l 6,6 a 0.50005,0.50005 0 0 0 0.70704,0 l 1,-1 a 0.50005,0.50005 0 0 0 0.14648,-0.35352 v -2.79297 l 2.70703,-2.70703 h 0.79297 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -1 a 0.50005,0.50005 0 0 0 -0.14648,-0.35352 l -3,-3 a 0.50005,0.50005 0 0 0 -0.35352,-0.14648 z m 0.5,1 h 0.29297 l 2.70703,2.70703 v 0.29297 h -0.5 a 0.50005,0.50005 0 0 0 -0.35352,0.14648 l -3,3 a 0.50005,0.50005 0 0 0 -0.14648,0.35352 v 2.79297 l -0.5,0.5 -5.29297,-5.29297 0.5,-0.5 h 2.79297 a 0.50005,0.50005 0 0 0 0.35352,-0.14648 l 3,-3 a 0.50005,0.50005 0 0 0 0.14648,-0.35352 z m -5.75977,8.24609 a 0.50005,0.50005 0 0 0 -0.34375,0.15039 l -3.75,3.75 a 0.50005,0.50005 0 1 0 0.70704,0.70704 l 3.75,-3.75 a 0.50005,0.50005 0 0 0 -0.36329,-0.85743 z" transform="translate(583.99495,390.00505)" id="path15847-7" inkscape:connector-curvature="0"/>
</g>
- <g
- transform="translate(-348,477.99999)"
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g16413-1">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 759.5,-89 a 0.50005,0.50005 0 0 0 -0.41406,0.220703 l -5.75,8.5 a 0.50005,0.50005 0 0 0 -0.0254,0.04102 C 753.09798,-79.847634 753,-79.420118 753,-79 c 0,1.217423 0.89627,2.23231 2.16602,2.916016 C 756.43576,-75.400278 758.13235,-75 760,-75 c 1.86765,0 3.56424,-0.400278 4.83398,-1.083984 C 766.10373,-76.76769 767,-77.782577 767,-79 c 0,-0.419749 -0.0968,-0.847195 -0.3125,-1.240234 a 0.50005,0.50005 0 0 0 -0.0234,-0.03906 l -5.75,-8.5 A 0.50005,0.50005 0 0 0 760.5,-89 Z m 0.26562,1 h 0.46876 l 5.58007,8.248047 C 765.94193,-79.51674 766,-79.268361 766,-79 c 0,0.715577 -0.55782,1.452112 -1.64062,2.035156 C 763.27657,-76.3818 761.72215,-76 760,-76 c -1.72215,0 -3.27657,-0.3818 -4.35938,-0.964844 C 754.55782,-77.547888 754,-78.284423 754,-79 c 0,-0.262685 0.0617,-0.522361 0.1875,-0.755859 z"
- id="path22956-5"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.5;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 760,-82 c -1.85842,0 -3.5402,0.34854 -4.79688,0.898438 -0.62833,0.274948 -1.15274,0.599804 -1.54296,0.982421 C 753.26993,-79.736524 753,-79.270893 753,-78.75 a 0.50005,0.50005 0 1 0 1,0 c 0,-0.169742 0.0937,-0.393844 0.36133,-0.65625 0.26762,-0.262406 0.69425,-0.539532 1.24219,-0.779297 C 756.69939,-80.665077 758.26862,-81 760,-81 c 1.73138,0 3.30061,0.334923 4.39648,0.814453 0.54794,0.239765 0.97457,0.516891 1.24219,0.779297 C 765.90629,-79.143844 766,-78.919742 766,-78.75 a 0.50005,0.50005 0 1 0 1,0 c 0,-0.520893 -0.26993,-0.986524 -0.66016,-1.369141 -0.39022,-0.382617 -0.91463,-0.707473 -1.54296,-0.982421 C 763.5402,-81.65146 761.85842,-82 760,-82 Z"
- id="path23072-3"
- inkscape:connector-curvature="0" />
- </g>
- <g
- transform="translate(147)"
- inkscape:export-ydpi="96"
- inkscape:export-xdpi="96"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- id="g12973-3-2"
- style="display:inline;fill:#ffffff;enable-background:new">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 178.49219,368 a 0.50005,0.50005 0 0 0 -0.34571,0.14648 l -2,2 a 0.50005,0.50005 0 1 0 0.70704,0.70704 L 178,369.70703 v 7.58594 l -3,3 V 378.5 A 0.50005,0.50005 0 0 0 174.49219,377.99219 0.50005,0.50005 0 0 0 174,378.5 v 3 a 0.50005,0.50005 0 0 0 0.5,0.5 h 3 a 0.50005,0.50005 0 1 0 0,-1 h -1.79297 l 3,-3 h 7.58594 l -1.14649,1.14648 a 0.50005,0.50005 0 1 0 0.70704,0.70704 l 2,-2 a 0.50005,0.50005 0 0 0 0,-0.70704 l -2,-2 a 0.50005,0.50005 0 0 0 -0.35938,-0.15234 0.50005,0.50005 0 0 0 -0.34766,0.85938 L 186.29297,377 H 179 v -7.29297 l 1.14648,1.14649 a 0.50005,0.50005 0 1 0 0.70704,-0.70704 l -2,-2 A 0.50005,0.50005 0 0 0 178.49219,368 Z"
- transform="translate(-147)"
- id="path12965-4-0"
- inkscape:connector-curvature="0" />
- </g>
- <g
- style="display:inline;opacity:1;fill:#ffffff;enable-background:new"
- id="g16957-2"
- transform="rotate(90,380.00189,176.00657)"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- inkscape:export-xdpi="96"
- inkscape:export-ydpi="96">
- <path
- id="path16949-6"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 479,347 c -1.09865,0 -1.99999,0.90135 -2,2 0,1.09865 0.90135,2 2,2 1.09865,0 2,-0.90135 2,-2 -10e-6,-1.09865 -0.90135,-2 -2,-2 z m 0,1 c 0.55821,0 1,0.44179 1,1 0,0.55821 -0.44179,1 -1,1 -0.55821,0 -1,-0.44179 -1,-1 0,-0.55821 0.44179,-1 1,-1 z m 0.5,9 c -0.8225,0 -1.5,0.6775 -1.5,1.5 0,0.8225 0.6775,1.5 1.5,1.5 0.8225,0 1.5,-0.6775 1.5,-1.5 0,-0.8225 -0.6775,-1.5 -1.5,-1.5 z m 0,1 c 0.28206,0 0.5,0.21794 0.5,0.5 0,0.28206 -0.21794,0.5 -0.5,0.5 -0.28206,0 -0.5,-0.21794 -0.5,-0.5 0,-0.28206 0.21794,-0.5 0.5,-0.5 z m -10,-11 c -0.82251,0 -1.5,0.67749 -1.5,1.5 0,0.82251 0.67749,1.5 1.5,1.5 0.8225,0 1.5,-0.6775 1.5,-1.5 0,-0.82251 -0.67749,-1.5 -1.5,-1.5 z m 0,1 c 0.28207,0 0.5,0.21793 0.5,0.5 0,0.28207 -0.21793,0.5 -0.5,0.5 -0.28207,0 -0.5,-0.21793 -0.5,-0.5 0,-0.28207 0.21793,-0.5 0.5,-0.5 z m 0,8 c -1.37478,0 -2.5,1.12522 -2.5,2.5 0,1.37478 1.12522,2.5 2.5,2.5 1.37478,0 2.5,-1.12522 2.5,-2.5 0,-1.37478 -1.12522,-2.5 -2.5,-2.5 z m 0,1 c 0.83434,0 1.5,0.66566 1.5,1.5 0,0.83434 -0.66566,1.5 -1.5,1.5 -0.83434,0 -1.5,-0.66566 -1.5,-1.5 0,-0.83434 0.66566,-1.5 1.5,-1.5 z"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.7;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="M 469.49219,348.99219 A 0.50005,0.50005 0 0 0 469,349.5 v 5 a 0.50005,0.50005 0 1 0 1,0 v -5 a 0.50005,0.50005 0 0 0 -0.50781,-0.50781 z m 7.99804,1.0039 a 0.50005,0.50005 0 0 0 -0.34375,0.15039 l -5,5 a 0.50005,0.50005 0 1 0 0.70704,0.70704 l 5,-5 a 0.50005,0.50005 0 0 0 -0.36329,-0.85743 z M 473.5,358 a 0.50005,0.50005 0 1 0 0,1 h 5 a 0.50005,0.50005 0 1 0 0,-1 z"
- id="path16955-3"
- inkscape:connector-curvature="0" />
- </g>
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g15967">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 244,561 c -1.65093,0 -3,1.34907 -3,3 0,1.65093 1.34907,3 3,3 1.65093,0 3,-1.34907 3,-3 0,-1.65093 -1.34907,-3 -3,-3 z"
- id="path17035"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="sssss" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.7;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 243.92383,557 c -0.2146,0.003 -0.42883,0.0151 -0.64063,0.0371 -2.54151,0.26418 -4.8299,1.914 -5.80664,4.42187 -1.30231,3.34383 0.14236,7.14072 3.33789,8.77344 3.19554,1.63272 7.11991,0.57913 9.06641,-2.43554 a 0.50005,0.50005 0 1 0 -0.83984,-0.54297 c -1.67274,2.59068 -5.02539,3.49293 -7.77149,2.08984 -2.7461,-1.40309 -3.98048,-4.64795 -2.86133,-7.52148 1.11915,-2.87354 4.22361,-4.42733 7.19532,-3.60352 a 0.50036742,0.50036742 0 1 0 0.26562,-0.96484 c -0.64839,-0.17975 -1.3015,-0.26149 -1.94531,-0.25391 z M 249,557 c -1.09865,0 -2,0.90135 -2,2 0,1.09865 0.90135,2 2,2 1.09865,0 2,-0.90135 2,-2 0,-1.09865 -0.90135,-2 -2,-2 z"
- id="path17037"
- inkscape:connector-curvature="0" />
- </g>
- <g
- transform="rotate(90,243.5,333.5)"
- id="g12586"
- style="display:inline;opacity:1;fill:#ffffff;enable-background:new"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- inkscape:export-xdpi="96"
- inkscape:export-ydpi="96">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 469.5,356 c -1.37478,0 -2.5,1.12522 -2.5,2.5 0,1.37478 1.12522,2.5 2.5,2.5 1.37478,0 2.5,-1.12522 2.5,-2.5 0,-1.37478 -1.12522,-2.5 -2.5,-2.5 z"
- id="path12572"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="sssss" />
- <g
- id="g23031"
- style="opacity:0.7;fill:#ffffff">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 218.5,557 c -0.8225,0 -1.5,0.6775 -1.5,1.5 0,0.64684 0.42097,1.19777 1,1.40625 V 564.5 c -0.01,0.67616 1.01,0.67616 1,0 v -4.59375 c 0.57903,-0.20848 1,-0.75941 1,-1.40625 0,-0.8225 -0.6775,-1.5 -1.5,-1.5 z m 9.5,0 c -1.09865,0 -2,0.90135 -2,2 0,0.36859 0.10883,0.71022 0.28516,1.00781 l -5.13868,5.13867 c -0.49023,0.47127 0.23577,1.19727 0.70704,0.70704 l 5.13867,-5.13868 C 227.28978,560.89117 227.63141,561 228,561 c 1.09865,-10e-6 2,-0.90135 2,-2 0,-1.09865 -0.90135,-1.99999 -2,-2 z m 0.5,10 c -0.64684,0 -1.19777,0.42097 -1.40625,1 H 222.5 c -0.67616,-0.01 -0.67616,1.01 0,1 h 4.59375 c 0.20848,0.57903 0.75941,1 1.40625,1 0.82251,0 1.5,-0.67749 1.5,-1.5 0,-0.82251 -0.67749,-1.5 -1.5,-1.5 z"
- transform="matrix(0,-1,-1,0,1038,577)"
- id="path12578"
- inkscape:connector-curvature="0" />
- </g>
+ <g transform="translate(-583.99495,-390.00505)" style="display:inline;fill:#ffffff;enable-background:new" id="g16002-8">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 372.50586,598.99414 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 0.79297 l 3.70703,3.70703 h 0.79297 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -1 c -2e-5,-0.1326 -0.0527,-0.25975 -0.14648,-0.35352 l -3,-3 c -0.0938,-0.0938 -0.22092,-0.14646 -0.35352,-0.14648 z m -1.20703,2 -2,2 h -2.79297 c -0.1326,2e-5 -0.25976,0.0527 -0.35352,0.14648 l -1,1 c -0.19519,0.19528 -0.19519,0.51177 0,0.70704 l 6,6 c 0.19527,0.1952 0.51176,0.1952 0.70704,0 l 1,-1 c 0.0938,-0.0938 0.14646,-0.22092 0.14648,-0.35352 v -2.79297 l 2,-2 z m -4.05274,7.24609 a 0.50005,0.50005 0 0 0 -0.34375,0.15039 l -3.75,3.75 a 0.50005,0.50005 0 1 0 0.70704,0.70704 l 3.75,-3.75 a 0.50005,0.50005 0 0 0 -0.36329,-0.85743 z" transform="translate(583.99495,390.00505)" id="path15876-9" inkscape:connector-curvature="0"/>
+ </g>
+ <g inkscape:export-ydpi="96" inkscape:export-xdpi="96" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" transform="translate(-21.000047,168)" id="g15951-6" style="display:inline;opacity:1;fill:#ffffff;enable-background:new">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 27.5,347 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 3.5 h 1 v -3 h 3 v -1 z m 9.5,0 v 1 h 3 v 3 h 1 v -3.5 A 0.50005,0.50005 0 0 0 40.5,347 Z m -10,10 v 3.5 a 0.50005,0.50005 0 0 0 0.5,0.5 H 31 v -1 h -3 v -3 z m 13,0 v 3 h -3 v 1 h 3.5 A 0.50005,0.50005 0 0 0 41,360.5 V 357 Z" id="path15947-7" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 30.5,350 c -0.276131,3e-5 -0.499972,0.22387 -0.5,0.5 v 7 c 2.8e-5,0.27613 0.223869,0.49997 0.5,0.5 h 7 c 0.276131,-3e-5 0.499972,-0.22387 0.5,-0.5 v -7 c -2.8e-5,-0.27613 -0.223869,-0.49997 -0.5,-0.5 z" id="rect15949-3" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccccccc"/>
+ </g>
+ <g style="display:inline;fill:#ffffff;enable-background:new" id="g16385" transform="translate(-21,21.00001)">
+ <path id="path16351" d="m 118,95.5 c -3.58986,0 -6.5,2.41014 -6.5,6 1,1 3,2.5 6.5,2.5 z" style="opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none" inkscape:connector-curvature="0" sodipodi:nodetypes="cccc"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 118,95 c -3.86007,0 -7,3.139925 -7,7 0,3.86008 3.13992,7 7,7 3.86008,0 7,-3.13992 7,-7 0,-3.860075 -3.13993,-7 -7,-7 z m 0,1 c 3.31963,0 6,2.680365 6,6 0,3.31964 -2.68036,6 -6,6 -3.31964,0 -6,-2.68036 -6,-6 0,-3.319635 2.68037,-6 6,-6 z" id="path16353" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.20000005;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 123.24414,102.64453 a 0.60006002,0.60006002 0 0 0 -0.41797,1.0293 l 0.5,0.5 a 0.60006002,0.60006002 0 1 0 0.84766,-0.84766 l -0.5,-0.5 a 0.60006002,0.60006002 0 0 0 -0.42969,-0.18164 z m -2.25,0.75 a 0.60006002,0.60006002 0 0 0 -0.41797,1.0293 l 1.75,1.75 a 0.60006002,0.60006002 0 1 0 0.84766,-0.84766 l -1.75,-1.75 a 0.60006002,0.60006002 0 0 0 -0.42969,-0.18164 z m -2.5,0.5 a 0.60006002,0.60006002 0 0 0 -0.41797,1.0293 l 2.75,2.75 a 0.60006002,0.60006002 0 1 0 0.84766,-0.84766 l -2.75,-2.75 a 0.60006002,0.60006002 0 0 0 -0.42969,-0.18164 z m 0,3 a 0.60006002,0.60006002 0 0 0 -0.41797,1.0293 l 0.75,0.75 a 0.60006002,0.60006002 0 1 0 0.84766,-0.84766 l -0.75,-0.75 a 0.60006002,0.60006002 0 0 0 -0.42969,-0.18164 z" id="path16355" inkscape:connector-curvature="0"/>
+ </g>
+ <g transform="translate(-168,-294)" id="g16054" style="display:inline;fill:#ffffff;enable-background:new">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.10000002;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 180.82031,32.001953 c -2.53256,0.0762 -4.74925,1.739751 -5.52929,4.150391 -0.66549,2.0566 -0.15791,4.2781 1.25,5.847656 H 176.25 a 0.50005,0.50005 0 0 0 -0.35352,0.146484 l -1.75,1.75 A 0.50005,0.50005 0 0 0 174,44.25 v 1.25 a 0.50005,0.50005 0 0 0 0.5,0.5 h 13 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -1.25 a 0.50005,0.50005 0 0 0 -0.14648,-0.353516 l -1.75,-1.75 A 0.50005,0.50005 0 0 0 185.75,42 h -0.29492 c 1.50007,-1.670137 1.96594,-4.059297 1.13281,-6.1875 -0.92362,-2.35937 -3.23501,-3.886777 -5.76758,-3.810547 z m 0.0332,1.099609 c 2.07177,-0.0624 3.95341,1.181239 4.70898,3.111329 0.75557,1.9301 0.2178,4.121692 -1.3457,5.482421 A 0.55028534,0.55028534 0 0 0 184.03906,42 H 183.5 a 0.50005,0.50005 0 1 0 0,1 h 2.04297 L 187,44.457031 V 45 H 175 V 44.457031 L 176.45703,43 H 180.5 a 0.50005,0.50005 0 1 0 0,-1 h -2.37695 a 0.55005501,0.55005501 0 0 0 -0.11133,-0.117188 c -1.64252,-1.264239 -2.31195,-3.418585 -1.67383,-5.390624 0.63812,-1.972051 2.44385,-3.328265 4.51563,-3.390626 z" transform="translate(168,294)" id="path16048" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 348.55469,328.69141 a 0.50005,0.50005 0 0 0 -0.0859,0.008 c -1.42662,0.22929 -2.54672,1.3539 -2.77148,2.78125 a 0.50012645,0.50012645 0 1 0 0.98828,0.1543 c 0.15806,-1.00378 0.94009,-1.78798 1.94336,-1.94922 a 0.50005,0.50005 0 0 0 -0.0742,-0.99414 z" id="path16052" inkscape:connector-curvature="0"/>
+ </g>
+ <g id="g16187" style="display:inline;fill:#ffffff;enable-background:new" transform="translate(462.00505,-96.005057)">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.98999999;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.9999997;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 103.49609,556.99023 a 0.50005,0.50005 0 0 0 -0.34375,0.15039 l -1.57031,1.57032 c -1.22858,-1.06562 -2.825838,-1.7168 -4.576171,-1.7168 -3.86007,0 -7,3.13993 -7,7 0,1.75033 0.649231,3.34954 1.714844,4.57813 l -1.568359,1.56835 a 0.50005,0.50005 0 1 0 0.707031,0.70704 l 1.568359,-1.56836 c 1.228585,1.06561 2.827793,1.71484 4.578125,1.71484 3.860071,0 7.000001,-3.13993 7.000001,-7 0,-1.75033 -0.65118,-3.34759 -1.7168,-4.57617 l 1.57032,-1.57031 a 0.50005,0.50005 0 0 0 -0.36329,-0.85743 z m -6.490231,1.00391 c 3.319631,0 6.000001,2.68037 6.000001,6 0,3.31963 -2.68037,6 -6.000001,6 -3.31963,0 -6,-2.68037 -6,-6 0,-0.88092 0.193846,-1.71405 0.533203,-2.4668 l 0.466797,0.4668 1,1 v 2 h 2 v 1 l 1,1 v 2 h 0.75 1.25 l 1,-1 1.000001,-1 v -1 l -1.000001,-1 h -2 -1 l -1,-1 h -1 l 1,-1 h 1 l 2,-2 -1,-1 h -1 l -1,-1 0.894532,-0.89453 c 0.358617,-0.0666 0.727234,-0.10547 1.105468,-0.10547 z" transform="translate(-462.00505,96.005057)" id="circle16176" inkscape:connector-curvature="0"/>
</g>
- <g
- transform="translate(-21.00225)"
- style="display:inline;fill:#ffffff;stroke:#ffffff;enable-background:new"
- id="g13169-8-6"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- inkscape:export-xdpi="96"
- inkscape:export-ydpi="96">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999964;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="M 469.49414,55.992188 A 0.50004982,0.50004982 0 0 0 469.00195,56.5 v 7 a 0.50004982,0.50004982 0 1 0 1,0 v -7 a 0.50004982,0.50004982 0 0 0 -0.50781,-0.507812 z m 2,1 A 0.50004982,0.50004982 0 0 0 471.00195,57.5 v 7 a 0.50004982,0.50004982 0 1 0 1,0 v -7 a 0.50004982,0.50004982 0 0 0 -0.50781,-0.507812 z m 2,1 A 0.50004982,0.50004982 0 0 0 473.00195,58.5 v 7 a 0.50004982,0.50004982 0 1 0 1,0 v -7 a 0.50004982,0.50004982 0 0 0 -0.50781,-0.507812 z m 2,1 A 0.50004982,0.50004982 0 0 0 475.00195,59.5 v 7 a 0.50004982,0.50004982 0 1 0 1,0 v -7 a 0.50004982,0.50004982 0 0 0 -0.50781,-0.507812 z"
- id="path13150-5-2"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.9;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999964;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 471.49609,54.992188 a 0.50004982,0.50004982 0 0 0 -0.49414,0.505859 v 0.25 a 0.50004982,0.50004982 0 1 0 1,0.0039 v -0.25 a 0.50004982,0.50004982 0 0 0 -0.50586,-0.509765 z m 2,1 a 0.50004982,0.50004982 0 0 0 -0.49414,0.505859 l -0.002,0.25 a 0.50004982,0.50004982 0 1 0 1,0.0039 l 0.002,-0.25 a 0.50004982,0.50004982 0 0 0 -0.50586,-0.509765 z m 2,1 a 0.50004982,0.50004982 0 0 0 -0.49414,0.505859 l -0.002,0.25 a 0.50004982,0.50004982 0 1 0 1,0.0039 l 0.002,-0.25 a 0.50004982,0.50004982 0 0 0 -0.50586,-0.509765 z m 1.99805,1 A 0.50004982,0.50004982 0 0 0 477.00195,58.5 v 7 a 0.50004982,0.50004982 0 1 0 1,0 v -7 a 0.50004982,0.50004982 0 0 0 -0.50781,-0.507812 z"
- id="path13154-7-3"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.8;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999964;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 473.49609,53.992188 a 0.50004982,0.50004982 0 0 0 -0.49414,0.505859 v 0.25 a 0.50004982,0.50004982 0 1 0 1,0.0039 v -0.25 a 0.50004982,0.50004982 0 0 0 -0.50586,-0.509765 z m 2,1 a 0.50004982,0.50004982 0 0 0 -0.49414,0.505859 l -0.002,0.25 a 0.50004982,0.50004982 0 1 0 1,0.0039 l 0.002,-0.25 a 0.50004982,0.50004982 0 0 0 -0.50586,-0.509765 z m 2,1 a 0.50004982,0.50004982 0 0 0 -0.49414,0.505859 l -0.002,0.25 a 0.50004982,0.50004982 0 1 0 1,0.0039 l 0.002,-0.25 a 0.50004982,0.50004982 0 0 0 -0.50586,-0.509765 z m 1.99805,1 A 0.50004982,0.50004982 0 0 0 479.00195,57.5 v 7 a 0.50004982,0.50004982 0 1 0 1,0 v -7 a 0.50004982,0.50004982 0 0 0 -0.50781,-0.507812 z"
- id="path13161-0-0"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.7;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999964;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 475.49609,52.992188 a 0.50004982,0.50004982 0 0 0 -0.49414,0.505859 v 0.25 a 0.50004982,0.50004982 0 1 0 1,0.0039 v -0.25 a 0.50004982,0.50004982 0 0 0 -0.50586,-0.509765 z m 2,1 a 0.50004982,0.50004982 0 0 0 -0.49414,0.505859 l -0.002,0.25 a 0.50004982,0.50004982 0 1 0 1,0.0039 l 0.002,-0.25 a 0.50004982,0.50004982 0 0 0 -0.50586,-0.509765 z m 2,1 a 0.50004982,0.50004982 0 0 0 -0.49414,0.505859 l -0.002,0.25 a 0.50004982,0.50004982 0 1 0 1,0.0039 l 0.002,-0.25 a 0.50004982,0.50004982 0 0 0 -0.50586,-0.509765 z m 1.99805,1 A 0.50004982,0.50004982 0 0 0 481.00195,56.5 v 7 a 0.50004982,0.50004982 0 1 0 1,0 v -7 a 0.50004982,0.50004982 0 0 0 -0.50781,-0.507812 z"
- id="path13163-4-8"
- inkscape:connector-curvature="0" />
- </g>
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 535.5,494 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 1 c 2e-5,0.1326 0.0527,0.25976 0.14648,0.35352 L 536,496.70703 v 2.61524 l -4.38672,5.36132 -0.004,0.004 c -0.58889,0.7361 -0.70787,1.57018 -0.44922,2.2168 0.25864,0.64662 0.88151,1.0957 1.58984,1.0957 h 10.5 c 0.70833,0 1.33692,-0.44332 1.60352,-1.0918 0.26614,-0.64736 0.14367,-1.48967 -0.4668,-2.22461 L 540,499.32227 v -2.61524 l 0.85352,-0.85351 c 0.0938,-0.0938 0.14646,-0.22092 0.14648,-0.35352 v -1 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z m 0.5,1 h 4 v 0.29297 l -0.85352,0.85351 c -0.0938,0.0938 -0.14646,0.22092 -0.14648,0.35352 v 3 c 1.3e-4,0.11538 0.0402,0.22717 0.11328,0.31641 l 4.5,5.5 c 6.6e-4,10e-4 9.5e-4,0.003 0.002,0.004 0.42848,0.51418 0.43133,0.91996 0.3125,1.20899 C 543.80886,506.81822 543.54167,507 543.25,507 h -10.5 c -0.29167,0 -0.5438,-0.17592 -0.66016,-0.4668 -0.11635,-0.29088 -0.11033,-0.7068 0.30078,-1.2207 l 4.4961,-5.49609 c 0.0731,-0.0892 0.11315,-0.20103 0.11328,-0.31641 v -3 c -2e-5,-0.1326 -0.0527,-0.25976 -0.14648,-0.35352 L 536,495.29297 Z m 0,8 c -0.14428,-3.9e-4 -0.2817,0.0616 -0.37695,0.16992 l -1.75,2 c -0.28426,0.32357 -0.0537,0.83118 0.37695,0.83008 h 7.5 c 0.43069,10e-4 0.66121,-0.50651 0.37695,-0.83008 l -1.75,-2 C 540.2817,503.06155 540.14428,502.99961 540,503 Z"
- id="path13700"
- inkscape:connector-curvature="0" />
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g16377"
- transform="translate(-217,44.000001)">
- <path
- id="path16340"
- d="m 589,450 c -1.09935,0 -2,0.90065 -2,2 v 0.42969 c 0.73665,0.57364 1.18952,1.45204 1.23438,2.41601 C 588.47082,454.9447 588.72885,455 589,455 h 1 c 1.09935,0 2,-0.90065 2,-2 v -1 c 0,-1.09935 -0.90065,-2 -2,-2 z m 2.58789,6.00586 c -0.28431,-0.0492 -0.58776,0.16015 -0.58789,0.49414 0,0.25 -0.25,0.5 -0.5,0.5 h -2 c -0.25,0 -0.5,-0.25 -0.5,-0.5 v 0.5 c 0,0.36306 -0.26134,0.68419 -0.44336,0.93555 l 0.004,0.004 c 0.41161,0.41161 0.88215,0.75715 1.375,1.25 0.40738,0.40739 0.86402,1.03976 1.01172,1.81055 H 593.5 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 V 459 c 0,-0.66667 -0.3572,-1.18923 -0.77148,-1.60352 -0.41429,-0.41428 -0.90447,-0.77946 -1.375,-1.25 -0.0788,-0.0787 -0.17086,-0.12422 -0.26563,-0.14062 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="ssccsssssscccccccsccccsccc" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 584,453 c -1.09935,0 -2,0.90065 -2,2 v 1 c 0,1.09935 0.90065,2 2,2 h 1 c 1.09935,0 2,-0.90065 2,-2 v -1 c 0,-1.09935 -0.90065,-2 -2,-2 z m -1.51562,6 c -0.12717,0.004 -0.248,0.0564 -0.3379,0.14648 -0.47053,0.47054 -0.96071,0.83572 -1.375,1.25 C 580.3572,460.81077 580,461.33333 580,462 v 1.5 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 8 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 V 462 c 0,-0.66667 -0.3572,-1.18923 -0.77148,-1.60352 -0.41429,-0.41428 -0.90447,-0.77946 -1.375,-1.25 -0.32034,-0.32057 -0.86773,-0.0838 -0.85352,0.36914 8.5e-4,0.0269 -0.0479,0.18374 -0.16406,0.30274 C 585.71981,459.93736 585.56612,460 585.5,460 h -2 c -0.0803,0 -0.22193,-0.0571 -0.33203,-0.16797 -0.1101,-0.11083 -0.16786,-0.25596 -0.16797,-0.33203 1.1e-4,-0.28235 -0.23341,-0.50879 -0.51562,-0.5 z"
- id="path16332"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="ssssssssscccsccccsccccssccc" />
- </g>
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="M 450.32227,452.0625 C 448.61213,452.13527 447,453.5463 447,456 c 0,2.05278 1.07076,4.01178 2.38672,5.71289 1.31595,1.70111 2.90024,3.15481 4.03125,4.16016 A 0.50005,0.50005 0 0 0 453.75,466 h 0.5 a 0.50005,0.50005 0 0 0 0.33203,-0.12695 c 1.13101,-1.00535 2.7153,-2.45905 4.03125,-4.16016 C 459.92924,460.01178 461,458.05278 461,456 c 0,-2.4537 -1.61213,-3.86473 -3.32227,-3.9375 -1.52139,-0.0647 -3.0532,0.927 -3.67773,2.69727 -0.62453,-1.77027 -2.15634,-2.76201 -3.67773,-2.69727 z m 0.043,1 c 1.22737,-0.0522 2.55838,0.74689 2.89258,2.5293 A 0.50005,0.50005 0 0 0 453.75,456 h 0.5 a 0.50005,0.50005 0 0 0 0.49219,-0.4082 c 0.3342,-1.78241 1.66521,-2.58153 2.89258,-2.5293 C 458.86213,453.1147 460,453.9537 460,456 c 0,1.69722 -0.92924,3.48822 -2.17578,5.09961 -1.20727,1.56061 -2.67447,2.91135 -3.7832,3.90039 h -0.082 c -1.10873,-0.98904 -2.57593,-2.33978 -3.7832,-3.90039 C 448.92924,459.48822 448,457.69722 448,456 c 0,-2.0463 1.13787,-2.88527 2.36523,-2.9375 z"
- id="path6081"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="M 471.32227,452.0625 C 469.61213,452.13527 468,453.5463 468,456 c 0,1.29326 0.43161,2.55298 1.07227,3.72852 0.16015,0.29312 0.55714,0.34983 0.79296,0.11328 l 3.63477,-3.63477 1.64648,1.64649 c 0.19527,0.19519 0.51177,0.19519 0.70704,0 l 2.64648,-2.64649 2.48242,2.48242 c 0.27743,0.27645 0.75058,0.14111 0.83985,-0.24023 C 481.93311,456.97518 482,456.49157 482,456 c 0,-2.4537 -1.61213,-3.86473 -3.32227,-3.9375 -1.52139,-0.0647 -3.0532,0.927 -3.67773,2.69727 -0.62453,-1.77027 -2.15634,-2.76201 -3.67773,-2.69727 z M 478.49219,458 c -0.12989,0.002 -0.25387,0.0546 -0.34571,0.14648 l -2.64648,2.64649 -1.64648,-1.64649 c -0.19527,-0.19519 -0.51177,-0.19519 -0.70704,0 l -2.34765,2.34766 c -0.18257,0.18194 -0.19694,0.47283 -0.0332,0.67188 1.2321,1.49847 2.62304,2.79208 3.65235,3.70703 0.0914,0.0816 0.20953,0.12673 0.33202,0.12695 h 0.5 c 0.12249,-2.2e-4 0.24064,-0.0454 0.33203,-0.12695 1.41546,-1.2582 3.54029,-3.21344 4.96094,-5.48828 0.12374,-0.19754 0.0946,-0.45438 -0.0703,-0.61915 l -1.61914,-1.61914 c -0.0957,-0.0957 -0.22604,-0.14856 -0.36134,-0.14648 z"
- id="path6086"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="csccccccccscccccccccccccccccc" />
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g16467"
- transform="translate(-221.99998,478)">
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g12626-8"
- transform="translate(726.00003,-499.00001)"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- inkscape:export-xdpi="96"
- inkscape:export-ydpi="96">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="M 30.492188,367.99219 A 0.50005,0.50005 0 0 0 30,368.5 v 9.79297 l -2.853516,2.85351 a 0.50005,0.50005 0 1 0 0.707032,0.70704 L 30.707031,379 H 40.5 a 0.50005,0.50005 0 1 0 0,-1 H 31 v -9.5 a 0.50005,0.50005 0 0 0 -0.507812,-0.50781 z"
- id="path12205-4"
- inkscape:connector-curvature="0" />
+ <g style="display:inline;opacity:1;fill:#ffffff;enable-background:new" id="g8419-9" transform="translate(1279.001,-241)" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" inkscape:export-xdpi="96" inkscape:export-ydpi="96">
+ <rect style="display:inline;opacity:0;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;enable-background:new" id="rect8368-4" width="16" height="16" x="-1148" y="398"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m -1140.8984,400.01367 c -2.0857,0.12882 -4.0362,1.26078 -5.1621,3.1211 -1.5012,2.48042 -1.1755,5.66201 0.7968,7.78711 1.9724,2.12509 5.1198,2.68733 7.7051,1.375 2.5853,-1.31234 3.9907,-4.18482 3.4395,-7.03126 a 0.50030025,0.50030025 0 1 0 -0.9825,0.18946 c 0.4673,2.4126 -0.7188,4.8369 -2.9101,5.94922 -2.1913,1.11231 -4.8478,0.63909 -6.5195,-1.16211 -1.6718,-1.8012 -1.9463,-4.48748 -0.6739,-6.58985 1.2724,-2.10236 3.7774,-3.10263 6.1485,-2.45703 a 0.50104088,0.50104088 0 1 0 0.2636,-0.96679 c -0.6993,-0.19043 -1.4102,-0.25779 -2.1054,-0.21485 z" id="ellipse8370-9" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 144.98047,157.99023 a 1.0001,1.0001 0 0 0 -0.6875,0.30274 l -3.71289,3.71484 c -0.0265,-0.001 -0.0513,-0.008 -0.0781,-0.008 -0.8224,0 -1.5,0.67765 -1.5,1.5 0,0.82235 0.6776,1.5 1.5,1.5 0.8224,0 1.5,-0.67765 1.5,-1.5 0,-0.0274 -0.006,-0.0531 -0.008,-0.0801 l 3.71289,-3.71289 a 1.0001,1.0001 0 0 0 -0.72656,-1.7168 z" transform="translate(-1279.001,241)" id="rect8385-9" inkscape:connector-curvature="0"/>
+ </g>
+ <g id="g15336" style="display:inline;opacity:0.6;fill:#ffffff;enable-background:new">
+ <path sodipodi:nodetypes="sssss" inkscape:connector-curvature="0" id="path13329" d="m 369.99998,160.99999 c -2.20236,0 -4,1.79764 -4,4 0,2.20237 1.79764,4 4,4 2.20237,0 4,-1.79763 4,-4 0,-2.20236 -1.79763,-4 -4,-4 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.3;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 363.5,158 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 13 a 0.50005,0.50005 0 0 0 0.5,0.5 h 13 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -13 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m 0.5,1 h 12 v 12 h -12 z" id="rect13350" inkscape:connector-curvature="0"/>
+ </g>
+ <g style="display:inline;fill:#ffffff;enable-background:new" id="g23051-0" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" inkscape:export-xdpi="96" inkscape:export-ydpi="96" transform="translate(210,20.999991)">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 243.49219,389 c -0.12989,0.002 -0.25387,0.0546 -0.34571,0.14648 l -3,3 c -0.49023,0.47127 0.23577,1.19727 0.70704,0.70704 L 243,390.70703 V 402 h -1.5 c -0.67616,-0.01 -0.67616,1.00956 0,1 h 4 c 0.67616,0.01 0.67616,-1.00956 0,-1 H 244 v -11.29297 l 2.14648,2.14649 c 0.47127,0.49023 1.19727,-0.23577 0.70704,-0.70704 l -3,-3 c -0.0957,-0.0957 -0.22603,-0.14855 -0.36133,-0.14648 z" transform="translate(-210,-20.999991)" id="path23043-3" inkscape:connector-curvature="0" sodipodi:nodetypes="cccccccccccccccc"/>
+ </g>
+ <g inkscape:export-ydpi="96" inkscape:export-xdpi="96" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" id="g22966-4" transform="translate(-504,167.99288)" style="display:inline;opacity:1;fill:#ffffff;enable-background:new">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 366.5,389 a 0.50005,0.50005 0 0 0 -0.35352,0.14648 l -3,3 A 0.50005,0.50005 0 0 0 363,392.5 v 10 a 0.50005,0.50005 0 0 0 0.5,0.5 h 10 a 0.50005,0.50005 0 0 0 0.35352,-0.14648 l 3,-3 A 0.50005,0.50005 0 0 0 377,399.5 v -10 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m 0.20703,1 h 8.58008 l -1.99414,2 h -8.58594 z M 376,390.70117 v 8.5918 l -2,2 v -8.58789 z M 364,393 h 9 v 9 h -9 z" transform="translate(504,-167.99288)" id="path22960-9" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.5;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="M 870.49219,220.99219 A 0.50005,0.50005 0 0 0 870,221.5 v 9.79297 l -2.85352,2.86133 a 0.50005,0.50005 0 1 0 0.70704,0.70508 L 870.70703,232 H 880.5 a 0.50005,0.50005 0 1 0 0,-1 H 871 v -9.5 a 0.50005,0.50005 0 0 0 -0.50781,-0.50781 z" id="path23055-1" inkscape:connector-curvature="0"/>
+ </g>
+ <g transform="translate(-327,477.99999)" style="display:inline;fill:#ffffff;enable-background:new" id="g16423-6">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 391,389 c -3.83836,-10e-6 -6.96097,3.10534 -6.99609,6.93555 A 0.50005,0.50005 0 0 0 384,396 c 0,3.86012 3.13988,7.00001 7,7 0.0171,0 0.0337,-0.002 0.0508,-0.002 a 0.50005,0.50005 0 0 0 0.01,-0.002 C 394.89256,402.96308 398,399.83968 398,396 c 0,-0.0171 -0.002,-0.0337 -0.002,-0.0508 a 0.50005,0.50005 0 0 0 -0.002,-0.01 c -0.0328,-3.81095 -3.12289,-6.90166 -6.93359,-6.93554 A 0.50005,0.50005 0 0 0 391,389 Z m 0,1 c 3.31968,0 6,2.68032 6,6 0,0.16955 -0.0858,0.36541 -0.34766,0.60352 -0.26184,0.2381 -0.68795,0.48634 -1.23632,0.69726 C 394.31926,397.72262 392.74298,398 391,398 c -0.65939,0 -1.28221,-0.0509 -1.87695,-0.12305 C 389.05085,397.28221 389,396.65939 389,396 c 0,-1.74298 0.27738,-3.31926 0.69922,-4.41602 0.21092,-0.54837 0.45916,-0.97448 0.69726,-1.23632 C 390.63459,390.08581 390.83045,390 391,390 Z m -1.76367,0.26367 c -0.17337,0.28719 -0.33274,0.60224 -0.47071,0.96094 C 388.28261,392.48043 388,394.15308 388,396 c 0,0.59486 0.0379,1.16229 0.0937,1.71289 -0.55897,-0.113 -1.07951,-0.24662 -1.50977,-0.41211 -0.54837,-0.21092 -0.97448,-0.45916 -1.23632,-0.69726 C 385.08581,396.36541 385,396.16955 385,396 c 0,-2.70567 1.78034,-4.98512 4.23633,-5.73633 z m -3.97266,7.5 c 0.28719,0.17337 0.60224,0.33274 0.96094,0.47071 0.58524,0.22509 1.26802,0.40153 2.00977,0.53124 0.12972,0.74174 0.30616,1.42453 0.53124,2.00977 0.13797,0.3587 0.29734,0.67375 0.47071,0.96094 -1.89863,-0.58074 -3.39192,-2.07402 -3.97266,-3.97266 z m 11.47266,0 C 395.98511,400.21966 393.70566,402 391,402 c -0.16955,0 -0.36541,-0.0858 -0.60352,-0.34766 -0.2381,-0.26184 -0.48634,-0.68795 -0.69726,-1.23632 -0.16549,-0.43026 -0.29911,-0.9508 -0.41211,-1.50977 0.5506,0.0559 1.11803,0.0937 1.71289,0.0937 1.84692,0 3.51957,-0.28262 4.77539,-0.76562 0.3587,-0.13797 0.67375,-0.29734 0.96094,-0.47071 z" transform="translate(327,-477.99999)" id="path22958-5" inkscape:connector-curvature="0"/>
+ <g transform="translate(327,-415)" id="g23066-1" style="display:inline;fill:#ffffff;enable-background:new">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.5;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 391,330 c -1.84692,0 -3.51957,0.28261 -4.77539,0.76562 -0.62791,0.24151 -1.15478,0.53052 -1.55078,0.89063 C 384.27783,332.01636 384,332.47917 384,333 a 0.50005,0.50005 0 1 0 1,0 c 0,-0.16955 0.0858,-0.36541 0.34766,-0.60352 0.26184,-0.2381 0.68795,-0.48634 1.23632,-0.69726 C 387.68074,331.27738 389.25702,331 391,331 c 1.74298,0 3.31926,0.27738 4.41602,0.69922 0.54837,0.21092 0.97448,0.45916 1.23632,0.69726 C 396.91419,332.63459 397,332.83045 397,333 a 0.50005,0.50005 0 1 0 1,0 c 0,-0.52083 -0.27783,-0.98364 -0.67383,-1.34375 -0.396,-0.36011 -0.92287,-0.64912 -1.55078,-0.89063 C 394.51957,330.28261 392.84692,330 391,330 Z" id="path23061-5" inkscape:connector-curvature="0"/>
</g>
- <g
- transform="matrix(-1,0,0,1,1420,227.99979)"
- id="g8805-9"
- style="display:inline;opacity:0.98999999;fill:#ffffff;enable-background:new">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 653.5,-359 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 8 0.5 h 1 v -0.5 -7.5 h 7.5 0.5 v -1 h -0.5 z"
- id="path8743-5"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.89999998;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 542,349 c -0.54636,0 -1,0.45364 -1,1 0,0.54636 0.45364,1 1,1 0.54636,0 1,-0.45364 1,-1 0,-0.54636 -0.45364,-1 -1,-1 z m -3.48047,2.05078 c -0.16946,-0.008 -0.32881,0.0808 -0.41211,0.22852 l -2.25,4 c -0.17018,0.3004 0.0473,0.67264 0.39258,0.67187 h 4.5 c 0.34528,7.7e-4 0.56276,-0.37147 0.39258,-0.67187 l -2.25,-4 c -0.0765,-0.13552 -0.21755,-0.22152 -0.37305,-0.22852 z"
- transform="matrix(-1,0,0,1,1198,-705.99979)"
- id="path8759-7"
- inkscape:connector-curvature="0" />
+ </g>
+ <g transform="translate(-348,477.99999)" style="display:inline;fill:#ffffff;enable-background:new" id="g16413-1">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 759.5,-89 a 0.50005,0.50005 0 0 0 -0.41406,0.220703 l -5.75,8.5 a 0.50005,0.50005 0 0 0 -0.0254,0.04102 C 753.09798,-79.847634 753,-79.420118 753,-79 c 0,1.217423 0.89627,2.23231 2.16602,2.916016 C 756.43576,-75.400278 758.13235,-75 760,-75 c 1.86765,0 3.56424,-0.400278 4.83398,-1.083984 C 766.10373,-76.76769 767,-77.782577 767,-79 c 0,-0.419749 -0.0968,-0.847195 -0.3125,-1.240234 a 0.50005,0.50005 0 0 0 -0.0234,-0.03906 l -5.75,-8.5 A 0.50005,0.50005 0 0 0 760.5,-89 Z m 0.26562,1 h 0.46876 l 5.58007,8.248047 C 765.94193,-79.51674 766,-79.268361 766,-79 c 0,0.715577 -0.55782,1.452112 -1.64062,2.035156 C 763.27657,-76.3818 761.72215,-76 760,-76 c -1.72215,0 -3.27657,-0.3818 -4.35938,-0.964844 C 754.55782,-77.547888 754,-78.284423 754,-79 c 0,-0.262685 0.0617,-0.522361 0.1875,-0.755859 z" id="path22956-5" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.5;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 760,-82 c -1.85842,0 -3.5402,0.34854 -4.79688,0.898438 -0.62833,0.274948 -1.15274,0.599804 -1.54296,0.982421 C 753.26993,-79.736524 753,-79.270893 753,-78.75 a 0.50005,0.50005 0 1 0 1,0 c 0,-0.169742 0.0937,-0.393844 0.36133,-0.65625 0.26762,-0.262406 0.69425,-0.539532 1.24219,-0.779297 C 756.69939,-80.665077 758.26862,-81 760,-81 c 1.73138,0 3.30061,0.334923 4.39648,0.814453 0.54794,0.239765 0.97457,0.516891 1.24219,0.779297 C 765.90629,-79.143844 766,-78.919742 766,-78.75 a 0.50005,0.50005 0 1 0 1,0 c 0,-0.520893 -0.26993,-0.986524 -0.66016,-1.369141 -0.39022,-0.382617 -0.91463,-0.707473 -1.54296,-0.982421 C 763.5402,-81.65146 761.85842,-82 760,-82 Z" id="path23072-3" inkscape:connector-curvature="0"/>
+ </g>
+ <g transform="translate(147)" inkscape:export-ydpi="96" inkscape:export-xdpi="96" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" id="g12973-3-2" style="display:inline;fill:#ffffff;enable-background:new">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 178.49219,368 a 0.50005,0.50005 0 0 0 -0.34571,0.14648 l -2,2 a 0.50005,0.50005 0 1 0 0.70704,0.70704 L 178,369.70703 v 7.58594 l -3,3 V 378.5 A 0.50005,0.50005 0 0 0 174.49219,377.99219 0.50005,0.50005 0 0 0 174,378.5 v 3 a 0.50005,0.50005 0 0 0 0.5,0.5 h 3 a 0.50005,0.50005 0 1 0 0,-1 h -1.79297 l 3,-3 h 7.58594 l -1.14649,1.14648 a 0.50005,0.50005 0 1 0 0.70704,0.70704 l 2,-2 a 0.50005,0.50005 0 0 0 0,-0.70704 l -2,-2 a 0.50005,0.50005 0 0 0 -0.35938,-0.15234 0.50005,0.50005 0 0 0 -0.34766,0.85938 L 186.29297,377 H 179 v -7.29297 l 1.14648,1.14649 a 0.50005,0.50005 0 1 0 0.70704,-0.70704 l -2,-2 A 0.50005,0.50005 0 0 0 178.49219,368 Z" transform="translate(-147)" id="path12965-4-0" inkscape:connector-curvature="0"/>
+ </g>
+ <g style="display:inline;opacity:1;fill:#ffffff;enable-background:new" id="g16957-2" transform="rotate(90,380.00189,176.00657)" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" inkscape:export-xdpi="96" inkscape:export-ydpi="96">
+ <path id="path16949-6" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 479,347 c -1.09865,0 -1.99999,0.90135 -2,2 0,1.09865 0.90135,2 2,2 1.09865,0 2,-0.90135 2,-2 -10e-6,-1.09865 -0.90135,-2 -2,-2 z m 0,1 c 0.55821,0 1,0.44179 1,1 0,0.55821 -0.44179,1 -1,1 -0.55821,0 -1,-0.44179 -1,-1 0,-0.55821 0.44179,-1 1,-1 z m 0.5,9 c -0.8225,0 -1.5,0.6775 -1.5,1.5 0,0.8225 0.6775,1.5 1.5,1.5 0.8225,0 1.5,-0.6775 1.5,-1.5 0,-0.8225 -0.6775,-1.5 -1.5,-1.5 z m 0,1 c 0.28206,0 0.5,0.21794 0.5,0.5 0,0.28206 -0.21794,0.5 -0.5,0.5 -0.28206,0 -0.5,-0.21794 -0.5,-0.5 0,-0.28206 0.21794,-0.5 0.5,-0.5 z m -10,-11 c -0.82251,0 -1.5,0.67749 -1.5,1.5 0,0.82251 0.67749,1.5 1.5,1.5 0.8225,0 1.5,-0.6775 1.5,-1.5 0,-0.82251 -0.67749,-1.5 -1.5,-1.5 z m 0,1 c 0.28207,0 0.5,0.21793 0.5,0.5 0,0.28207 -0.21793,0.5 -0.5,0.5 -0.28207,0 -0.5,-0.21793 -0.5,-0.5 0,-0.28207 0.21793,-0.5 0.5,-0.5 z m 0,8 c -1.37478,0 -2.5,1.12522 -2.5,2.5 0,1.37478 1.12522,2.5 2.5,2.5 1.37478,0 2.5,-1.12522 2.5,-2.5 0,-1.37478 -1.12522,-2.5 -2.5,-2.5 z m 0,1 c 0.83434,0 1.5,0.66566 1.5,1.5 0,0.83434 -0.66566,1.5 -1.5,1.5 -0.83434,0 -1.5,-0.66566 -1.5,-1.5 0,-0.83434 0.66566,-1.5 1.5,-1.5 z" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.7;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="M 469.49219,348.99219 A 0.50005,0.50005 0 0 0 469,349.5 v 5 a 0.50005,0.50005 0 1 0 1,0 v -5 a 0.50005,0.50005 0 0 0 -0.50781,-0.50781 z m 7.99804,1.0039 a 0.50005,0.50005 0 0 0 -0.34375,0.15039 l -5,5 a 0.50005,0.50005 0 1 0 0.70704,0.70704 l 5,-5 a 0.50005,0.50005 0 0 0 -0.36329,-0.85743 z M 473.5,358 a 0.50005,0.50005 0 1 0 0,1 h 5 a 0.50005,0.50005 0 1 0 0,-1 z" id="path16955-3" inkscape:connector-curvature="0"/>
+ </g>
+ <g style="display:inline;fill:#ffffff;enable-background:new" id="g15967">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 244,561 c -1.65093,0 -3,1.34907 -3,3 0,1.65093 1.34907,3 3,3 1.65093,0 3,-1.34907 3,-3 0,-1.65093 -1.34907,-3 -3,-3 z" id="path17035" inkscape:connector-curvature="0" sodipodi:nodetypes="sssss"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.7;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 243.92383,557 c -0.2146,0.003 -0.42883,0.0151 -0.64063,0.0371 -2.54151,0.26418 -4.8299,1.914 -5.80664,4.42187 -1.30231,3.34383 0.14236,7.14072 3.33789,8.77344 3.19554,1.63272 7.11991,0.57913 9.06641,-2.43554 a 0.50005,0.50005 0 1 0 -0.83984,-0.54297 c -1.67274,2.59068 -5.02539,3.49293 -7.77149,2.08984 -2.7461,-1.40309 -3.98048,-4.64795 -2.86133,-7.52148 1.11915,-2.87354 4.22361,-4.42733 7.19532,-3.60352 a 0.50036742,0.50036742 0 1 0 0.26562,-0.96484 c -0.64839,-0.17975 -1.3015,-0.26149 -1.94531,-0.25391 z M 249,557 c -1.09865,0 -2,0.90135 -2,2 0,1.09865 0.90135,2 2,2 1.09865,0 2,-0.90135 2,-2 0,-1.09865 -0.90135,-2 -2,-2 z" id="path17037" inkscape:connector-curvature="0"/>
+ </g>
+ <g transform="rotate(90,243.5,333.5)" id="g12586" style="display:inline;opacity:1;fill:#ffffff;enable-background:new" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" inkscape:export-xdpi="96" inkscape:export-ydpi="96">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 469.5,356 c -1.37478,0 -2.5,1.12522 -2.5,2.5 0,1.37478 1.12522,2.5 2.5,2.5 1.37478,0 2.5,-1.12522 2.5,-2.5 0,-1.37478 -1.12522,-2.5 -2.5,-2.5 z" id="path12572" inkscape:connector-curvature="0" sodipodi:nodetypes="sssss"/>
+ <g id="g23031" style="opacity:0.7;fill:#ffffff">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 218.5,557 c -0.8225,0 -1.5,0.6775 -1.5,1.5 0,0.64684 0.42097,1.19777 1,1.40625 V 564.5 c -0.01,0.67616 1.01,0.67616 1,0 v -4.59375 c 0.57903,-0.20848 1,-0.75941 1,-1.40625 0,-0.8225 -0.6775,-1.5 -1.5,-1.5 z m 9.5,0 c -1.09865,0 -2,0.90135 -2,2 0,0.36859 0.10883,0.71022 0.28516,1.00781 l -5.13868,5.13867 c -0.49023,0.47127 0.23577,1.19727 0.70704,0.70704 l 5.13867,-5.13868 C 227.28978,560.89117 227.63141,561 228,561 c 1.09865,-10e-6 2,-0.90135 2,-2 0,-1.09865 -0.90135,-1.99999 -2,-2 z m 0.5,10 c -0.64684,0 -1.19777,0.42097 -1.40625,1 H 222.5 c -0.67616,-0.01 -0.67616,1.01 0,1 h 4.59375 c 0.20848,0.57903 0.75941,1 1.40625,1 0.82251,0 1.5,-0.67749 1.5,-1.5 0,-0.82251 -0.67749,-1.5 -1.5,-1.5 z" transform="matrix(0,-1,-1,0,1038,577)" id="path12578" inkscape:connector-curvature="0"/>
</g>
</g>
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g16449"
- transform="translate(-284.99998,478)">
- <g
- style="display:inline;opacity:1;fill:#ffffff;enable-background:new"
- id="g15951-6-3"
- transform="translate(746.99995,-478)"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- inkscape:export-xdpi="96"
- inkscape:export-ydpi="96">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 27.5,347 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 3.5 h 1 v -3 h 3 v -1 z m 9.5,0 v 1 h 3 v 3 h 1 v -3.5 A 0.50005,0.50005 0 0 0 40.5,347 Z m -10,10 v 3.5 a 0.50005,0.50005 0 0 0 0.5,0.5 H 31 v -1 h -3 v -3 z m 13,0 v 3 h -3 v 1 h 3.5 A 0.50005,0.50005 0 0 0 41,360.5 V 357 Z"
- id="path15947-7-2"
- inkscape:connector-curvature="0" />
+ <g transform="translate(-21.00225)" style="display:inline;fill:#ffffff;stroke:#ffffff;enable-background:new" id="g13169-8-6" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" inkscape:export-xdpi="96" inkscape:export-ydpi="96">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999964;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="M 469.49414,55.992188 A 0.50004982,0.50004982 0 0 0 469.00195,56.5 v 7 a 0.50004982,0.50004982 0 1 0 1,0 v -7 a 0.50004982,0.50004982 0 0 0 -0.50781,-0.507812 z m 2,1 A 0.50004982,0.50004982 0 0 0 471.00195,57.5 v 7 a 0.50004982,0.50004982 0 1 0 1,0 v -7 a 0.50004982,0.50004982 0 0 0 -0.50781,-0.507812 z m 2,1 A 0.50004982,0.50004982 0 0 0 473.00195,58.5 v 7 a 0.50004982,0.50004982 0 1 0 1,0 v -7 a 0.50004982,0.50004982 0 0 0 -0.50781,-0.507812 z m 2,1 A 0.50004982,0.50004982 0 0 0 475.00195,59.5 v 7 a 0.50004982,0.50004982 0 1 0 1,0 v -7 a 0.50004982,0.50004982 0 0 0 -0.50781,-0.507812 z" id="path13150-5-2" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.9;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999964;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 471.49609,54.992188 a 0.50004982,0.50004982 0 0 0 -0.49414,0.505859 v 0.25 a 0.50004982,0.50004982 0 1 0 1,0.0039 v -0.25 a 0.50004982,0.50004982 0 0 0 -0.50586,-0.509765 z m 2,1 a 0.50004982,0.50004982 0 0 0 -0.49414,0.505859 l -0.002,0.25 a 0.50004982,0.50004982 0 1 0 1,0.0039 l 0.002,-0.25 a 0.50004982,0.50004982 0 0 0 -0.50586,-0.509765 z m 2,1 a 0.50004982,0.50004982 0 0 0 -0.49414,0.505859 l -0.002,0.25 a 0.50004982,0.50004982 0 1 0 1,0.0039 l 0.002,-0.25 a 0.50004982,0.50004982 0 0 0 -0.50586,-0.509765 z m 1.99805,1 A 0.50004982,0.50004982 0 0 0 477.00195,58.5 v 7 a 0.50004982,0.50004982 0 1 0 1,0 v -7 a 0.50004982,0.50004982 0 0 0 -0.50781,-0.507812 z" id="path13154-7-3" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.8;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999964;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 473.49609,53.992188 a 0.50004982,0.50004982 0 0 0 -0.49414,0.505859 v 0.25 a 0.50004982,0.50004982 0 1 0 1,0.0039 v -0.25 a 0.50004982,0.50004982 0 0 0 -0.50586,-0.509765 z m 2,1 a 0.50004982,0.50004982 0 0 0 -0.49414,0.505859 l -0.002,0.25 a 0.50004982,0.50004982 0 1 0 1,0.0039 l 0.002,-0.25 a 0.50004982,0.50004982 0 0 0 -0.50586,-0.509765 z m 2,1 a 0.50004982,0.50004982 0 0 0 -0.49414,0.505859 l -0.002,0.25 a 0.50004982,0.50004982 0 1 0 1,0.0039 l 0.002,-0.25 a 0.50004982,0.50004982 0 0 0 -0.50586,-0.509765 z m 1.99805,1 A 0.50004982,0.50004982 0 0 0 479.00195,57.5 v 7 a 0.50004982,0.50004982 0 1 0 1,0 v -7 a 0.50004982,0.50004982 0 0 0 -0.50781,-0.507812 z" id="path13161-0-0" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.7;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999964;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 475.49609,52.992188 a 0.50004982,0.50004982 0 0 0 -0.49414,0.505859 v 0.25 a 0.50004982,0.50004982 0 1 0 1,0.0039 v -0.25 a 0.50004982,0.50004982 0 0 0 -0.50586,-0.509765 z m 2,1 a 0.50004982,0.50004982 0 0 0 -0.49414,0.505859 l -0.002,0.25 a 0.50004982,0.50004982 0 1 0 1,0.0039 l 0.002,-0.25 a 0.50004982,0.50004982 0 0 0 -0.50586,-0.509765 z m 2,1 a 0.50004982,0.50004982 0 0 0 -0.49414,0.505859 l -0.002,0.25 a 0.50004982,0.50004982 0 1 0 1,0.0039 l 0.002,-0.25 a 0.50004982,0.50004982 0 0 0 -0.50586,-0.509765 z m 1.99805,1 A 0.50004982,0.50004982 0 0 0 481.00195,56.5 v 7 a 0.50004982,0.50004982 0 1 0 1,0 v -7 a 0.50004982,0.50004982 0 0 0 -0.50781,-0.507812 z" id="path13163-4-8" inkscape:connector-curvature="0"/>
+ </g>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 535.5,494 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 1 c 2e-5,0.1326 0.0527,0.25976 0.14648,0.35352 L 536,496.70703 v 2.61524 l -4.38672,5.36132 -0.004,0.004 c -0.58889,0.7361 -0.70787,1.57018 -0.44922,2.2168 0.25864,0.64662 0.88151,1.0957 1.58984,1.0957 h 10.5 c 0.70833,0 1.33692,-0.44332 1.60352,-1.0918 0.26614,-0.64736 0.14367,-1.48967 -0.4668,-2.22461 L 540,499.32227 v -2.61524 l 0.85352,-0.85351 c 0.0938,-0.0938 0.14646,-0.22092 0.14648,-0.35352 v -1 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z m 0.5,1 h 4 v 0.29297 l -0.85352,0.85351 c -0.0938,0.0938 -0.14646,0.22092 -0.14648,0.35352 v 3 c 1.3e-4,0.11538 0.0402,0.22717 0.11328,0.31641 l 4.5,5.5 c 6.6e-4,10e-4 9.5e-4,0.003 0.002,0.004 0.42848,0.51418 0.43133,0.91996 0.3125,1.20899 C 543.80886,506.81822 543.54167,507 543.25,507 h -10.5 c -0.29167,0 -0.5438,-0.17592 -0.66016,-0.4668 -0.11635,-0.29088 -0.11033,-0.7068 0.30078,-1.2207 l 4.4961,-5.49609 c 0.0731,-0.0892 0.11315,-0.20103 0.11328,-0.31641 v -3 c -2e-5,-0.1326 -0.0527,-0.25976 -0.14648,-0.35352 L 536,495.29297 Z m 0,8 c -0.14428,-3.9e-4 -0.2817,0.0616 -0.37695,0.16992 l -1.75,2 c -0.28426,0.32357 -0.0537,0.83118 0.37695,0.83008 h 7.5 c 0.43069,10e-4 0.66121,-0.50651 0.37695,-0.83008 l -1.75,-2 C 540.2817,503.06155 540.14428,502.99961 540,503 Z" id="path13700" inkscape:connector-curvature="0"/>
+ <g style="display:inline;fill:#ffffff;enable-background:new" id="g16377" transform="translate(-217,44.000001)">
+ <path id="path16340" d="m 589,450 c -1.09935,0 -2,0.90065 -2,2 v 0.42969 c 0.73665,0.57364 1.18952,1.45204 1.23438,2.41601 C 588.47082,454.9447 588.72885,455 589,455 h 1 c 1.09935,0 2,-0.90065 2,-2 v -1 c 0,-1.09935 -0.90065,-2 -2,-2 z m 2.58789,6.00586 c -0.28431,-0.0492 -0.58776,0.16015 -0.58789,0.49414 0,0.25 -0.25,0.5 -0.5,0.5 h -2 c -0.25,0 -0.5,-0.25 -0.5,-0.5 v 0.5 c 0,0.36306 -0.26134,0.68419 -0.44336,0.93555 l 0.004,0.004 c 0.41161,0.41161 0.88215,0.75715 1.375,1.25 0.40738,0.40739 0.86402,1.03976 1.01172,1.81055 H 593.5 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 V 459 c 0,-0.66667 -0.3572,-1.18923 -0.77148,-1.60352 -0.41429,-0.41428 -0.90447,-0.77946 -1.375,-1.25 -0.0788,-0.0787 -0.17086,-0.12422 -0.26563,-0.14062 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" inkscape:connector-curvature="0" sodipodi:nodetypes="ssccsssssscccccccsccccsccc"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 584,453 c -1.09935,0 -2,0.90065 -2,2 v 1 c 0,1.09935 0.90065,2 2,2 h 1 c 1.09935,0 2,-0.90065 2,-2 v -1 c 0,-1.09935 -0.90065,-2 -2,-2 z m -1.51562,6 c -0.12717,0.004 -0.248,0.0564 -0.3379,0.14648 -0.47053,0.47054 -0.96071,0.83572 -1.375,1.25 C 580.3572,460.81077 580,461.33333 580,462 v 1.5 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 8 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 V 462 c 0,-0.66667 -0.3572,-1.18923 -0.77148,-1.60352 -0.41429,-0.41428 -0.90447,-0.77946 -1.375,-1.25 -0.32034,-0.32057 -0.86773,-0.0838 -0.85352,0.36914 8.5e-4,0.0269 -0.0479,0.18374 -0.16406,0.30274 C 585.71981,459.93736 585.56612,460 585.5,460 h -2 c -0.0803,0 -0.22193,-0.0571 -0.33203,-0.16797 -0.1101,-0.11083 -0.16786,-0.25596 -0.16797,-0.33203 1.1e-4,-0.28235 -0.23341,-0.50879 -0.51562,-0.5 z" id="path16332" inkscape:connector-curvature="0" sodipodi:nodetypes="ssssssssscccsccccsccccssccc"/>
+ </g>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="M 450.32227,452.0625 C 448.61213,452.13527 447,453.5463 447,456 c 0,2.05278 1.07076,4.01178 2.38672,5.71289 1.31595,1.70111 2.90024,3.15481 4.03125,4.16016 A 0.50005,0.50005 0 0 0 453.75,466 h 0.5 a 0.50005,0.50005 0 0 0 0.33203,-0.12695 c 1.13101,-1.00535 2.7153,-2.45905 4.03125,-4.16016 C 459.92924,460.01178 461,458.05278 461,456 c 0,-2.4537 -1.61213,-3.86473 -3.32227,-3.9375 -1.52139,-0.0647 -3.0532,0.927 -3.67773,2.69727 -0.62453,-1.77027 -2.15634,-2.76201 -3.67773,-2.69727 z m 0.043,1 c 1.22737,-0.0522 2.55838,0.74689 2.89258,2.5293 A 0.50005,0.50005 0 0 0 453.75,456 h 0.5 a 0.50005,0.50005 0 0 0 0.49219,-0.4082 c 0.3342,-1.78241 1.66521,-2.58153 2.89258,-2.5293 C 458.86213,453.1147 460,453.9537 460,456 c 0,1.69722 -0.92924,3.48822 -2.17578,5.09961 -1.20727,1.56061 -2.67447,2.91135 -3.7832,3.90039 h -0.082 c -1.10873,-0.98904 -2.57593,-2.33978 -3.7832,-3.90039 C 448.92924,459.48822 448,457.69722 448,456 c 0,-2.0463 1.13787,-2.88527 2.36523,-2.9375 z" id="path6081" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="M 471.32227,452.0625 C 469.61213,452.13527 468,453.5463 468,456 c 0,1.29326 0.43161,2.55298 1.07227,3.72852 0.16015,0.29312 0.55714,0.34983 0.79296,0.11328 l 3.63477,-3.63477 1.64648,1.64649 c 0.19527,0.19519 0.51177,0.19519 0.70704,0 l 2.64648,-2.64649 2.48242,2.48242 c 0.27743,0.27645 0.75058,0.14111 0.83985,-0.24023 C 481.93311,456.97518 482,456.49157 482,456 c 0,-2.4537 -1.61213,-3.86473 -3.32227,-3.9375 -1.52139,-0.0647 -3.0532,0.927 -3.67773,2.69727 -0.62453,-1.77027 -2.15634,-2.76201 -3.67773,-2.69727 z M 478.49219,458 c -0.12989,0.002 -0.25387,0.0546 -0.34571,0.14648 l -2.64648,2.64649 -1.64648,-1.64649 c -0.19527,-0.19519 -0.51177,-0.19519 -0.70704,0 l -2.34765,2.34766 c -0.18257,0.18194 -0.19694,0.47283 -0.0332,0.67188 1.2321,1.49847 2.62304,2.79208 3.65235,3.70703 0.0914,0.0816 0.20953,0.12673 0.33202,0.12695 h 0.5 c 0.12249,-2.2e-4 0.24064,-0.0454 0.33203,-0.12695 1.41546,-1.2582 3.54029,-3.21344 4.96094,-5.48828 0.12374,-0.19754 0.0946,-0.45438 -0.0703,-0.61915 l -1.61914,-1.61914 c -0.0957,-0.0957 -0.22604,-0.14856 -0.36134,-0.14648 z" id="path6086" inkscape:connector-curvature="0" sodipodi:nodetypes="csccccccccscccccccccccccccccc"/>
+ <g style="display:inline;fill:#ffffff;enable-background:new" id="g16467" transform="translate(-221.99998,478)">
+ <g style="display:inline;fill:#ffffff;enable-background:new" id="g12626-8" transform="translate(726.00003,-499.00001)" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" inkscape:export-xdpi="96" inkscape:export-ydpi="96">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="M 30.492188,367.99219 A 0.50005,0.50005 0 0 0 30,368.5 v 9.79297 l -2.853516,2.85351 a 0.50005,0.50005 0 1 0 0.707032,0.70704 L 30.707031,379 H 40.5 a 0.50005,0.50005 0 1 0 0,-1 H 31 v -9.5 a 0.50005,0.50005 0 0 0 -0.507812,-0.50781 z" id="path12205-4" inkscape:connector-curvature="0"/>
</g>
- <g
- transform="matrix(-1,0,0,1,1439,229.99979)"
- id="g8805-98"
- style="display:inline;opacity:0.98999999;fill:#ffffff;enable-background:new">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 653.5,-359 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 9 a 0.50005,0.50005 0 0 0 0.5,0.5 h 9 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -9 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m 0.5,1 h 8 v 8 h -8 z"
- id="path8743-9"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 656,-357 c -0.54636,0 -1,0.45364 -1,1 0,0.54636 0.45364,1 1,1 0.54636,0 1,-0.45364 1,-1 0,-0.54636 -0.45364,-1 -1,-1 z m 3.50391,1 c -0.18479,-10e-4 -0.35529,0.0993 -0.44336,0.26172 l -3,5.5 c -0.1805,0.33311 0.0606,0.73812 0.43945,0.73828 h 5.75 c 0.37101,-3.7e-4 0.61244,-0.39044 0.44727,-0.72266 l -2.75,-5.5 c -0.0838,-0.16852 -0.25516,-0.2757 -0.44336,-0.27734 z"
- id="circle8761-3"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="ssssscccccccc" />
+ <g transform="matrix(-1,0,0,1,1420,227.99979)" id="g8805-9" style="display:inline;opacity:0.98999999;fill:#ffffff;enable-background:new">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 653.5,-359 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 8 0.5 h 1 v -0.5 -7.5 h 7.5 0.5 v -1 h -0.5 z" id="path8743-5" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.89999998;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 542,349 c -0.54636,0 -1,0.45364 -1,1 0,0.54636 0.45364,1 1,1 0.54636,0 1,-0.45364 1,-1 0,-0.54636 -0.45364,-1 -1,-1 z m -3.48047,2.05078 c -0.16946,-0.008 -0.32881,0.0808 -0.41211,0.22852 l -2.25,4 c -0.17018,0.3004 0.0473,0.67264 0.39258,0.67187 h 4.5 c 0.34528,7.7e-4 0.56276,-0.37147 0.39258,-0.67187 l -2.25,-4 c -0.0765,-0.13552 -0.21755,-0.22152 -0.37305,-0.22852 z" transform="matrix(-1,0,0,1,1198,-705.99979)" id="path8759-7" inkscape:connector-curvature="0"/>
</g>
</g>
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g16457"
- transform="translate(-284.99998,478)">
- <g
- inkscape:export-ydpi="96"
- inkscape:export-xdpi="96"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- id="g7406-1-2-5"
- transform="translate(347.99997,-290.00356)"
- style="display:inline;opacity:1;fill:#ffffff;enable-background:new">
- <path
- id="path7416-1-8-5"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 453,170 v 2 h -2.5 a 0.50005,0.50005 0 1 0 0,1 h 2.91992 a 0.50005,0.50005 0 0 0 0.16211,0 h 0.83789 a 0.50005,0.50005 0 0 0 0.16211,0 H 457.5 a 0.50005,0.50005 0 1 0 0,-1 H 455 v -2 z m -5.5,-11 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 9 a 0.50005,0.50005 0 0 0 0.5,0.5 h 13 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -9 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m 0.5,1 h 12 v 8 h -12 z"
- inkscape:connector-curvature="0" />
+ <g style="display:inline;fill:#ffffff;enable-background:new" id="g16449" transform="translate(-284.99998,478)">
+ <g style="display:inline;opacity:1;fill:#ffffff;enable-background:new" id="g15951-6-3" transform="translate(746.99995,-478)" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" inkscape:export-xdpi="96" inkscape:export-ydpi="96">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 27.5,347 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 3.5 h 1 v -3 h 3 v -1 z m 9.5,0 v 1 h 3 v 3 h 1 v -3.5 A 0.50005,0.50005 0 0 0 40.5,347 Z m -10,10 v 3.5 a 0.50005,0.50005 0 0 0 0.5,0.5 H 31 v -1 h -3 v -3 z m 13,0 v 3 h -3 v 1 h 3.5 A 0.50005,0.50005 0 0 0 41,360.5 V 357 Z" id="path15947-7-2" inkscape:connector-curvature="0"/>
</g>
- <g
- style="display:inline;opacity:0.98999999;fill:#ffffff;enable-background:new"
- id="g16437"
- transform="matrix(-1,0,0,1,1460,227.99979)">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.89999998;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 520,349 c -0.54636,0 -1,0.45364 -1,1 0,0.54636 0.45364,1 1,1 0.54636,0 1,-0.45364 1,-1 0,-0.54636 -0.45364,-1 -1,-1 z m -4.50391,1.05078 c -0.16882,0.001 -0.32263,0.0972 -0.39843,0.24805 l -2.75,5.5 c -0.15067,0.29943 0.0671,0.65258 0.40234,0.65234 h 5.75 c 0.34173,-2.4e-4 0.55851,-0.36622 0.39453,-0.66601 l -3,-5.5 c -0.0795,-0.14558 -0.23258,-0.23538 -0.39844,-0.23438 z"
- transform="matrix(-1,0,0,1,1175,-705.99979)"
- id="path16433"
- inkscape:connector-curvature="0" />
+ <g transform="matrix(-1,0,0,1,1439,229.99979)" id="g8805-98" style="display:inline;opacity:0.98999999;fill:#ffffff;enable-background:new">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 653.5,-359 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 9 a 0.50005,0.50005 0 0 0 0.5,0.5 h 9 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -9 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m 0.5,1 h 8 v 8 h -8 z" id="path8743-9" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 656,-357 c -0.54636,0 -1,0.45364 -1,1 0,0.54636 0.45364,1 1,1 0.54636,0 1,-0.45364 1,-1 0,-0.54636 -0.45364,-1 -1,-1 z m 3.50391,1 c -0.18479,-10e-4 -0.35529,0.0993 -0.44336,0.26172 l -3,5.5 c -0.1805,0.33311 0.0606,0.73812 0.43945,0.73828 h 5.75 c 0.37101,-3.7e-4 0.61244,-0.39044 0.44727,-0.72266 l -2.75,-5.5 c -0.0838,-0.16852 -0.25516,-0.2757 -0.44336,-0.27734 z" id="circle8761-3" inkscape:connector-curvature="0" sodipodi:nodetypes="ssssscccccccc"/>
</g>
</g>
- <g
- transform="translate(-189,-42.000004)"
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g17809-9">
- <g
- id="g17552-8"
- transform="matrix(-1,0,0,1,508.00011,-7e-5)"
- style="fill:#ffffff">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 201.49219,94.998047 a 0.50005,0.50005 0 0 0 -0.38867,0.195312 0.50005,0.50005 0 0 0 -0.006,0.0059 l -3.95118,3.953125 a 0.50005,0.50005 0 1 0 0.70704,0.707031 L 201,96.712891 v 8.792969 a 0.50005,0.50005 0 1 0 1,0 v -8.792969 l 3.14648,3.146484 a 0.50005,0.50005 0 1 0 0.70704,-0.707031 l -3.95508,-3.955078 a 0.50005,0.50005 0 0 0 -0.40625,-0.199219 z"
- id="path14327-2"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="M 195.49219,104.99219 A 0.50005,0.50005 0 0 0 195,105.5 v 3 a 0.50005,0.50005 0 0 0 0.5,0.5 h 12 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -3 a 0.50005,0.50005 0 1 0 -1,0 v 2.5 h -11 v -2.5 a 0.50005,0.50005 0 0 0 -0.50781,-0.50781 z"
- id="rect17542-1"
- inkscape:connector-curvature="0" />
+ <g style="display:inline;fill:#ffffff;enable-background:new" id="g16457" transform="translate(-284.99998,478)">
+ <g inkscape:export-ydpi="96" inkscape:export-xdpi="96" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" id="g7406-1-2-5" transform="translate(347.99997,-290.00356)" style="display:inline;opacity:1;fill:#ffffff;enable-background:new">
+ <path id="path7416-1-8-5" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 453,170 v 2 h -2.5 a 0.50005,0.50005 0 1 0 0,1 h 2.91992 a 0.50005,0.50005 0 0 0 0.16211,0 h 0.83789 a 0.50005,0.50005 0 0 0 0.16211,0 H 457.5 a 0.50005,0.50005 0 1 0 0,-1 H 455 v -2 z m -5.5,-11 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 9 a 0.50005,0.50005 0 0 0 0.5,0.5 h 13 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -9 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m 0.5,1 h 12 v 8 h -12 z" inkscape:connector-curvature="0"/>
</g>
- <g
- id="g17548-0"
- transform="matrix(-1,0,0,1,508.00011,-7e-5)"
- style="fill:#ffffff">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="M 222.49219,95.005859 A 0.50005,0.50005 0 0 0 222,95.511719 v 8.792971 l -3.14648,-3.14649 a 0.50005,0.50005 0 1 0 -0.70704,0.70703 l 3.95704,3.95704 a 0.50005,0.50005 0 0 0 0.79296,0.002 0.50005,0.50005 0 0 0 0.004,-0.006 l 3.95313,-3.95313 a 0.50005,0.50005 0 1 0 -0.70704,-0.70703 L 223,104.30469 v -8.792971 a 0.50005,0.50005 0 0 0 -0.50781,-0.50586 z"
- id="path14329-2"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="M 216.49219,104.99219 A 0.50005,0.50005 0 0 0 216,105.5 v 3 a 0.50005,0.50005 0 0 0 0.5,0.5 h 12 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -3 a 0.50005,0.50005 0 1 0 -1,0 v 2.5 h -11 v -2.5 a 0.50005,0.50005 0 0 0 -0.50781,-0.50781 z"
- id="path17546-9"
- inkscape:connector-curvature="0" />
+ <g style="display:inline;opacity:0.98999999;fill:#ffffff;enable-background:new" id="g16437" transform="matrix(-1,0,0,1,1460,227.99979)">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.89999998;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 520,349 c -0.54636,0 -1,0.45364 -1,1 0,0.54636 0.45364,1 1,1 0.54636,0 1,-0.45364 1,-1 0,-0.54636 -0.45364,-1 -1,-1 z m -4.50391,1.05078 c -0.16882,0.001 -0.32263,0.0972 -0.39843,0.24805 l -2.75,5.5 c -0.15067,0.29943 0.0671,0.65258 0.40234,0.65234 h 5.75 c 0.34173,-2.4e-4 0.55851,-0.36622 0.39453,-0.66601 l -3,-5.5 c -0.0795,-0.14558 -0.23258,-0.23538 -0.39844,-0.23438 z" transform="matrix(-1,0,0,1,1175,-705.99979)" id="path16433" inkscape:connector-curvature="0"/>
</g>
</g>
- <g
- id="g6601"
- style="fill:#ffffff">
- <path
- style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 61.503909,123 c 0,3.59202 -2.911894,6.50391 -6.503906,6.50391 -3.592012,0 -6.503906,-2.91189 -6.503906,-6.50391 0,-3.59201 2.911894,-6.5039 6.503906,-6.5039 3.592012,0 6.503906,2.91189 6.503906,6.5039 z"
- id="path6589"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="sssss" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 54.999998,115.99609 c -3.862225,0 -7.003902,3.14168 -7.003906,7.00391 -2e-6,3.86223 3.141676,7.00391 7.003906,7.00391 3.86223,0 7.003908,-3.14168 7.003906,-7.00391 -4e-6,-3.86223 -3.141681,-7.00391 -7.003906,-7.00391 z m 0,1 c 3.321786,0 6.003903,2.68212 6.003906,6.00391 2e-6,3.32179 -2.682117,6.00391 -6.003906,6.00391 -3.321789,0 -6.003908,-2.68212 -6.003906,-6.00391 3e-6,-3.32179 2.68212,-6.00391 6.003906,-6.00391 z"
- id="path10735"
- inkscape:connector-curvature="0" />
- </g>
- <g
- id="g8734"
- transform="translate(231.99999,-418.99995)"
- style="display:inline;opacity:0.6;fill:#ffffff;enable-background:new"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- inkscape:export-xdpi="96"
- inkscape:export-ydpi="96">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 158.48048,492.99995 c -0.15153,0.004 -0.29304,0.0766 -0.38477,0.19727 l -4.94922,4.94921 c -0.31479,0.315 -0.0918,0.85335 0.35352,0.85352 h 5 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -4.5 h 5 v 12 h -10 v -6 h -1 v 6.5 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 11 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -13 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 h -6 c -0.005,-6e-5 -0.009,-6e-5 -0.0137,0 -6.7e-4,2e-5 -0.001,-2e-5 -0.002,0 -0.001,4e-5 -0.003,-5e-5 -0.004,0 z"
- id="path8730"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="ccccccccccccccccccccccc" />
- </g>
- <path
- id="path20685"
- d="m 447.49219,73.99409 c -0.27615,0.0043 -0.49651,0.231666 -0.49219,0.507812 V 87.49409 c -0.005,0.338081 0.24757,0.509435 0.5,0.507812 l 0.5,-0.0039 v -1.996094 h 2 v 1.996094 h 8 v -1.996094 h 2 v 1.996094 h 0.5 c 0.25244,0 0.50478,-0.169732 0.5,-0.507812 V 74.501902 c 0.005,-0.338081 -0.24762,-0.509415 -0.5,-0.507812 l -0.5,0.0039 v 2.003906 h -2 V 73.99799 h -8 v 2.003906 h -2 V 73.99799 Z M 448,77.001902 h 2 v 2 h -2 z m 10,0 h 2 v 2 h -2 z m -5.52344,1.003906 c 0.1005,-0.004 0.20016,0.02317 0.28516,0.07617 l 4,2.5 c 0.3129,0.1959 0.3129,0.651757 0,0.847657 l -4,2.5 c -0.3331,0.2087 -0.76573,-0.03073 -0.76563,-0.423829 v -5 c -2e-4,-0.2687 0.21197,-0.489 0.48047,-0.5 z M 448,80.001902 h 2 v 2 h -2 z m 10,0 h 2 v 2 h -2 z m -10,3 h 2 v 1.992188 h -2 z m 10,0 h 2 v 1.992188 h -2 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.98999999;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g18316"
- transform="translate(21,-62.999962)">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 496,305 c -3.86007,0 -7,3.13993 -7,7 0,3.86007 3.13993,7 7,7 3.86007,0 7,-3.13993 7,-7 0,-3.86007 -3.13993,-7 -7,-7 z m 0,1 c 3.31963,0 6,2.68037 6,6 0,3.31963 -2.68037,6 -6,6 -3.31963,0 -6,-2.68037 -6,-6 0,-3.31963 2.68037,-6 6,-6 z"
- id="circle17690"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="M 496.49219,306.99219 A 0.50005,0.50005 0 0 0 496,307.5 v 5 a 0.50005,0.50005 0 0 0 0.22266,0.41602 l 3,2 a 0.50005,0.50005 0 1 0 0.55468,-0.83204 L 497,312.23242 V 307.5 a 0.50005,0.50005 0 0 0 -0.50781,-0.50781 z"
- id="path17692"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.75;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 491.5,312 a 0.50005,0.50005 0 1 0 0,1 h 3 a 0.50005,0.50005 0 1 0 0,-1 z"
- id="path17694"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.9;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 492.74414,308.24414 a 0.50005,0.50005 0 0 0 -0.34766,0.85938 l 1.75,1.75 a 0.50005,0.50005 0 1 0 0.70704,-0.70704 l -1.75,-1.75 a 0.50005,0.50005 0 0 0 -0.35938,-0.15234 z"
- id="path17696"
- inkscape:connector-curvature="0" />
- </g>
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g18539-5"
- transform="translate(-699.95,-1104.9501)">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 1240.9492,1334.9492 v 5 h 4 v -5 z"
- id="path18533-4"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="ccccc" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.8;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:7.40000057;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 1236.6992,1327.9531 v 1 h 2.25 c 0.4241,0 0.7403,0.2467 0.8828,0.5762 0.1425,0.3295 0.1253,0.7107 -0.2422,1.0781 l -4,4 c -0.6325,0.6326 -0.7433,1.5055 -0.4492,2.1778 0.2941,0.6722 0.9778,1.1757 1.8028,1.1757 l 3.0059,-0.012 v -1 l -3.0058,0.012 c -0.425,0 -0.7434,-0.2484 -0.8868,-0.5761 -0.1434,-0.3278 -0.1271,-0.7029 0.2403,-1.0703 l 4,-4 c 0.6326,-0.6326 0.7446,-1.5077 0.4531,-2.1817 -0.2915,-0.674 -0.9748,-1.1797 -1.8008,-1.1797 z"
- id="path18537-0"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 1233.4531,1325.9492 c -0.191,0 -0.3661,0.1064 -0.4511,0.2774 l -2,4 c -0.1651,0.3322 0.076,0.7222 0.4472,0.7226 h 4 c 0.371,-4e-4 0.6124,-0.3904 0.4473,-0.7226 l -2,-4 c -0.084,-0.1686 -0.2552,-0.2758 -0.4434,-0.2774 z"
- id="path18541-3"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="cccccccc" />
- </g>
- <g
- transform="matrix(-1,0,0,1,1727,-80)"
- id="g17779"
- style="display:inline;fill:#ffffff;enable-background:new">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 1455.5,512 c -0.2761,3e-5 -0.5,0.22387 -0.5,0.5 v 2 c 0,0.27613 0.2239,0.49997 0.5,0.5 h 11 c 0.2761,-3e-5 0.5,-0.22387 0.5,-0.5 v -2 c 0,-0.27613 -0.2239,-0.49997 -0.5,-0.5 z m 0.5,4 v 6.5 c 0,0.27613 0.2239,0.49997 0.5,0.5 h 9 c 0.2761,-3e-5 0.5,-0.22387 0.5,-0.5 V 516 Z m 4,1 h 2 c 1.3523,-0.0191 1.3523,2.01913 0,2 h -2 c -1.3523,0.0191 -1.3523,-2.01913 0,-2 z"
- id="path17776"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="cssccsscccsccsccccccc" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 1468,514 v 0.5 c 0,0.62337 -0.4468,1.06807 -1,1.28906 V 516 v 1 h 1.5 c 0.2761,-3e-5 0.5,-0.22387 0.5,-0.5 v -2 c 0,-0.27613 -0.2239,-0.49997 -0.5,-0.5 z m -1,4 v 4.5 c 0,0.8167 -0.6835,1.49991 -1.5,1.5 h -7.5 v 0.5 c 0,0.27613 0.2239,0.49997 0.5,0.5 h 9 c 0.2761,-3e-5 0.5,-0.22387 0.5,-0.5 V 518 Z"
- id="path17787"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="csccccsscccsccsccscc" />
- </g>
- <g
- transform="translate(-1.8554137e-6,5.18e-5)"
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g13451"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- inkscape:export-xdpi="96"
- inkscape:export-ydpi="96">
- <g
- id="g23046"
- style="opacity:1;fill:#ffffff">
- <path
- style="opacity:0.98999999;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none"
- d="m 16.501953,536 c -1.926262,0 -3.498047,1.57178 -3.498047,3.49805 0,1.92626 1.571785,3.49804 3.498047,3.49804 C 18.428216,542.99609 20,541.42431 20,539.49805 20,537.57178 18.428216,536 16.501953,536 Z m 0,0.99609 a 0.50005,0.50005 0 1 1 0,1 C 15.666793,537.99609 15,538.66288 15,539.49805 a 0.50005,0.50005 0 1 1 -1,0 c 0,-1.37561 1.126353,-2.50196 2.501953,-2.50196 z"
- transform="translate(1.8554137e-6,-5.18e-5)"
- id="circle12697"
- inkscape:connector-curvature="0" />
+ <g transform="translate(-189,-42.000004)" style="display:inline;fill:#ffffff;enable-background:new" id="g17809-9">
+ <g id="g17552-8" transform="matrix(-1,0,0,1,508.00011,-7e-5)" style="fill:#ffffff">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 201.49219,94.998047 a 0.50005,0.50005 0 0 0 -0.38867,0.195312 0.50005,0.50005 0 0 0 -0.006,0.0059 l -3.95118,3.953125 a 0.50005,0.50005 0 1 0 0.70704,0.707031 L 201,96.712891 v 8.792969 a 0.50005,0.50005 0 1 0 1,0 v -8.792969 l 3.14648,3.146484 a 0.50005,0.50005 0 1 0 0.70704,-0.707031 l -3.95508,-3.955078 a 0.50005,0.50005 0 0 0 -0.40625,-0.199219 z" id="path14327-2" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="M 195.49219,104.99219 A 0.50005,0.50005 0 0 0 195,105.5 v 3 a 0.50005,0.50005 0 0 0 0.5,0.5 h 12 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -3 a 0.50005,0.50005 0 1 0 -1,0 v 2.5 h -11 v -2.5 a 0.50005,0.50005 0 0 0 -0.50781,-0.50781 z" id="rect17542-1" inkscape:connector-curvature="0"/>
</g>
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.8;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 10.503906,539.99219 a 0.50005,0.50005 0 0 0 -0.492187,0.39843 L 9.6542969,542 H 7.5 a 0.50005,0.50005 0 1 0 0,1 H 9.4316406 L 8.765625,546 H 6.5 a 0.50005,0.50005 0 1 0 0,1 h 2.0429688 l -0.53125,2.39062 a 0.50038237,0.50038237 0 1 0 0.9765624,0.21876 L 9.5683594,547 H 16.53125 l 0.476562,2.58984 a 0.50032015,0.50032015 0 1 0 0.984376,-0.17968 L 17.546875,547 H 19.5 a 0.50005,0.50005 0 1 0 0,-1 H 17.363281 L 17.0625,544.37109 a 0.50005,0.50005 0 1 0 -0.982422,0.18164 L 16.345703,546 H 9.7910156 l 0.6660154,-3 H 12.5 a 0.50005,0.50005 0 1 0 0,-1 h -1.820312 l 0.308593,-1.39062 a 0.50005,0.50005 0 0 0 -0.484375,-0.61719 z"
- id="path8399"
- inkscape:connector-curvature="0" />
- </g>
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g13993"
- transform="translate(-21.000002,-20.999948)"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- inkscape:export-xdpi="96"
- inkscape:export-ydpi="96">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.7;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 132.5,557 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 13 a 0.50005,0.50005 0 0 0 0.5,0.5 h 13 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -8 a 0.50005,0.50005 0 1 0 -1,0 v 7.5 h -12 v -12 h 1.5 a 0.50005,0.50005 0 1 0 0,-1 z"
- id="path13936"
- inkscape:connector-curvature="0" />
- <path
- sodipodi:nodetypes="ccsssssssssssssccc"
- inkscape:connector-curvature="0"
- id="path12191-1"
- d="m 136.5,557 c -0.25,0 -0.5,0.25 -0.5,0.5 v 5.5 c 0,0.5 0.25,1 1,1 0.75,0 1,-0.5 1,-1 v -1 c 0,-0.5 0.53412,-1 1,-1 0.55229,0 1,0.44772 1,1 v 3.5 c 0,0.82843 0.67157,1.5 1.5,1.5 0.82843,0 1.5,-0.67157 1.5,-1.5 V 562 c 0,-0.55228 0.44772,-1 1,-1 h 0.5 c 0.85547,0 1.5,-0.66406 1.5,-1.5 v -2 c 0,-0.25 -0.25,-0.5 -0.5,-0.5 z"
- style="display:inline;opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;enable-background:new" />
- </g>
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- transform="translate(-1141.0001,-747.9999)"
- id="g17971-7">
- <g
- style="fill:#ffffff"
- transform="translate(62,59)"
- id="g17967-7">
- <path
- inkscape:connector-curvature="0"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 1085.5,1514 c -0.2761,0 -0.5,0.2239 -0.5,0.5 v 13 c 0,0.2761 0.2239,0.5 0.5,0.5 h 0.5 v -2 h 1 v 2 h 9.5 c 0.2761,0 0.5,-0.2239 0.5,-0.5 v -13 c 0,-0.2761 -0.2239,-0.5 -0.5,-0.5 h -9.5 v 2 h -1 v -2 z m 3.5,2 h 6 v 1 h -6 z m -3,1 h 1 v 2 h -1 z m 3,1 h 6 v 1 h -6 z m -3,2 h 1 v 2 h -1 z m 3,0 h 6 v 1 h -6 z m 0,2 h 4 v 1 h -4 z m -3,1 h 1 v 2 h -1 z"
- transform="translate(169,-289)"
- id="path17960-2" />
+ <g id="g17548-0" transform="matrix(-1,0,0,1,508.00011,-7e-5)" style="fill:#ffffff">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="M 222.49219,95.005859 A 0.50005,0.50005 0 0 0 222,95.511719 v 8.792971 l -3.14648,-3.14649 a 0.50005,0.50005 0 1 0 -0.70704,0.70703 l 3.95704,3.95704 a 0.50005,0.50005 0 0 0 0.79296,0.002 0.50005,0.50005 0 0 0 0.004,-0.006 l 3.95313,-3.95313 a 0.50005,0.50005 0 1 0 -0.70704,-0.70703 L 223,104.30469 v -8.792971 a 0.50005,0.50005 0 0 0 -0.50781,-0.50586 z" id="path14329-2" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="M 216.49219,104.99219 A 0.50005,0.50005 0 0 0 216,105.5 v 3 a 0.50005,0.50005 0 0 0 0.5,0.5 h 12 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -3 a 0.50005,0.50005 0 1 0 -1,0 v 2.5 h -11 v -2.5 a 0.50005,0.50005 0 0 0 -0.50781,-0.50781 z" id="path17546-9" inkscape:connector-curvature="0"/>
</g>
</g>
- <path
- inkscape:connector-curvature="0"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 134.49999,536.00009 c -1.3764,0 -2.5,1.1236 -2.5,2.5 v 7 c 0,1.3764 1.1236,2.5 2.5,2.5 h 0.5 v 2.5 c -8e-4,0.4686 0.5855,0.6809 0.8848,0.3203 l 2.3496,-2.8203 h 5.2656 c 1.3764,0 2.5,-1.1236 2.5,-2.5 v -7 c 0,-1.3764 -1.1236,-2.5 -2.5,-2.5 z m 3.5,2 h 2 v 2 h -2 z m -1,3 h 3 v 4 h 1 v 1 h -4 v -1 h 1 v -3 h -1 z"
- id="path17991-2" />
- <g
- transform="matrix(1,0,0,-1,-167.9929,1043.9931)"
- id="g17666-2"
- style="display:inline;opacity:0.98999999;fill:#ffffff;enable-background:new"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- inkscape:export-xdpi="96"
- inkscape:export-ydpi="96">
- <g
- transform="rotate(90,475.00001,500.9999)"
- inkscape:transform-center-y="9.9999999e-006"
- inkscape:transform-center-x="-1.2499"
- id="g17664-3"
- style="fill:#ffffff" />
- <path
- inkscape:connector-curvature="0"
- id="path17674"
- d="m 475.00071,508.00091 c -3.8601,0 -7,-3.1399 -7,-7 0,-3.8601 3.1399,-7 7,-7 3.8601,0 7,3.1399 7,7 0,3.8601 -3.1399,7 -7,7 z m 2.96094,-1.99804 a 1.0001,1.0001 0 0 0 1.04102,-0.98633 1.0001,1.0001 0 0 0 -0.20899,-0.62305 l -2.57617,-3.43555 1.60742,-2.41015 a 1.0001,1.0001 0 1 0 -1.66406,-1.10938 l -1.91211,2.86914 a 1.0001,1.0001 0 0 0 -0.26367,0.68164 1.0001,1.0001 0 0 0 0.004,0.0801 1.0001,1.0001 0 0 0 0.30664,0.66016 l 2.89844,3.86328 a 1.0001,1.0001 0 0 0 0.76758,0.41016 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
- </g>
- <g
- id="g7662"
- style="fill:#ffffff"
- transform="matrix(1,0,0,-1,0,1085.9844)">
- <path
- inkscape:connector-curvature="0"
- id="path17742-5"
- d="m 468.50781,535.99219 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 13 a 0.50005,0.50005 0 0 0 0.5,0.5 h 13 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -13 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m 0.5,1 h 12 v 5.00586 l -1,-0.006 v 2 l 1,0.006 V 546 h -1.00586 l 0.006,-2.00781 h -2 L 478.00195,546 h -2 l 0.006,-2.00781 h -2 L 474.00195,546 h -2 l 0.006,-2.00781 h -2 L 470.00195,546 h -0.99414 v -2.00391 l 1,-0.006 v -2 l -1,0.006 z m 3,7 h 2 v -2 h -2 z m 4,0 h 2 v -2 h -2 z"
- style="display:inline;opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;enable-background:new" />
- <path
- id="path17758-8"
- d="m 470.00781,539.99219 v 2 h 2 v -2 z m 4,0 v 2 h 2 v -2 z m 4,0 v 2 h 2 v -2 z"
- style="display:inline;opacity:0.8;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;enable-background:new"
- inkscape:connector-curvature="0" />
- </g>
- <g
- style="display:inline;opacity:1;fill:#ffffff;enable-background:new"
- id="g15578-7"
- transform="matrix(1,0,0,-1,894.00002,921)">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.7;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m -467.5,287 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 10 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 2.5 v -1 h -2 v -9 h 9 v 2 h 1 v -2.5 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z"
- id="path15572-4"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="cccccccccccccc" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m -463.50002,301 c -0.27613,-3e-5 -0.49997,-0.22387 -0.5,-0.5 v -9 c 3e-5,-0.27613 0.22387,-0.49997 0.5,-0.5 h 9 c 0.27613,3e-5 0.49997,0.22387 0.5,0.5 v 4.5 h -1 v -4 h -8 v 8 h 5 v -2.5 c 3e-5,-0.27613 0.22387,-0.49997 0.5,-0.5 h 2.5 1 v 0.5 c -2e-5,0.1326 -0.0527,0.25972 -0.14648,0.35352 l -3,3 c -0.0938,0.0938 -0.22092,0.14646 -0.35352,0.14648 z"
- id="path15574-3"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="cccccccccccccccccsccc" />
- </g>
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g18361">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.98999999;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 447.49414,577.99023 a 0.50005,0.50005 0 0 0 -0.49219,0.50782 v 4 a 0.50005,0.50005 0 0 0 0.5,0.5 h 4 a 0.50005,0.50005 0 1 0 0,-1 h -2.6875 c 1.48423,-2.56389 4.60739,-3.65907 7.36719,-2.58008 2.762,1.07985 4.31643,4.00744 3.66406,6.90039 -0.65237,2.89295 -3.31139,4.87021 -6.26953,4.66016 -2.95814,-0.21006 -5.31375,-2.5439 -5.55078,-5.5 a 0.50005,0.50005 0 1 0 -0.99609,0.0801 c 0.27595,3.44157 3.03067,6.17147 6.47461,6.41602 3.44393,0.24455 6.55885,-2.06751 7.31836,-5.43555 0.7595,-3.36803 -1.05982,-6.79554 -4.27539,-8.05273 -0.8039,-0.3143 -1.63664,-0.46878 -2.45899,-0.47852 -2.43307,-0.0288 -4.77966,1.22272 -6.08594,3.40821 v -2.91797 a 0.50005,0.50005 0 0 0 -0.50781,-0.50782 z m 8.98828,3.00391 a 0.50005,0.50005 0 0 0 -0.38281,0.20508 l -3,4 a 0.50005,0.50005 0 0 0 -0.0156,0.57812 l 2,3 a 0.50005,0.50005 0 1 0 0.83204,-0.55468 l -1.80274,-2.70508 2.78711,-3.7168 a 0.50005,0.50005 0 0 0 0.10352,-0.3125 0.50005,0.50005 0 0 0 -0.52149,-0.49414 z"
- id="path13619"
- inkscape:connector-curvature="0" />
- <g
- transform="matrix(0,-1,-1,0,954.9999,1060.0001)"
- inkscape:transform-center-y="9.9999999e-006"
- inkscape:transform-center-x="-1.2499"
- id="g16343-6"
- style="display:inline;opacity:0.98999999;fill:#ffffff;enable-background:new" />
- </g>
- <path
- inkscape:connector-curvature="0"
- id="path18041"
- d="m 517.0019,53.000264 c -0.47496,-0.0438 -0.94252,0.0803 -1.30468,0.35742 -0.28815,0.22047 -0.55389,0.56737 -0.6211,1.0332 -0.0672,0.46584 0.11485,1.01133 0.57227,1.46876 l 0.14648,0.14648 h -4.29297 c -0.53506,4e-5 -1.03128,0.28661 -1.29883,0.75 -0.26752,0.46339 -0.26752,1.03661 0,1.5 0.26755,0.46339 0.76375,0.75 1.29883,0.75 h 0.79297 l -2.64648,2.64648 c -0.79091,0.79079 -0.84722,1.93194 -0.29297,2.65625 0.22044,0.28814 0.56748,0.55402 1.0332,0.6211 0.46572,0.0671 1.0091,-0.11342 1.4668,-0.57031 l 1.4043,-1.40235 c 0.55515,1.96585 2.10614,3.53021 4.16406,3.94141 2.37442,0.47444 4.78539,-0.66388 5.92773,-2.79883 1.14235,-2.13495 0.75134,-4.77035 -0.96094,-6.48242 a 0.50005,0.50005 0 0 0 -0.002,-0.004 l -4.0332,-3.96094 c -0.39539,-0.39541 -0.87856,-0.60853 -1.35352,-0.65234 z m -0.0957,1.00195 c 0.24304,0.0198 0.50958,0.1248 0.74219,0.35743 a 0.50005,0.50005 0 0 0 0.004,0.002 l 4.03125,3.96289 c 1.40369,1.40351 1.72164,3.55449 0.78516,5.30469 -0.93648,1.7502 -2.90114,2.678 -4.84766,2.28906 -1.9465,-0.38894 -3.40679,-2.00407 -3.60937,-3.97266 a 0.50005,0.50005 0 0 0 -0.85156,-0.30273 l -2.01172,2.00976 c -0.29296,0.29245 -0.47153,0.30809 -0.61719,0.28711 -0.14566,-0.021 -0.29945,-0.12932 -0.38281,-0.23828 -0.21096,-0.27568 -0.25826,-0.87658 0.20703,-1.34179 l 3.5,-3.5 a 0.50005,0.50005 0 0 0 -0.35352,-0.85352 h -2 c -0.17943,0 -0.34387,-0.0946 -0.43359,-0.25 -0.0897,-0.15539 -0.0897,-0.34461 0,-0.5 0.0897,-0.15539 0.25413,-0.24999 0.43359,-0.25 h 5.5 a 0.50005,0.50005 0 0 0 0.35352,-0.85352 l -1,-1 c -0.29258,-0.29257 -0.31008,-0.47147 -0.28906,-0.61718 0.021,-0.14571 0.13127,-0.29945 0.24023,-0.38282 0.13784,-0.10546 0.35657,-0.17021 0.59961,-0.15039 z m 1.5957,5.00391 c -1.37479,0 -2.5,1.12521 -2.5,2.5 0,1.37479 1.12521,2.5 2.5,2.5 1.37479,0 2.5,-1.12521 2.5,-2.5 0,-1.37479 -1.12521,-2.5 -2.5,-2.5 z m 0,1 c 0.83435,0 1.5,0.66565 1.5,1.5 0,0.83435 -0.66565,1.5 -1.5,1.5 -0.83435,0 -1.5,-0.66565 -1.5,-1.5 0,-0.83435 0.66565,-1.5 1.5,-1.5 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.98999999;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
- <path
- id="path14479-6"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 111.51563,74 c -0.27614,2.8e-5 -0.49998,0.223869 -0.5,0.5 v 12 c 2e-5,0.276131 0.22386,0.499972 0.5,0.5 H 114.5 c 0.27613,-2.8e-5 0.49997,-0.223869 0.5,-0.5 v -12 c -3e-5,-0.276131 -0.22387,-0.499972 -0.5,-0.5 z m 0.5,1 H 114 v 2 h -1.98437 z m 0,3 H 114 v 2 h -1.98437 z m 0,3 H 114 v 2 h -1.98437 z m 0,3 H 114 v 2 h -1.98437 z M 124,81.000005 h 1 v 1 h -1 z m -2,0 h 1 v 1 h -1 z m -2,0 h 1 v 1 h -1 z m -2,0 h 1 v 1 h -1 z m -2,0 h 1 v 1 h -1 z m 8,-3 h 1 v 1 h -1 z m -2,0 h 1 v 1 h -1 z m -2,0 h 1 v 1 h -1 z m -2,0 h 1 v 1 h -1 z m -2,0 h 1 v 1 h -1 z m 8,-3 h 1 v 1 h -1 z m -2,0 h 1 v 1 h -1 z m -2,0 h 1 v 1 h -1 z m -2,0 h 1 v 1 h -1 z m -2,0 h 1 v 1 h -1 z"
- inkscape:connector-curvature="0" />
- <g
- transform="matrix(-1,0,0,1,1689,365.99979)"
- style="display:inline;opacity:0.98999999;fill:#ffffff;enable-background:new"
- id="g8530-0-8"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- inkscape:export-xdpi="96"
- inkscape:export-ydpi="96">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 1258.4766,-286 c -0.1708,0.008 -0.3255,0.10335 -0.4102,0.25195 l -4,7 c -0.1903,0.33312 0.05,0.74758 0.4336,0.74805 h 8 c 0.3836,-4.7e-4 0.6239,-0.41493 0.4336,-0.74805 l -4,-7 c -0.093,-0.16311 -0.2694,-0.26042 -0.457,-0.25195 z"
- id="path8523-4-0"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="cccccccc" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 1253.5,-289 c -0.8225,0 -1.5,0.67749 -1.5,1.5 0,0.82251 0.6775,1.5 1.5,1.5 0.8225,0 1.5,-0.67749 1.5,-1.5 0,-0.82251 -0.6775,-1.5 -1.5,-1.5 z"
- id="ellipse8525-5-4"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="sssss" />
- <path
- inkscape:connector-curvature="0"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="M 27.5,11 A 0.50005,0.50005 0 0 0 27,11.5 v 10.851562 l 1,-1.75 V 12 h 12 v 12 h -3.099609 c 0.122248,0.339531 0.117057,0.686553 0.0039,1 H 40.5 A 0.50005,0.50005 0 0 0 41,24.5 v -13 A 0.50005,0.50005 0 0 0 40.5,11 Z"
- transform="matrix(-1,0,0,1,1290,-302.99979)"
- id="path8528-7-3" />
- </g>
- <rect
- style="opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke"
- id="rect6696"
- width="0"
- height="0"
- x="-18"
- y="-28" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 180.25977,430.99023 c -1.56005,0 -2.83737,0.68503 -4,1.32227 -0.15986,0.0876 -0.25939,0.25522 -0.25977,0.4375 v 1.75 c -0.002,0.58015 0.81953,0.69801 0.98047,0.14062 0.5477,-1.86218 2.26129,-2.69946 3.87109,-2.56445 0.056,0.003 0.0879,0.0161 0.14258,0.0195 C 182.58833,432.2915 184,433.38188 184,435.75 V 437 h -4.17383 c -1.71873,0 -2.95078,0.48602 -3.73828,1.26172 -0.7875,0.77569 -1.09766,1.80326 -1.09766,2.77539 0,1.37482 0.63393,2.43409 1.58008,3.07031 C 177.51646,444.74365 178.73744,445 180,445 c 1.61266,0 3.42658,-0.64151 4.45508,-1.56836 0.43191,0.42904 0.80166,0.78819 1.11328,1.03906 0.38759,0.31203 0.75096,0.5293 1.18164,0.5293 h 0.75 c 0.31531,0 0.5,-0.25 0.5,-0.5 0,-0.25 -0.16406,-0.5 -0.5,-0.5 -0.0833,0 -0.22505,-0.0571 -0.33398,-0.16602 C 187.05708,443.72508 187,443.58333 187,443.5 v -7 c 0,-1.04167 -0.0843,-2.5 -1.08398,-3.57617 -1.37045,-1.47528 -2.91602,-1.9336 -5.65625,-1.9336 z M 181.5,438 h 2.5 v 4.49023 c -0.8549,0.62028 -1.60427,0.95721 -2.2793,1.14844 -0.1561,0.0477 -0.30873,0.061 -0.46679,0.0977 -0.63626,0.10402 -1.2211,0.10508 -1.65821,-0.0742 C 178.58677,443.24823 178,442.20833 178,441 c 0,-0.63889 0.21654,-1.3962 0.74414,-1.97656 C 179.27174,438.44308 180.11111,438 181.5,438 Z"
- id="path7432"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="sccccccscccscscssssscsscsscccccsss" />
- <g
- inkscape:export-ydpi="96"
- inkscape:export-xdpi="96"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- transform="matrix(0.866668,0,0,0.866668,-9.46699,121.39943)"
- id="g5914"
- style="display:inline;opacity:1;fill:#ffffff;stroke-width:1.15384436;enable-background:new">
- <g
- id="g5912"
- style="fill:#ffffff;stroke-width:1.15384436">
- <path
- style="opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none"
- d="m 202,494 c -3.86008,0 -7,3.13992 -7,7 0,3.86008 3.13992,7 7,7 3.86008,0 7,-3.13992 7,-7 0,-3.86008 -3.13992,-7 -7,-7 z m 0,1 c 3.3058,0 5.97583,2.65852 5.99805,5.95898 C 206.88654,501.90262 204.99536,503 202,503 v 4 c -3.31963,0 -6,-2.68037 -6,-6 0,-0.0145 0.002,-0.0285 0.002,-0.043 1.1112,0.94401 3.00099,2.043 5.998,2.043 z"
- transform="matrix(1.1538444,0,0,1.1538444,10.923433,-140.07605)"
- id="path5908"
- inkscape:connector-curvature="0" />
+ <g id="g6601" style="fill:#ffffff">
+ <path style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 61.503909,123 c 0,3.59202 -2.911894,6.50391 -6.503906,6.50391 -3.592012,0 -6.503906,-2.91189 -6.503906,-6.50391 0,-3.59201 2.911894,-6.5039 6.503906,-6.5039 3.592012,0 6.503906,2.91189 6.503906,6.5039 z" id="path6589" inkscape:connector-curvature="0" sodipodi:nodetypes="sssss"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 54.999998,115.99609 c -3.862225,0 -7.003902,3.14168 -7.003906,7.00391 -2e-6,3.86223 3.141676,7.00391 7.003906,7.00391 3.86223,0 7.003908,-3.14168 7.003906,-7.00391 -4e-6,-3.86223 -3.141681,-7.00391 -7.003906,-7.00391 z m 0,1 c 3.321786,0 6.003903,2.68212 6.003906,6.00391 2e-6,3.32179 -2.682117,6.00391 -6.003906,6.00391 -3.321789,0 -6.003908,-2.68212 -6.003906,-6.00391 3e-6,-3.32179 2.68212,-6.00391 6.003906,-6.00391 z" id="path10735" inkscape:connector-curvature="0"/>
+ </g>
+ <g id="g8734" transform="translate(231.99999,-418.99995)" style="display:inline;opacity:0.6;fill:#ffffff;enable-background:new" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" inkscape:export-xdpi="96" inkscape:export-ydpi="96">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 158.48048,492.99995 c -0.15153,0.004 -0.29304,0.0766 -0.38477,0.19727 l -4.94922,4.94921 c -0.31479,0.315 -0.0918,0.85335 0.35352,0.85352 h 5 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -4.5 h 5 v 12 h -10 v -6 h -1 v 6.5 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 11 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -13 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 h -6 c -0.005,-6e-5 -0.009,-6e-5 -0.0137,0 -6.7e-4,2e-5 -0.001,-2e-5 -0.002,0 -0.001,4e-5 -0.003,-5e-5 -0.004,0 z" id="path8730" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccccccccccccccccccccc"/>
+ </g>
+ <path id="path20685" d="m 447.49219,73.99409 c -0.27615,0.0043 -0.49651,0.231666 -0.49219,0.507812 V 87.49409 c -0.005,0.338081 0.24757,0.509435 0.5,0.507812 l 0.5,-0.0039 v -1.996094 h 2 v 1.996094 h 8 v -1.996094 h 2 v 1.996094 h 0.5 c 0.25244,0 0.50478,-0.169732 0.5,-0.507812 V 74.501902 c 0.005,-0.338081 -0.24762,-0.509415 -0.5,-0.507812 l -0.5,0.0039 v 2.003906 h -2 V 73.99799 h -8 v 2.003906 h -2 V 73.99799 Z M 448,77.001902 h 2 v 2 h -2 z m 10,0 h 2 v 2 h -2 z m -5.52344,1.003906 c 0.1005,-0.004 0.20016,0.02317 0.28516,0.07617 l 4,2.5 c 0.3129,0.1959 0.3129,0.651757 0,0.847657 l -4,2.5 c -0.3331,0.2087 -0.76573,-0.03073 -0.76563,-0.423829 v -5 c -2e-4,-0.2687 0.21197,-0.489 0.48047,-0.5 z M 448,80.001902 h 2 v 2 h -2 z m 10,0 h 2 v 2 h -2 z m -10,3 h 2 v 1.992188 h -2 z m 10,0 h 2 v 1.992188 h -2 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.98999999;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <g style="display:inline;fill:#ffffff;enable-background:new" id="g18316" transform="translate(21,-62.999962)">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 496,305 c -3.86007,0 -7,3.13993 -7,7 0,3.86007 3.13993,7 7,7 3.86007,0 7,-3.13993 7,-7 0,-3.86007 -3.13993,-7 -7,-7 z m 0,1 c 3.31963,0 6,2.68037 6,6 0,3.31963 -2.68037,6 -6,6 -3.31963,0 -6,-2.68037 -6,-6 0,-3.31963 2.68037,-6 6,-6 z" id="circle17690" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="M 496.49219,306.99219 A 0.50005,0.50005 0 0 0 496,307.5 v 5 a 0.50005,0.50005 0 0 0 0.22266,0.41602 l 3,2 a 0.50005,0.50005 0 1 0 0.55468,-0.83204 L 497,312.23242 V 307.5 a 0.50005,0.50005 0 0 0 -0.50781,-0.50781 z" id="path17692" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.75;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 491.5,312 a 0.50005,0.50005 0 1 0 0,1 h 3 a 0.50005,0.50005 0 1 0 0,-1 z" id="path17694" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.9;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 492.74414,308.24414 a 0.50005,0.50005 0 0 0 -0.34766,0.85938 l 1.75,1.75 a 0.50005,0.50005 0 1 0 0.70704,-0.70704 l -1.75,-1.75 a 0.50005,0.50005 0 0 0 -0.35938,-0.15234 z" id="path17696" inkscape:connector-curvature="0"/>
+ </g>
+ <g style="display:inline;fill:#ffffff;enable-background:new" id="g18539-5" transform="translate(-699.95,-1104.9501)">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 1240.9492,1334.9492 v 5 h 4 v -5 z" id="path18533-4" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccc"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.8;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:7.40000057;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 1236.6992,1327.9531 v 1 h 2.25 c 0.4241,0 0.7403,0.2467 0.8828,0.5762 0.1425,0.3295 0.1253,0.7107 -0.2422,1.0781 l -4,4 c -0.6325,0.6326 -0.7433,1.5055 -0.4492,2.1778 0.2941,0.6722 0.9778,1.1757 1.8028,1.1757 l 3.0059,-0.012 v -1 l -3.0058,0.012 c -0.425,0 -0.7434,-0.2484 -0.8868,-0.5761 -0.1434,-0.3278 -0.1271,-0.7029 0.2403,-1.0703 l 4,-4 c 0.6326,-0.6326 0.7446,-1.5077 0.4531,-2.1817 -0.2915,-0.674 -0.9748,-1.1797 -1.8008,-1.1797 z" id="path18537-0" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 1233.4531,1325.9492 c -0.191,0 -0.3661,0.1064 -0.4511,0.2774 l -2,4 c -0.1651,0.3322 0.076,0.7222 0.4472,0.7226 h 4 c 0.371,-4e-4 0.6124,-0.3904 0.4473,-0.7226 l -2,-4 c -0.084,-0.1686 -0.2552,-0.2758 -0.4434,-0.2774 z" id="path18541-3" inkscape:connector-curvature="0" sodipodi:nodetypes="cccccccc"/>
+ </g>
+ <g transform="matrix(-1,0,0,1,1727,-80)" id="g17779" style="display:inline;fill:#ffffff;enable-background:new">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 1455.5,512 c -0.2761,3e-5 -0.5,0.22387 -0.5,0.5 v 2 c 0,0.27613 0.2239,0.49997 0.5,0.5 h 11 c 0.2761,-3e-5 0.5,-0.22387 0.5,-0.5 v -2 c 0,-0.27613 -0.2239,-0.49997 -0.5,-0.5 z m 0.5,4 v 6.5 c 0,0.27613 0.2239,0.49997 0.5,0.5 h 9 c 0.2761,-3e-5 0.5,-0.22387 0.5,-0.5 V 516 Z m 4,1 h 2 c 1.3523,-0.0191 1.3523,2.01913 0,2 h -2 c -1.3523,0.0191 -1.3523,-2.01913 0,-2 z" id="path17776" inkscape:connector-curvature="0" sodipodi:nodetypes="cssccsscccsccsccccccc"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 1468,514 v 0.5 c 0,0.62337 -0.4468,1.06807 -1,1.28906 V 516 v 1 h 1.5 c 0.2761,-3e-5 0.5,-0.22387 0.5,-0.5 v -2 c 0,-0.27613 -0.2239,-0.49997 -0.5,-0.5 z m -1,4 v 4.5 c 0,0.8167 -0.6835,1.49991 -1.5,1.5 h -7.5 v 0.5 c 0,0.27613 0.2239,0.49997 0.5,0.5 h 9 c 0.2761,-3e-5 0.5,-0.22387 0.5,-0.5 V 518 Z" id="path17787" inkscape:connector-curvature="0" sodipodi:nodetypes="csccccsscccsccsccscc"/>
+ </g>
+ <g transform="translate(-1.8554137e-6,5.18e-5)" style="display:inline;fill:#ffffff;enable-background:new" id="g13451" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" inkscape:export-xdpi="96" inkscape:export-ydpi="96">
+ <g id="g23046" style="opacity:1;fill:#ffffff">
+ <path style="opacity:0.98999999;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none" d="m 16.501953,536 c -1.926262,0 -3.498047,1.57178 -3.498047,3.49805 0,1.92626 1.571785,3.49804 3.498047,3.49804 C 18.428216,542.99609 20,541.42431 20,539.49805 20,537.57178 18.428216,536 16.501953,536 Z m 0,0.99609 a 0.50005,0.50005 0 1 1 0,1 C 15.666793,537.99609 15,538.66288 15,539.49805 a 0.50005,0.50005 0 1 1 -1,0 c 0,-1.37561 1.126353,-2.50196 2.501953,-2.50196 z" transform="translate(1.8554137e-6,-5.18e-5)" id="circle12697" inkscape:connector-curvature="0"/>
</g>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.8;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 10.503906,539.99219 a 0.50005,0.50005 0 0 0 -0.492187,0.39843 L 9.6542969,542 H 7.5 a 0.50005,0.50005 0 1 0 0,1 H 9.4316406 L 8.765625,546 H 6.5 a 0.50005,0.50005 0 1 0 0,1 h 2.0429688 l -0.53125,2.39062 a 0.50038237,0.50038237 0 1 0 0.9765624,0.21876 L 9.5683594,547 H 16.53125 l 0.476562,2.58984 a 0.50032015,0.50032015 0 1 0 0.984376,-0.17968 L 17.546875,547 H 19.5 a 0.50005,0.50005 0 1 0 0,-1 H 17.363281 L 17.0625,544.37109 a 0.50005,0.50005 0 1 0 -0.982422,0.18164 L 16.345703,546 H 9.7910156 l 0.6660154,-3 H 12.5 a 0.50005,0.50005 0 1 0 0,-1 h -1.820312 l 0.308593,-1.39062 a 0.50005,0.50005 0 0 0 -0.484375,-0.61719 z" id="path8399" inkscape:connector-curvature="0"/>
+ </g>
+ <g style="display:inline;fill:#ffffff;enable-background:new" id="g13993" transform="translate(-21.000002,-20.999948)" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" inkscape:export-xdpi="96" inkscape:export-ydpi="96">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.7;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 132.5,557 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 13 a 0.50005,0.50005 0 0 0 0.5,0.5 h 13 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -8 a 0.50005,0.50005 0 1 0 -1,0 v 7.5 h -12 v -12 h 1.5 a 0.50005,0.50005 0 1 0 0,-1 z" id="path13936" inkscape:connector-curvature="0"/>
+ <path sodipodi:nodetypes="ccsssssssssssssccc" inkscape:connector-curvature="0" id="path12191-1" d="m 136.5,557 c -0.25,0 -0.5,0.25 -0.5,0.5 v 5.5 c 0,0.5 0.25,1 1,1 0.75,0 1,-0.5 1,-1 v -1 c 0,-0.5 0.53412,-1 1,-1 0.55229,0 1,0.44772 1,1 v 3.5 c 0,0.82843 0.67157,1.5 1.5,1.5 0.82843,0 1.5,-0.67157 1.5,-1.5 V 562 c 0,-0.55228 0.44772,-1 1,-1 h 0.5 c 0.85547,0 1.5,-0.66406 1.5,-1.5 v -2 c 0,-0.25 -0.25,-0.5 -0.5,-0.5 z" style="display:inline;opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;enable-background:new"/>
</g>
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g5920"
- transform="translate(168,-62.999995)">
- <path
- inkscape:export-ydpi="96"
- inkscape:export-xdpi="96"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- id="path5916"
- d="m 49,558 v 3 h 3 v -3 z m 3,3 v 3 h 3 v -3 z m 3,0 h 3 v -3 h -3 z m 3,0 v 3 h 3 v -3 z m 0,3 h -3 v 3 h 3 z m 0,3 v 3 h 3 v -3 z m -3,0 h -3 v 3 h 3 z m -3,0 v -3 h -3 v 3 z"
- style="display:inline;opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.99999988;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;enable-background:new"
- inkscape:connector-curvature="0" />
- <path
- inkscape:connector-curvature="0"
- id="path5918"
- d="m 48.5,557 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 13 a 0.50005,0.50005 0 0 0 0.5,0.5 h 13 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -13 A 0.50005,0.50005 0 0 0 61.5,557 Z m 0.5,1 h 12 v 12 H 49 Z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.8;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
- </g>
- <g
- transform="translate(420.00505,-159.00506)"
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g5937">
- <path
- id="path5935"
- transform="translate(-462.00505,96.005057)"
- d="m 103.49609,556.99023 a 0.50005,0.50005 0 0 0 -0.34375,0.15039 l -1.57031,1.57032 c -1.22858,-1.06562 -2.825838,-1.7168 -4.576171,-1.7168 -3.86007,0 -7,3.13993 -7,7 0,1.75033 0.649231,3.34954 1.714844,4.57813 l -1.568359,1.56835 a 0.50005,0.50005 0 1 0 0.707031,0.70704 l 1.568359,-1.56836 c 1.228585,1.06561 2.827793,1.71484 4.578125,1.71484 3.860071,0 7.000001,-3.13993 7.000001,-7 0,-1.75033 -0.65118,-3.34759 -1.7168,-4.57617 l 1.57032,-1.57031 a 0.50005,0.50005 0 0 0 -0.36329,-0.85743 z m -6.490231,1.00391 c 3.319631,0 6.000001,2.68037 6.000001,6 0,3.31963 -2.68037,6 -6.000001,6 -3.31963,0 -6,-2.68037 -6,-6 0,-0.88092 0.193846,-1.71405 0.533203,-2.4668 l 0.466797,0.4668 1,1 v 2 h 2 v 1 l 1,1 v 2 h 0.75 1.25 l 1,-1 1.000001,-1 v -1 l -1.000001,-1 h -2 -1 l -1,-1 h -1 l 1,-1 h 1 l 2,-2 -1,-1 h -1 l -1,-1 0.894532,-0.89453 c 0.358617,-0.0666 0.727234,-0.10547 1.105468,-0.10547 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.98999999;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.9999997;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- </g>
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 202,556.99628 c -1.79823,1e-5 -2.78534,0.23261 -3.38867,0.75196 C 198.00799,558.26759 198,559.00268 198,559.49628 v 0.5 h -0.002 c -0.12828,0 -0.91099,4e-5 -1.63867,0.53711 -0.72848,0.53766 -1.35958,1.60963 -1.35938,3.4668 9e-5,0.84676 0.12547,1.43896 0.35352,1.89453 0.22804,0.45557 0.5457,0.7425 0.81445,0.98047 a 0.50086817,0.50086817 0 1 0 0.66406,-0.75 c -0.2639,-0.23368 -0.44506,-0.40021 -0.58398,-0.67773 -0.13888,-0.27753 -0.24792,-0.69815 -0.248,-1.44727 -1.7e-4,-1.64286 0.494,-2.32325 0.95312,-2.66211 0.45913,-0.33885 0.92388,-0.3418 1.04688,-0.3418 h 0.44336 a 0.50005,0.50005 0 0 0 0.0586,0.004 l 3,-0.01 a 0.50005,0.50005 0 0 0 -0.002,-1 h -0.002 -0.002 L 199,559.99428 v -0.49805 c 0,-0.4936 -0.008,-0.75638 0.26367,-0.99023 0.27167,-0.23385 1.03456,-0.50976 2.73633,-0.50977 1.70177,0 2.46467,0.27592 2.73633,0.50977 0.27166,0.23385 0.26367,0.49663 0.26367,0.99023 v 1.99414 c -6e-5,0.47857 -0.26457,0.78886 -0.8457,1.12891 -0.58114,0.34005 -1.43184,0.62116 -2.30664,0.90234 -0.87481,0.28119 -1.77478,0.56315 -2.50586,0.98829 -0.73108,0.42513 -1.34192,1.08253 -1.3418,1.98046 v 2.01368 c 0,0.4936 0.008,1.22869 0.61133,1.74804 0.60334,0.51936 1.59044,0.75196 3.38867,0.75196 1.79823,-10e-6 2.78534,-0.23261 3.38867,-0.75196 C 205.99201,569.73274 206,568.99765 206,568.50405 v -0.5 c 0.127,0 0.91215,5.4e-4 1.64062,-0.53711 0.72848,-0.53766 1.35958,-1.60963 1.35938,-3.4668 -1.6e-4,-1.56962 -0.66959,-2.34844 -1.13672,-2.84375 a 0.5001364,0.5001364 0 1 0 -0.72656,0.6875 c 0.47073,0.49913 0.86314,0.83133 0.86328,2.15625 1.7e-4,1.64286 -0.494,2.32325 -0.95312,2.66211 -0.45913,0.33885 -0.92388,0.3418 -1.04688,0.3418 h -0.44336 a 0.50005,0.50005 0 0 0 -0.0586,-0.004 l -3,0.01 a 0.50005,0.50005 0 0 0 0.002,1 h 0.002 0.002 l 2.49595,-0.004 v 0.49805 c 0,0.4936 0.008,0.75638 -0.26367,0.99023 -0.27167,0.23385 -1.03456,0.50976 -2.73633,0.50977 -1.70177,0 -2.46467,-0.27592 -2.73633,-0.50977 -0.27166,-0.2339 -0.26367,-0.49668 -0.26367,-0.99028 v -2.01368 c -6e-5,-0.47218 0.26437,-0.77913 0.8457,-1.11718 0.58133,-0.33805 1.43145,-0.61908 2.30664,-0.90039 0.8752,-0.28132 1.77441,-0.56222 2.50586,-0.99024 0.73146,-0.42801 1.34168,-1.09087 1.3418,-1.99219 v -1.99414 c 0,-0.4936 -0.008,-1.22869 -0.61133,-1.74804 -0.60334,-0.51936 -1.59044,-0.75196 -3.38867,-0.75196 z"
- id="path12249-6"
- inkscape:connector-curvature="0" />
- <g
- id="g5996"
- style="display:inline;opacity:1;fill:#ffffff;enable-background:new"
- transform="matrix(-1,0,0,1,552.8323,1.5e-5)">
- <path
- inkscape:connector-curvature="0"
- id="path5994"
- d="m 310.58203,494 c -1.1875,0 -2.13583,0.69085 -2.52344,1.62109 -0.3876,0.93025 -0.20775,2.10475 0.66993,2.98243 l 2.5,2.5 c 0.62232,0.62232 0.69247,1.32282 0.45507,1.89257 C 311.4462,503.56585 310.89453,504 310.08203,504 l -6.53515,-0.008 2.13867,-2.13867 a 0.50005,0.50005 0 1 0 -0.70703,-0.70704 l -2.9336,2.93555 -0.01,0.008 a 0.50005,0.50005 0 0 0 -0.20704,0.41602 0.50005,0.50005 0 0 0 0,0.008 0.50005,0.50005 0 0 0 0.004,0.0469 0.50005,0.50005 0 0 0 0.008,0.0488 0.50005,0.50005 0 0 0 0.19336,0.29882 l 2.94532,2.94532 a 0.50005,0.50005 0 1 0 0.70703,-0.70704 l -2.1543,-2.15429 6.55078,0.008 c 1.1875,0 2.13584,-0.69085 2.52344,-1.62109 0.3876,-0.93025 0.20775,-2.10475 -0.66992,-2.98243 l -2.5,-2.5 c -0.62233,-0.62232 -0.69248,-1.32282 -0.45508,-1.89257 0.2374,-0.56976 0.78906,-1.00391 1.60156,-1.00391 h 4.75 a 0.50005,0.50005 0 1 0 0,-1 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:7.40000057;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" />
- </g>
- <path
- inkscape:connector-curvature="0"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 90.5,494 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 3 a 0.50005,0.50005 0 0 0 0.5,0.5 h 0.949219 L 95,504.62695 V 507.5 a 0.50005,0.50005 0 0 0 0.5,0.5 h 3 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -2.87305 L 102.55078,498 H 103.5 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -3 a 0.50005,0.50005 0 0 0 -0.5,-0.5 h -3 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 0.5 h -6 v -0.5 A 0.50005,0.50005 0 0 0 93.5,494 Z m 0.5,1 h 2 v 2 h -2 z m 10,0 h 2 v 2 h -2 z m -7,1 h 6 v 1.5 a 0.50005,0.50005 0 0 0 0.5,0.5 h 0.91406 l -3.214841,6 h -2.398438 l -3.214843,-6 H 93.5 a 0.50005,0.50005 0 0 0 0.5,-0.5 z m 2,9 h 2 v 2 h -2 z"
- id="path6000" />
- <path
- inkscape:connector-curvature="0"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 115.5,494 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 3 a 0.50005,0.50005 0 0 0 0.5,0.5 h 3 a 0.50005,0.50005 0 0 0 0.5,-0.5 V 496 h 0.5 c 1.29307,0 2.42587,0.35206 3.21875,1.00977 C 123.51163,497.66747 124,498.62406 124,500 c 0,1.58333 -0.78109,3.05511 -2.24023,4.16406 C 120.30062,505.27301 118.15909,506 115.5,506 H 115 v -1.5 a 0.50005,0.50005 0 0 0 -0.5,-0.5 h -3 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 3 a 0.50005,0.50005 0 0 0 0.5,0.5 h 3 a 0.50005,0.50005 0 0 0 0.5,-0.5 V 507 h 0.5 c 2.84091,0 5.19938,-0.77301 6.86523,-2.03906 C 124.03109,503.69489 125,501.91667 125,500 c 0,-1.62406 -0.62718,-2.91747 -1.64258,-3.75977 C 122.34202,495.39794 120.97378,495 119.5,495 H 119 v -0.5 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m 0.5,1 h 2 v 2 h -2 z m -4,10 h 2 v 2 h -2 z"
- id="path6006" />
- <g
- transform="matrix(-1,0,0,1,1290,764.99979)"
- style="display:inline;opacity:0.98999999;fill:#ffffff;enable-background:new"
- id="g8530-0-8-3"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- inkscape:export-xdpi="96"
- inkscape:export-ydpi="96">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 1258.4766,-286 c -0.1708,0.008 -0.3255,0.10335 -0.4102,0.25195 l -4,7 c -0.1903,0.33312 0.05,0.74758 0.4336,0.74805 h 8 c 0.3836,-4.7e-4 0.6239,-0.41493 0.4336,-0.74805 l -4,-7 c -0.093,-0.16311 -0.2694,-0.26042 -0.457,-0.25195 z"
- id="path8523-4-0-3"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="cccccccc" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 1253.5,-289 c -0.8225,0 -1.5,0.67749 -1.5,1.5 0,0.82251 0.6775,1.5 1.5,1.5 0.8225,0 1.5,-0.67749 1.5,-1.5 0,-0.82251 -0.6775,-1.5 -1.5,-1.5 z"
- id="ellipse8525-5-4-7"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="sssss" />
- <path
- inkscape:connector-curvature="0"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="M 27.5,11 A 0.50005,0.50005 0 0 0 27,11.5 v 10.851562 l 1,-1.75 V 12 h 12 v 12 h -3.099609 c 0.122248,0.339531 0.117057,0.686553 0.0039,1 H 40.5 A 0.50005,0.50005 0 0 0 41,24.5 v -13 A 0.50005,0.50005 0 0 0 40.5,11 Z"
- transform="matrix(-1,0,0,1,1290,-302.99979)"
- id="path8528-7-3-1" />
- </g>
- <g
- style="display:inline;opacity:1;fill:#ffffff;enable-background:new"
- id="g6348"
- transform="translate(41.999953,147)"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- inkscape:export-xdpi="96"
- inkscape:export-ydpi="96">
- <path
- inkscape:connector-curvature="0"
- id="path6344"
- d="m 27.5,347 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 3.5 h 1 v -3 h 3 v -1 z m 9.5,0 v 1 h 3 v 3 h 1 v -3.5 A 0.50005,0.50005 0 0 0 40.5,347 Z m -10,10 v 3.5 a 0.50005,0.50005 0 0 0 0.5,0.5 H 31 v -1 h -3 v -3 z m 13,0 v 3 h -3 v 1 h 3.5 A 0.50005,0.50005 0 0 0 41,360.5 V 357 Z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
- <path
- sodipodi:nodetypes="ccccccccc"
- inkscape:connector-curvature="0"
- id="path6346"
- d="m 30.5,350 c -0.276131,3e-5 -0.499972,0.22387 -0.5,0.5 v 7 c 2.8e-5,0.27613 0.223869,0.49997 0.5,0.5 h 7 c 0.276131,-3e-5 0.499972,-0.22387 0.5,-0.5 v -7 c -2.8e-5,-0.27613 -0.223869,-0.49997 -0.5,-0.5 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
- </g>
- <path
- inkscape:connector-curvature="0"
- id="path6351"
- d="m 310.57031,494.01758 c -0.79787,-0.038 -1.57177,0.27684 -2.16015,0.86523 l -1.48633,1.48828 c -0.61577,0.57533 -0.93433,1.35407 -0.89258,2.1543 a 0.50005,0.50005 0 1 0 0.99805,-0.0508 c -0.0269,-0.51495 0.15566,-0.98016 0.57617,-1.37305 a 0.50005,0.50005 0 0 0 0.0117,-0.0117 l 1.5,-1.5 c 0.41161,-0.41161 0.88966,-0.59872 1.40429,-0.57422 0.51464,0.0245 1.08439,0.26993 1.63868,0.82422 0.55479,0.5548 0.80954,1.13546 0.83789,1.65235 0.0283,0.51688 -0.15241,0.9848 -0.57422,1.3789 a 0.50005,0.50005 0 0 0 -0.0137,0.0117 l -1.5,1.5 c -0.41213,0.41213 -0.87694,0.60352 -1.39649,0.60352 a 0.50005,0.50005 0 1 0 0,1 c 0.78067,0 1.52491,-0.31788 2.10352,-0.89649 l 1.48828,-1.48828 c 0.61768,-0.57711 0.9366,-1.36125 0.89258,-2.16406 -0.044,-0.80281 -0.43566,-1.60948 -1.13086,-2.30469 -0.69571,-0.69571 -1.49901,-1.07724 -2.29688,-1.11523 z m -1.08008,3.97851 a 0.50005,0.50005 0 0 0 -0.34375,0.15039 l -5,5 a 0.50005,0.50005 0 1 0 0.70704,0.70704 l 5,-5 a 0.50005,0.50005 0 0 0 -0.36329,-0.85743 z m -4.92968,2.02149 c -0.80753,-0.0482 -1.5954,0.26944 -2.17578,0.89062 l -1.48829,1.48828 c -0.58838,0.58839 -0.90322,1.36034 -0.86523,2.15821 0.038,0.79787 0.41952,1.60311 1.11523,2.29883 0.69521,0.6952 1.50384,1.08487 2.30664,1.1289 0.80281,0.044 1.585,-0.27294 2.16211,-0.89062 l 1.48829,-1.48828 C 307.68213,505.0249 308,504.28067 308,503.5 a 0.50005,0.50005 0 1 0 -1,0 c 0,0.51955 -0.19139,0.98436 -0.60352,1.39648 l -1.5,1.5 a 0.50005,0.50005 0 0 0 -0.0117,0.0117 c -0.39411,0.42182 -0.86007,0.60452 -1.37696,0.57618 -0.51688,-0.0283 -1.0995,-0.2831 -1.65429,-0.8379 -0.55429,-0.55428 -0.79776,-1.12404 -0.82227,-1.63867 -0.0245,-0.51463 0.16065,-0.99268 0.57227,-1.40429 l 1.5,-1.5 a 0.50005,0.50005 0 0 0 0.0117,-0.0117 c 0.39634,-0.4242 0.86629,-0.60725 1.38672,-0.57618 a 0.50005,0.50005 0 1 0 0.0586,-0.99804 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
- <g
- inkscape:export-ydpi="96"
- inkscape:export-xdpi="96"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- style="display:inline;opacity:1;fill:#ffffff;enable-background:new"
- id="g6359"
- transform="rotate(90,306.5,333.5)">
- <path
- sodipodi:nodetypes="sssss"
- inkscape:connector-curvature="0"
- id="path6353"
- d="m 469.5,356 c -1.37478,0 -2.5,1.12522 -2.5,2.5 0,1.37478 1.12522,2.5 2.5,2.5 1.37478,0 2.5,-1.12522 2.5,-2.5 0,-1.37478 -1.12522,-2.5 -2.5,-2.5 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
- <g
- style="opacity:0.7;fill:#ffffff"
- id="g6357">
- <path
- id="path6355"
- transform="matrix(0,-1,-1,0,1038,577)"
- d="m 218.5,557 c -0.8225,0 -1.5,0.6775 -1.5,1.5 0,0.64684 0.42097,1.19777 1,1.40625 V 564.5 c -0.01,0.67616 1.01,0.67616 1,0 v -4.59375 c 0.57903,-0.20848 1,-0.75941 1,-1.40625 0,-0.8225 -0.6775,-1.5 -1.5,-1.5 z m 9.5,0 c -1.09865,0 -2,0.90135 -2,2 0,0.36859 0.10883,0.71022 0.28516,1.00781 l -5.13868,5.13867 c -0.49023,0.47127 0.23577,1.19727 0.70704,0.70704 l 5.13867,-5.13868 C 227.28978,560.89117 227.63141,561 228,561 c 1.09865,-10e-6 2,-0.90135 2,-2 0,-1.09865 -0.90135,-1.99999 -2,-2 z m 0.5,10 c -0.64684,0 -1.19777,0.42097 -1.40625,1 H 222.5 c -0.67616,-0.01 -0.67616,1.01 0,1 h 4.59375 c 0.20848,0.57903 0.75941,1 1.40625,1 0.82251,0 1.5,-0.67749 1.5,-1.5 0,-0.82251 -0.67749,-1.5 -1.5,-1.5 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- inkscape:connector-curvature="0" />
+ <g style="display:inline;fill:#ffffff;enable-background:new" transform="translate(-1141.0001,-747.9999)" id="g17971-7">
+ <g style="fill:#ffffff" transform="translate(62,59)" id="g17967-7">
+ <path inkscape:connector-curvature="0" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 1085.5,1514 c -0.2761,0 -0.5,0.2239 -0.5,0.5 v 13 c 0,0.2761 0.2239,0.5 0.5,0.5 h 0.5 v -2 h 1 v 2 h 9.5 c 0.2761,0 0.5,-0.2239 0.5,-0.5 v -13 c 0,-0.2761 -0.2239,-0.5 -0.5,-0.5 h -9.5 v 2 h -1 v -2 z m 3.5,2 h 6 v 1 h -6 z m -3,1 h 1 v 2 h -1 z m 3,1 h 6 v 1 h -6 z m -3,2 h 1 v 2 h -1 z m 3,0 h 6 v 1 h -6 z m 0,2 h 4 v 1 h -4 z m -3,1 h 1 v 2 h -1 z" transform="translate(169,-289)" id="path17960-2"/>
</g>
</g>
- <g
- style="fill:#ffffff"
- id="g6505"
- transform="translate(84,-21)">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 31.5,494 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 9 a 0.50005,0.50005 0 0 0 0.5,0.5 h 9 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -9 A 0.50005,0.50005 0 0 0 40.5,494 Z m 0.5,1 h 8 v 8 h -8 z"
- id="path6499"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.89999998;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 38,496 c -0.546362,0 -1,0.45364 -1,1 0,0.54636 0.453638,1 1,1 0.546362,0 1,-0.45364 1,-1 0,-0.54636 -0.453638,-1 -1,-1 z m -3.513672,1.05078 c -0.16529,0.005 -0.314526,0.10024 -0.388672,0.24805 l -2.75,5.5 c -0.148607,0.29892 0.06852,0.64991 0.402344,0.65039 h 5.75 c 0.340259,-0.001 0.55634,-0.36474 0.394531,-0.66406 l -3,-5.5 c -0.08111,-0.14873 -0.238867,-0.23931 -0.408203,-0.23438 z"
- id="path6501"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.69300022;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="M 29.492188,495.99219 A 0.50005,0.50005 0 0 0 29,496.5 v 9 a 0.50005,0.50005 0 0 0 0.5,0.5 h 9 a 0.50005,0.50005 0 1 0 0,-1 H 30 v -8.5 a 0.50005,0.50005 0 0 0 -0.507812,-0.50781 z m -2,2 A 0.50005,0.50005 0 0 0 27,498.5 v 9 a 0.50005,0.50005 0 0 0 0.5,0.5 h 9 a 0.50005,0.50005 0 1 0 0,-1 H 28 v -8.5 a 0.50005,0.50005 0 0 0 -0.507812,-0.50781 z"
- id="path6503"
- inkscape:connector-curvature="0" />
- </g>
- <g
- id="g8734-0"
- transform="translate(-104.00001,-19.99995)"
- style="display:inline;opacity:1;fill:#ffffff;enable-background:new"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- inkscape:export-xdpi="96"
- inkscape:export-ydpi="96">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 158.48048,492.99995 c -0.15153,0.004 -0.29304,0.0766 -0.38477,0.19727 l -4.94922,4.94921 c -0.31479,0.315 -0.0918,0.85335 0.35352,0.85352 h 5 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -4.5 h 5 v 12 h -10 v -6 h -1 v 6.5 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 11 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -13 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 h -6 c -0.005,-6e-5 -0.009,-6e-5 -0.0137,0 -6.7e-4,2e-5 -0.001,-2e-5 -0.002,0 -0.001,4e-5 -0.003,-5e-5 -0.004,0 z"
- id="path8730-7"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="ccccccccccccccccccccccc" />
- </g>
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 56.515625,452 c 0.752,0 1.453818,0.239 2.023438,0.64453 C 59.424733,453.27508 60,454.31514 60,455.48438 V 458.5 c -3e-5,0.27537 -0.222677,0.4989 -0.498047,0.5 l -4.009765,0.008 c -0.27613,-3e-5 -0.49997,-0.22387 -0.5,-0.5 L 55,452.53516 v -0.002 -0.0352 C 55.001,452.22272 55.22466,452.00003 55.5,452 Z M 54,452 v 1 H 52.484375 C 51.099855,453 50,454.09985 50,455.48438 v 8.03124 C 50,464.90014 51.099855,466 52.484375,466 h 4.03125 C 57.900145,466 59,464.90014 59,463.51562 V 460 h 1 v 3.51562 C 60,465.43685 58.436855,467 56.515625,467 h -4.03125 C 50.563145,467 49,465.43686 49,463.51562 v -8.03124 C 49,453.56315 50.563145,452 52.484375,452 Z"
- id="path6557"
- inkscape:connector-curvature="0" />
- <path
- id="path6596"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 92.484375,452 c -0.752,0 -1.453818,0.239 -2.023438,0.64453 C 89.575267,453.27508 89,454.31514 89,455.48438 V 458.5 c 3e-5,0.27537 0.222677,0.4989 0.498047,0.5 l 4.009765,0.008 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 L 94,452.53516 v -0.002 -0.0352 C 93.999,452.22272 93.77534,452.00003 93.5,452 Z M 95,452 v 1 h 1.515625 C 97.900145,453 99,454.09985 99,455.48438 v 8.03124 C 99,464.90014 97.900145,466 96.515625,466 h -4.03125 C 91.099855,466 90,464.90014 90,463.51562 V 460 h -1 v 3.51562 C 89,465.43685 90.563145,467 92.484375,467 h 4.03125 C 98.436855,467 100,465.43686 100,463.51562 v -8.03124 C 100,453.56315 98.436855,452 96.515625,452 Z m 6.47656,-0.97852 a 0.50005,0.50005 0 0 0 -0.31445,0.8711 c 0.58809,0.54453 0.8418,1.0856 0.8418,1.60156 L 102,459.5 a 0.50005,0.50005 0 1 0 1,0 l 0.004,-6.00586 c 0,-0.8509 -0.43179,-1.65971 -1.16211,-2.33594 a 0.50005,0.50005 0 0 0 -0.36524,-0.13672 z m 3.01563,2.01563 A 0.50005,0.50005 0 0 0 104,453.54297 v 4.05859 a 0.50005,0.50005 0 1 0 1,0 v -4.05859 a 0.50005,0.50005 0 0 0 -0.50781,-0.50586 z"
- inkscape:connector-curvature="0" />
- <path
- id="path6598"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="M 113.48438,452 C 111.56315,452 110,453.56315 110,455.48438 v 8.03124 c 0,1.92123 1.56315,3.48438 3.48438,3.48438 h 4.03125 C 119.43685,467 121,465.43685 121,463.51562 v -8.03124 C 121,453.56315 119.43685,452 117.51563,452 Z m 0,1 h 4.03125 c 1.38452,0 2.48437,1.09985 2.48437,2.48438 v 8.03124 C 120,464.90015 118.90015,466 117.51563,466 h -4.03125 C 112.09985,466 111,464.90015 111,463.51562 v -8.03124 C 111,454.09985 112.09985,453 113.48438,453 Z m 1.5625,1 C 114.47554,454 114,454.47555 114,455.04688 v 3.90624 c 0,0.57133 0.47554,1.04688 1.04688,1.04688 h 0.90625 C 116.52446,460 117,459.52445 117,458.95312 v -3.90624 C 117,454.47555 116.52446,454 115.95313,454 Z m 7.42968,-2.97852 a 0.50005,0.50005 0 0 0 -0.31445,0.8711 c 0.58809,0.54453 0.8418,1.0856 0.8418,1.60156 L 123,459.5 a 0.50005,0.50005 0 1 0 1,0 l 0.004,-6.00586 c 0,-0.8509 -0.43179,-1.65971 -1.16211,-2.33594 a 0.50005,0.50005 0 0 0 -0.36524,-0.13672 z m 3.01563,2.01563 A 0.50005,0.50005 0 0 0 125,453.54297 v 4.05859 a 0.50005,0.50005 0 1 0 1,0 v -4.05859 a 0.50005,0.50005 0 0 0 -0.50781,-0.50586 z"
- inkscape:connector-curvature="0" />
- <path
- id="path6600"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 138.51562,452 c 0.752,0 1.45382,0.239 2.02344,0.64453 0.88567,0.63055 1.46094,1.67061 1.46094,2.83985 V 458.5 c -3e-5,0.27537 -0.22268,0.4989 -0.49805,0.5 l -4.00976,0.008 c -0.27613,-3e-5 -0.49997,-0.22387 -0.5,-0.5 L 137,452.53516 v -0.002 -0.0352 c 0.001,-0.27524 0.22466,-0.49793 0.5,-0.49796 z M 136,452 v 1 h -1.51563 C 133.09986,453 132,454.09985 132,455.48438 v 8.03124 c 0,1.38452 1.09986,2.48438 2.48437,2.48438 h 4.03125 C 139.90014,466 141,464.90014 141,463.51562 V 460 h 1 v 3.51562 C 142,465.43685 140.43685,467 138.51562,467 h -4.03125 C 132.56315,467 131,465.43686 131,463.51562 v -8.03124 C 131,453.56315 132.56315,452 134.48437,452 Z m 7.47656,-0.97852 a 0.50005,0.50005 0 0 0 -0.31445,0.8711 c 0.58809,0.54453 0.8418,1.0856 0.8418,1.60156 L 144,459.5 a 0.50005,0.50005 0 1 0 1,0 l 0.004,-6.00586 c 0,-0.8509 -0.43179,-1.65971 -1.16211,-2.33594 a 0.50005,0.50005 0 0 0 -0.36524,-0.13672 z m 3.01563,2.01563 A 0.50005,0.50005 0 0 0 146,453.54297 v 4.05859 a 0.50005,0.50005 0 1 0 1,0 v -4.05859 a 0.50005,0.50005 0 0 0 -0.50781,-0.50586 z"
- inkscape:connector-curvature="0" />
- <g
- style="display:inline;opacity:1;fill:#ffffff;enable-background:new"
- id="g26277"
- transform="translate(273,-20.99999)">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 203.5,284 a 0.50005,0.50005 0 0 0 -0.35352,0.14648 l -8,8 A 0.50005,0.50005 0 0 0 195,292.5 l -0.008,5.00586 a 0.50005,0.50005 0 0 0 0.5,0.50195 L 208.5,298 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -13 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m 0.20703,1 H 208 v 12 l -12.00781,0.008 0.008,-4.30078 z"
- id="path23052"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.5;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 200.5,284 -5.00781,0.008 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 5 a 0.50005,0.50005 0 1 0 1,0 v -4.50195 L 200.5,285 a 0.50005,0.50005 0 1 0 0,-1 z"
- id="path23056"
- inkscape:connector-curvature="0" />
- </g>
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 351.48242,557.01562 -0.96875,0.0156 c -0.0189,2.6e-4 -0.0378,0.002 -0.0566,0.004 -2.58289,0.33067 -4.57988,2.60038 -4.45117,5.21484 0.0288,0.58487 0.23179,1.09854 0.44141,1.5957 l -3.78516,3.78516 c -0.33708,0.30742 -0.60091,0.7293 -0.64063,1.23047 -0.0397,0.50117 0.17261,1.03979 0.625,1.49219 0.45357,0.45356 0.99596,0.65829 1.49219,0.61328 0.49624,-0.045 0.906,-0.30379 1.21485,-0.61328 l 3.80664,-3.80664 c 0.52791,0.22561 1.0693,0.4331 1.69336,0.45117 2.60313,0.0754 4.83493,-1.87377 5.11328,-4.46289 0.001,-0.0136 0.002,-0.0273 0.002,-0.041 l 0.0215,-0.9668 c 0.0105,-0.45102 -0.53451,-0.68424 -0.85351,-0.36523 L 352.29297,564 h -1.58594 L 349,562.29297 v -1.58594 l 2.84375,-2.83789 c 0.31756,-0.31766 0.0878,-0.86042 -0.36133,-0.85352 z"
- id="path18095"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="cccccccccccccccccccccc" />
- <g
- transform="translate(-1162,-873.9944)"
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g17413-4-0">
- <path
- inkscape:connector-curvature="0"
- id="path17404-8-7"
- transform="translate(1162,873.9944)"
- d="m 164.48438,535.00586 a 0.50005,0.50005 0 0 0 -0.1211,0.0195 l -1.36328,0.3887 0.01,2.03906 1.63085,-0.46679 A 0.50005,0.50005 0 0 0 165,536.50586 v -1 a 0.50005,0.50005 0 0 0 -0.51562,-0.5 z M 162,535.70117 l -2,0.57031 0.01,2.03907 2,-0.57227 z m -3,0.85547 -1.63672,0.46875 A 0.50005,0.50005 0 0 0 157,537.50586 v 1 a 0.50005,0.50005 0 0 0 0.63672,0.48047 l 1.36914,-0.39063 z M 157,542 v 1 l 8.5,0.01 c 0.276,-5e-4 0.4995,-0.224 0.5,-0.5 -5e-4,-0.276 -0.224,-0.4995 -0.5,-0.5 z m -3,2.00586 v 5.49219 c 0,0.2761 0.2239,0.5 0.5,0.5 h 11 c 0.2761,0 0.5,-0.2239 0.5,-0.5 v -4.99219 c 0,-0.2761 -0.2239,-0.5 -0.5,-0.5 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.7;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 1315.5078,1411.9922 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 4 a 0.50005,0.50005 0 0 0 0.5,0.5 h 2 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -2 -2 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m 0.5,1 h 1 v 1.5 1.5 h -1 z"
- id="path17409-0-0"
- inkscape:connector-curvature="0" />
- </g>
- <g
- transform="translate(-574,-936.9944)"
- id="g17429-7-7"
- style="display:inline;fill:#ffffff;enable-background:new">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.7;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 1063.5078,1410.9922 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 4 a 0.50005,0.50005 0 0 0 0.5,0.5 h 2 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -2 -2 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m 0.5,1 h 1 v 1.5 1.5 h -1 z"
- id="path17417-2-4"
- inkscape:connector-curvature="0" />
- <path
- inkscape:connector-curvature="0"
- d="m 1340,1411 v 2 l 1.5,-0.01 1.75,-2 z m 4.5,-0.01 -1.75,2 h 2.75 l 1.7266,-2 z m 4,0 -1.7266,2 2.7266,0.01 c 0.276,-5e-4 0.4995,-0.224 0.5,-0.5 v -1 c -5e-4,-0.276 -0.224,-0.4995 -0.5,-0.5 z m -8.5,4.01 0.01,1.9922 -3.0098,0.01 v 5.4921 c 0,0.2761 0.2239,0.5 0.5,0.5 h 12 c 0.2761,0 0.5,-0.2239 0.5,-0.5 V 1415.5 c 0,-0.2761 -0.2239,-0.5 -0.5,-0.5 z m 2.5156,1 c 0.084,0 0.1663,0.026 0.2383,0.068 l 4.25,2.5 c 0.33,0.1931 0.33,0.6701 0,0.8632 l -4.25,2.5 c -0.3336,0.1966 -0.7545,-0.044 -0.7539,-0.4316 v -5 c -10e-5,-0.2823 0.2334,-0.51 0.5156,-0.5 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.00157475;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- transform="translate(-273)"
- id="path17425-5" />
- </g>
- <path
- sodipodi:nodetypes="cccccscccccccccccccccc"
- inkscape:connector-curvature="0"
- id="path17971-6"
- d="m 433.60156,411.10938 c -0.0348,2.9e-4 -0.0695,0.004 -0.10351,0.0117 -2.03912,0.46668 -3.49042,2.28707 -3.49219,4.37891 9e-4,0.50625 0.15089,0.99318 0.31836,1.46875 l -2.42774,2.42773 c -1.00968,1.00969 -1.01874,2.3133 -0.3125,3.01954 0.70624,0.70624 2.00985,0.69718 3.01954,-0.3125 l 2.42968,-2.42969 c 0.47476,0.16775 0.9595,0.31841 1.46485,0.32031 6.7e-4,0 0.001,0 0.002,0 2.10425,-9.3e-4 3.93168,-1.46897 4.38672,-3.52344 0.0316,-0.14237 -4.7e-4,-0.29146 -0.0879,-0.4082 l -0.64844,-0.86328 c -0.17598,-0.23372 -0.51414,-0.2671 -0.73242,-0.0723 L 435.31055,417 h -1.08008 L 433,415.56445 v -0.85742 l 1.85352,-1.85351 c 0.19519,-0.19527 0.19519,-0.51177 0,-0.70704 l -0.89063,-0.89062 c -0.0957,-0.0957 -0.22603,-0.14855 -0.36133,-0.14648 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" />
- <path
- inkscape:connector-curvature="0"
- id="path18042-5"
- d="m 413.49609,411 c -1.31297,0 -2.2906,0.33758 -3.34961,1.39648 -1.07833,1.0783 -1.34444,2.83666 -0.73437,4.48438 l -2.51563,2.51562 c -1.00968,1.00969 -1.01874,2.3133 -0.3125,3.01954 0.70624,0.70624 2.00985,0.69718 3.01954,-0.3125 l 2.51757,-2.51758 c 1.64574,0.60684 3.4036,0.3464 4.48243,-0.73242 1.05892,-1.05893 1.39668,-2.03818 1.39257,-3.35547 a 0.50005,0.50005 0 0 0 -0.14648,-0.35157 l -1,-1 a 0.50005,0.50005 0 0 0 -0.70703,0 L 414.28906,416 h -0.58594 l -0.70703,-0.70703 v -0.58594 l 1.85352,-1.85351 a 0.50005,0.50005 0 0 0 0,-0.70704 l -1,-1 A 0.50005,0.50005 0 0 0 413.49609,411 Z m -0.18164,1.02539 0.47461,0.47461 -1.64648,1.64648 A 0.50005,0.50005 0 0 0 411.99609,414.5 v 1 a 0.50005,0.50005 0 0 0 0.14649,0.35352 l 1,1 A 0.50005,0.50005 0 0 0 413.49609,417 h 1 a 0.50005,0.50005 0 0 0 0.35352,-0.14648 l 1.64648,-1.64649 0.47461,0.47461 c -0.0187,1.03267 -0.19304,1.58367 -1.07422,2.46484 -0.83209,0.8321 -2.35353,1.13617 -3.75195,0.47266 a 0.50005,0.50005 0 0 0 -0.56836,0.0977 l -2.67969,2.67968 c -0.74031,0.74032 -1.3117,0.60626 -1.60546,0.3125 -0.29376,-0.29376 -0.42782,-0.86515 0.3125,-1.60546 l 2.67773,-2.67774 a 0.50005,0.50005 0 0 0 0.0977,-0.56836 c -0.66677,-1.39852 -0.3581,-2.92122 0.47461,-3.7539 0.88058,-0.8805 1.43264,-1.05616 2.46093,-1.07813 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" />
- <g
- transform="translate(-104.9941,85.0365)"
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g19021-7-6">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:3.70000005;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 448.5,284 c -0.8225,0 -1.5,0.6775 -1.5,1.5 0,0.8225 0.6775,1.5 1.5,1.5 0.8225,0 1.5,-0.6775 1.5,-1.5 0,-0.8225 -0.6775,-1.5 -1.5,-1.5 z m 5,0 c -0.8225,0 -1.5,0.6775 -1.5,1.5 0,0.8225 0.6775,1.5 1.5,1.5 0.8225,0 1.5,-0.6775 1.5,-1.5 0,-0.8225 -0.6775,-1.5 -1.5,-1.5 z m 5,0 c -0.8225,0 -1.5,0.6775 -1.5,1.5 0,0.8225 0.6775,1.5 1.5,1.5 0.8225,0 1.5,-0.6775 1.5,-1.5 0,-0.8225 -0.6775,-1.5 -1.5,-1.5 z m -10,1 c 0.28207,0 0.5,0.21794 0.5,0.5 0,0.28206 -0.21793,0.5 -0.5,0.5 -0.28207,0 -0.5,-0.21794 -0.5,-0.5 0,-0.28206 0.21793,-0.5 0.5,-0.5 z m 5,0 c 0.28207,0 0.5,0.21794 0.5,0.5 0,0.28206 -0.21793,0.5 -0.5,0.5 -0.28207,0 -0.5,-0.21794 -0.5,-0.5 0,-0.28206 0.21793,-0.5 0.5,-0.5 z m 5,0 c 0.28207,0 0.5,0.21794 0.5,0.5 0,0.28206 -0.21793,0.5 -0.5,0.5 -0.28207,0 -0.5,-0.21794 -0.5,-0.5 0,-0.28206 0.21793,-0.5 0.5,-0.5 z m -10,4 c -0.8225,0 -1.5,0.6775 -1.5,1.5 0,0.8225 0.6775,1.5 1.5,1.5 0.8225,0 1.5,-0.6775 1.5,-1.5 0,-0.8225 -0.6775,-1.5 -1.5,-1.5 z m 5,0 c -0.8225,0 -1.5,0.6775 -1.5,1.5 0,0.8225 0.6775,1.5 1.5,1.5 0.8225,0 1.5,-0.6775 1.5,-1.5 0,-0.8225 -0.6775,-1.5 -1.5,-1.5 z m 5,0 c -0.8225,0 -1.5,0.6775 -1.5,1.5 0,0.8225 0.6775,1.5 1.5,1.5 0.8225,0 1.5,-0.6775 1.5,-1.5 0,-0.8225 -0.6775,-1.5 -1.5,-1.5 z m -10,1 c 0.28207,0 0.5,0.21794 0.5,0.5 0,0.28206 -0.21793,0.5 -0.5,0.5 -0.28207,0 -0.5,-0.21794 -0.5,-0.5 0,-0.28206 0.21793,-0.5 0.5,-0.5 z m 5,0 c 0.28206,0 0.5,0.21794 0.5,0.5 0,0.28206 -0.21794,0.5 -0.5,0.5 -0.28206,0 -0.5,-0.21794 -0.5,-0.5 0,-0.28206 0.21794,-0.5 0.5,-0.5 z m 5,0 c 0.28207,0 0.5,0.21794 0.5,0.5 0,0.28206 -0.21793,0.5 -0.5,0.5 -0.28207,0 -0.5,-0.21794 -0.5,-0.5 0,-0.28206 0.21793,-0.5 0.5,-0.5 z m -10,4 c -0.8225,0 -1.5,0.6775 -1.5,1.5 0,0.8225 0.6775,1.5 1.5,1.5 0.8225,0 1.5,-0.6775 1.5,-1.5 0,-0.8225 -0.6775,-1.5 -1.5,-1.5 z m 5,0 c -0.8225,0 -1.5,0.6775 -1.5,1.5 0,0.8225 0.6775,1.5 1.5,1.5 0.8225,0 1.5,-0.6775 1.5,-1.5 0,-0.8225 -0.6775,-1.5 -1.5,-1.5 z m 5,0 c -0.8225,0 -1.5,0.6775 -1.5,1.5 0,0.8225 0.6775,1.5 1.5,1.5 0.8225,0 1.5,-0.6775 1.5,-1.5 0,-0.8225 -0.6775,-1.5 -1.5,-1.5 z m -10,1 c 0.28207,0 0.5,0.21794 0.5,0.5 0,0.28206 -0.21793,0.5 -0.5,0.5 -0.28207,0 -0.5,-0.21794 -0.5,-0.5 0,-0.28206 0.21793,-0.5 0.5,-0.5 z m 5,0 c 0.28207,0 0.5,0.21794 0.5,0.5 0,0.28206 -0.21793,0.5 -0.5,0.5 -0.28207,0 -0.5,-0.21794 -0.5,-0.5 0,-0.28206 0.21793,-0.5 0.5,-0.5 z m 5,0 c 0.28207,0 0.5,0.21794 0.5,0.5 0,0.28206 -0.21793,0.5 -0.5,0.5 -0.28207,0 -0.5,-0.21794 -0.5,-0.5 0,-0.28206 0.21793,-0.5 0.5,-0.5 z"
- id="ellipse19010-6-5"
- inkscape:connector-curvature="0" />
- </g>
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g19186-9-4"
- transform="translate(-146.9941,85.0365)">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 327.49805,368.03711 a 0.50005,0.50005 0 0 0 -0.34571,0.14648 l -7,7 a 0.50005,0.50005 0 0 0 0,0.70703 l 7,7 a 0.50005,0.50005 0 0 0 0.70704,0 l 7.03124,-7 a 0.50005,0.50005 0 0 0 0,-0.70703 l -7.03124,-7 a 0.50005,0.50005 0 0 0 -0.36133,-0.14648 z m 0.008,1.20703 6.32226,6.29297 -6.32226,6.29297 -6.29297,-6.29297 z m 0,4.79297 c -0.8225,0 -1.5,0.6775 -1.5,1.5 0,0.8225 0.6775,1.5 1.5,1.5 0.8225,0 1.5,-0.6775 1.5,-1.5 0,-0.8225 -0.6775,-1.5 -1.5,-1.5 z m 0,1 c 0.28206,0 0.5,0.21794 0.5,0.5 0,0.28206 -0.21794,0.5 -0.5,0.5 -0.28206,0 -0.5,-0.21794 -0.5,-0.5 0,-0.28206 0.21794,-0.5 0.5,-0.5 z"
- transform="translate(146.9941,-85.0365)"
- id="path19093-9-7"
- inkscape:connector-curvature="0" />
- </g>
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g19103-5"
- transform="rotate(-90,394.50012,1587.5001)">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 457.5,473 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 0.5 h -7.5 -0.5 c -0.5244,0 -1.02378,0.21717 -1.39258,0.57617 -0.3688,0.3592 -0.60742,0.86058 -0.60742,1.42578 V 485 c 10e-5,0.5302 0.21104,1.03916 0.58594,1.41406 C 447.96084,486.78896 448.4698,487 449,487 h 2.5 c 0.2762,0 0.5,-0.2238 0.5,-0.5 v -9 c 0,-0.2761 -0.2238,-0.4999 -0.5,-0.5 H 449 c -0.4523,0 -1,-0.47105 -1,-0.99805 0,-0.2635 0.13823,-0.51462 0.33203,-0.69922 C 448.52543,475.11903 448.775,475 449,475 h 8 v 1.5 a 0.50005,0.50005 0 0 0 0.5,0.5 h 1.5 v 5 h -1.5 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 1.5 h -4 v 1 h 4 v 0.5 a 0.50005,0.50005 0 0 0 0.5,0.5 h 3 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -3 A 0.50005,0.50005 0 0 0 460.5,482 H 460 v -5 h 0.5 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -3 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m 0.5,1 h 2 v 2 h -2 z m 0,9 h 2 v 2 h -2 z"
- transform="rotate(90,394.50012,1587.5001)"
- id="path19040-4"
- inkscape:connector-curvature="0" />
- </g>
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 428.25,452 c -0.6506,0 -1.23633,0.19727 -1.64453,0.60547 -0.4083,0.4081 -0.60567,0.99393 -0.60547,1.64453 v 9.5 c 2e-4,0.6505 0.19727,1.23643 0.60547,1.64453 C 427.01357,465.80273 427.5994,466 428.25,466 H 429 v -1 h -0.75 c -0.4574,0 -0.7477,-0.1227 -0.9375,-0.3125 -0.1898,-0.1898 -0.3124,-0.48 -0.3125,-0.9375 v -9.5 c -10e-5,-0.4574 0.1227,-0.7477 0.3125,-0.9375 C 427.5023,453.1227 427.7926,453 428.25,453 H 429 v -1 z m 8.75,0 v 1 h 0.75 c 0.4574,0 0.7477,0.1227 0.9375,0.3125 0.1898,0.1898 0.3125,0.4801 0.3125,0.9375 v 9.5 c 0,0.4574 -0.1227,0.7477 -0.3125,0.9375 C 438.4977,464.8773 438.2074,465 437.75,465 H 437 v 1 h 0.75 c 0.6506,0 1.23643,-0.19727 1.64453,-0.60547 C 439.80273,464.98643 440,464.4006 440,463.75 v -9.5 c 0,-0.6506 -0.19727,-1.23643 -0.60547,-1.64453 C 438.98643,452.19727 438.4006,452 437.75,452 Z m -4,4 v 2 h -1.5 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 1.5 h -2 v 1 h 2 v 1.5 a 0.50005,0.50005 0 0 0 0.5,0.5 h 1.5 v 2 h 1 v -2 h 1.5 a 0.50005,0.50005 0 0 0 0.5,-0.5 V 461 h 2 v -1 h -2 v -1.5 A 0.50005,0.50005 0 0 0 435.5,458 H 434 v -2 z m -1,3 h 3 v 3 h -3 z"
- id="path19168-3"
- inkscape:connector-curvature="0" />
- <path
- style="display:inline;opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;enable-background:new"
- d="m 411,536 v 4 h -2.5 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 2.5 h -4 v 1 h 4 v 2.5 a 0.50005,0.50005 0 0 0 0.5,0.5 h 2.5 v 4 h 1 v -4 h 2.5 a 0.50005,0.50005 0 0 0 0.5,-0.5 V 544 h 4 v -1 h -4 v -2.5 A 0.50005,0.50005 0 0 0 414.5,540 H 412 v -4 z m -2,5 h 5 v 5 h -5 z m 2,2 v 1 h 1 v -1 z"
- id="rect19268-0"
- inkscape:connector-curvature="0" />
- <g
- id="g9974-4-9"
- style="display:inline;fill:#ffffff;enable-background:new"
- transform="translate(-84.00001,21.000005)">
- <path
- sodipodi:nodetypes="ccccccccccccccccccccccc"
- inkscape:connector-curvature="0"
- id="path14003-8"
- transform="translate(84.000014,-21.000005)"
- d="M 308.06055,557 C 307.40848,557.63639 307,558.52103 307,559.5 c 0,1.5 0.75,2.5 2,3.14453 v 0.004 6.85156 c -0.0287,2.02848 3.02869,2.02848 3,0 v -6.85156 -0.002 c 1.28948,-0.66521 2,-1.64648 2,-3.14648 0,-0.97897 -0.40848,-1.86361 -1.06055,-2.5 H 312.91797 312 V 560 l -1,1 h -1 l -1,-1 2e-5,-3 z M 310,569 h 1 v 1 h -1 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
- <path
- sodipodi:nodetypes="ccccccccccccccscscsccc"
- id="path14013-6"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="M 387.00001,542 387,536.5 c 0.004,-0.28226 -0.22555,-0.51223 -0.50781,-0.50781 -0.27614,0.004 -0.49651,0.23167 -0.49219,0.50781 l 10e-6,5.5 z m 0.75,2 H 388.5 c 0.67616,0.01 0.67616,-1.00956 0,-1 h -4 c -0.67616,-0.01 -0.67616,1.00956 0,1 h 0.75001 v 1 c -0.75,0 -1.25,0.5 -1.25,1.25 L 384,547.5 c -10e-6,0.78517 0.31169,1.44054 0.78516,1.86719 0.47346,0.42664 1.08725,0.63281 1.69726,0.63281 0.61001,0 1.22902,-0.20449 1.71094,-0.62891 0.48192,-0.42441 0.80663,-1.08156 0.80664,-1.87109 l 10e-6,-1.25 c 0,-0.75 -0.5,-1.25 -1.25,-1.25 z"
- inkscape:connector-curvature="0" />
- </g>
- <g
- transform="translate(-1134,-16.999998)"
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g23520-0">
- <path
- inkscape:connector-curvature="0"
- d="m 1461,518 c -1.3523,-0.0191 -1.3523,2.01913 0,2 h 2 c 1.3523,0.0191 1.3523,-2.01913 0,-2 z m -5,-1 v 7.5 c 0,0.27613 0.2239,0.49997 0.5,0.5 h 11 c 0.2761,-3e-5 0.5,-0.22387 0.5,-0.5 V 517 h -1 v 7 h -10 v -7 z m 12.5,-1 c 0.2761,-3e-5 0.5,-0.22387 0.5,-0.5 v -3 c 0,-0.27613 -0.2239,-0.49997 -0.5,-0.5 h -13 c -0.2761,3e-5 -0.5,0.22387 -0.5,0.5 v 3 c 0,0.27613 0.2239,0.49997 0.5,0.5 z m -12.5,-3 h 12 v 2 h -12 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- id="path23618-7"
- sodipodi:nodetypes="cccccccccccccccccccccccccccccc" />
- </g>
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g23658-7-6"
- transform="translate(-1113,-79.999998)">
- <path
- id="path23654-6-8"
- transform="translate(0,-21)"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 1456,538 v 7.5 c 0,0.27613 0.2239,0.49997 0.5,0.5 h 11 c 0.2761,-3e-5 0.5,-0.22387 0.5,-0.5 V 538 Z m 5,1 h 2 a 1.0001,1.0001 0 1 1 0,2 h -2 a 1.0001,1.0001 0 1 1 0,-2 z m -5.5,-6 c -0.2761,3e-5 -0.5,0.22387 -0.5,0.5 v 3 c 0,0.27613 0.2239,0.49997 0.5,0.5 h 13 c 0.2761,-3e-5 0.5,-0.22387 0.5,-0.5 v -3 c 0,-0.27613 -0.2239,-0.49997 -0.5,-0.5 z"
- inkscape:connector-curvature="0" />
- </g>
- <g
- id="g19402"
- transform="translate(0,1.9921509e-6)"
- style="fill:#ffffff">
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- transform="translate(-83.999995,42.000004)"
- id="g19210">
- <path
- inkscape:connector-curvature="0"
- d="m 348.48047,347 c -3.16361,0.009 -5.86504,2.31609 -6.39063,5.45117 -0.52558,3.13508 1.27477,6.20467 4.25977,7.25781 a 0.50005,0.50005 0 1 0 0.33203,-0.94336 c -2.52985,-0.89255 -4.05213,-3.48414 -3.60547,-6.14843 0.44666,-2.66429 2.72792,-4.6094 5.40821,-4.61719 2.68028,-0.008 4.97166,1.92234 5.43359,4.58398 0.46193,2.66165 -1.0456,5.26268 -3.57031,6.16993 a 0.50043111,0.50043111 0 1 0 0.33984,0.9414 c 2.9789,-1.07046 4.75841,-4.14926 4.21484,-7.28125 -0.54356,-3.13198 -3.25826,-5.42325 -6.42187,-5.41406 z m 0.0195,4.99999 c -0.8225,0 -1.5,0.6775 -1.5,1.5 0,0.64684 0.42097,1.19777 1,1.40625 v 0.59375 c -0.01,0.67616 1.00956,0.67616 1,0 v -0.59375 c 0.57902,-0.20848 1,-0.75941 1,-1.40625 0,-0.8225 -0.67751,-1.5 -1.5,-1.5 z m 0,1 c 0.28206,0 0.5,0.21794 0.5,0.5 0,0.28206 -0.21794,0.5 -0.5,0.5 -0.28207,0 -0.5,-0.21794 -0.5,-0.5 0,-0.28206 0.21793,-0.5 0.5,-0.5 z m -0.002,3.98438 c -0.27614,0.004 -0.49651,0.23167 -0.49219,0.50781 v 1 c -0.01,0.67616 1.00957,0.67616 1,0 v -1 c 0.004,-0.28226 -0.22555,-0.51223 -0.50781,-0.50781 z m 0,3 c -0.27614,0.004 -0.49651,0.23167 -0.49219,0.50781 v 1.00195 c -0.01,0.67616 1.00957,0.67616 1,0 v -1.00195 c 0.004,-0.28226 -0.22555,-0.51223 -0.50781,-0.50781 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- id="circle19208" />
+ <path inkscape:connector-curvature="0" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 134.49999,536.00009 c -1.3764,0 -2.5,1.1236 -2.5,2.5 v 7 c 0,1.3764 1.1236,2.5 2.5,2.5 h 0.5 v 2.5 c -8e-4,0.4686 0.5855,0.6809 0.8848,0.3203 l 2.3496,-2.8203 h 5.2656 c 1.3764,0 2.5,-1.1236 2.5,-2.5 v -7 c 0,-1.3764 -1.1236,-2.5 -2.5,-2.5 z m 3.5,2 h 2 v 2 h -2 z m -1,3 h 3 v 4 h 1 v 1 h -4 v -1 h 1 v -3 h -1 z" id="path17991-2"/>
+ <g transform="matrix(1,0,0,-1,-167.9929,1043.9931)" id="g17666-2" style="display:inline;opacity:0.98999999;fill:#ffffff;enable-background:new" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" inkscape:export-xdpi="96" inkscape:export-ydpi="96">
+ <g transform="rotate(90,475.00001,500.9999)" inkscape:transform-center-y="9.9999999e-006" inkscape:transform-center-x="-1.2499" id="g17664-3" style="fill:#ffffff"/>
+ <path inkscape:connector-curvature="0" id="path17674" d="m 475.00071,508.00091 c -3.8601,0 -7,-3.1399 -7,-7 0,-3.8601 3.1399,-7 7,-7 3.8601,0 7,3.1399 7,7 0,3.8601 -3.1399,7 -7,7 z m 2.96094,-1.99804 a 1.0001,1.0001 0 0 0 1.04102,-0.98633 1.0001,1.0001 0 0 0 -0.20899,-0.62305 l -2.57617,-3.43555 1.60742,-2.41015 a 1.0001,1.0001 0 1 0 -1.66406,-1.10938 l -1.91211,2.86914 a 1.0001,1.0001 0 0 0 -0.26367,0.68164 1.0001,1.0001 0 0 0 0.004,0.0801 1.0001,1.0001 0 0 0 0.30664,0.66016 l 2.89844,3.86328 a 1.0001,1.0001 0 0 0 0.76758,0.41016 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
+ </g>
+ <g id="g7662" style="fill:#ffffff" transform="matrix(1,0,0,-1,0,1085.9844)">
+ <path inkscape:connector-curvature="0" id="path17742-5" d="m 468.50781,535.99219 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 13 a 0.50005,0.50005 0 0 0 0.5,0.5 h 13 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -13 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m 0.5,1 h 12 v 5.00586 l -1,-0.006 v 2 l 1,0.006 V 546 h -1.00586 l 0.006,-2.00781 h -2 L 478.00195,546 h -2 l 0.006,-2.00781 h -2 L 474.00195,546 h -2 l 0.006,-2.00781 h -2 L 470.00195,546 h -0.99414 v -2.00391 l 1,-0.006 v -2 l -1,0.006 z m 3,7 h 2 v -2 h -2 z m 4,0 h 2 v -2 h -2 z" style="display:inline;opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;enable-background:new"/>
+ <path id="path17758-8" d="m 470.00781,539.99219 v 2 h 2 v -2 z m 4,0 v 2 h 2 v -2 z m 4,0 v 2 h 2 v -2 z" style="display:inline;opacity:0.8;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;enable-background:new" inkscape:connector-curvature="0"/>
+ </g>
+ <g style="display:inline;opacity:1;fill:#ffffff;enable-background:new" id="g15578-7" transform="matrix(1,0,0,-1,894.00002,921)">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.7;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m -467.5,287 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 10 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 2.5 v -1 h -2 v -9 h 9 v 2 h 1 v -2.5 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z" id="path15572-4" inkscape:connector-curvature="0" sodipodi:nodetypes="cccccccccccccc"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m -463.50002,301 c -0.27613,-3e-5 -0.49997,-0.22387 -0.5,-0.5 v -9 c 3e-5,-0.27613 0.22387,-0.49997 0.5,-0.5 h 9 c 0.27613,3e-5 0.49997,0.22387 0.5,0.5 v 4.5 h -1 v -4 h -8 v 8 h 5 v -2.5 c 3e-5,-0.27613 0.22387,-0.49997 0.5,-0.5 h 2.5 1 v 0.5 c -2e-5,0.1326 -0.0527,0.25972 -0.14648,0.35352 l -3,3 c -0.0938,0.0938 -0.22092,0.14646 -0.35352,0.14648 z" id="path15574-3" inkscape:connector-curvature="0" sodipodi:nodetypes="cccccccccccccccccsccc"/>
+ </g>
+ <g style="display:inline;fill:#ffffff;enable-background:new" id="g18361">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.98999999;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 447.49414,577.99023 a 0.50005,0.50005 0 0 0 -0.49219,0.50782 v 4 a 0.50005,0.50005 0 0 0 0.5,0.5 h 4 a 0.50005,0.50005 0 1 0 0,-1 h -2.6875 c 1.48423,-2.56389 4.60739,-3.65907 7.36719,-2.58008 2.762,1.07985 4.31643,4.00744 3.66406,6.90039 -0.65237,2.89295 -3.31139,4.87021 -6.26953,4.66016 -2.95814,-0.21006 -5.31375,-2.5439 -5.55078,-5.5 a 0.50005,0.50005 0 1 0 -0.99609,0.0801 c 0.27595,3.44157 3.03067,6.17147 6.47461,6.41602 3.44393,0.24455 6.55885,-2.06751 7.31836,-5.43555 0.7595,-3.36803 -1.05982,-6.79554 -4.27539,-8.05273 -0.8039,-0.3143 -1.63664,-0.46878 -2.45899,-0.47852 -2.43307,-0.0288 -4.77966,1.22272 -6.08594,3.40821 v -2.91797 a 0.50005,0.50005 0 0 0 -0.50781,-0.50782 z m 8.98828,3.00391 a 0.50005,0.50005 0 0 0 -0.38281,0.20508 l -3,4 a 0.50005,0.50005 0 0 0 -0.0156,0.57812 l 2,3 a 0.50005,0.50005 0 1 0 0.83204,-0.55468 l -1.80274,-2.70508 2.78711,-3.7168 a 0.50005,0.50005 0 0 0 0.10352,-0.3125 0.50005,0.50005 0 0 0 -0.52149,-0.49414 z" id="path13619" inkscape:connector-curvature="0"/>
+ <g transform="matrix(0,-1,-1,0,954.9999,1060.0001)" inkscape:transform-center-y="9.9999999e-006" inkscape:transform-center-x="-1.2499" id="g16343-6" style="display:inline;opacity:0.98999999;fill:#ffffff;enable-background:new"/>
+ </g>
+ <path inkscape:connector-curvature="0" id="path18041" d="m 517.0019,53.000264 c -0.47496,-0.0438 -0.94252,0.0803 -1.30468,0.35742 -0.28815,0.22047 -0.55389,0.56737 -0.6211,1.0332 -0.0672,0.46584 0.11485,1.01133 0.57227,1.46876 l 0.14648,0.14648 h -4.29297 c -0.53506,4e-5 -1.03128,0.28661 -1.29883,0.75 -0.26752,0.46339 -0.26752,1.03661 0,1.5 0.26755,0.46339 0.76375,0.75 1.29883,0.75 h 0.79297 l -2.64648,2.64648 c -0.79091,0.79079 -0.84722,1.93194 -0.29297,2.65625 0.22044,0.28814 0.56748,0.55402 1.0332,0.6211 0.46572,0.0671 1.0091,-0.11342 1.4668,-0.57031 l 1.4043,-1.40235 c 0.55515,1.96585 2.10614,3.53021 4.16406,3.94141 2.37442,0.47444 4.78539,-0.66388 5.92773,-2.79883 1.14235,-2.13495 0.75134,-4.77035 -0.96094,-6.48242 a 0.50005,0.50005 0 0 0 -0.002,-0.004 l -4.0332,-3.96094 c -0.39539,-0.39541 -0.87856,-0.60853 -1.35352,-0.65234 z m -0.0957,1.00195 c 0.24304,0.0198 0.50958,0.1248 0.74219,0.35743 a 0.50005,0.50005 0 0 0 0.004,0.002 l 4.03125,3.96289 c 1.40369,1.40351 1.72164,3.55449 0.78516,5.30469 -0.93648,1.7502 -2.90114,2.678 -4.84766,2.28906 -1.9465,-0.38894 -3.40679,-2.00407 -3.60937,-3.97266 a 0.50005,0.50005 0 0 0 -0.85156,-0.30273 l -2.01172,2.00976 c -0.29296,0.29245 -0.47153,0.30809 -0.61719,0.28711 -0.14566,-0.021 -0.29945,-0.12932 -0.38281,-0.23828 -0.21096,-0.27568 -0.25826,-0.87658 0.20703,-1.34179 l 3.5,-3.5 a 0.50005,0.50005 0 0 0 -0.35352,-0.85352 h -2 c -0.17943,0 -0.34387,-0.0946 -0.43359,-0.25 -0.0897,-0.15539 -0.0897,-0.34461 0,-0.5 0.0897,-0.15539 0.25413,-0.24999 0.43359,-0.25 h 5.5 a 0.50005,0.50005 0 0 0 0.35352,-0.85352 l -1,-1 c -0.29258,-0.29257 -0.31008,-0.47147 -0.28906,-0.61718 0.021,-0.14571 0.13127,-0.29945 0.24023,-0.38282 0.13784,-0.10546 0.35657,-0.17021 0.59961,-0.15039 z m 1.5957,5.00391 c -1.37479,0 -2.5,1.12521 -2.5,2.5 0,1.37479 1.12521,2.5 2.5,2.5 1.37479,0 2.5,-1.12521 2.5,-2.5 0,-1.37479 -1.12521,-2.5 -2.5,-2.5 z m 0,1 c 0.83435,0 1.5,0.66565 1.5,1.5 0,0.83435 -0.66565,1.5 -1.5,1.5 -0.83435,0 -1.5,-0.66565 -1.5,-1.5 0,-0.83435 0.66565,-1.5 1.5,-1.5 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.98999999;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
+ <path id="path14479-6" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 111.51563,74 c -0.27614,2.8e-5 -0.49998,0.223869 -0.5,0.5 v 12 c 2e-5,0.276131 0.22386,0.499972 0.5,0.5 H 114.5 c 0.27613,-2.8e-5 0.49997,-0.223869 0.5,-0.5 v -12 c -3e-5,-0.276131 -0.22387,-0.499972 -0.5,-0.5 z m 0.5,1 H 114 v 2 h -1.98437 z m 0,3 H 114 v 2 h -1.98437 z m 0,3 H 114 v 2 h -1.98437 z m 0,3 H 114 v 2 h -1.98437 z M 124,81.000005 h 1 v 1 h -1 z m -2,0 h 1 v 1 h -1 z m -2,0 h 1 v 1 h -1 z m -2,0 h 1 v 1 h -1 z m -2,0 h 1 v 1 h -1 z m 8,-3 h 1 v 1 h -1 z m -2,0 h 1 v 1 h -1 z m -2,0 h 1 v 1 h -1 z m -2,0 h 1 v 1 h -1 z m -2,0 h 1 v 1 h -1 z m 8,-3 h 1 v 1 h -1 z m -2,0 h 1 v 1 h -1 z m -2,0 h 1 v 1 h -1 z m -2,0 h 1 v 1 h -1 z m -2,0 h 1 v 1 h -1 z" inkscape:connector-curvature="0"/>
+ <g transform="matrix(-1,0,0,1,1689,365.99979)" style="display:inline;opacity:0.98999999;fill:#ffffff;enable-background:new" id="g8530-0-8" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" inkscape:export-xdpi="96" inkscape:export-ydpi="96">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 1258.4766,-286 c -0.1708,0.008 -0.3255,0.10335 -0.4102,0.25195 l -4,7 c -0.1903,0.33312 0.05,0.74758 0.4336,0.74805 h 8 c 0.3836,-4.7e-4 0.6239,-0.41493 0.4336,-0.74805 l -4,-7 c -0.093,-0.16311 -0.2694,-0.26042 -0.457,-0.25195 z" id="path8523-4-0" inkscape:connector-curvature="0" sodipodi:nodetypes="cccccccc"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 1253.5,-289 c -0.8225,0 -1.5,0.67749 -1.5,1.5 0,0.82251 0.6775,1.5 1.5,1.5 0.8225,0 1.5,-0.67749 1.5,-1.5 0,-0.82251 -0.6775,-1.5 -1.5,-1.5 z" id="ellipse8525-5-4" inkscape:connector-curvature="0" sodipodi:nodetypes="sssss"/>
+ <path inkscape:connector-curvature="0" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="M 27.5,11 A 0.50005,0.50005 0 0 0 27,11.5 v 10.851562 l 1,-1.75 V 12 h 12 v 12 h -3.099609 c 0.122248,0.339531 0.117057,0.686553 0.0039,1 H 40.5 A 0.50005,0.50005 0 0 0 41,24.5 v -13 A 0.50005,0.50005 0 0 0 40.5,11 Z" transform="matrix(-1,0,0,1,1290,-302.99979)" id="path8528-7-3"/>
+ </g>
+ <rect style="opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke" id="rect6696" width="0" height="0" x="-18" y="-28"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 180.25977,430.99023 c -1.56005,0 -2.83737,0.68503 -4,1.32227 -0.15986,0.0876 -0.25939,0.25522 -0.25977,0.4375 v 1.75 c -0.002,0.58015 0.81953,0.69801 0.98047,0.14062 0.5477,-1.86218 2.26129,-2.69946 3.87109,-2.56445 0.056,0.003 0.0879,0.0161 0.14258,0.0195 C 182.58833,432.2915 184,433.38188 184,435.75 V 437 h -4.17383 c -1.71873,0 -2.95078,0.48602 -3.73828,1.26172 -0.7875,0.77569 -1.09766,1.80326 -1.09766,2.77539 0,1.37482 0.63393,2.43409 1.58008,3.07031 C 177.51646,444.74365 178.73744,445 180,445 c 1.61266,0 3.42658,-0.64151 4.45508,-1.56836 0.43191,0.42904 0.80166,0.78819 1.11328,1.03906 0.38759,0.31203 0.75096,0.5293 1.18164,0.5293 h 0.75 c 0.31531,0 0.5,-0.25 0.5,-0.5 0,-0.25 -0.16406,-0.5 -0.5,-0.5 -0.0833,0 -0.22505,-0.0571 -0.33398,-0.16602 C 187.05708,443.72508 187,443.58333 187,443.5 v -7 c 0,-1.04167 -0.0843,-2.5 -1.08398,-3.57617 -1.37045,-1.47528 -2.91602,-1.9336 -5.65625,-1.9336 z M 181.5,438 h 2.5 v 4.49023 c -0.8549,0.62028 -1.60427,0.95721 -2.2793,1.14844 -0.1561,0.0477 -0.30873,0.061 -0.46679,0.0977 -0.63626,0.10402 -1.2211,0.10508 -1.65821,-0.0742 C 178.58677,443.24823 178,442.20833 178,441 c 0,-0.63889 0.21654,-1.3962 0.74414,-1.97656 C 179.27174,438.44308 180.11111,438 181.5,438 Z" id="path7432" inkscape:connector-curvature="0" sodipodi:nodetypes="sccccccscccscscssssscsscsscccccsss"/>
+ <g inkscape:export-ydpi="96" inkscape:export-xdpi="96" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" transform="matrix(0.866668,0,0,0.866668,-9.46699,121.39943)" id="g5914" style="display:inline;opacity:1;fill:#ffffff;stroke-width:1.15384436;enable-background:new">
+ <g id="g5912" style="fill:#ffffff;stroke-width:1.15384436">
+ <path style="opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none" d="m 202,494 c -3.86008,0 -7,3.13992 -7,7 0,3.86008 3.13992,7 7,7 3.86008,0 7,-3.13992 7,-7 0,-3.86008 -3.13992,-7 -7,-7 z m 0,1 c 3.3058,0 5.97583,2.65852 5.99805,5.95898 C 206.88654,501.90262 204.99536,503 202,503 v 4 c -3.31963,0 -6,-2.68037 -6,-6 0,-0.0145 0.002,-0.0285 0.002,-0.043 1.1112,0.94401 3.00099,2.043 5.998,2.043 z" transform="matrix(1.1538444,0,0,1.1538444,10.923433,-140.07605)" id="path5908" inkscape:connector-curvature="0"/>
</g>
</g>
- <g
- id="g19394"
- transform="translate(0,1.9921509e-6)"
- style="fill:#ffffff">
- <path
- inkscape:connector-curvature="0"
- d="m 390.5,416 c -0.98118,0 -1.79306,0.19786 -2.45312,0.51562 -0.008,0.17574 -0.0332,0.34151 -0.0332,0.52149 0,4.06772 2.58548,6.61176 5.30078,6.95117 2.02213,0.29647 2.40413,-2.76745 0.3711,-2.97656 -1.2847,-0.16059 -2.67188,-1.04233 -2.67188,-3.97461 0,-0.37546 0.0235,-0.72058 0.0664,-1.03711 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- id="path19340"
- sodipodi:nodetypes="scsccscs" />
- <path
- id="path5291"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 395,410 c -1.86938,0 -3.40407,0.68718 -4.4375,1.85938 -0.30774,0.34905 -0.56557,0.74269 -0.7832,1.16601 C 390.01692,413.00864 390.25738,413 390.5,413 h 0.44922 c 0.11262,-0.16825 0.23234,-0.32999 0.36328,-0.47852 C 392.15407,411.56692 393.36938,411 395,411 h 0.5 c 0.67616,0.01 0.67616,-1.00956 0,-1 z m -4.5,4 c -1.84524,0 -3.47115,0.52889 -4.64258,1.5625 C 384.686,416.59611 384,418.13095 384,420 v 0.5 a 0.50005,0.50005 0 1 0 1,0 V 420 c 0,-1.63095 0.564,-2.84611 1.51758,-3.6875 C 387.47115,415.47111 388.84524,415 390.5,415 h 1.00781 c 3.27827,0 5.29896,2.17669 5.49805,3.57031 a 0.50005,0.50005 0 1 0 0.98828,-0.14062 C 397.69323,416.32331 395.21551,414 391.50781,414 Z"
- inkscape:connector-curvature="0" />
- </g>
- <g
- inkscape:export-ydpi="96"
- inkscape:export-xdpi="96"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- transform="matrix(0.93036376,0,0,1.0023904,215.63778,150.90833)"
- id="g19530"
- style="display:inline;fill:#ffffff;stroke-width:1.03551209;enable-background:new">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.03551209;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 30.216797,30 a 0.51780782,0.51780782 0 0 0 -0.337891,0.126953 l -3.761718,3.242188 c -1.859424,1.602556 -3.136719,3.536893 -3.136719,6.128906 a 0.51780782,0.51780782 0 1 0 1.035156,0 c 0,-2.262051 1.045193,-3.852838 2.777344,-5.345703 l 3.615234,-3.115235 h 0.152344 l 3.617187,3.115235 a 0.51780782,0.51780782 0 0 0 0,0.002 c 1.732844,1.491631 2.775391,3.081554 2.775391,5.34375 a 0.5185545,0.5185545 0 1 0 1.037109,0 c 0,-2.591868 -1.275948,-4.527155 -3.136718,-6.128906 L 31.091797,30.126953 A 0.51780782,0.51780782 0 0 0 30.753906,30 Z"
- id="path19532"
- inkscape:connector-curvature="0" />
- </g>
- <g
- transform="translate(-84,22.000001)"
- id="g13033"
- style="display:inline;fill:#ffffff;enable-background:new">
- <path
- sodipodi:nodetypes="ccccccccsssss"
- inkscape:connector-curvature="0"
- id="path12959"
- d="m 473.49999,411 -2.99609,0.006 c -0.2754,6.1e-4 -0.49976,0.22265 -0.5,0.49805 l -0.004,8.45884 c 0,1.02328 0.80629,2.03747 2,2.03711 1.19534,0 1.99609,-1.02155 1.99609,-2.04297 l 0.004,-8.45703 c -1.8e-4,-0.27638 -0.22362,-0.50048 -0.5,-0.5 z m -1.5,8 c 0.55228,0 1,0.44772 1,1 0,0.55228 -0.44772,1 -1,1 -0.55228,0 -1,-0.44772 -1,-1 0,-0.55228 0.44772,-1 1,-1 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" />
- <path
- sodipodi:nodetypes="cccccccccc"
- inkscape:connector-curvature="0"
- id="path12972"
- d="m 478.14648,418.14648 -3,3 c -0.31399,0.31533 -0.0915,0.85354 0.35352,0.85352 h 3 2 c 0.27591,-1.9e-4 0.49982,-0.22409 0.5,-0.5 v -3 c -7e-5,-0.28163 -0.23215,-0.50794 -0.51367,-0.5 h -2 c -0.12731,0.004 -0.24956,0.0566 -0.33985,0.14648 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.5;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" />
- <path
- sodipodi:nodetypes="cccccccccc"
- inkscape:connector-curvature="0"
- id="path12974"
- d="m 477.49257,412.00014 c -0.12999,0.002 -0.25408,0.0546 -0.34596,0.14655 l -2.00065,1.99942 c -0.094,0.094 -0.14673,0.22146 -0.14655,0.35436 v 4.0001 c -2e-5,0.4458 0.53925,0.66879 0.85409,0.35316 l 3.99954,-4.00067 c 0.19472,-0.19518 0.19472,-0.51115 0,-0.70633 l -2.00009,-2.00004 c -0.0954,-0.0955 -0.2254,-0.14835 -0.36038,-0.14655 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.75;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" />
- </g>
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g12998"
- transform="translate(1.1628419e-6,-21)"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- inkscape:export-xdpi="96"
- inkscape:export-ydpi="96">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 157.5,205 c 2.47936,0 4.5,2.02063 4.5,4.5 0,2.47937 -2.02064,4.5 -4.5,4.5 -2.47936,0 -4.5,-2.02063 -4.5,-4.5 0,-2.47937 2.02064,-4.5 4.5,-4.5 z m 0,1 c -1.93892,0 -3.5,1.56107 -3.5,3.5 0,1.93893 1.56108,3.5 3.5,3.5 1.93892,0 3.5,-1.56107 3.5,-3.5 0,-1.93893 -1.56108,-3.5 -3.5,-3.5 z"
- id="ellipse12887"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 162.86914,200.01562 c 2.18302,0.17973 3.92401,1.9135 4.11328,4.09571 0.18928,2.18221 -1.22622,4.18928 -3.3457,4.74219 a 0.50005,0.50005 0 1 1 -0.25391,-0.9668 c 1.65432,-0.43156 2.75125,-1.98618 2.60352,-3.68945 -0.14774,-1.70328 -1.49531,-3.04527 -3.19922,-3.18555 -1.70391,-0.14028 -3.25342,0.96296 -3.67773,2.61914 a 0.50005,0.50005 0 1 1 -0.96876,-0.24805 c 0.54363,-2.12187 2.5455,-3.54691 4.72852,-3.36719 z"
- id="path12892"
- inkscape:connector-curvature="0" />
- <path
- style="opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.99999994;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke"
- d="m 159.00001,209.49817 a 1.498175,1.498175 0 0 1 -1.49818,1.49817 1.498175,1.498175 0 0 1 -1.49817,-1.49817 1.498175,1.498175 0 0 1 1.49817,-1.49818 1.498175,1.498175 0 0 1 1.49818,1.49818 z"
- id="circle12960"
- inkscape:connector-curvature="0" />
- <path
- style="opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.99999994;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke"
- d="m 164.00001,204.49817 a 1.498175,1.498175 0 0 1 -1.49818,1.49817 1.498175,1.498175 0 0 1 -1.49817,-1.49817 1.498175,1.498175 0 0 1 1.49817,-1.49818 1.498175,1.498175 0 0 1 1.49818,1.49818 z"
- id="circle12962"
- inkscape:connector-curvature="0" />
- </g>
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g12986"
- transform="translate(1.1628419e-6,-21)"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- inkscape:export-xdpi="96"
- inkscape:export-ydpi="96">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 199.5,205 c 2.47936,0 4.5,2.02063 4.5,4.5 0,2.47937 -2.02064,4.5 -4.5,4.5 -2.47936,0 -4.5,-2.02063 -4.5,-4.5 0,-2.47937 2.02064,-4.5 4.5,-4.5 z m 0,1 c -1.93892,0 -3.5,1.56107 -3.5,3.5 0,1.93893 1.56108,3.5 3.5,3.5 1.93892,0 3.5,-1.56107 3.5,-3.5 0,-1.93893 -1.56108,-3.5 -3.5,-3.5 z"
- id="ellipse12910"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 204.86914,200.01562 c 2.18302,0.17973 3.92401,1.9135 4.11328,4.09571 0.18928,2.18221 -1.22622,4.18928 -3.3457,4.74219 a 0.50005,0.50005 0 1 1 -0.25391,-0.9668 c 1.65432,-0.43156 2.75125,-1.98618 2.60352,-3.68945 -0.14774,-1.70328 -1.49531,-3.04527 -3.19922,-3.18555 -1.70391,-0.14028 -3.25342,0.96296 -3.67773,2.61914 a 0.50005,0.50005 0 1 1 -0.96876,-0.24805 c 0.54363,-2.12187 2.5455,-3.54691 4.72852,-3.36719 z"
- id="path12915"
- inkscape:connector-curvature="0" />
- <path
- style="opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.99999994;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke"
- d="m 201.00001,209.49817 a 1.498175,1.498175 0 0 1 -1.49818,1.49817 1.498175,1.498175 0 0 1 -1.49817,-1.49817 1.498175,1.498175 0 0 1 1.49817,-1.49818 1.498175,1.498175 0 0 1 1.49818,1.49818 z"
- id="circle12964"
- inkscape:connector-curvature="0" />
- </g>
- <g
- transform="translate(1.1628419e-6)"
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g13014"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- inkscape:export-xdpi="96"
- inkscape:export-ydpi="96">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 111.5,179 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 4 a 0.50005,0.50005 0 1 0 1,0 V 180 h 3.5 a 0.50005,0.50005 0 1 0 0,-1 z m 9.00781,0 a 0.50005,0.50005 0 1 0 0,1 h 3.5 v 3.5 a 0.50005,0.50005 0 1 0 1,0 v -4 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m -9.01562,9 A 0.50005,0.50005 0 0 0 111,188.50781 v 4 a 0.50005,0.50005 0 0 0 0.5,0.5 h 4 a 0.50005,0.50005 0 1 0 0,-1 H 112 v -3.5 A 0.50005,0.50005 0 0 0 111.49219,188 Z M 124.5,188 a 0.50005,0.50005 0 0 0 -0.49219,0.50781 v 3.5 h -3.5 a 0.50005,0.50005 0 1 0 0,1 h 4 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -4 A 0.50005,0.50005 0 0 0 124.5,188 Z"
- id="path12919"
- inkscape:connector-curvature="0" />
- <path
- style="opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke"
- d="m 120,186.00359 a 1.99635,1.99635 0 0 1 -1.99635,1.99635 1.99635,1.99635 0 0 1 -1.99635,-1.99635 1.99635,1.99635 0 0 1 1.99635,-1.99635 1.99635,1.99635 0 0 1 1.99635,1.99635 z"
- id="path12956"
- inkscape:connector-curvature="0" />
- </g>
- <g
- style="display:inline;opacity:0.6;fill:#ffffff;enable-background:new"
- id="g22801-1"
- transform="translate(696,857.9975)">
- <path
- id="path22797-9"
- d="m -239.5,-446.99219 c -2.47912,0 -4.5,2.01847 -4.5,4.4961 0,2.47763 2.02088,4.49609 4.5,4.49609 2.47912,0 4.5,-2.01846 4.5,-4.49609 0,-2.47763 -2.02088,-4.4961 -4.5,-4.4961 z m 0,1.1875 c 1.83471,0 3.31055,1.47622 3.31055,3.3086 0,1.83238 -1.47584,3.30859 -3.31055,3.30859 -1.8347,0 -3.31055,-1.47621 -3.31055,-3.30859 0,-1.83238 1.47585,-3.3086 3.31055,-3.3086 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- </g>
- <g
- id="g22943"
- style="display:inline;fill:#ffffff;enable-background:new"
- transform="translate(-2.1686213e-6,9.0033549e-6)">
- <g
- style="fill:#ffffff"
- id="g12942"
- transform="translate(-20,18)"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- inkscape:export-xdpi="96"
- inkscape:export-ydpi="96">
- <path
- inkscape:connector-curvature="0"
- id="path12932"
- d="m 155.50195,121.99414 a 0.50005,0.50005 0 0 0 -0.36133,0.85352 C 156.37329,124.12237 157.775,126 160.5,126 c 2.725,0 4.12681,-1.87774 5.35938,-3.15234 a 0.50005,0.50005 0 1 0 -0.71876,-0.69532 C 163.83477,123.50274 162.775,125 160.5,125 c -2.275,0 -3.33487,-1.49737 -4.64062,-2.84766 a 0.50005,0.50005 0 0 0 -0.35743,-0.1582 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" />
+ <g style="display:inline;fill:#ffffff;enable-background:new" id="g5920" transform="translate(168,-62.999995)">
+ <path inkscape:export-ydpi="96" inkscape:export-xdpi="96" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" id="path5916" d="m 49,558 v 3 h 3 v -3 z m 3,3 v 3 h 3 v -3 z m 3,0 h 3 v -3 h -3 z m 3,0 v 3 h 3 v -3 z m 0,3 h -3 v 3 h 3 z m 0,3 v 3 h 3 v -3 z m -3,0 h -3 v 3 h 3 z m -3,0 v -3 h -3 v 3 z" style="display:inline;opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.99999988;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;enable-background:new" inkscape:connector-curvature="0"/>
+ <path inkscape:connector-curvature="0" id="path5918" d="m 48.5,557 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 13 a 0.50005,0.50005 0 0 0 0.5,0.5 h 13 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -13 A 0.50005,0.50005 0 0 0 61.5,557 Z m 0.5,1 h 12 v 12 H 49 Z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.8;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
+ </g>
+ <g transform="translate(420.00505,-159.00506)" style="display:inline;fill:#ffffff;enable-background:new" id="g5937">
+ <path id="path5935" transform="translate(-462.00505,96.005057)" d="m 103.49609,556.99023 a 0.50005,0.50005 0 0 0 -0.34375,0.15039 l -1.57031,1.57032 c -1.22858,-1.06562 -2.825838,-1.7168 -4.576171,-1.7168 -3.86007,0 -7,3.13993 -7,7 0,1.75033 0.649231,3.34954 1.714844,4.57813 l -1.568359,1.56835 a 0.50005,0.50005 0 1 0 0.707031,0.70704 l 1.568359,-1.56836 c 1.228585,1.06561 2.827793,1.71484 4.578125,1.71484 3.860071,0 7.000001,-3.13993 7.000001,-7 0,-1.75033 -0.65118,-3.34759 -1.7168,-4.57617 l 1.57032,-1.57031 a 0.50005,0.50005 0 0 0 -0.36329,-0.85743 z m -6.490231,1.00391 c 3.319631,0 6.000001,2.68037 6.000001,6 0,3.31963 -2.68037,6 -6.000001,6 -3.31963,0 -6,-2.68037 -6,-6 0,-0.88092 0.193846,-1.71405 0.533203,-2.4668 l 0.466797,0.4668 1,1 v 2 h 2 v 1 l 1,1 v 2 h 0.75 1.25 l 1,-1 1.000001,-1 v -1 l -1.000001,-1 h -2 -1 l -1,-1 h -1 l 1,-1 h 1 l 2,-2 -1,-1 h -1 l -1,-1 0.894532,-0.89453 c 0.358617,-0.0666 0.727234,-0.10547 1.105468,-0.10547 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.98999999;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.9999997;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ </g>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 202,556.99628 c -1.79823,1e-5 -2.78534,0.23261 -3.38867,0.75196 C 198.00799,558.26759 198,559.00268 198,559.49628 v 0.5 h -0.002 c -0.12828,0 -0.91099,4e-5 -1.63867,0.53711 -0.72848,0.53766 -1.35958,1.60963 -1.35938,3.4668 9e-5,0.84676 0.12547,1.43896 0.35352,1.89453 0.22804,0.45557 0.5457,0.7425 0.81445,0.98047 a 0.50086817,0.50086817 0 1 0 0.66406,-0.75 c -0.2639,-0.23368 -0.44506,-0.40021 -0.58398,-0.67773 -0.13888,-0.27753 -0.24792,-0.69815 -0.248,-1.44727 -1.7e-4,-1.64286 0.494,-2.32325 0.95312,-2.66211 0.45913,-0.33885 0.92388,-0.3418 1.04688,-0.3418 h 0.44336 a 0.50005,0.50005 0 0 0 0.0586,0.004 l 3,-0.01 a 0.50005,0.50005 0 0 0 -0.002,-1 h -0.002 -0.002 L 199,559.99428 v -0.49805 c 0,-0.4936 -0.008,-0.75638 0.26367,-0.99023 0.27167,-0.23385 1.03456,-0.50976 2.73633,-0.50977 1.70177,0 2.46467,0.27592 2.73633,0.50977 0.27166,0.23385 0.26367,0.49663 0.26367,0.99023 v 1.99414 c -6e-5,0.47857 -0.26457,0.78886 -0.8457,1.12891 -0.58114,0.34005 -1.43184,0.62116 -2.30664,0.90234 -0.87481,0.28119 -1.77478,0.56315 -2.50586,0.98829 -0.73108,0.42513 -1.34192,1.08253 -1.3418,1.98046 v 2.01368 c 0,0.4936 0.008,1.22869 0.61133,1.74804 0.60334,0.51936 1.59044,0.75196 3.38867,0.75196 1.79823,-10e-6 2.78534,-0.23261 3.38867,-0.75196 C 205.99201,569.73274 206,568.99765 206,568.50405 v -0.5 c 0.127,0 0.91215,5.4e-4 1.64062,-0.53711 0.72848,-0.53766 1.35958,-1.60963 1.35938,-3.4668 -1.6e-4,-1.56962 -0.66959,-2.34844 -1.13672,-2.84375 a 0.5001364,0.5001364 0 1 0 -0.72656,0.6875 c 0.47073,0.49913 0.86314,0.83133 0.86328,2.15625 1.7e-4,1.64286 -0.494,2.32325 -0.95312,2.66211 -0.45913,0.33885 -0.92388,0.3418 -1.04688,0.3418 h -0.44336 a 0.50005,0.50005 0 0 0 -0.0586,-0.004 l -3,0.01 a 0.50005,0.50005 0 0 0 0.002,1 h 0.002 0.002 l 2.49595,-0.004 v 0.49805 c 0,0.4936 0.008,0.75638 -0.26367,0.99023 -0.27167,0.23385 -1.03456,0.50976 -2.73633,0.50977 -1.70177,0 -2.46467,-0.27592 -2.73633,-0.50977 -0.27166,-0.2339 -0.26367,-0.49668 -0.26367,-0.99028 v -2.01368 c -6e-5,-0.47218 0.26437,-0.77913 0.8457,-1.11718 0.58133,-0.33805 1.43145,-0.61908 2.30664,-0.90039 0.8752,-0.28132 1.77441,-0.56222 2.50586,-0.99024 0.73146,-0.42801 1.34168,-1.09087 1.3418,-1.99219 v -1.99414 c 0,-0.4936 -0.008,-1.22869 -0.61133,-1.74804 -0.60334,-0.51936 -1.59044,-0.75196 -3.38867,-0.75196 z" id="path12249-6" inkscape:connector-curvature="0"/>
+ <g id="g5996" style="display:inline;opacity:1;fill:#ffffff;enable-background:new" transform="matrix(-1,0,0,1,552.8323,1.5e-5)">
+ <path inkscape:connector-curvature="0" id="path5994" d="m 310.58203,494 c -1.1875,0 -2.13583,0.69085 -2.52344,1.62109 -0.3876,0.93025 -0.20775,2.10475 0.66993,2.98243 l 2.5,2.5 c 0.62232,0.62232 0.69247,1.32282 0.45507,1.89257 C 311.4462,503.56585 310.89453,504 310.08203,504 l -6.53515,-0.008 2.13867,-2.13867 a 0.50005,0.50005 0 1 0 -0.70703,-0.70704 l -2.9336,2.93555 -0.01,0.008 a 0.50005,0.50005 0 0 0 -0.20704,0.41602 0.50005,0.50005 0 0 0 0,0.008 0.50005,0.50005 0 0 0 0.004,0.0469 0.50005,0.50005 0 0 0 0.008,0.0488 0.50005,0.50005 0 0 0 0.19336,0.29882 l 2.94532,2.94532 a 0.50005,0.50005 0 1 0 0.70703,-0.70704 l -2.1543,-2.15429 6.55078,0.008 c 1.1875,0 2.13584,-0.69085 2.52344,-1.62109 0.3876,-0.93025 0.20775,-2.10475 -0.66992,-2.98243 l -2.5,-2.5 c -0.62233,-0.62232 -0.69248,-1.32282 -0.45508,-1.89257 0.2374,-0.56976 0.78906,-1.00391 1.60156,-1.00391 h 4.75 a 0.50005,0.50005 0 1 0 0,-1 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:7.40000057;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"/>
+ </g>
+ <path inkscape:connector-curvature="0" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 90.5,494 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 3 a 0.50005,0.50005 0 0 0 0.5,0.5 h 0.949219 L 95,504.62695 V 507.5 a 0.50005,0.50005 0 0 0 0.5,0.5 h 3 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -2.87305 L 102.55078,498 H 103.5 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -3 a 0.50005,0.50005 0 0 0 -0.5,-0.5 h -3 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 0.5 h -6 v -0.5 A 0.50005,0.50005 0 0 0 93.5,494 Z m 0.5,1 h 2 v 2 h -2 z m 10,0 h 2 v 2 h -2 z m -7,1 h 6 v 1.5 a 0.50005,0.50005 0 0 0 0.5,0.5 h 0.91406 l -3.214841,6 h -2.398438 l -3.214843,-6 H 93.5 a 0.50005,0.50005 0 0 0 0.5,-0.5 z m 2,9 h 2 v 2 h -2 z" id="path6000"/>
+ <path inkscape:connector-curvature="0" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 115.5,494 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 3 a 0.50005,0.50005 0 0 0 0.5,0.5 h 3 a 0.50005,0.50005 0 0 0 0.5,-0.5 V 496 h 0.5 c 1.29307,0 2.42587,0.35206 3.21875,1.00977 C 123.51163,497.66747 124,498.62406 124,500 c 0,1.58333 -0.78109,3.05511 -2.24023,4.16406 C 120.30062,505.27301 118.15909,506 115.5,506 H 115 v -1.5 a 0.50005,0.50005 0 0 0 -0.5,-0.5 h -3 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 3 a 0.50005,0.50005 0 0 0 0.5,0.5 h 3 a 0.50005,0.50005 0 0 0 0.5,-0.5 V 507 h 0.5 c 2.84091,0 5.19938,-0.77301 6.86523,-2.03906 C 124.03109,503.69489 125,501.91667 125,500 c 0,-1.62406 -0.62718,-2.91747 -1.64258,-3.75977 C 122.34202,495.39794 120.97378,495 119.5,495 H 119 v -0.5 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m 0.5,1 h 2 v 2 h -2 z m -4,10 h 2 v 2 h -2 z" id="path6006"/>
+ <g transform="matrix(-1,0,0,1,1290,764.99979)" style="display:inline;opacity:0.98999999;fill:#ffffff;enable-background:new" id="g8530-0-8-3" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" inkscape:export-xdpi="96" inkscape:export-ydpi="96">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 1258.4766,-286 c -0.1708,0.008 -0.3255,0.10335 -0.4102,0.25195 l -4,7 c -0.1903,0.33312 0.05,0.74758 0.4336,0.74805 h 8 c 0.3836,-4.7e-4 0.6239,-0.41493 0.4336,-0.74805 l -4,-7 c -0.093,-0.16311 -0.2694,-0.26042 -0.457,-0.25195 z" id="path8523-4-0-3" inkscape:connector-curvature="0" sodipodi:nodetypes="cccccccc"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 1253.5,-289 c -0.8225,0 -1.5,0.67749 -1.5,1.5 0,0.82251 0.6775,1.5 1.5,1.5 0.8225,0 1.5,-0.67749 1.5,-1.5 0,-0.82251 -0.6775,-1.5 -1.5,-1.5 z" id="ellipse8525-5-4-7" inkscape:connector-curvature="0" sodipodi:nodetypes="sssss"/>
+ <path inkscape:connector-curvature="0" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="M 27.5,11 A 0.50005,0.50005 0 0 0 27,11.5 v 10.851562 l 1,-1.75 V 12 h 12 v 12 h -3.099609 c 0.122248,0.339531 0.117057,0.686553 0.0039,1 H 40.5 A 0.50005,0.50005 0 0 0 41,24.5 v -13 A 0.50005,0.50005 0 0 0 40.5,11 Z" transform="matrix(-1,0,0,1,1290,-302.99979)" id="path8528-7-3-1"/>
+ </g>
+ <g style="display:inline;opacity:1;fill:#ffffff;enable-background:new" id="g6348" transform="translate(41.999953,147)" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" inkscape:export-xdpi="96" inkscape:export-ydpi="96">
+ <path inkscape:connector-curvature="0" id="path6344" d="m 27.5,347 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 3.5 h 1 v -3 h 3 v -1 z m 9.5,0 v 1 h 3 v 3 h 1 v -3.5 A 0.50005,0.50005 0 0 0 40.5,347 Z m -10,10 v 3.5 a 0.50005,0.50005 0 0 0 0.5,0.5 H 31 v -1 h -3 v -3 z m 13,0 v 3 h -3 v 1 h 3.5 A 0.50005,0.50005 0 0 0 41,360.5 V 357 Z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
+ <path sodipodi:nodetypes="ccccccccc" inkscape:connector-curvature="0" id="path6346" d="m 30.5,350 c -0.276131,3e-5 -0.499972,0.22387 -0.5,0.5 v 7 c 2.8e-5,0.27613 0.223869,0.49997 0.5,0.5 h 7 c 0.276131,-3e-5 0.499972,-0.22387 0.5,-0.5 v -7 c -2.8e-5,-0.27613 -0.223869,-0.49997 -0.5,-0.5 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
+ </g>
+ <path inkscape:connector-curvature="0" id="path6351" d="m 310.57031,494.01758 c -0.79787,-0.038 -1.57177,0.27684 -2.16015,0.86523 l -1.48633,1.48828 c -0.61577,0.57533 -0.93433,1.35407 -0.89258,2.1543 a 0.50005,0.50005 0 1 0 0.99805,-0.0508 c -0.0269,-0.51495 0.15566,-0.98016 0.57617,-1.37305 a 0.50005,0.50005 0 0 0 0.0117,-0.0117 l 1.5,-1.5 c 0.41161,-0.41161 0.88966,-0.59872 1.40429,-0.57422 0.51464,0.0245 1.08439,0.26993 1.63868,0.82422 0.55479,0.5548 0.80954,1.13546 0.83789,1.65235 0.0283,0.51688 -0.15241,0.9848 -0.57422,1.3789 a 0.50005,0.50005 0 0 0 -0.0137,0.0117 l -1.5,1.5 c -0.41213,0.41213 -0.87694,0.60352 -1.39649,0.60352 a 0.50005,0.50005 0 1 0 0,1 c 0.78067,0 1.52491,-0.31788 2.10352,-0.89649 l 1.48828,-1.48828 c 0.61768,-0.57711 0.9366,-1.36125 0.89258,-2.16406 -0.044,-0.80281 -0.43566,-1.60948 -1.13086,-2.30469 -0.69571,-0.69571 -1.49901,-1.07724 -2.29688,-1.11523 z m -1.08008,3.97851 a 0.50005,0.50005 0 0 0 -0.34375,0.15039 l -5,5 a 0.50005,0.50005 0 1 0 0.70704,0.70704 l 5,-5 a 0.50005,0.50005 0 0 0 -0.36329,-0.85743 z m -4.92968,2.02149 c -0.80753,-0.0482 -1.5954,0.26944 -2.17578,0.89062 l -1.48829,1.48828 c -0.58838,0.58839 -0.90322,1.36034 -0.86523,2.15821 0.038,0.79787 0.41952,1.60311 1.11523,2.29883 0.69521,0.6952 1.50384,1.08487 2.30664,1.1289 0.80281,0.044 1.585,-0.27294 2.16211,-0.89062 l 1.48829,-1.48828 C 307.68213,505.0249 308,504.28067 308,503.5 a 0.50005,0.50005 0 1 0 -1,0 c 0,0.51955 -0.19139,0.98436 -0.60352,1.39648 l -1.5,1.5 a 0.50005,0.50005 0 0 0 -0.0117,0.0117 c -0.39411,0.42182 -0.86007,0.60452 -1.37696,0.57618 -0.51688,-0.0283 -1.0995,-0.2831 -1.65429,-0.8379 -0.55429,-0.55428 -0.79776,-1.12404 -0.82227,-1.63867 -0.0245,-0.51463 0.16065,-0.99268 0.57227,-1.40429 l 1.5,-1.5 a 0.50005,0.50005 0 0 0 0.0117,-0.0117 c 0.39634,-0.4242 0.86629,-0.60725 1.38672,-0.57618 a 0.50005,0.50005 0 1 0 0.0586,-0.99804 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
+ <g inkscape:export-ydpi="96" inkscape:export-xdpi="96" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" style="display:inline;opacity:1;fill:#ffffff;enable-background:new" id="g6359" transform="rotate(90,306.5,333.5)">
+ <path sodipodi:nodetypes="sssss" inkscape:connector-curvature="0" id="path6353" d="m 469.5,356 c -1.37478,0 -2.5,1.12522 -2.5,2.5 0,1.37478 1.12522,2.5 2.5,2.5 1.37478,0 2.5,-1.12522 2.5,-2.5 0,-1.37478 -1.12522,-2.5 -2.5,-2.5 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
+ <g style="opacity:0.7;fill:#ffffff" id="g6357">
+ <path id="path6355" transform="matrix(0,-1,-1,0,1038,577)" d="m 218.5,557 c -0.8225,0 -1.5,0.6775 -1.5,1.5 0,0.64684 0.42097,1.19777 1,1.40625 V 564.5 c -0.01,0.67616 1.01,0.67616 1,0 v -4.59375 c 0.57903,-0.20848 1,-0.75941 1,-1.40625 0,-0.8225 -0.6775,-1.5 -1.5,-1.5 z m 9.5,0 c -1.09865,0 -2,0.90135 -2,2 0,0.36859 0.10883,0.71022 0.28516,1.00781 l -5.13868,5.13867 c -0.49023,0.47127 0.23577,1.19727 0.70704,0.70704 l 5.13867,-5.13868 C 227.28978,560.89117 227.63141,561 228,561 c 1.09865,-10e-6 2,-0.90135 2,-2 0,-1.09865 -0.90135,-1.99999 -2,-2 z m 0.5,10 c -0.64684,0 -1.19777,0.42097 -1.40625,1 H 222.5 c -0.67616,-0.01 -0.67616,1.01 0,1 h 4.59375 c 0.20848,0.57903 0.75941,1 1.40625,1 0.82251,0 1.5,-0.67749 1.5,-1.5 0,-0.82251 -0.67749,-1.5 -1.5,-1.5 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" inkscape:connector-curvature="0"/>
</g>
- <path
- sodipodi:nodetypes="ccccccccc"
- inkscape:connector-curvature="0"
- id="path12946"
- d="m 132.50195,143 c -0.35971,-0.001 -0.6028,0.36671 -0.46093,0.69727 l 3,7 c 0.18151,0.42185 0.78799,0.39645 0.93359,-0.0391 l 0.91992,-2.76367 2.76367,-0.91992 c 0.43555,-0.1456 0.46095,-0.75208 0.0391,-0.93359 l -7,-3 c -0.0617,-0.0266 -0.12814,-0.0406 -0.19535,-0.041 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" />
- </g>
- <g
- transform="translate(0.99999783,9.0033549e-6)"
- id="g22948"
- style="display:inline;fill:#ffffff;enable-background:new">
- <path
- inkscape:connector-curvature="0"
- id="path12633"
- d="m 155.50195,139.99414 a 0.50005,0.50005 0 0 0 -0.36133,0.85352 C 156.37329,142.12237 157.775,144 160.5,144 c 2.725,0 4.12681,-1.87774 5.35938,-3.15234 a 0.50005,0.50005 0 1 0 -0.71876,-0.69532 C 163.83477,141.50274 162.775,143 160.5,143 c -2.275,0 -3.33487,-1.49737 -4.64062,-2.84766 a 0.50005,0.50005 0 0 0 -0.35743,-0.1582 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" />
- <path
- inkscape:connector-curvature="0"
- id="path12645"
- d="m 152.50195,143 a 0.50005,0.50005 0 0 0 -0.46093,0.69727 l 3,7 a 0.50005,0.50005 0 1 0 0.91796,-0.39454 l -2.50781,-5.85156 5.85156,2.50781 a 0.50005,0.50005 0 1 0 0.39454,-0.91796 l -7,-3 A 0.50005,0.50005 0 0 0 152.50195,143 Z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" />
- </g>
- <g
- style="display:inline;opacity:0.6;fill:#ffffff;enable-background:new"
- id="g14837"
- transform="translate(-210,-315)">
- <path
- inkscape:connector-curvature="0"
- id="path14829"
- d="m 415.5,452.00781 a 0.50005018,0.50005018 0 0 0 -0.5,0.5 v 3.00781 a 0.50005018,0.50005018 0 0 0 0.5,0.5 c 1.00252,0 2.00529,0 3.00781,0 a 0.50005018,0.50005018 0 0 0 0.5,-0.5 v -3.00781 a 0.50005018,0.50005018 0 0 0 -0.5,-0.5 c -1.00251,0 -2.00529,0 -3.00781,0 z m 0.5,1 c 0.66922,0 1.33859,0 2.00781,0 v 2.00781 c -0.66921,0 -1.33859,10e-6 -2.00781,0 z m -10.5,9 a 0.50005018,0.50005018 0 0 0 -0.5,0.5 v 3.00781 a 0.50005018,0.50005018 0 0 0 0.5,0.5 c 1.00252,0 2.00529,0 3.00781,0 a 0.50005018,0.50005018 0 0 0 0.5,-0.5 v -3.00781 a 0.50005018,0.50005018 0 0 0 -0.5,-0.5 c -1.00251,0 -2.00529,0 -3.00781,0 z m 0.5,1 c 0.66922,0 1.33859,0 2.00781,0 v 2.00781 c -0.66921,0 -1.33859,10e-6 -2.00781,0 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.00000036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:7.40000248;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" />
- <path
- inkscape:connector-curvature="0"
- id="path22198"
- d="m 411.50391,454 a 0.50005,0.50005 0 0 0 -0.35743,0.14648 l -1,1 a 0.50005,0.50005 0 1 0 0.70704,0.70704 l 0.85156,-0.85157 0.78515,0.006 a 0.50005,0.50005 0 1 0 0.006,-1 z m -3.01368,2.99609 a 0.50005,0.50005 0 0 0 -0.34375,0.15039 l -1,1 A 0.50005,0.50005 0 0 0 407,458.5 v 1.00781 a 0.50005,0.50005 0 1 0 1,0 v -0.80078 l 0.85352,-0.85351 a 0.50005,0.50005 0 0 0 -0.36329,-0.85743 z m 7.99415,0.9961 A 0.50005,0.50005 0 0 0 415.99219,458.5 v 0.80078 l -0.85352,0.85352 a 0.50005,0.50005 0 1 0 0.70703,0.70703 l 1,-1 a 0.50005,0.50005 0 0 0 0.14649,-0.35352 V 458.5 a 0.50005,0.50005 0 0 0 -0.50781,-0.50781 z m -3.00196,4.00976 a 0.50005,0.50005 0 0 0 -0.34375,0.15235 l -0.85156,0.85156 -0.7832,-0.006 a 0.50005,0.50005 0 1 0 -0.008,1 l 0.99219,0.008 a 0.50005,0.50005 0 0 0 0.35742,-0.14648 l 1,-1 a 0.50005,0.50005 0 0 0 -0.36328,-0.85938 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" />
- </g>
- <rect
- style="opacity:0;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke"
- id="rect5375"
- width="6"
- height="5"
- x="218"
- y="119" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 303.5,600 c -1.92707,0 -3.5,1.57293 -3.5,3.5 v 0.5 h 1 v -0.5 c 0,-1.38663 1.11337,-2.5 2.5,-2.5 1.38663,0 2.5,1.11337 2.5,2.5 v 1.5 h -0.5 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 5 a 0.50005,0.50005 0 0 0 0.5,0.5 h 8 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -5 A 0.50005,0.50005 0 0 0 313.5,605 H 307 v -1.5 c 0,-1.92707 -1.57293,-3.5 -3.5,-3.5 z m 2.5,6 h 7 v 4 h -7 z m 3,1 v 2 h 1 v -2 z"
- id="path19950-6"
- inkscape:connector-curvature="0" />
- <g
- transform="matrix(0.86666667,0,0,0.86666667,39.533341,-302.8)"
- id="g12476-7-0"
- style="display:inline;opacity:1;fill:#ffffff;stroke-width:1.15384614;enable-background:new"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- inkscape:export-xdpi="96"
- inkscape:export-ydpi="96">
- <path
- inkscape:connector-curvature="0"
- id="path12470-5-6"
- d="m 454,555.92383 c -4.45393,0 -8.07617,3.62224 -8.07617,8.07617 0,4.45393 3.62224,8.07617 8.07617,8.07617 4.45393,0 8.07617,-3.62224 8.07617,-8.07617 0,-4.45393 -3.62224,-8.07617 -8.07617,-8.07617 z m 0,1.15234 c 3.83034,0 6.92383,3.09349 6.92383,6.92383 0,3.83034 -3.09349,6.92383 -6.92383,6.92383 -3.83034,0 -6.92383,-3.09349 -6.92383,-6.92383 0,-3.83034 3.09349,-6.92383 6.92383,-6.92383 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.15384614;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
- <path
- sodipodi:nodetypes="ccccc"
- inkscape:connector-curvature="0"
- id="path12474-5-2"
- d="m 454,561.69141 c -1.26767,-10e-6 -2.3086,1.04092 -2.30859,2.30859 -1e-5,1.26767 1.04092,2.3086 2.30859,2.30859 1.26767,10e-6 2.3086,-1.04092 2.30859,-2.30859 1e-5,-1.26767 -1.04092,-2.3086 -2.30859,-2.30859 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.15384603;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
- <path
- inkscape:connector-curvature="0"
- id="path20496-2"
- d="m 454,558.23047 c -3.17259,10e-6 -5.76953,2.59694 -5.76953,5.76953 -1e-5,3.17259 2.59694,5.76952 5.76953,5.76953 3.1726,10e-6 5.76954,-2.59693 5.76953,-5.76953 0,-3.1726 -2.59693,-5.76954 -5.76953,-5.76953 z m 0,2.30859 c 1.92543,0 3.46094,1.53551 3.46094,3.46094 0,1.92543 -1.53551,3.46094 -3.46094,3.46094 -1.92542,-1e-5 -3.46094,-1.53552 -3.46094,-3.46094 0,-1.92542 1.53552,-3.46093 3.46094,-3.46094 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.9;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.30769229;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
- </g>
- <g
- style="display:inline;opacity:1;fill:#ffffff;stroke-width:1.15384614;enable-background:new"
- id="g12520-1-5"
- transform="matrix(0.86666667,0,0,0.86666667,60.533341,-302.8)"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- inkscape:export-xdpi="96"
- inkscape:export-ydpi="96">
- <path
- inkscape:connector-curvature="0"
- id="path12513-1-0"
- d="m 454,555.92383 c -4.45393,0 -8.07617,3.62224 -8.07617,8.07617 0,4.45393 3.62224,8.07617 8.07617,8.07617 4.45393,0 8.07617,-3.62224 8.07617,-8.07617 0,-4.45393 -3.62224,-8.07617 -8.07617,-8.07617 z m 0,1.15234 c 3.83034,0 6.92383,3.09349 6.92383,6.92383 0,3.83034 -3.09349,6.92383 -6.92383,6.92383 -3.83034,0 -6.92383,-3.09349 -6.92383,-6.92383 0,-3.83034 3.09349,-6.92383 6.92383,-6.92383 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.7;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.15384614;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
- <path
- inkscape:connector-curvature="0"
- id="path20498-6"
- d="m 454,558.23047 c -3.17259,0 -5.76953,2.59694 -5.76953,5.76953 -1e-5,3.1726 2.59693,5.76953 5.76953,5.76953 3.1726,0 5.76954,-2.59693 5.76953,-5.76953 0,-3.17259 -2.59694,-5.76953 -5.76953,-5.76953 z m 0,2.30859 c 1.92542,0 3.46093,1.53552 3.46094,3.46094 0,1.92543 -1.53551,3.46094 -3.46094,3.46094 -1.92543,0 -3.46094,-1.53551 -3.46094,-3.46094 10e-6,-1.92542 1.53552,-3.46094 3.46094,-3.46094 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.30769229;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
- </g>
- <g
- style="display:inline;opacity:1;fill:#ffffff;enable-background:new"
- id="g5294-1-7-1"
- transform="translate(41.999998,-357)"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- inkscape:export-xdpi="96"
- inkscape:export-ydpi="96">
- <path
- sodipodi:nodetypes="sssss"
- inkscape:connector-curvature="0"
- id="path5168-0-2-8"
- d="m 433,541 c -1.09865,0 -2,0.90135 -2,2 0,1.09865 0.90135,2 2,2 1.09865,0 2,-0.90135 2,-2 0,-1.09865 -0.90135,-2 -2,-2 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
- <path
- inkscape:connector-curvature="0"
- id="path5260-6-8-7"
- d="m 433.08008,537.98438 c -2.77576,0 -5.01953,2.26323 -5.01953,5.01562 0,2.7524 2.24277,5.02307 5.02148,5.01562 L 439.00195,548 a 1.0001,1.0001 0 1 0 -0.004,-2 l -5.91993,0.0156 c -1.70285,0.005 -3.01757,-1.33278 -3.01757,-3.01562 0,-1.68217 1.31272,-3.01459 3.01757,-3.01562 L 438.99805,540 a 1.0001,1.0001 0 1 0 0.004,-2 l -5.91992,-0.0156 a 1.0001,1.0001 0 0 0 -0.002,0 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.9;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
- <path
- inkscape:connector-curvature="0"
- id="path12602-0-0"
- d="m 433,536 c -2.50006,0 -4.81247,1.33488 -6.0625,3.5 -1.25002,2.16512 -1.25002,4.83488 0,7 1.25003,2.16512 3.56244,3.5 6.0625,3.5 h 6.5 a 0.50005,0.50005 0 1 0 0,-1 H 433 c -2.1444,0 -4.12312,-1.1429 -5.19531,-3 -1.0722,-1.8571 -1.0722,-4.1429 0,-6 1.07219,-1.8571 3.05091,-3 5.19531,-3 h 6.5 a 0.50005,0.50005 0 1 0 0,-1 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
- </g>
- <path
- inkscape:connector-curvature="0"
- id="path20009-7"
- d="m 328.5,600 c -1.92707,0 -3.5,1.57293 -3.5,3.5 v 1.5 h -0.5 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 5 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 8 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -5 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 H 332 v -1.5 c 0,-1.92707 -1.57293,-3.5 -3.5,-3.5 z m 0,1 c 1.38663,0 2.5,1.11337 2.5,2.5 v 1.5 h -5 v -1.5 c 0,-1.38663 1.11337,-2.5 2.5,-2.5 z m -0.5,6 h 1 v 1 1 h -1 v -1 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
- <path
- id="path20615"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 345.50001,453 c -1.92707,0 -3.5,1.57293 -3.5,3.5 v 0.5 h 1 v -0.5 c 0,-1.38663 1.11337,-2.5 2.5,-2.5 1.38663,0 2.5,1.11337 2.5,2.5 v 1.5 h -0.5 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 5 a 0.50005,0.50005 0 0 0 0.5,0.5 h 8 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -5 a 0.50005,0.50005 0 0 0 -0.5,-0.5 h -6.5 v -1.5 c 0,-1.92707 -1.57293,-3.5 -3.5,-3.5 z m 2.5,6 h 7 v 4 h -7 z m 3,0.99999 h 1 V 462 h -1 z"
- inkscape:connector-curvature="0" />
- <g
- id="g20632"
- style="display:inline;fill:#ffffff;enable-background:new"
- transform="translate(696.00001,793)">
- <g
- inkscape:export-ydpi="96"
- inkscape:export-xdpi="96"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- id="g20623"
- transform="translate(-740.00001,-750)"
- style="display:inline;fill:#ffffff;enable-background:new">
- <path
- inkscape:connector-curvature="0"
- id="path20621"
- transform="translate(594,-43.000004)"
- d="m -179.5,453 c -1.92707,0 -3.5,1.57293 -3.5,3.5 v 1.5 h -0.5 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 5 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 8 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -5 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 h -0.5 v -1.5 c 0,-1.92707 -1.57293,-3.5 -3.5,-3.5 z m 0,1 c 1.38663,0 2.5,1.11337 2.5,2.5 v 1.5 h -5 v -1.5 c 0,-1.38663 1.11337,-2.5 2.5,-2.5 z m -0.5,6 h 1 v 1 1 h -1 v -1 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
+ </g>
+ <g style="fill:#ffffff" id="g6505" transform="translate(84,-21)">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 31.5,494 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 9 a 0.50005,0.50005 0 0 0 0.5,0.5 h 9 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -9 A 0.50005,0.50005 0 0 0 40.5,494 Z m 0.5,1 h 8 v 8 h -8 z" id="path6499" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.89999998;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 38,496 c -0.546362,0 -1,0.45364 -1,1 0,0.54636 0.453638,1 1,1 0.546362,0 1,-0.45364 1,-1 0,-0.54636 -0.453638,-1 -1,-1 z m -3.513672,1.05078 c -0.16529,0.005 -0.314526,0.10024 -0.388672,0.24805 l -2.75,5.5 c -0.148607,0.29892 0.06852,0.64991 0.402344,0.65039 h 5.75 c 0.340259,-0.001 0.55634,-0.36474 0.394531,-0.66406 l -3,-5.5 c -0.08111,-0.14873 -0.238867,-0.23931 -0.408203,-0.23438 z" id="path6501" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.69300022;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="M 29.492188,495.99219 A 0.50005,0.50005 0 0 0 29,496.5 v 9 a 0.50005,0.50005 0 0 0 0.5,0.5 h 9 a 0.50005,0.50005 0 1 0 0,-1 H 30 v -8.5 a 0.50005,0.50005 0 0 0 -0.507812,-0.50781 z m -2,2 A 0.50005,0.50005 0 0 0 27,498.5 v 9 a 0.50005,0.50005 0 0 0 0.5,0.5 h 9 a 0.50005,0.50005 0 1 0 0,-1 H 28 v -8.5 a 0.50005,0.50005 0 0 0 -0.507812,-0.50781 z" id="path6503" inkscape:connector-curvature="0"/>
+ </g>
+ <g id="g8734-0" transform="translate(-104.00001,-19.99995)" style="display:inline;opacity:1;fill:#ffffff;enable-background:new" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" inkscape:export-xdpi="96" inkscape:export-ydpi="96">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 158.48048,492.99995 c -0.15153,0.004 -0.29304,0.0766 -0.38477,0.19727 l -4.94922,4.94921 c -0.31479,0.315 -0.0918,0.85335 0.35352,0.85352 h 5 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -4.5 h 5 v 12 h -10 v -6 h -1 v 6.5 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 11 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -13 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 h -6 c -0.005,-6e-5 -0.009,-6e-5 -0.0137,0 -6.7e-4,2e-5 -0.001,-2e-5 -0.002,0 -0.001,4e-5 -0.003,-5e-5 -0.004,0 z" id="path8730-7" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccccccccccccccccccccc"/>
+ </g>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 56.515625,452 c 0.752,0 1.453818,0.239 2.023438,0.64453 C 59.424733,453.27508 60,454.31514 60,455.48438 V 458.5 c -3e-5,0.27537 -0.222677,0.4989 -0.498047,0.5 l -4.009765,0.008 c -0.27613,-3e-5 -0.49997,-0.22387 -0.5,-0.5 L 55,452.53516 v -0.002 -0.0352 C 55.001,452.22272 55.22466,452.00003 55.5,452 Z M 54,452 v 1 H 52.484375 C 51.099855,453 50,454.09985 50,455.48438 v 8.03124 C 50,464.90014 51.099855,466 52.484375,466 h 4.03125 C 57.900145,466 59,464.90014 59,463.51562 V 460 h 1 v 3.51562 C 60,465.43685 58.436855,467 56.515625,467 h -4.03125 C 50.563145,467 49,465.43686 49,463.51562 v -8.03124 C 49,453.56315 50.563145,452 52.484375,452 Z" id="path6557" inkscape:connector-curvature="0"/>
+ <path id="path6596" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 92.484375,452 c -0.752,0 -1.453818,0.239 -2.023438,0.64453 C 89.575267,453.27508 89,454.31514 89,455.48438 V 458.5 c 3e-5,0.27537 0.222677,0.4989 0.498047,0.5 l 4.009765,0.008 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 L 94,452.53516 v -0.002 -0.0352 C 93.999,452.22272 93.77534,452.00003 93.5,452 Z M 95,452 v 1 h 1.515625 C 97.900145,453 99,454.09985 99,455.48438 v 8.03124 C 99,464.90014 97.900145,466 96.515625,466 h -4.03125 C 91.099855,466 90,464.90014 90,463.51562 V 460 h -1 v 3.51562 C 89,465.43685 90.563145,467 92.484375,467 h 4.03125 C 98.436855,467 100,465.43686 100,463.51562 v -8.03124 C 100,453.56315 98.436855,452 96.515625,452 Z m 6.47656,-0.97852 a 0.50005,0.50005 0 0 0 -0.31445,0.8711 c 0.58809,0.54453 0.8418,1.0856 0.8418,1.60156 L 102,459.5 a 0.50005,0.50005 0 1 0 1,0 l 0.004,-6.00586 c 0,-0.8509 -0.43179,-1.65971 -1.16211,-2.33594 a 0.50005,0.50005 0 0 0 -0.36524,-0.13672 z m 3.01563,2.01563 A 0.50005,0.50005 0 0 0 104,453.54297 v 4.05859 a 0.50005,0.50005 0 1 0 1,0 v -4.05859 a 0.50005,0.50005 0 0 0 -0.50781,-0.50586 z" inkscape:connector-curvature="0"/>
+ <path id="path6598" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="M 113.48438,452 C 111.56315,452 110,453.56315 110,455.48438 v 8.03124 c 0,1.92123 1.56315,3.48438 3.48438,3.48438 h 4.03125 C 119.43685,467 121,465.43685 121,463.51562 v -8.03124 C 121,453.56315 119.43685,452 117.51563,452 Z m 0,1 h 4.03125 c 1.38452,0 2.48437,1.09985 2.48437,2.48438 v 8.03124 C 120,464.90015 118.90015,466 117.51563,466 h -4.03125 C 112.09985,466 111,464.90015 111,463.51562 v -8.03124 C 111,454.09985 112.09985,453 113.48438,453 Z m 1.5625,1 C 114.47554,454 114,454.47555 114,455.04688 v 3.90624 c 0,0.57133 0.47554,1.04688 1.04688,1.04688 h 0.90625 C 116.52446,460 117,459.52445 117,458.95312 v -3.90624 C 117,454.47555 116.52446,454 115.95313,454 Z m 7.42968,-2.97852 a 0.50005,0.50005 0 0 0 -0.31445,0.8711 c 0.58809,0.54453 0.8418,1.0856 0.8418,1.60156 L 123,459.5 a 0.50005,0.50005 0 1 0 1,0 l 0.004,-6.00586 c 0,-0.8509 -0.43179,-1.65971 -1.16211,-2.33594 a 0.50005,0.50005 0 0 0 -0.36524,-0.13672 z m 3.01563,2.01563 A 0.50005,0.50005 0 0 0 125,453.54297 v 4.05859 a 0.50005,0.50005 0 1 0 1,0 v -4.05859 a 0.50005,0.50005 0 0 0 -0.50781,-0.50586 z" inkscape:connector-curvature="0"/>
+ <path id="path6600" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 138.51562,452 c 0.752,0 1.45382,0.239 2.02344,0.64453 0.88567,0.63055 1.46094,1.67061 1.46094,2.83985 V 458.5 c -3e-5,0.27537 -0.22268,0.4989 -0.49805,0.5 l -4.00976,0.008 c -0.27613,-3e-5 -0.49997,-0.22387 -0.5,-0.5 L 137,452.53516 v -0.002 -0.0352 c 0.001,-0.27524 0.22466,-0.49793 0.5,-0.49796 z M 136,452 v 1 h -1.51563 C 133.09986,453 132,454.09985 132,455.48438 v 8.03124 c 0,1.38452 1.09986,2.48438 2.48437,2.48438 h 4.03125 C 139.90014,466 141,464.90014 141,463.51562 V 460 h 1 v 3.51562 C 142,465.43685 140.43685,467 138.51562,467 h -4.03125 C 132.56315,467 131,465.43686 131,463.51562 v -8.03124 C 131,453.56315 132.56315,452 134.48437,452 Z m 7.47656,-0.97852 a 0.50005,0.50005 0 0 0 -0.31445,0.8711 c 0.58809,0.54453 0.8418,1.0856 0.8418,1.60156 L 144,459.5 a 0.50005,0.50005 0 1 0 1,0 l 0.004,-6.00586 c 0,-0.8509 -0.43179,-1.65971 -1.16211,-2.33594 a 0.50005,0.50005 0 0 0 -0.36524,-0.13672 z m 3.01563,2.01563 A 0.50005,0.50005 0 0 0 146,453.54297 v 4.05859 a 0.50005,0.50005 0 1 0 1,0 v -4.05859 a 0.50005,0.50005 0 0 0 -0.50781,-0.50586 z" inkscape:connector-curvature="0"/>
+ <g style="display:inline;opacity:1;fill:#ffffff;enable-background:new" id="g26277" transform="translate(273,-20.99999)">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 203.5,284 a 0.50005,0.50005 0 0 0 -0.35352,0.14648 l -8,8 A 0.50005,0.50005 0 0 0 195,292.5 l -0.008,5.00586 a 0.50005,0.50005 0 0 0 0.5,0.50195 L 208.5,298 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -13 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m 0.20703,1 H 208 v 12 l -12.00781,0.008 0.008,-4.30078 z" id="path23052" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.5;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 200.5,284 -5.00781,0.008 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 5 a 0.50005,0.50005 0 1 0 1,0 v -4.50195 L 200.5,285 a 0.50005,0.50005 0 1 0 0,-1 z" id="path23056" inkscape:connector-curvature="0"/>
+ </g>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 351.48242,557.01562 -0.96875,0.0156 c -0.0189,2.6e-4 -0.0378,0.002 -0.0566,0.004 -2.58289,0.33067 -4.57988,2.60038 -4.45117,5.21484 0.0288,0.58487 0.23179,1.09854 0.44141,1.5957 l -3.78516,3.78516 c -0.33708,0.30742 -0.60091,0.7293 -0.64063,1.23047 -0.0397,0.50117 0.17261,1.03979 0.625,1.49219 0.45357,0.45356 0.99596,0.65829 1.49219,0.61328 0.49624,-0.045 0.906,-0.30379 1.21485,-0.61328 l 3.80664,-3.80664 c 0.52791,0.22561 1.0693,0.4331 1.69336,0.45117 2.60313,0.0754 4.83493,-1.87377 5.11328,-4.46289 0.001,-0.0136 0.002,-0.0273 0.002,-0.041 l 0.0215,-0.9668 c 0.0105,-0.45102 -0.53451,-0.68424 -0.85351,-0.36523 L 352.29297,564 h -1.58594 L 349,562.29297 v -1.58594 l 2.84375,-2.83789 c 0.31756,-0.31766 0.0878,-0.86042 -0.36133,-0.85352 z" id="path18095" inkscape:connector-curvature="0" sodipodi:nodetypes="cccccccccccccccccccccc"/>
+ <g transform="translate(-1162,-873.9944)" style="display:inline;fill:#ffffff;enable-background:new" id="g17413-4-0">
+ <path inkscape:connector-curvature="0" id="path17404-8-7" transform="translate(1162,873.9944)" d="m 164.48438,535.00586 a 0.50005,0.50005 0 0 0 -0.1211,0.0195 l -1.36328,0.3887 0.01,2.03906 1.63085,-0.46679 A 0.50005,0.50005 0 0 0 165,536.50586 v -1 a 0.50005,0.50005 0 0 0 -0.51562,-0.5 z M 162,535.70117 l -2,0.57031 0.01,2.03907 2,-0.57227 z m -3,0.85547 -1.63672,0.46875 A 0.50005,0.50005 0 0 0 157,537.50586 v 1 a 0.50005,0.50005 0 0 0 0.63672,0.48047 l 1.36914,-0.39063 z M 157,542 v 1 l 8.5,0.01 c 0.276,-5e-4 0.4995,-0.224 0.5,-0.5 -5e-4,-0.276 -0.224,-0.4995 -0.5,-0.5 z m -3,2.00586 v 5.49219 c 0,0.2761 0.2239,0.5 0.5,0.5 h 11 c 0.2761,0 0.5,-0.2239 0.5,-0.5 v -4.99219 c 0,-0.2761 -0.2239,-0.5 -0.5,-0.5 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.7;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 1315.5078,1411.9922 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 4 a 0.50005,0.50005 0 0 0 0.5,0.5 h 2 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -2 -2 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m 0.5,1 h 1 v 1.5 1.5 h -1 z" id="path17409-0-0" inkscape:connector-curvature="0"/>
+ </g>
+ <g transform="translate(-574,-936.9944)" id="g17429-7-7" style="display:inline;fill:#ffffff;enable-background:new">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.7;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 1063.5078,1410.9922 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 4 a 0.50005,0.50005 0 0 0 0.5,0.5 h 2 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -2 -2 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m 0.5,1 h 1 v 1.5 1.5 h -1 z" id="path17417-2-4" inkscape:connector-curvature="0"/>
+ <path inkscape:connector-curvature="0" d="m 1340,1411 v 2 l 1.5,-0.01 1.75,-2 z m 4.5,-0.01 -1.75,2 h 2.75 l 1.7266,-2 z m 4,0 -1.7266,2 2.7266,0.01 c 0.276,-5e-4 0.4995,-0.224 0.5,-0.5 v -1 c -5e-4,-0.276 -0.224,-0.4995 -0.5,-0.5 z m -8.5,4.01 0.01,1.9922 -3.0098,0.01 v 5.4921 c 0,0.2761 0.2239,0.5 0.5,0.5 h 12 c 0.2761,0 0.5,-0.2239 0.5,-0.5 V 1415.5 c 0,-0.2761 -0.2239,-0.5 -0.5,-0.5 z m 2.5156,1 c 0.084,0 0.1663,0.026 0.2383,0.068 l 4.25,2.5 c 0.33,0.1931 0.33,0.6701 0,0.8632 l -4.25,2.5 c -0.3336,0.1966 -0.7545,-0.044 -0.7539,-0.4316 v -5 c -10e-5,-0.2823 0.2334,-0.51 0.5156,-0.5 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.00157475;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" transform="translate(-273)" id="path17425-5"/>
+ </g>
+ <path sodipodi:nodetypes="cccccscccccccccccccccc" inkscape:connector-curvature="0" id="path17971-6" d="m 433.60156,411.10938 c -0.0348,2.9e-4 -0.0695,0.004 -0.10351,0.0117 -2.03912,0.46668 -3.49042,2.28707 -3.49219,4.37891 9e-4,0.50625 0.15089,0.99318 0.31836,1.46875 l -2.42774,2.42773 c -1.00968,1.00969 -1.01874,2.3133 -0.3125,3.01954 0.70624,0.70624 2.00985,0.69718 3.01954,-0.3125 l 2.42968,-2.42969 c 0.47476,0.16775 0.9595,0.31841 1.46485,0.32031 6.7e-4,0 0.001,0 0.002,0 2.10425,-9.3e-4 3.93168,-1.46897 4.38672,-3.52344 0.0316,-0.14237 -4.7e-4,-0.29146 -0.0879,-0.4082 l -0.64844,-0.86328 c -0.17598,-0.23372 -0.51414,-0.2671 -0.73242,-0.0723 L 435.31055,417 h -1.08008 L 433,415.56445 v -0.85742 l 1.85352,-1.85351 c 0.19519,-0.19527 0.19519,-0.51177 0,-0.70704 l -0.89063,-0.89062 c -0.0957,-0.0957 -0.22603,-0.14855 -0.36133,-0.14648 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"/>
+ <path inkscape:connector-curvature="0" id="path18042-5" d="m 413.49609,411 c -1.31297,0 -2.2906,0.33758 -3.34961,1.39648 -1.07833,1.0783 -1.34444,2.83666 -0.73437,4.48438 l -2.51563,2.51562 c -1.00968,1.00969 -1.01874,2.3133 -0.3125,3.01954 0.70624,0.70624 2.00985,0.69718 3.01954,-0.3125 l 2.51757,-2.51758 c 1.64574,0.60684 3.4036,0.3464 4.48243,-0.73242 1.05892,-1.05893 1.39668,-2.03818 1.39257,-3.35547 a 0.50005,0.50005 0 0 0 -0.14648,-0.35157 l -1,-1 a 0.50005,0.50005 0 0 0 -0.70703,0 L 414.28906,416 h -0.58594 l -0.70703,-0.70703 v -0.58594 l 1.85352,-1.85351 a 0.50005,0.50005 0 0 0 0,-0.70704 l -1,-1 A 0.50005,0.50005 0 0 0 413.49609,411 Z m -0.18164,1.02539 0.47461,0.47461 -1.64648,1.64648 A 0.50005,0.50005 0 0 0 411.99609,414.5 v 1 a 0.50005,0.50005 0 0 0 0.14649,0.35352 l 1,1 A 0.50005,0.50005 0 0 0 413.49609,417 h 1 a 0.50005,0.50005 0 0 0 0.35352,-0.14648 l 1.64648,-1.64649 0.47461,0.47461 c -0.0187,1.03267 -0.19304,1.58367 -1.07422,2.46484 -0.83209,0.8321 -2.35353,1.13617 -3.75195,0.47266 a 0.50005,0.50005 0 0 0 -0.56836,0.0977 l -2.67969,2.67968 c -0.74031,0.74032 -1.3117,0.60626 -1.60546,0.3125 -0.29376,-0.29376 -0.42782,-0.86515 0.3125,-1.60546 l 2.67773,-2.67774 a 0.50005,0.50005 0 0 0 0.0977,-0.56836 c -0.66677,-1.39852 -0.3581,-2.92122 0.47461,-3.7539 0.88058,-0.8805 1.43264,-1.05616 2.46093,-1.07813 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"/>
+ <g transform="translate(-104.9941,85.0365)" style="display:inline;fill:#ffffff;enable-background:new" id="g19021-7-6">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:3.70000005;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 448.5,284 c -0.8225,0 -1.5,0.6775 -1.5,1.5 0,0.8225 0.6775,1.5 1.5,1.5 0.8225,0 1.5,-0.6775 1.5,-1.5 0,-0.8225 -0.6775,-1.5 -1.5,-1.5 z m 5,0 c -0.8225,0 -1.5,0.6775 -1.5,1.5 0,0.8225 0.6775,1.5 1.5,1.5 0.8225,0 1.5,-0.6775 1.5,-1.5 0,-0.8225 -0.6775,-1.5 -1.5,-1.5 z m 5,0 c -0.8225,0 -1.5,0.6775 -1.5,1.5 0,0.8225 0.6775,1.5 1.5,1.5 0.8225,0 1.5,-0.6775 1.5,-1.5 0,-0.8225 -0.6775,-1.5 -1.5,-1.5 z m -10,1 c 0.28207,0 0.5,0.21794 0.5,0.5 0,0.28206 -0.21793,0.5 -0.5,0.5 -0.28207,0 -0.5,-0.21794 -0.5,-0.5 0,-0.28206 0.21793,-0.5 0.5,-0.5 z m 5,0 c 0.28207,0 0.5,0.21794 0.5,0.5 0,0.28206 -0.21793,0.5 -0.5,0.5 -0.28207,0 -0.5,-0.21794 -0.5,-0.5 0,-0.28206 0.21793,-0.5 0.5,-0.5 z m 5,0 c 0.28207,0 0.5,0.21794 0.5,0.5 0,0.28206 -0.21793,0.5 -0.5,0.5 -0.28207,0 -0.5,-0.21794 -0.5,-0.5 0,-0.28206 0.21793,-0.5 0.5,-0.5 z m -10,4 c -0.8225,0 -1.5,0.6775 -1.5,1.5 0,0.8225 0.6775,1.5 1.5,1.5 0.8225,0 1.5,-0.6775 1.5,-1.5 0,-0.8225 -0.6775,-1.5 -1.5,-1.5 z m 5,0 c -0.8225,0 -1.5,0.6775 -1.5,1.5 0,0.8225 0.6775,1.5 1.5,1.5 0.8225,0 1.5,-0.6775 1.5,-1.5 0,-0.8225 -0.6775,-1.5 -1.5,-1.5 z m 5,0 c -0.8225,0 -1.5,0.6775 -1.5,1.5 0,0.8225 0.6775,1.5 1.5,1.5 0.8225,0 1.5,-0.6775 1.5,-1.5 0,-0.8225 -0.6775,-1.5 -1.5,-1.5 z m -10,1 c 0.28207,0 0.5,0.21794 0.5,0.5 0,0.28206 -0.21793,0.5 -0.5,0.5 -0.28207,0 -0.5,-0.21794 -0.5,-0.5 0,-0.28206 0.21793,-0.5 0.5,-0.5 z m 5,0 c 0.28206,0 0.5,0.21794 0.5,0.5 0,0.28206 -0.21794,0.5 -0.5,0.5 -0.28206,0 -0.5,-0.21794 -0.5,-0.5 0,-0.28206 0.21794,-0.5 0.5,-0.5 z m 5,0 c 0.28207,0 0.5,0.21794 0.5,0.5 0,0.28206 -0.21793,0.5 -0.5,0.5 -0.28207,0 -0.5,-0.21794 -0.5,-0.5 0,-0.28206 0.21793,-0.5 0.5,-0.5 z m -10,4 c -0.8225,0 -1.5,0.6775 -1.5,1.5 0,0.8225 0.6775,1.5 1.5,1.5 0.8225,0 1.5,-0.6775 1.5,-1.5 0,-0.8225 -0.6775,-1.5 -1.5,-1.5 z m 5,0 c -0.8225,0 -1.5,0.6775 -1.5,1.5 0,0.8225 0.6775,1.5 1.5,1.5 0.8225,0 1.5,-0.6775 1.5,-1.5 0,-0.8225 -0.6775,-1.5 -1.5,-1.5 z m 5,0 c -0.8225,0 -1.5,0.6775 -1.5,1.5 0,0.8225 0.6775,1.5 1.5,1.5 0.8225,0 1.5,-0.6775 1.5,-1.5 0,-0.8225 -0.6775,-1.5 -1.5,-1.5 z m -10,1 c 0.28207,0 0.5,0.21794 0.5,0.5 0,0.28206 -0.21793,0.5 -0.5,0.5 -0.28207,0 -0.5,-0.21794 -0.5,-0.5 0,-0.28206 0.21793,-0.5 0.5,-0.5 z m 5,0 c 0.28207,0 0.5,0.21794 0.5,0.5 0,0.28206 -0.21793,0.5 -0.5,0.5 -0.28207,0 -0.5,-0.21794 -0.5,-0.5 0,-0.28206 0.21793,-0.5 0.5,-0.5 z m 5,0 c 0.28207,0 0.5,0.21794 0.5,0.5 0,0.28206 -0.21793,0.5 -0.5,0.5 -0.28207,0 -0.5,-0.21794 -0.5,-0.5 0,-0.28206 0.21793,-0.5 0.5,-0.5 z" id="ellipse19010-6-5" inkscape:connector-curvature="0"/>
+ </g>
+ <g style="display:inline;fill:#ffffff;enable-background:new" id="g19186-9-4" transform="translate(-146.9941,85.0365)">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 327.49805,368.03711 a 0.50005,0.50005 0 0 0 -0.34571,0.14648 l -7,7 a 0.50005,0.50005 0 0 0 0,0.70703 l 7,7 a 0.50005,0.50005 0 0 0 0.70704,0 l 7.03124,-7 a 0.50005,0.50005 0 0 0 0,-0.70703 l -7.03124,-7 a 0.50005,0.50005 0 0 0 -0.36133,-0.14648 z m 0.008,1.20703 6.32226,6.29297 -6.32226,6.29297 -6.29297,-6.29297 z m 0,4.79297 c -0.8225,0 -1.5,0.6775 -1.5,1.5 0,0.8225 0.6775,1.5 1.5,1.5 0.8225,0 1.5,-0.6775 1.5,-1.5 0,-0.8225 -0.6775,-1.5 -1.5,-1.5 z m 0,1 c 0.28206,0 0.5,0.21794 0.5,0.5 0,0.28206 -0.21794,0.5 -0.5,0.5 -0.28206,0 -0.5,-0.21794 -0.5,-0.5 0,-0.28206 0.21794,-0.5 0.5,-0.5 z" transform="translate(146.9941,-85.0365)" id="path19093-9-7" inkscape:connector-curvature="0"/>
+ </g>
+ <g style="display:inline;fill:#ffffff;enable-background:new" id="g19103-5" transform="rotate(-90,394.50012,1587.5001)">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 457.5,473 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 0.5 h -7.5 -0.5 c -0.5244,0 -1.02378,0.21717 -1.39258,0.57617 -0.3688,0.3592 -0.60742,0.86058 -0.60742,1.42578 V 485 c 10e-5,0.5302 0.21104,1.03916 0.58594,1.41406 C 447.96084,486.78896 448.4698,487 449,487 h 2.5 c 0.2762,0 0.5,-0.2238 0.5,-0.5 v -9 c 0,-0.2761 -0.2238,-0.4999 -0.5,-0.5 H 449 c -0.4523,0 -1,-0.47105 -1,-0.99805 0,-0.2635 0.13823,-0.51462 0.33203,-0.69922 C 448.52543,475.11903 448.775,475 449,475 h 8 v 1.5 a 0.50005,0.50005 0 0 0 0.5,0.5 h 1.5 v 5 h -1.5 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 1.5 h -4 v 1 h 4 v 0.5 a 0.50005,0.50005 0 0 0 0.5,0.5 h 3 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -3 A 0.50005,0.50005 0 0 0 460.5,482 H 460 v -5 h 0.5 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -3 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m 0.5,1 h 2 v 2 h -2 z m 0,9 h 2 v 2 h -2 z" transform="rotate(90,394.50012,1587.5001)" id="path19040-4" inkscape:connector-curvature="0"/>
+ </g>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 428.25,452 c -0.6506,0 -1.23633,0.19727 -1.64453,0.60547 -0.4083,0.4081 -0.60567,0.99393 -0.60547,1.64453 v 9.5 c 2e-4,0.6505 0.19727,1.23643 0.60547,1.64453 C 427.01357,465.80273 427.5994,466 428.25,466 H 429 v -1 h -0.75 c -0.4574,0 -0.7477,-0.1227 -0.9375,-0.3125 -0.1898,-0.1898 -0.3124,-0.48 -0.3125,-0.9375 v -9.5 c -10e-5,-0.4574 0.1227,-0.7477 0.3125,-0.9375 C 427.5023,453.1227 427.7926,453 428.25,453 H 429 v -1 z m 8.75,0 v 1 h 0.75 c 0.4574,0 0.7477,0.1227 0.9375,0.3125 0.1898,0.1898 0.3125,0.4801 0.3125,0.9375 v 9.5 c 0,0.4574 -0.1227,0.7477 -0.3125,0.9375 C 438.4977,464.8773 438.2074,465 437.75,465 H 437 v 1 h 0.75 c 0.6506,0 1.23643,-0.19727 1.64453,-0.60547 C 439.80273,464.98643 440,464.4006 440,463.75 v -9.5 c 0,-0.6506 -0.19727,-1.23643 -0.60547,-1.64453 C 438.98643,452.19727 438.4006,452 437.75,452 Z m -4,4 v 2 h -1.5 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 1.5 h -2 v 1 h 2 v 1.5 a 0.50005,0.50005 0 0 0 0.5,0.5 h 1.5 v 2 h 1 v -2 h 1.5 a 0.50005,0.50005 0 0 0 0.5,-0.5 V 461 h 2 v -1 h -2 v -1.5 A 0.50005,0.50005 0 0 0 435.5,458 H 434 v -2 z m -1,3 h 3 v 3 h -3 z" id="path19168-3" inkscape:connector-curvature="0"/>
+ <path style="display:inline;opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;enable-background:new" d="m 411,536 v 4 h -2.5 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 2.5 h -4 v 1 h 4 v 2.5 a 0.50005,0.50005 0 0 0 0.5,0.5 h 2.5 v 4 h 1 v -4 h 2.5 a 0.50005,0.50005 0 0 0 0.5,-0.5 V 544 h 4 v -1 h -4 v -2.5 A 0.50005,0.50005 0 0 0 414.5,540 H 412 v -4 z m -2,5 h 5 v 5 h -5 z m 2,2 v 1 h 1 v -1 z" id="rect19268-0" inkscape:connector-curvature="0"/>
+ <g id="g9974-4-9" style="display:inline;fill:#ffffff;enable-background:new" transform="translate(-84.00001,21.000005)">
+ <path sodipodi:nodetypes="ccccccccccccccccccccccc" inkscape:connector-curvature="0" id="path14003-8" transform="translate(84.000014,-21.000005)" d="M 308.06055,557 C 307.40848,557.63639 307,558.52103 307,559.5 c 0,1.5 0.75,2.5 2,3.14453 v 0.004 6.85156 c -0.0287,2.02848 3.02869,2.02848 3,0 v -6.85156 -0.002 c 1.28948,-0.66521 2,-1.64648 2,-3.14648 0,-0.97897 -0.40848,-1.86361 -1.06055,-2.5 H 312.91797 312 V 560 l -1,1 h -1 l -1,-1 2e-5,-3 z M 310,569 h 1 v 1 h -1 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
+ <path sodipodi:nodetypes="ccccccccccccccscscsccc" id="path14013-6" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="M 387.00001,542 387,536.5 c 0.004,-0.28226 -0.22555,-0.51223 -0.50781,-0.50781 -0.27614,0.004 -0.49651,0.23167 -0.49219,0.50781 l 10e-6,5.5 z m 0.75,2 H 388.5 c 0.67616,0.01 0.67616,-1.00956 0,-1 h -4 c -0.67616,-0.01 -0.67616,1.00956 0,1 h 0.75001 v 1 c -0.75,0 -1.25,0.5 -1.25,1.25 L 384,547.5 c -10e-6,0.78517 0.31169,1.44054 0.78516,1.86719 0.47346,0.42664 1.08725,0.63281 1.69726,0.63281 0.61001,0 1.22902,-0.20449 1.71094,-0.62891 0.48192,-0.42441 0.80663,-1.08156 0.80664,-1.87109 l 10e-6,-1.25 c 0,-0.75 -0.5,-1.25 -1.25,-1.25 z" inkscape:connector-curvature="0"/>
+ </g>
+ <g transform="translate(-1134,-16.999998)" style="display:inline;fill:#ffffff;enable-background:new" id="g23520-0">
+ <path inkscape:connector-curvature="0" d="m 1461,518 c -1.3523,-0.0191 -1.3523,2.01913 0,2 h 2 c 1.3523,0.0191 1.3523,-2.01913 0,-2 z m -5,-1 v 7.5 c 0,0.27613 0.2239,0.49997 0.5,0.5 h 11 c 0.2761,-3e-5 0.5,-0.22387 0.5,-0.5 V 517 h -1 v 7 h -10 v -7 z m 12.5,-1 c 0.2761,-3e-5 0.5,-0.22387 0.5,-0.5 v -3 c 0,-0.27613 -0.2239,-0.49997 -0.5,-0.5 h -13 c -0.2761,3e-5 -0.5,0.22387 -0.5,0.5 v 3 c 0,0.27613 0.2239,0.49997 0.5,0.5 z m -12.5,-3 h 12 v 2 h -12 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" id="path23618-7" sodipodi:nodetypes="cccccccccccccccccccccccccccccc"/>
+ </g>
+ <g style="display:inline;fill:#ffffff;enable-background:new" id="g23658-7-6" transform="translate(-1113,-79.999998)">
+ <path id="path23654-6-8" transform="translate(0,-21)" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 1456,538 v 7.5 c 0,0.27613 0.2239,0.49997 0.5,0.5 h 11 c 0.2761,-3e-5 0.5,-0.22387 0.5,-0.5 V 538 Z m 5,1 h 2 a 1.0001,1.0001 0 1 1 0,2 h -2 a 1.0001,1.0001 0 1 1 0,-2 z m -5.5,-6 c -0.2761,3e-5 -0.5,0.22387 -0.5,0.5 v 3 c 0,0.27613 0.2239,0.49997 0.5,0.5 h 13 c 0.2761,-3e-5 0.5,-0.22387 0.5,-0.5 v -3 c 0,-0.27613 -0.2239,-0.49997 -0.5,-0.5 z" inkscape:connector-curvature="0"/>
+ </g>
+ <g id="g19402" transform="translate(0,1.9921509e-6)" style="fill:#ffffff">
+ <g style="display:inline;fill:#ffffff;enable-background:new" transform="translate(-83.999995,42.000004)" id="g19210">
+ <path inkscape:connector-curvature="0" d="m 348.48047,347 c -3.16361,0.009 -5.86504,2.31609 -6.39063,5.45117 -0.52558,3.13508 1.27477,6.20467 4.25977,7.25781 a 0.50005,0.50005 0 1 0 0.33203,-0.94336 c -2.52985,-0.89255 -4.05213,-3.48414 -3.60547,-6.14843 0.44666,-2.66429 2.72792,-4.6094 5.40821,-4.61719 2.68028,-0.008 4.97166,1.92234 5.43359,4.58398 0.46193,2.66165 -1.0456,5.26268 -3.57031,6.16993 a 0.50043111,0.50043111 0 1 0 0.33984,0.9414 c 2.9789,-1.07046 4.75841,-4.14926 4.21484,-7.28125 -0.54356,-3.13198 -3.25826,-5.42325 -6.42187,-5.41406 z m 0.0195,4.99999 c -0.8225,0 -1.5,0.6775 -1.5,1.5 0,0.64684 0.42097,1.19777 1,1.40625 v 0.59375 c -0.01,0.67616 1.00956,0.67616 1,0 v -0.59375 c 0.57902,-0.20848 1,-0.75941 1,-1.40625 0,-0.8225 -0.67751,-1.5 -1.5,-1.5 z m 0,1 c 0.28206,0 0.5,0.21794 0.5,0.5 0,0.28206 -0.21794,0.5 -0.5,0.5 -0.28207,0 -0.5,-0.21794 -0.5,-0.5 0,-0.28206 0.21793,-0.5 0.5,-0.5 z m -0.002,3.98438 c -0.27614,0.004 -0.49651,0.23167 -0.49219,0.50781 v 1 c -0.01,0.67616 1.00957,0.67616 1,0 v -1 c 0.004,-0.28226 -0.22555,-0.51223 -0.50781,-0.50781 z m 0,3 c -0.27614,0.004 -0.49651,0.23167 -0.49219,0.50781 v 1.00195 c -0.01,0.67616 1.00957,0.67616 1,0 v -1.00195 c 0.004,-0.28226 -0.22555,-0.51223 -0.50781,-0.50781 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" id="circle19208"/>
+ </g>
+ </g>
+ <g id="g19394" transform="translate(0,1.9921509e-6)" style="fill:#ffffff">
+ <path inkscape:connector-curvature="0" d="m 390.5,416 c -0.98118,0 -1.79306,0.19786 -2.45312,0.51562 -0.008,0.17574 -0.0332,0.34151 -0.0332,0.52149 0,4.06772 2.58548,6.61176 5.30078,6.95117 2.02213,0.29647 2.40413,-2.76745 0.3711,-2.97656 -1.2847,-0.16059 -2.67188,-1.04233 -2.67188,-3.97461 0,-0.37546 0.0235,-0.72058 0.0664,-1.03711 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" id="path19340" sodipodi:nodetypes="scsccscs"/>
+ <path id="path5291" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 395,410 c -1.86938,0 -3.40407,0.68718 -4.4375,1.85938 -0.30774,0.34905 -0.56557,0.74269 -0.7832,1.16601 C 390.01692,413.00864 390.25738,413 390.5,413 h 0.44922 c 0.11262,-0.16825 0.23234,-0.32999 0.36328,-0.47852 C 392.15407,411.56692 393.36938,411 395,411 h 0.5 c 0.67616,0.01 0.67616,-1.00956 0,-1 z m -4.5,4 c -1.84524,0 -3.47115,0.52889 -4.64258,1.5625 C 384.686,416.59611 384,418.13095 384,420 v 0.5 a 0.50005,0.50005 0 1 0 1,0 V 420 c 0,-1.63095 0.564,-2.84611 1.51758,-3.6875 C 387.47115,415.47111 388.84524,415 390.5,415 h 1.00781 c 3.27827,0 5.29896,2.17669 5.49805,3.57031 a 0.50005,0.50005 0 1 0 0.98828,-0.14062 C 397.69323,416.32331 395.21551,414 391.50781,414 Z" inkscape:connector-curvature="0"/>
+ </g>
+ <g inkscape:export-ydpi="96" inkscape:export-xdpi="96" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" transform="matrix(0.93036376,0,0,1.0023904,215.63778,150.90833)" id="g19530" style="display:inline;fill:#ffffff;stroke-width:1.03551209;enable-background:new">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.03551209;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 30.216797,30 a 0.51780782,0.51780782 0 0 0 -0.337891,0.126953 l -3.761718,3.242188 c -1.859424,1.602556 -3.136719,3.536893 -3.136719,6.128906 a 0.51780782,0.51780782 0 1 0 1.035156,0 c 0,-2.262051 1.045193,-3.852838 2.777344,-5.345703 l 3.615234,-3.115235 h 0.152344 l 3.617187,3.115235 a 0.51780782,0.51780782 0 0 0 0,0.002 c 1.732844,1.491631 2.775391,3.081554 2.775391,5.34375 a 0.5185545,0.5185545 0 1 0 1.037109,0 c 0,-2.591868 -1.275948,-4.527155 -3.136718,-6.128906 L 31.091797,30.126953 A 0.51780782,0.51780782 0 0 0 30.753906,30 Z" id="path19532" inkscape:connector-curvature="0"/>
+ </g>
+ <g transform="translate(-84,22.000001)" id="g13033" style="display:inline;fill:#ffffff;enable-background:new">
+ <path sodipodi:nodetypes="ccccccccsssss" inkscape:connector-curvature="0" id="path12959" d="m 473.49999,411 -2.99609,0.006 c -0.2754,6.1e-4 -0.49976,0.22265 -0.5,0.49805 l -0.004,8.45884 c 0,1.02328 0.80629,2.03747 2,2.03711 1.19534,0 1.99609,-1.02155 1.99609,-2.04297 l 0.004,-8.45703 c -1.8e-4,-0.27638 -0.22362,-0.50048 -0.5,-0.5 z m -1.5,8 c 0.55228,0 1,0.44772 1,1 0,0.55228 -0.44772,1 -1,1 -0.55228,0 -1,-0.44772 -1,-1 0,-0.55228 0.44772,-1 1,-1 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"/>
+ <path sodipodi:nodetypes="cccccccccc" inkscape:connector-curvature="0" id="path12972" d="m 478.14648,418.14648 -3,3 c -0.31399,0.31533 -0.0915,0.85354 0.35352,0.85352 h 3 2 c 0.27591,-1.9e-4 0.49982,-0.22409 0.5,-0.5 v -3 c -7e-5,-0.28163 -0.23215,-0.50794 -0.51367,-0.5 h -2 c -0.12731,0.004 -0.24956,0.0566 -0.33985,0.14648 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.5;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"/>
+ <path sodipodi:nodetypes="cccccccccc" inkscape:connector-curvature="0" id="path12974" d="m 477.49257,412.00014 c -0.12999,0.002 -0.25408,0.0546 -0.34596,0.14655 l -2.00065,1.99942 c -0.094,0.094 -0.14673,0.22146 -0.14655,0.35436 v 4.0001 c -2e-5,0.4458 0.53925,0.66879 0.85409,0.35316 l 3.99954,-4.00067 c 0.19472,-0.19518 0.19472,-0.51115 0,-0.70633 l -2.00009,-2.00004 c -0.0954,-0.0955 -0.2254,-0.14835 -0.36038,-0.14655 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.75;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"/>
+ </g>
+ <g style="display:inline;fill:#ffffff;enable-background:new" id="g12998" transform="translate(1.1628419e-6,-21)" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" inkscape:export-xdpi="96" inkscape:export-ydpi="96">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 157.5,205 c 2.47936,0 4.5,2.02063 4.5,4.5 0,2.47937 -2.02064,4.5 -4.5,4.5 -2.47936,0 -4.5,-2.02063 -4.5,-4.5 0,-2.47937 2.02064,-4.5 4.5,-4.5 z m 0,1 c -1.93892,0 -3.5,1.56107 -3.5,3.5 0,1.93893 1.56108,3.5 3.5,3.5 1.93892,0 3.5,-1.56107 3.5,-3.5 0,-1.93893 -1.56108,-3.5 -3.5,-3.5 z" id="ellipse12887" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 162.86914,200.01562 c 2.18302,0.17973 3.92401,1.9135 4.11328,4.09571 0.18928,2.18221 -1.22622,4.18928 -3.3457,4.74219 a 0.50005,0.50005 0 1 1 -0.25391,-0.9668 c 1.65432,-0.43156 2.75125,-1.98618 2.60352,-3.68945 -0.14774,-1.70328 -1.49531,-3.04527 -3.19922,-3.18555 -1.70391,-0.14028 -3.25342,0.96296 -3.67773,2.61914 a 0.50005,0.50005 0 1 1 -0.96876,-0.24805 c 0.54363,-2.12187 2.5455,-3.54691 4.72852,-3.36719 z" id="path12892" inkscape:connector-curvature="0"/>
+ <path style="opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.99999994;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke" d="m 159.00001,209.49817 a 1.498175,1.498175 0 0 1 -1.49818,1.49817 1.498175,1.498175 0 0 1 -1.49817,-1.49817 1.498175,1.498175 0 0 1 1.49817,-1.49818 1.498175,1.498175 0 0 1 1.49818,1.49818 z" id="circle12960" inkscape:connector-curvature="0"/>
+ <path style="opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.99999994;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke" d="m 164.00001,204.49817 a 1.498175,1.498175 0 0 1 -1.49818,1.49817 1.498175,1.498175 0 0 1 -1.49817,-1.49817 1.498175,1.498175 0 0 1 1.49817,-1.49818 1.498175,1.498175 0 0 1 1.49818,1.49818 z" id="circle12962" inkscape:connector-curvature="0"/>
+ </g>
+ <g style="display:inline;fill:#ffffff;enable-background:new" id="g12986" transform="translate(1.1628419e-6,-21)" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" inkscape:export-xdpi="96" inkscape:export-ydpi="96">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 199.5,205 c 2.47936,0 4.5,2.02063 4.5,4.5 0,2.47937 -2.02064,4.5 -4.5,4.5 -2.47936,0 -4.5,-2.02063 -4.5,-4.5 0,-2.47937 2.02064,-4.5 4.5,-4.5 z m 0,1 c -1.93892,0 -3.5,1.56107 -3.5,3.5 0,1.93893 1.56108,3.5 3.5,3.5 1.93892,0 3.5,-1.56107 3.5,-3.5 0,-1.93893 -1.56108,-3.5 -3.5,-3.5 z" id="ellipse12910" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 204.86914,200.01562 c 2.18302,0.17973 3.92401,1.9135 4.11328,4.09571 0.18928,2.18221 -1.22622,4.18928 -3.3457,4.74219 a 0.50005,0.50005 0 1 1 -0.25391,-0.9668 c 1.65432,-0.43156 2.75125,-1.98618 2.60352,-3.68945 -0.14774,-1.70328 -1.49531,-3.04527 -3.19922,-3.18555 -1.70391,-0.14028 -3.25342,0.96296 -3.67773,2.61914 a 0.50005,0.50005 0 1 1 -0.96876,-0.24805 c 0.54363,-2.12187 2.5455,-3.54691 4.72852,-3.36719 z" id="path12915" inkscape:connector-curvature="0"/>
+ <path style="opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.99999994;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke" d="m 201.00001,209.49817 a 1.498175,1.498175 0 0 1 -1.49818,1.49817 1.498175,1.498175 0 0 1 -1.49817,-1.49817 1.498175,1.498175 0 0 1 1.49817,-1.49818 1.498175,1.498175 0 0 1 1.49818,1.49818 z" id="circle12964" inkscape:connector-curvature="0"/>
+ </g>
+ <g transform="translate(1.1628419e-6)" style="display:inline;fill:#ffffff;enable-background:new" id="g13014" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" inkscape:export-xdpi="96" inkscape:export-ydpi="96">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 111.5,179 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 4 a 0.50005,0.50005 0 1 0 1,0 V 180 h 3.5 a 0.50005,0.50005 0 1 0 0,-1 z m 9.00781,0 a 0.50005,0.50005 0 1 0 0,1 h 3.5 v 3.5 a 0.50005,0.50005 0 1 0 1,0 v -4 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m -9.01562,9 A 0.50005,0.50005 0 0 0 111,188.50781 v 4 a 0.50005,0.50005 0 0 0 0.5,0.5 h 4 a 0.50005,0.50005 0 1 0 0,-1 H 112 v -3.5 A 0.50005,0.50005 0 0 0 111.49219,188 Z M 124.5,188 a 0.50005,0.50005 0 0 0 -0.49219,0.50781 v 3.5 h -3.5 a 0.50005,0.50005 0 1 0 0,1 h 4 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -4 A 0.50005,0.50005 0 0 0 124.5,188 Z" id="path12919" inkscape:connector-curvature="0"/>
+ <path style="opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke" d="m 120,186.00359 a 1.99635,1.99635 0 0 1 -1.99635,1.99635 1.99635,1.99635 0 0 1 -1.99635,-1.99635 1.99635,1.99635 0 0 1 1.99635,-1.99635 1.99635,1.99635 0 0 1 1.99635,1.99635 z" id="path12956" inkscape:connector-curvature="0"/>
+ </g>
+ <g style="display:inline;opacity:0.6;fill:#ffffff;enable-background:new" id="g22801-1" transform="translate(696,857.9975)">
+ <path id="path22797-9" d="m -239.5,-446.99219 c -2.47912,0 -4.5,2.01847 -4.5,4.4961 0,2.47763 2.02088,4.49609 4.5,4.49609 2.47912,0 4.5,-2.01846 4.5,-4.49609 0,-2.47763 -2.02088,-4.4961 -4.5,-4.4961 z m 0,1.1875 c 1.83471,0 3.31055,1.47622 3.31055,3.3086 0,1.83238 -1.47584,3.30859 -3.31055,3.30859 -1.8347,0 -3.31055,-1.47621 -3.31055,-3.30859 0,-1.83238 1.47585,-3.3086 3.31055,-3.3086 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ </g>
+ <g id="g22943" style="display:inline;fill:#ffffff;enable-background:new" transform="translate(-2.1686213e-6,9.0033549e-6)">
+ <g style="fill:#ffffff" id="g12942" transform="translate(-20,18)" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" inkscape:export-xdpi="96" inkscape:export-ydpi="96">
+ <path inkscape:connector-curvature="0" id="path12932" d="m 155.50195,121.99414 a 0.50005,0.50005 0 0 0 -0.36133,0.85352 C 156.37329,124.12237 157.775,126 160.5,126 c 2.725,0 4.12681,-1.87774 5.35938,-3.15234 a 0.50005,0.50005 0 1 0 -0.71876,-0.69532 C 163.83477,123.50274 162.775,125 160.5,125 c -2.275,0 -3.33487,-1.49737 -4.64062,-2.84766 a 0.50005,0.50005 0 0 0 -0.35743,-0.1582 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"/>
+ </g>
+ <path sodipodi:nodetypes="ccccccccc" inkscape:connector-curvature="0" id="path12946" d="m 132.50195,143 c -0.35971,-0.001 -0.6028,0.36671 -0.46093,0.69727 l 3,7 c 0.18151,0.42185 0.78799,0.39645 0.93359,-0.0391 l 0.91992,-2.76367 2.76367,-0.91992 c 0.43555,-0.1456 0.46095,-0.75208 0.0391,-0.93359 l -7,-3 c -0.0617,-0.0266 -0.12814,-0.0406 -0.19535,-0.041 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"/>
+ </g>
+ <g transform="translate(0.99999783,9.0033549e-6)" id="g22948" style="display:inline;fill:#ffffff;enable-background:new">
+ <path inkscape:connector-curvature="0" id="path12633" d="m 155.50195,139.99414 a 0.50005,0.50005 0 0 0 -0.36133,0.85352 C 156.37329,142.12237 157.775,144 160.5,144 c 2.725,0 4.12681,-1.87774 5.35938,-3.15234 a 0.50005,0.50005 0 1 0 -0.71876,-0.69532 C 163.83477,141.50274 162.775,143 160.5,143 c -2.275,0 -3.33487,-1.49737 -4.64062,-2.84766 a 0.50005,0.50005 0 0 0 -0.35743,-0.1582 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"/>
+ <path inkscape:connector-curvature="0" id="path12645" d="m 152.50195,143 a 0.50005,0.50005 0 0 0 -0.46093,0.69727 l 3,7 a 0.50005,0.50005 0 1 0 0.91796,-0.39454 l -2.50781,-5.85156 5.85156,2.50781 a 0.50005,0.50005 0 1 0 0.39454,-0.91796 l -7,-3 A 0.50005,0.50005 0 0 0 152.50195,143 Z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"/>
+ </g>
+ <g style="display:inline;opacity:0.6;fill:#ffffff;enable-background:new" id="g14837" transform="translate(-210,-315)">
+ <path inkscape:connector-curvature="0" id="path14829" d="m 415.5,452.00781 a 0.50005018,0.50005018 0 0 0 -0.5,0.5 v 3.00781 a 0.50005018,0.50005018 0 0 0 0.5,0.5 c 1.00252,0 2.00529,0 3.00781,0 a 0.50005018,0.50005018 0 0 0 0.5,-0.5 v -3.00781 a 0.50005018,0.50005018 0 0 0 -0.5,-0.5 c -1.00251,0 -2.00529,0 -3.00781,0 z m 0.5,1 c 0.66922,0 1.33859,0 2.00781,0 v 2.00781 c -0.66921,0 -1.33859,10e-6 -2.00781,0 z m -10.5,9 a 0.50005018,0.50005018 0 0 0 -0.5,0.5 v 3.00781 a 0.50005018,0.50005018 0 0 0 0.5,0.5 c 1.00252,0 2.00529,0 3.00781,0 a 0.50005018,0.50005018 0 0 0 0.5,-0.5 v -3.00781 a 0.50005018,0.50005018 0 0 0 -0.5,-0.5 c -1.00251,0 -2.00529,0 -3.00781,0 z m 0.5,1 c 0.66922,0 1.33859,0 2.00781,0 v 2.00781 c -0.66921,0 -1.33859,10e-6 -2.00781,0 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.00000036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:7.40000248;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"/>
+ <path inkscape:connector-curvature="0" id="path22198" d="m 411.50391,454 a 0.50005,0.50005 0 0 0 -0.35743,0.14648 l -1,1 a 0.50005,0.50005 0 1 0 0.70704,0.70704 l 0.85156,-0.85157 0.78515,0.006 a 0.50005,0.50005 0 1 0 0.006,-1 z m -3.01368,2.99609 a 0.50005,0.50005 0 0 0 -0.34375,0.15039 l -1,1 A 0.50005,0.50005 0 0 0 407,458.5 v 1.00781 a 0.50005,0.50005 0 1 0 1,0 v -0.80078 l 0.85352,-0.85351 a 0.50005,0.50005 0 0 0 -0.36329,-0.85743 z m 7.99415,0.9961 A 0.50005,0.50005 0 0 0 415.99219,458.5 v 0.80078 l -0.85352,0.85352 a 0.50005,0.50005 0 1 0 0.70703,0.70703 l 1,-1 a 0.50005,0.50005 0 0 0 0.14649,-0.35352 V 458.5 a 0.50005,0.50005 0 0 0 -0.50781,-0.50781 z m -3.00196,4.00976 a 0.50005,0.50005 0 0 0 -0.34375,0.15235 l -0.85156,0.85156 -0.7832,-0.006 a 0.50005,0.50005 0 1 0 -0.008,1 l 0.99219,0.008 a 0.50005,0.50005 0 0 0 0.35742,-0.14648 l 1,-1 a 0.50005,0.50005 0 0 0 -0.36328,-0.85938 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"/>
+ </g>
+ <rect style="opacity:0;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke" id="rect5375" width="6" height="5" x="218" y="119"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 303.5,600 c -1.92707,0 -3.5,1.57293 -3.5,3.5 v 0.5 h 1 v -0.5 c 0,-1.38663 1.11337,-2.5 2.5,-2.5 1.38663,0 2.5,1.11337 2.5,2.5 v 1.5 h -0.5 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 5 a 0.50005,0.50005 0 0 0 0.5,0.5 h 8 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -5 A 0.50005,0.50005 0 0 0 313.5,605 H 307 v -1.5 c 0,-1.92707 -1.57293,-3.5 -3.5,-3.5 z m 2.5,6 h 7 v 4 h -7 z m 3,1 v 2 h 1 v -2 z" id="path19950-6" inkscape:connector-curvature="0"/>
+ <g transform="matrix(0.86666667,0,0,0.86666667,39.533341,-302.8)" id="g12476-7-0" style="display:inline;opacity:1;fill:#ffffff;stroke-width:1.15384614;enable-background:new" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" inkscape:export-xdpi="96" inkscape:export-ydpi="96">
+ <path inkscape:connector-curvature="0" id="path12470-5-6" d="m 454,555.92383 c -4.45393,0 -8.07617,3.62224 -8.07617,8.07617 0,4.45393 3.62224,8.07617 8.07617,8.07617 4.45393,0 8.07617,-3.62224 8.07617,-8.07617 0,-4.45393 -3.62224,-8.07617 -8.07617,-8.07617 z m 0,1.15234 c 3.83034,0 6.92383,3.09349 6.92383,6.92383 0,3.83034 -3.09349,6.92383 -6.92383,6.92383 -3.83034,0 -6.92383,-3.09349 -6.92383,-6.92383 0,-3.83034 3.09349,-6.92383 6.92383,-6.92383 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.15384614;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
+ <path sodipodi:nodetypes="ccccc" inkscape:connector-curvature="0" id="path12474-5-2" d="m 454,561.69141 c -1.26767,-10e-6 -2.3086,1.04092 -2.30859,2.30859 -1e-5,1.26767 1.04092,2.3086 2.30859,2.30859 1.26767,10e-6 2.3086,-1.04092 2.30859,-2.30859 1e-5,-1.26767 -1.04092,-2.3086 -2.30859,-2.30859 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.15384603;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
+ <path inkscape:connector-curvature="0" id="path20496-2" d="m 454,558.23047 c -3.17259,10e-6 -5.76953,2.59694 -5.76953,5.76953 -1e-5,3.17259 2.59694,5.76952 5.76953,5.76953 3.1726,10e-6 5.76954,-2.59693 5.76953,-5.76953 0,-3.1726 -2.59693,-5.76954 -5.76953,-5.76953 z m 0,2.30859 c 1.92543,0 3.46094,1.53551 3.46094,3.46094 0,1.92543 -1.53551,3.46094 -3.46094,3.46094 -1.92542,-1e-5 -3.46094,-1.53552 -3.46094,-3.46094 0,-1.92542 1.53552,-3.46093 3.46094,-3.46094 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.9;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.30769229;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
+ </g>
+ <g style="display:inline;opacity:1;fill:#ffffff;stroke-width:1.15384614;enable-background:new" id="g12520-1-5" transform="matrix(0.86666667,0,0,0.86666667,60.533341,-302.8)" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" inkscape:export-xdpi="96" inkscape:export-ydpi="96">
+ <path inkscape:connector-curvature="0" id="path12513-1-0" d="m 454,555.92383 c -4.45393,0 -8.07617,3.62224 -8.07617,8.07617 0,4.45393 3.62224,8.07617 8.07617,8.07617 4.45393,0 8.07617,-3.62224 8.07617,-8.07617 0,-4.45393 -3.62224,-8.07617 -8.07617,-8.07617 z m 0,1.15234 c 3.83034,0 6.92383,3.09349 6.92383,6.92383 0,3.83034 -3.09349,6.92383 -6.92383,6.92383 -3.83034,0 -6.92383,-3.09349 -6.92383,-6.92383 0,-3.83034 3.09349,-6.92383 6.92383,-6.92383 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.7;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.15384614;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
+ <path inkscape:connector-curvature="0" id="path20498-6" d="m 454,558.23047 c -3.17259,0 -5.76953,2.59694 -5.76953,5.76953 -1e-5,3.1726 2.59693,5.76953 5.76953,5.76953 3.1726,0 5.76954,-2.59693 5.76953,-5.76953 0,-3.17259 -2.59694,-5.76953 -5.76953,-5.76953 z m 0,2.30859 c 1.92542,0 3.46093,1.53552 3.46094,3.46094 0,1.92543 -1.53551,3.46094 -3.46094,3.46094 -1.92543,0 -3.46094,-1.53551 -3.46094,-3.46094 10e-6,-1.92542 1.53552,-3.46094 3.46094,-3.46094 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.30769229;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
+ </g>
+ <g style="display:inline;opacity:1;fill:#ffffff;enable-background:new" id="g5294-1-7-1" transform="translate(41.999998,-357)" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" inkscape:export-xdpi="96" inkscape:export-ydpi="96">
+ <path sodipodi:nodetypes="sssss" inkscape:connector-curvature="0" id="path5168-0-2-8" d="m 433,541 c -1.09865,0 -2,0.90135 -2,2 0,1.09865 0.90135,2 2,2 1.09865,0 2,-0.90135 2,-2 0,-1.09865 -0.90135,-2 -2,-2 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
+ <path inkscape:connector-curvature="0" id="path5260-6-8-7" d="m 433.08008,537.98438 c -2.77576,0 -5.01953,2.26323 -5.01953,5.01562 0,2.7524 2.24277,5.02307 5.02148,5.01562 L 439.00195,548 a 1.0001,1.0001 0 1 0 -0.004,-2 l -5.91993,0.0156 c -1.70285,0.005 -3.01757,-1.33278 -3.01757,-3.01562 0,-1.68217 1.31272,-3.01459 3.01757,-3.01562 L 438.99805,540 a 1.0001,1.0001 0 1 0 0.004,-2 l -5.91992,-0.0156 a 1.0001,1.0001 0 0 0 -0.002,0 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.9;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
+ <path inkscape:connector-curvature="0" id="path12602-0-0" d="m 433,536 c -2.50006,0 -4.81247,1.33488 -6.0625,3.5 -1.25002,2.16512 -1.25002,4.83488 0,7 1.25003,2.16512 3.56244,3.5 6.0625,3.5 h 6.5 a 0.50005,0.50005 0 1 0 0,-1 H 433 c -2.1444,0 -4.12312,-1.1429 -5.19531,-3 -1.0722,-1.8571 -1.0722,-4.1429 0,-6 1.07219,-1.8571 3.05091,-3 5.19531,-3 h 6.5 a 0.50005,0.50005 0 1 0 0,-1 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
+ </g>
+ <path inkscape:connector-curvature="0" id="path20009-7" d="m 328.5,600 c -1.92707,0 -3.5,1.57293 -3.5,3.5 v 1.5 h -0.5 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 5 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 8 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -5 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 H 332 v -1.5 c 0,-1.92707 -1.57293,-3.5 -3.5,-3.5 z m 0,1 c 1.38663,0 2.5,1.11337 2.5,2.5 v 1.5 h -5 v -1.5 c 0,-1.38663 1.11337,-2.5 2.5,-2.5 z m -0.5,6 h 1 v 1 1 h -1 v -1 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
+ <path id="path20615" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 345.50001,453 c -1.92707,0 -3.5,1.57293 -3.5,3.5 v 0.5 h 1 v -0.5 c 0,-1.38663 1.11337,-2.5 2.5,-2.5 1.38663,0 2.5,1.11337 2.5,2.5 v 1.5 h -0.5 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 5 a 0.50005,0.50005 0 0 0 0.5,0.5 h 8 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -5 a 0.50005,0.50005 0 0 0 -0.5,-0.5 h -6.5 v -1.5 c 0,-1.92707 -1.57293,-3.5 -3.5,-3.5 z m 2.5,6 h 7 v 4 h -7 z m 3,0.99999 h 1 V 462 h -1 z" inkscape:connector-curvature="0"/>
+ <g id="g20632" style="display:inline;fill:#ffffff;enable-background:new" transform="translate(696.00001,793)">
+ <g inkscape:export-ydpi="96" inkscape:export-xdpi="96" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" id="g20623" transform="translate(-740.00001,-750)" style="display:inline;fill:#ffffff;enable-background:new">
+ <path inkscape:connector-curvature="0" id="path20621" transform="translate(594,-43.000004)" d="m -179.5,453 c -1.92707,0 -3.5,1.57293 -3.5,3.5 v 1.5 h -0.5 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 5 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 8 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -5 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 h -0.5 v -1.5 c 0,-1.92707 -1.57293,-3.5 -3.5,-3.5 z m 0,1 c 1.38663,0 2.5,1.11337 2.5,2.5 v 1.5 h -5 v -1.5 c 0,-1.38663 1.11337,-2.5 2.5,-2.5 z m -0.5,6 h 1 v 1 1 h -1 v -1 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
</g>
</g>
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g11319-4"
- transform="rotate(90,348.9944,289.99188)">
- <path
- sodipodi:nodetypes="cccccc"
- inkscape:connector-curvature="0"
- id="path11311-4"
- d="m 202.98828,114.98828 c -0.55228,0.008 -0.99388,0.46139 -0.98633,1.01367 v 8 c -0.0191,1.35232 2.01913,1.35232 2,0 v -8 c 0.008,-0.56299 -0.45068,-1.02136 -1.01367,-1.01367 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" />
- <g
- inkscape:export-ydpi="96"
- inkscape:export-xdpi="96"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- transform="translate(760.99456,-488.99997)"
- id="g11317-7"
- style="display:inline;opacity:0.6;fill:#ffffff;enable-background:new">
- <g
- id="g11315-1"
- style="fill:#ffffff">
- <path
- sodipodi:nodetypes="ccccccccccccccccccccc"
- inkscape:connector-curvature="0"
- id="path11313-84"
- d="m -564.5,609 c -0.5954,-0.006 -0.70014,0.84767 -0.12109,0.98633 l -0.28321,-0.0723 1.91992,7.70703 c 0.0555,0.22241 0.25515,0.37858 0.48438,0.37894 h 11 c 0.27461,-2e-5 0.49783,-0.22149 0.5,-0.49609 l 0.01,-0.99805 c 2.2e-4,-0.0476 -0.006,-0.0949 -0.0195,-0.14063 l -2.00585,-7.00195 c -0.0613,-0.21559 -0.25857,-0.36405 -0.4827,-0.36328 l -2.49599,-0.0137 0.002,1 2.11903,0.0157 1.88086,6.56836 -0.002,0.42969 h -10.11328 l -1.74414,-7 3.85953,-0.0138 v -1 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" />
+ <g style="display:inline;fill:#ffffff;enable-background:new" id="g11319-4" transform="rotate(90,348.9944,289.99188)">
+ <path sodipodi:nodetypes="cccccc" inkscape:connector-curvature="0" id="path11311-4" d="m 202.98828,114.98828 c -0.55228,0.008 -0.99388,0.46139 -0.98633,1.01367 v 8 c -0.0191,1.35232 2.01913,1.35232 2,0 v -8 c 0.008,-0.56299 -0.45068,-1.02136 -1.01367,-1.01367 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"/>
+ <g inkscape:export-ydpi="96" inkscape:export-xdpi="96" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" transform="translate(760.99456,-488.99997)" id="g11317-7" style="display:inline;opacity:0.6;fill:#ffffff;enable-background:new">
+ <g id="g11315-1" style="fill:#ffffff">
+ <path sodipodi:nodetypes="ccccccccccccccccccccc" inkscape:connector-curvature="0" id="path11313-84" d="m -564.5,609 c -0.5954,-0.006 -0.70014,0.84767 -0.12109,0.98633 l -0.28321,-0.0723 1.91992,7.70703 c 0.0555,0.22241 0.25515,0.37858 0.48438,0.37894 h 11 c 0.27461,-2e-5 0.49783,-0.22149 0.5,-0.49609 l 0.01,-0.99805 c 2.2e-4,-0.0476 -0.006,-0.0949 -0.0195,-0.14063 l -2.00585,-7.00195 c -0.0613,-0.21559 -0.25857,-0.36405 -0.4827,-0.36328 l -2.49599,-0.0137 0.002,1 2.11903,0.0157 1.88086,6.56836 -0.002,0.42969 h -10.11328 l -1.74414,-7 3.85953,-0.0138 v -1 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"/>
</g>
</g>
</g>
- <path
- id="path16385"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 515.5,432 c -0.1326,2e-5 -0.25976,0.0527 -0.35352,0.14647 L 513.29297,434 H 510.5 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 8 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 6.45312 0.004 c 0.0131,-8.2e-4 0.0261,-0.002 0.0391,-0.004 0.004,5e-5 0.008,5e-5 0.0117,0 0.0143,0.002 0.0286,0.003 0.043,0.004 h 0.006 5.44336 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -8 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 h -1.79297 l -1.85351,-1.85353 C 518.76,432.05268 518.6327,431.99995 518.5,432 Z m 1.49781,1.99804 c 2.21589,-3.2e-4 4.00185,1.7855 4.00195,4.00196 -9e-4,2.19736 -1.75841,3.97457 -3.95508,4 -0.0131,8.2e-4 -0.0261,0.002 -0.0391,0.004 -0.0149,-0.002 -0.0299,-0.003 -0.0449,-0.004 -10e-4,0 -0.003,0 -0.004,0 -2.19824,-0.0228 -3.95803,-1.80057 -3.95898,-4 9e-5,-2.21578 1.78479,-4.00131 4,-4.00196 z M 516.99805,435 C 515.34742,435 514,436.34922 514,438 c 0,1.65079 1.34742,3 2.99805,3 1.65063,0 3,-1.34921 3,-3 0,-1.65078 -1.34937,-3 -3,-3 z m 0,1 c 1.11009,0 2,0.88955 2,2 0,1.11045 -0.88991,2 -2,2 C 515.88796,440 515,439.11045 515,438 c 0,-1.11045 0.88796,-2 1.99805,-2 z"
- inkscape:connector-curvature="0" />
- <path
- inkscape:connector-curvature="0"
- d="m 140.99637,186.00011 a 1.99635,1.99635 0 0 1 -1.99635,1.99635 1.99635,1.99635 0 0 1 -1.99635,-1.99635 1.99635,1.99635 0 0 1 1.99635,-1.99635 1.99635,1.99635 0 0 1 1.99635,1.99635 z m -8.50223,-7.00402 a 0.50005,0.50005 0 0 0 -0.34766,0.85743 l 3,3 C 134.44086,183.71574 134,184.80241 134,186 c 2e-5,1.19757 0.44085,2.28425 1.14648,3.14648 l -3,3 a 0.50005,0.50005 0 1 0 0.70704,0.70704 l 3,-3 C 136.71574,190.55915 137.80243,191 139,191 c 1.19757,0 2.28426,-0.44085 3.14648,-1.14648 l 3,3 a 0.50005,0.50005 0 1 0 0.70704,-0.70704 l -3,-3 C 143.55915,188.28425 143.99998,187.19757 144,186 c 0,-1.19759 -0.44086,-2.28426 -1.14648,-3.14648 l 3,-3 a 0.50005,0.50005 0 0 0 -0.36329,-0.85743 0.50005,0.50005 0 0 0 -0.34375,0.15039 l -3,3 C 141.28425,181.44086 140.19759,181 139,181 c -1.19759,0 -2.28425,0.44086 -3.14648,1.14648 l -3,-3 a 0.50005,0.50005 0 0 0 -0.35938,-0.15039 z M 139,182 c 2.21506,0 4.00001,1.78494 4,4 -4e-5,2.21502 -1.78498,4 -4,4 -2.21502,0 -3.99996,-1.78498 -4,-4 -1e-5,-2.21506 1.78494,-4 4,-4 z"
- style="display:inline;opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;enable-background:new"
- id="circle20581-1" />
- <path
- inkscape:connector-curvature="0"
- id="path22635-0-9"
- d="m 494.5,432 a 0.50005,0.50005 0 0 0 -0.35352,0.14648 L 492.29297,434 H 489.5 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 8 a 0.50005,0.50005 0 0 0 0.5,0.5 h 12 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -8 a 0.50005,0.50005 0 0 0 -0.5,-0.5 h -1.79297 l -1.85351,-1.85352 A 0.50005,0.50005 0 0 0 497.5,432 Z m 0.20703,1 h 2.58594 l 1.85351,1.85352 A 0.50005,0.50005 0 0 0 499.5,435 h 1.5 v 7 h -11 v -7 h 2.5 a 0.50005,0.50005 0 0 0 0.35352,-0.14648 z m -0.46094,2.74414 a 0.50005,0.50005 0 0 0 -0.34961,0.85938 l 1.39649,1.39648 -1.39649,1.39648 a 0.50005,0.50005 0 1 0 0.70704,0.70704 L 496,438.70703 l 1.39648,1.39649 a 0.50005,0.50005 0 1 0 0.70704,-0.70704 L 496.70703,438 l 1.39649,-1.39648 a 0.50005,0.50005 0 1 0 -0.70704,-0.70704 L 496,437.29297 l -1.39648,-1.39649 a 0.50005,0.50005 0 0 0 -0.35743,-0.15234 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" />
- <path
- sodipodi:nodetypes="ccccccccc"
- inkscape:connector-curvature="0"
- id="path19969-0"
- d="m 469.49023,433 c -0.3497,0.006 -0.58488,0.36077 -0.45507,0.68555 l 4,10.00195 c 0.1779,0.45034 0.82806,0.4102 0.94922,-0.0586 l 1.17578,-4.46875 4.46679,-1.17578 c 0.46499,-0.12321 0.50486,-0.76769 0.0586,-0.94727 l -10,-4.00195 c -0.0621,-0.0247 -0.12852,-0.0366 -0.19532,-0.0351 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" />
- <path
- inkscape:connector-curvature="0"
- id="path19971-4"
- d="m 448.49023,433 a 0.50005,0.50005 0 0 0 -0.45507,0.68555 l 4,10.00195 a 0.50050292,0.50050292 0 1 0 0.92968,-0.37109 l -3.5664,-8.91797 8.91601,3.5664 a 0.50005,0.50005 0 1 0 0.3711,-0.92773 l -10,-4.00195 A 0.50005,0.50005 0 0 0 448.49023,433 Z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" />
- <g
- transform="translate(37.00977,-1667.9941)"
- id="g20814-2"
- style="fill:#ffffff">
- <g
- id="g20812-7"
- style="fill:#ffffff">
- <path
- inkscape:connector-curvature="0"
- id="path20793-9"
- transform="translate(491.99023,1667.9941)"
- d="m -58.978516,159.00391 c -0.268711,-0.0142 -0.522461,0.007 -0.761718,0.0664 -0.47849,0.1192 -0.892924,0.44895 -1.089844,0.90235 -0.19686,0.4535 -0.203572,0.98669 -0.07617,1.59179 0.50982,2.4202 3.039112,5.6664 6.039062,8.0293 1.49994,1.1815 2.89794,1.95798 4.06836,2.26758 0.58523,0.1549 1.120142,0.1985 1.601562,0.0664 0.48143,-0.1318 0.896965,-0.48805 1.078125,-0.97265 0.36233,-0.9692 -0.01465,-2.1613 -0.732421,-3.5 -0.585772,-1.09244 -1.450912,-2.27994 -2.509766,-3.44922 h 1.695312 a 0.50005,0.50005 0 1 0 0,-1 h -2.828125 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 2.82812 a 0.50005,0.50005 0 1 0 1,0 v -1.53906 c 0.962773,1.08028 1.742337,2.16783 2.259766,3.13281 0.65736,1.226 0.838188,2.25364 0.679687,2.67774 -0.0793,0.212 -0.1766,0.29452 -0.40625,0.35742 -0.229719,0.063 -0.603428,0.0576 -1.080078,-0.0684 -0.95331,-0.2522 -2.281914,-0.96184 -3.708984,-2.08594 -2.85409,-2.248 -5.274721,-5.54511 -5.675781,-7.44921 -0.10032,-0.47611 -0.06643,-0.80379 0.01367,-0.98829 0.0801,-0.1845 0.178092,-0.26942 0.414062,-0.32812 0.47178,-0.1177 1.518783,0.0927 2.851563,0.85351 a 0.50043231,0.50036032 0 0 0 0.496093,-0.86914 c -1.081755,-0.61755 -2.02199,-0.98079 -2.828125,-1.02343 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" />
- <path
- inkscape:connector-curvature="0"
- id="path20798-7"
- d="m 435.91471,1838.9185 a 0.49989467,0.50020516 0 0 1 -0.10766,0.08 c -1.55117,0.8755 -2.8107,1.2341 -3.77887,0.8468 -0.48409,-0.1937 -0.84555,-0.6327 -0.96369,-1.1577 -0.11806,-0.525 -0.0453,-1.1245 0.17673,-1.8153 0.88827,-2.7631 3.96133,-6.3033 7.15309,-8.3953 1.59595,-1.046 2.94158,-1.5736 4.02185,-1.474 0.5401,0.05 1.04109,0.3065 1.31713,0.757 0.27597,0.4504 0.3235,1.0201 0.20985,1.6633 a 0.50049929,0.50081015 0 1 1 -0.98577,-0.174 c 0.0873,-0.4946 0.0235,-0.8034 -0.076,-0.9657 -0.0994,-0.1623 -0.23754,-0.2538 -0.55637,-0.2832 -0.63756,-0.059 -1.88509,0.331 -3.38253,1.3124 -2.99493,1.9629 -5.99799,5.5314 -6.74857,7.8663 -0.18764,0.5837 -0.21297,1.0235 -0.15327,1.2889 0.0597,0.2653 0.15122,0.3664 0.35757,0.449 0.41277,0.1651 1.48565,0.019 2.91733,-0.7889 a 0.49989467,0.50020516 0 0 1 0.59917,0.7903 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999988;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
+ <path id="path16385" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 515.5,432 c -0.1326,2e-5 -0.25976,0.0527 -0.35352,0.14647 L 513.29297,434 H 510.5 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 8 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 6.45312 0.004 c 0.0131,-8.2e-4 0.0261,-0.002 0.0391,-0.004 0.004,5e-5 0.008,5e-5 0.0117,0 0.0143,0.002 0.0286,0.003 0.043,0.004 h 0.006 5.44336 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -8 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 h -1.79297 l -1.85351,-1.85353 C 518.76,432.05268 518.6327,431.99995 518.5,432 Z m 1.49781,1.99804 c 2.21589,-3.2e-4 4.00185,1.7855 4.00195,4.00196 -9e-4,2.19736 -1.75841,3.97457 -3.95508,4 -0.0131,8.2e-4 -0.0261,0.002 -0.0391,0.004 -0.0149,-0.002 -0.0299,-0.003 -0.0449,-0.004 -10e-4,0 -0.003,0 -0.004,0 -2.19824,-0.0228 -3.95803,-1.80057 -3.95898,-4 9e-5,-2.21578 1.78479,-4.00131 4,-4.00196 z M 516.99805,435 C 515.34742,435 514,436.34922 514,438 c 0,1.65079 1.34742,3 2.99805,3 1.65063,0 3,-1.34921 3,-3 0,-1.65078 -1.34937,-3 -3,-3 z m 0,1 c 1.11009,0 2,0.88955 2,2 0,1.11045 -0.88991,2 -2,2 C 515.88796,440 515,439.11045 515,438 c 0,-1.11045 0.88796,-2 1.99805,-2 z" inkscape:connector-curvature="0"/>
+ <path inkscape:connector-curvature="0" d="m 140.99637,186.00011 a 1.99635,1.99635 0 0 1 -1.99635,1.99635 1.99635,1.99635 0 0 1 -1.99635,-1.99635 1.99635,1.99635 0 0 1 1.99635,-1.99635 1.99635,1.99635 0 0 1 1.99635,1.99635 z m -8.50223,-7.00402 a 0.50005,0.50005 0 0 0 -0.34766,0.85743 l 3,3 C 134.44086,183.71574 134,184.80241 134,186 c 2e-5,1.19757 0.44085,2.28425 1.14648,3.14648 l -3,3 a 0.50005,0.50005 0 1 0 0.70704,0.70704 l 3,-3 C 136.71574,190.55915 137.80243,191 139,191 c 1.19757,0 2.28426,-0.44085 3.14648,-1.14648 l 3,3 a 0.50005,0.50005 0 1 0 0.70704,-0.70704 l -3,-3 C 143.55915,188.28425 143.99998,187.19757 144,186 c 0,-1.19759 -0.44086,-2.28426 -1.14648,-3.14648 l 3,-3 a 0.50005,0.50005 0 0 0 -0.36329,-0.85743 0.50005,0.50005 0 0 0 -0.34375,0.15039 l -3,3 C 141.28425,181.44086 140.19759,181 139,181 c -1.19759,0 -2.28425,0.44086 -3.14648,1.14648 l -3,-3 a 0.50005,0.50005 0 0 0 -0.35938,-0.15039 z M 139,182 c 2.21506,0 4.00001,1.78494 4,4 -4e-5,2.21502 -1.78498,4 -4,4 -2.21502,0 -3.99996,-1.78498 -4,-4 -1e-5,-2.21506 1.78494,-4 4,-4 z" style="display:inline;opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;enable-background:new" id="circle20581-1"/>
+ <path inkscape:connector-curvature="0" id="path22635-0-9" d="m 494.5,432 a 0.50005,0.50005 0 0 0 -0.35352,0.14648 L 492.29297,434 H 489.5 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 8 a 0.50005,0.50005 0 0 0 0.5,0.5 h 12 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -8 a 0.50005,0.50005 0 0 0 -0.5,-0.5 h -1.79297 l -1.85351,-1.85352 A 0.50005,0.50005 0 0 0 497.5,432 Z m 0.20703,1 h 2.58594 l 1.85351,1.85352 A 0.50005,0.50005 0 0 0 499.5,435 h 1.5 v 7 h -11 v -7 h 2.5 a 0.50005,0.50005 0 0 0 0.35352,-0.14648 z m -0.46094,2.74414 a 0.50005,0.50005 0 0 0 -0.34961,0.85938 l 1.39649,1.39648 -1.39649,1.39648 a 0.50005,0.50005 0 1 0 0.70704,0.70704 L 496,438.70703 l 1.39648,1.39649 a 0.50005,0.50005 0 1 0 0.70704,-0.70704 L 496.70703,438 l 1.39649,-1.39648 a 0.50005,0.50005 0 1 0 -0.70704,-0.70704 L 496,437.29297 l -1.39648,-1.39649 a 0.50005,0.50005 0 0 0 -0.35743,-0.15234 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"/>
+ <path sodipodi:nodetypes="ccccccccc" inkscape:connector-curvature="0" id="path19969-0" d="m 469.49023,433 c -0.3497,0.006 -0.58488,0.36077 -0.45507,0.68555 l 4,10.00195 c 0.1779,0.45034 0.82806,0.4102 0.94922,-0.0586 l 1.17578,-4.46875 4.46679,-1.17578 c 0.46499,-0.12321 0.50486,-0.76769 0.0586,-0.94727 l -10,-4.00195 c -0.0621,-0.0247 -0.12852,-0.0366 -0.19532,-0.0351 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"/>
+ <path inkscape:connector-curvature="0" id="path19971-4" d="m 448.49023,433 a 0.50005,0.50005 0 0 0 -0.45507,0.68555 l 4,10.00195 a 0.50050292,0.50050292 0 1 0 0.92968,-0.37109 l -3.5664,-8.91797 8.91601,3.5664 a 0.50005,0.50005 0 1 0 0.3711,-0.92773 l -10,-4.00195 A 0.50005,0.50005 0 0 0 448.49023,433 Z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"/>
+ <g transform="translate(37.00977,-1667.9941)" id="g20814-2" style="fill:#ffffff">
+ <g id="g20812-7" style="fill:#ffffff">
+ <path inkscape:connector-curvature="0" id="path20793-9" transform="translate(491.99023,1667.9941)" d="m -58.978516,159.00391 c -0.268711,-0.0142 -0.522461,0.007 -0.761718,0.0664 -0.47849,0.1192 -0.892924,0.44895 -1.089844,0.90235 -0.19686,0.4535 -0.203572,0.98669 -0.07617,1.59179 0.50982,2.4202 3.039112,5.6664 6.039062,8.0293 1.49994,1.1815 2.89794,1.95798 4.06836,2.26758 0.58523,0.1549 1.120142,0.1985 1.601562,0.0664 0.48143,-0.1318 0.896965,-0.48805 1.078125,-0.97265 0.36233,-0.9692 -0.01465,-2.1613 -0.732421,-3.5 -0.585772,-1.09244 -1.450912,-2.27994 -2.509766,-3.44922 h 1.695312 a 0.50005,0.50005 0 1 0 0,-1 h -2.828125 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 2.82812 a 0.50005,0.50005 0 1 0 1,0 v -1.53906 c 0.962773,1.08028 1.742337,2.16783 2.259766,3.13281 0.65736,1.226 0.838188,2.25364 0.679687,2.67774 -0.0793,0.212 -0.1766,0.29452 -0.40625,0.35742 -0.229719,0.063 -0.603428,0.0576 -1.080078,-0.0684 -0.95331,-0.2522 -2.281914,-0.96184 -3.708984,-2.08594 -2.85409,-2.248 -5.274721,-5.54511 -5.675781,-7.44921 -0.10032,-0.47611 -0.06643,-0.80379 0.01367,-0.98829 0.0801,-0.1845 0.178092,-0.26942 0.414062,-0.32812 0.47178,-0.1177 1.518783,0.0927 2.851563,0.85351 a 0.50043231,0.50036032 0 0 0 0.496093,-0.86914 c -1.081755,-0.61755 -2.02199,-0.98079 -2.828125,-1.02343 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"/>
+ <path inkscape:connector-curvature="0" id="path20798-7" d="m 435.91471,1838.9185 a 0.49989467,0.50020516 0 0 1 -0.10766,0.08 c -1.55117,0.8755 -2.8107,1.2341 -3.77887,0.8468 -0.48409,-0.1937 -0.84555,-0.6327 -0.96369,-1.1577 -0.11806,-0.525 -0.0453,-1.1245 0.17673,-1.8153 0.88827,-2.7631 3.96133,-6.3033 7.15309,-8.3953 1.59595,-1.046 2.94158,-1.5736 4.02185,-1.474 0.5401,0.05 1.04109,0.3065 1.31713,0.757 0.27597,0.4504 0.3235,1.0201 0.20985,1.6633 a 0.50049929,0.50081015 0 1 1 -0.98577,-0.174 c 0.0873,-0.4946 0.0235,-0.8034 -0.076,-0.9657 -0.0994,-0.1623 -0.23754,-0.2538 -0.55637,-0.2832 -0.63756,-0.059 -1.88509,0.331 -3.38253,1.3124 -2.99493,1.9629 -5.99799,5.5314 -6.74857,7.8663 -0.18764,0.5837 -0.21297,1.0235 -0.15327,1.2889 0.0597,0.2653 0.15122,0.3664 0.35757,0.449 0.41277,0.1651 1.48565,0.019 2.91733,-0.7889 a 0.49989467,0.50020516 0 0 1 0.59917,0.7903 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999988;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
</g>
</g>
- <g
- transform="translate(378.00977,-125.994)"
- id="g20863-5"
- style="display:inline;fill:#ffffff;enable-background:new">
- <path
- inkscape:connector-curvature="0"
- id="path20855-2"
- d="M 79.490234,286.99609 A 0.50005,0.50005 0 0 0 79.439453,287 H 76.5 a 0.50005,0.50005 0 1 0 0,1 h 1.792969 l -5.146485,5.14648 a 0.50005,0.50005 0 1 0 0.707032,0.70704 L 79,288.70703 V 290.5 a 0.50005,0.50005 0 1 0 1,0 v -2.93945 a 0.50005,0.50005 0 0 0 -0.509766,-0.56446 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
- <path
- inkscape:connector-curvature="0"
- id="path20857-3"
- transform="translate(171.99023,125.994)"
- d="m -100.49805,157.99805 a 0.50005,0.50005 0 0 0 -0.38867,0.19531 0.50005,0.50005 0 0 0 -0.004,0.006 l -1.95313,1.95312 a 0.50005,0.50005 0 1 0 0.70703,0.70704 l 1.14649,-1.14649 v 7.57422 c -0.59356,0.34821 -1,0.9856 -1,1.71875 0,1.09865 0.90135,2 1.999996,2 0.73315,0 1.370541,-0.40645 1.71875,-1 h 7.574218 l -1.146484,1.14648 a 0.50005,0.50005 0 1 0 0.707031,0.70704 l 1.957031,-1.95704 a 0.50005,0.50005 0 0 0 0.002,-0.79296 0.50005,0.50005 0 0 0 -0.0059,-0.004 l -1.953125,-1.95313 A 0.50005,0.50005 0 0 0 -91.496094,167 a 0.50005,0.50005 0 0 0 -0.347656,0.85938 l 1.146484,1.14648 h -7.292968 c 0,-1.09865 -0.901352,-2 -2,-2 v -7.29297 l 1.146484,1.14649 a 0.50005,0.50005 0 1 0 0.707031,-0.70704 l -1.957031,-1.95703 a 0.50005,0.50005 0 0 0 -0.4043,-0.19726 z m 0.507816,10.00781 c 0.558208,0 1,0.44179 1,1 0,0.55821 -0.441792,1 -1,1 -0.558206,0 -0.999996,-0.44179 -0.999996,-1 0,-0.55821 0.44179,-1 0.999996,-1 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
- </g>
- <g
- transform="matrix(-1,0,0,1,1033.9931,42.006004)"
- id="g20880-1"
- style="display:inline;fill:#ffffff;enable-background:new">
- <path
- inkscape:connector-curvature="0"
- id="ellipse20865-9"
- transform="matrix(-1,0,0,1,483.9931,-42.006004)"
- d="m -28.482422,162.00195 a 0.50005,0.50005 0 0 0 -0.365234,0.85743 l 1.146484,1.14648 h -5.585937 c -0.348208,-0.59355 -0.987551,-1 -1.720703,-1 -1.098651,0 -2,0.90135 -2,2 0,1.09865 0.901349,2 2,2 1.09865,0 2,-0.90135 2,-2 h 5.30664 l -1.146484,1.14648 a 0.50064056,0.50064056 0 0 0 0.708984,0.70704 l 2,-2 a 0.50005,0.50005 0 0 0 0,-0.70704 l -2,-2 a 0.50005,0.50005 0 0 0 -0.34375,-0.15039 z m -6.52539,2.00391 c 0.55821,0 1,0.44179 1,1 0,0.55821 -0.44179,1 -1,1 -0.558211,0 -1,-0.44179 -1,-1 0,-0.55821 0.441789,-1 1,-1 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
- <g
- inkscape:export-ydpi="96"
- inkscape:export-xdpi="96"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- transform="matrix(0,1,1,0,-94.00249,680.99203)"
- id="g20878-5"
- style="display:inline;opacity:0.6;fill:#ffffff;enable-background:new">
- <g
- id="g20876-3"
- style="fill:#ffffff">
- <path
- inkscape:connector-curvature="0"
- id="path20873-7"
- d="M -559.99805,608.99609 -564.5,609 a 0.50005,0.50005 0 0 0 -0.5,0.50391 l 0.008,1.00195 a 0.50005,0.50005 0 0 0 0.0195,0.13281 l 1.99219,6.99805 A 0.50005,0.50005 0 0 0 -562.5,618 h 11 a 0.50005,0.50005 0 0 0 0.5,-0.49609 l 0.01,-0.99805 a 0.50005,0.50005 0 0 0 -0.0195,-0.14063 l -2.00585,-7.00195 A 0.50005,0.50005 0 0 0 -553.49609,609 l -3.50196,-0.004 v 1 l 3.125,0.004 1.88086,6.57031 -0.002,0.42969 h -10.12695 l -1.8711,-6.56836 -0.004,-0.43164 3.99804,-0.004 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" />
+ <g transform="translate(378.00977,-125.994)" id="g20863-5" style="display:inline;fill:#ffffff;enable-background:new">
+ <path inkscape:connector-curvature="0" id="path20855-2" d="M 79.490234,286.99609 A 0.50005,0.50005 0 0 0 79.439453,287 H 76.5 a 0.50005,0.50005 0 1 0 0,1 h 1.792969 l -5.146485,5.14648 a 0.50005,0.50005 0 1 0 0.707032,0.70704 L 79,288.70703 V 290.5 a 0.50005,0.50005 0 1 0 1,0 v -2.93945 a 0.50005,0.50005 0 0 0 -0.509766,-0.56446 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
+ <path inkscape:connector-curvature="0" id="path20857-3" transform="translate(171.99023,125.994)" d="m -100.49805,157.99805 a 0.50005,0.50005 0 0 0 -0.38867,0.19531 0.50005,0.50005 0 0 0 -0.004,0.006 l -1.95313,1.95312 a 0.50005,0.50005 0 1 0 0.70703,0.70704 l 1.14649,-1.14649 v 7.57422 c -0.59356,0.34821 -1,0.9856 -1,1.71875 0,1.09865 0.90135,2 1.999996,2 0.73315,0 1.370541,-0.40645 1.71875,-1 h 7.574218 l -1.146484,1.14648 a 0.50005,0.50005 0 1 0 0.707031,0.70704 l 1.957031,-1.95704 a 0.50005,0.50005 0 0 0 0.002,-0.79296 0.50005,0.50005 0 0 0 -0.0059,-0.004 l -1.953125,-1.95313 A 0.50005,0.50005 0 0 0 -91.496094,167 a 0.50005,0.50005 0 0 0 -0.347656,0.85938 l 1.146484,1.14648 h -7.292968 c 0,-1.09865 -0.901352,-2 -2,-2 v -7.29297 l 1.146484,1.14649 a 0.50005,0.50005 0 1 0 0.707031,-0.70704 l -1.957031,-1.95703 a 0.50005,0.50005 0 0 0 -0.4043,-0.19726 z m 0.507816,10.00781 c 0.558208,0 1,0.44179 1,1 0,0.55821 -0.441792,1 -1,1 -0.558206,0 -0.999996,-0.44179 -0.999996,-1 0,-0.55821 0.44179,-1 0.999996,-1 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
+ </g>
+ <g transform="matrix(-1,0,0,1,1033.9931,42.006004)" id="g20880-1" style="display:inline;fill:#ffffff;enable-background:new">
+ <path inkscape:connector-curvature="0" id="ellipse20865-9" transform="matrix(-1,0,0,1,483.9931,-42.006004)" d="m -28.482422,162.00195 a 0.50005,0.50005 0 0 0 -0.365234,0.85743 l 1.146484,1.14648 h -5.585937 c -0.348208,-0.59355 -0.987551,-1 -1.720703,-1 -1.098651,0 -2,0.90135 -2,2 0,1.09865 0.901349,2 2,2 1.09865,0 2,-0.90135 2,-2 h 5.30664 l -1.146484,1.14648 a 0.50064056,0.50064056 0 0 0 0.708984,0.70704 l 2,-2 a 0.50005,0.50005 0 0 0 0,-0.70704 l -2,-2 a 0.50005,0.50005 0 0 0 -0.34375,-0.15039 z m -6.52539,2.00391 c 0.55821,0 1,0.44179 1,1 0,0.55821 -0.44179,1 -1,1 -0.558211,0 -1,-0.44179 -1,-1 0,-0.55821 0.441789,-1 1,-1 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
+ <g inkscape:export-ydpi="96" inkscape:export-xdpi="96" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" transform="matrix(0,1,1,0,-94.00249,680.99203)" id="g20878-5" style="display:inline;opacity:0.6;fill:#ffffff;enable-background:new">
+ <g id="g20876-3" style="fill:#ffffff">
+ <path inkscape:connector-curvature="0" id="path20873-7" d="M -559.99805,608.99609 -564.5,609 a 0.50005,0.50005 0 0 0 -0.5,0.50391 l 0.008,1.00195 a 0.50005,0.50005 0 0 0 0.0195,0.13281 l 1.99219,6.99805 A 0.50005,0.50005 0 0 0 -562.5,618 h 11 a 0.50005,0.50005 0 0 0 0.5,-0.49609 l 0.01,-0.99805 a 0.50005,0.50005 0 0 0 -0.0195,-0.14063 l -2.00585,-7.00195 A 0.50005,0.50005 0 0 0 -553.49609,609 l -3.50196,-0.004 v 1 l 3.125,0.004 1.88086,6.57031 -0.002,0.42969 h -10.12695 l -1.8711,-6.56836 -0.004,-0.43164 3.99804,-0.004 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"/>
</g>
</g>
</g>
- <g
- transform="translate(122.00977,-1668.9941)"
- id="g20207-3"
- style="fill:#ffffff">
- <path
- inkscape:connector-curvature="0"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.7;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 346.49414,1805.9941 a 0.50005,0.50005 0 0 0 -0.34766,0.8594 l 3,3 C 348.44086,1810.7157 348,1811.8024 348,1813 c 2e-5,1.197 0.44143,2.2825 1.14648,3.1445 l -3,3 a 0.50005,0.50005 0 1 0 0.70704,0.7071 l 3,-3 c 0.86236,0.7061 1.94846,1.1484 3.14648,1.1484 0.73402,0 1.42595,-0.1693 2.05469,-0.4551 l -0.77344,-0.7734 C 353.87701,1816.9083 353.45144,1817 353,1817 c -2.21502,0 -3.99996,-1.785 -4,-4 -10e-6,-2.2151 1.78494,-4 4,-4 2.21506,0 4.00001,1.7849 4,4 -10e-6,0.4593 -0.093,0.8925 -0.23438,1.3027 l 0.76954,0.7696 c 0.29106,-0.6335 0.46483,-1.3311 0.46484,-2.0723 0,-1.198 -0.44234,-2.2841 -1.14844,-3.1465 l 3.00196,-3.0019 a 0.50005,0.50005 0 0 0 -0.36329,-0.8575 0.50005,0.50005 0 0 0 -0.34375,0.1504 l -3.00195,3.002 C 355.28248,1808.4414 354.19705,1808 353,1808 c -1.19759,0 -2.28425,0.4409 -3.14648,1.1465 l -3,-3 a 0.50005,0.50005 0 0 0 -0.35938,-0.1524 z"
- id="path20884-9" />
- <path
- inkscape:connector-curvature="0"
- id="path20886-9"
- transform="translate(427.99023,1668.9941)"
- d="m -74.990234,142.01953 c -1.09866,0 -2,0.9013 -2,2 0,1.0986 0.90134,2 2,2 0.381313,0 0.73472,-0.11501 1.039062,-0.30273 a 0.50005,0.50005 0 0 0 0.107422,0.15625 l 4.146484,4.14648 h -1.621093 a 0.50005,0.50005 0 1 0 0,1 h 2.828125 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -2.82812 a 0.50005,0.50005 0 1 0 -1,0 v 1.62109 l -4.146485,-4.14648 a 0.50005,0.50005 0 0 0 -0.15625,-0.10743 c 0.187715,-0.30434 0.302735,-0.65777 0.302735,-1.03906 0,-1.0987 -0.90134,-2 -2,-2 z m 0,1 c 0.5582,0 1,0.4418 1,1 0,0.5581 -0.4418,1 -1,1 -0.5582,0 -1,-0.4419 -1,-1 0,-0.5582 0.4418,-1 1,-1 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
- </g>
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g20897-5"
- transform="translate(399.00976,-125.9939)">
- <path
- inkscape:connector-curvature="0"
- id="path20888-1"
- transform="translate(171.99024,125.9939)"
- d="m -71.318359,158.00586 a 0.50005,0.50005 0 1 0 0,1 h 1.689453 l -3.382813,4.26953 c -0.291076,-0.16603 -0.621698,-0.26953 -0.978515,-0.26953 -0.733151,0 -1.370542,0.40645 -1.71875,1 h -4.582032 l 1.146485,-1.14648 a 0.50005,0.50005 0 0 0 -0.363281,-0.85743 0.50005,0.50005 0 0 0 -0.34375,0.15039 l -2,2 a 0.50005,0.50005 0 0 0 0,0.70704 l 2,2 a 0.50005,0.50005 0 1 0 0.707031,-0.70704 l -1.146485,-1.14648 h 4.300782 c 0,1.09865 0.901352,2 2,2 1.098648,0 2,-0.90135 2,-2 0,-0.37821 -0.113913,-0.72852 -0.298828,-1.03125 l 3.298828,-4.16211 v 1.52148 a 0.50005,0.50005 0 1 0 1,0 v -2.82812 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m -2.671875,6 c 0.558208,0 1,0.44179 1,1 0,0.55821 -0.441792,1 -1,1 -0.558208,0 -1,-0.44179 -1,-1 0,-0.55821 0.441792,-1 1,-1 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
- <path
- inkscape:connector-curvature="0"
- id="path20890-1"
- d="m 99.244141,291.73828 a 0.50005,0.50005 0 0 0 -0.396485,0.81641 L 102.36133,297 h -1.68945 a 0.50005,0.50005 0 1 0 0,1 H 103.5 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -2.82812 a 0.50005,0.50005 0 1 0 -1,0 v 1.52148 l -3.367188,-4.25977 a 0.50005,0.50005 0 0 0 -0.388671,-0.19531 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
- </g>
- <path
- inkscape:connector-curvature="0"
- id="path20072-2"
- d="m 97.917969,157.99219 c -1.58517,-0.0121 -3.159728,0.54254 -4.271485,1.65429 l -3.5,3.5 a 0.50005,0.50005 0 0 0 0,0.70704 l 2,2 a 0.50005,0.50005 0 0 0 0.707032,0 l 3.25,-3.25 c 0.584908,-0.58491 1.581654,-0.89809 2.345703,-0.69336 0.801559,0.21477 1.425851,0.83907 1.640621,1.64062 0.20473,0.76404 -0.108435,1.76078 -0.693356,2.3457 l -3.25,3.25 a 0.50005,0.50005 0 0 0 0,0.70704 l 2,2 a 0.50005,0.50005 0 0 0 0.707032,0 l 3.474604,-3.47657 a 0.50005,0.50005 0 0 0 0.0254,-0.0234 0.50005,0.50005 0 0 0 0.12109,-0.18946 c 2.06467,-2.25524 2.04105,-6.1641 -0.21875,-8.42383 -1.15788,-1.15791 -2.752722,-1.73596 -4.337891,-1.74804 z m -0.0078,1.0332 c 1.340871,0.01 2.694311,0.47748 3.638671,1.42188 1.8888,1.88873 1.87387,5.423 0.0977,7.19921 L 98.5,170.79297 97.207031,169.5 l 2.896489,-2.89648 c 0.84012,-0.84012 1.27,-2.1299 0.95312,-3.3125 -0.30683,-1.14511 -1.202555,-2.04084 -2.347656,-2.34766 -1.182591,-0.31687 -2.472368,0.11299 -3.3125,0.95312 L 92.5,164.79297 91.207031,163.5 l 3.146485,-3.14648 c 0.888243,-0.88825 2.21577,-1.33772 3.55664,-1.32813 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" />
- <path
- id="path20705"
- d="m 34.5,578 c -1.48507,0 -2.8535,0.46731 -3.86133,1.33594 C 29.63084,580.20456 29,581.48473 29,583 v 3.5 c 0,1.66667 0.001,2.82293 -0.89062,3.9375 -0.0709,0.0887 -0.10946,0.19893 -0.10938,0.3125 v 0.75 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 H 29 c 1.04885,0 2.13736,-0.63444 3.45898,-2.04297 l 1.66797,1.875 c 0.19883,0.22274 0.54727,0.22274 0.7461,0 l 1.62695,-1.83008 1.62695,1.83008 c 0.0947,0.10662 0.23044,0.16774 0.37305,0.16797 h 1 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -2 -1 -5.5 c 0,-1.51527 -0.63084,-2.79544 -1.63867,-3.66406 C 37.3535,578.46731 35.98507,578 34.5,578 Z m -3.00781,4 c 0.1353,-0.002 0.26563,0.0508 0.36133,0.14648 l 2,2 c 0.31479,0.315 0.09181,0.85335 -0.35352,0.85352 h -2 c -0.27613,-3e-5 -0.49997,-0.22387 -0.5,-0.5 v -2 c -10e-6,-0.27311 0.21911,-0.496 0.49219,-0.5 z m 5.99219,0 c 0.2822,-0.009 0.51573,0.21765 0.51562,0.5 v 2 c -3e-5,0.27613 -0.22387,0.49997 -0.5,0.5 h -2 c -0.44532,-1.7e-4 -0.66831,-0.53852 -0.35352,-0.85352 l 2,-2 c 0.0899,-0.0901 0.21072,-0.14248 0.3379,-0.14648 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- inkscape:connector-curvature="0"
- id="path13646-9"
- d="m 406.50195,437 a 0.50005,0.50005 0 0 0 -0.33203,0.84375 c 1.3239,1.43817 3.0824,4.1582 6.3457,4.1582 3.26331,0 5.02376,-2.72003 6.34766,-4.1582 a 0.50037481,0.50037481 0 1 0 -0.73633,-0.67773 c -1.43556,1.55946 -2.90607,3.83593 -5.61133,3.83593 -2.70525,0 -4.17576,-2.27647 -5.61132,-3.83593 A 0.50005,0.50005 0 0 0 406.50195,437 Z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" />
- <g
- transform="translate(315,-0.999996)"
- id="g13630-2"
- style="display:inline;opacity:1;fill:#ffffff;enable-background:new"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- inkscape:export-xdpi="96"
- inkscape:export-ydpi="96">
- <path
- inkscape:connector-curvature="0"
- d="m 164.50781,224 a 0.50004997,0.50004997 0 0 1 0.43164,0.27148 c 1.44011,2.71955 1.43779,6.74164 -0.008,9.45899 a 0.50022794,0.50022794 0 1 1 -0.88281,-0.4707 c 1.24398,-2.33836 1.24519,-6.17912 0.006,-8.51954 A 0.50004997,0.50004997 0 0 1 164.50781,224 Z m -1.99609,1.99805 a 0.50004997,0.50004997 0 0 1 0.49219,0.50586 v 4.99218 a 0.50004997,0.50004997 0 1 1 -1,0 v -4.99218 a 0.50004997,0.50004997 0 0 1 0.50781,-0.50586 z M 159.25,223 c -0.1326,2e-5 -0.25976,0.0527 -0.35352,0.14648 L 156.04297,226 H 154.5 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 5 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 1.54297 l 2.85351,2.85352 c 0.0938,0.0938 0.22092,0.14646 0.35352,0.14648 h 0.25 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 V 223.78125 223.5 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- id="path13628-2" />
- </g>
- <path
- inkscape:connector-curvature="0"
- id="path13642-1"
- d="m 453.5,222 a 0.50005,0.50005 0 0 0 -0.35352,0.14648 L 450.29297,225 H 448.5 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 5 a 0.50005,0.50005 0 0 0 0.5,0.5 h 1.79297 l 2.85351,2.85352 A 0.50005,0.50005 0 0 0 453.5,234 h 1 a 0.50005,0.50005 0 0 0 0.5,-0.5 V 222.78125 222.5 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m 0.20703,1 H 454 v 10 h -0.29297 l -2.85351,-2.85352 A 0.50005,0.50005 0 0 0 450.5,230 H 449 v -4 h 1.5 a 0.50005,0.50005 0 0 0 0.35352,-0.14648 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" />
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g14825-7"
- transform="translate(-189,-315)">
- <path
- sodipodi:nodetypes="cccccccccccccccccc"
- inkscape:connector-curvature="0"
- id="path14782-1"
- d="m 415.5,452.00781 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 3.00781 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 3.00781 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -3.00781 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z m -10,10 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 3.00781 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 3.00781 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -3.00781 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.00000036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:7.40000248;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" />
- <path
- inkscape:connector-curvature="0"
- id="path14818-4"
- d="m 409.49219,454.00781 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 1.5 h -1.5 a 0.50005,0.50005 0 0 0 -0.5,0.5 l 0.008,3 a 0.50005,0.50005 0 1 0 1,-0.002 l -0.006,-2.49805 h 1.49805 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -1.5 h 2.5 a 0.50005,0.50005 0 1 0 0,-1 z m 3.99804,2.98828 a 0.50005,0.50005 0 0 0 -0.34375,0.15039 l -3,3.00782 a 0.50005,0.50005 0 1 0 0.70704,0.70508 l 3,-3.00586 a 0.50005,0.50005 0 0 0 -0.36329,-0.85743 z M 416.49219,458 A 0.50005,0.50005 0 0 0 416,458.50781 v 2.5 h -1.5 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 1.49805 L 411.50195,463 a 0.50005,0.50005 0 1 0 -0.004,1 l 3,0.008 a 0.50005,0.50005 0 0 0 0.50195,-0.5 v -1.5 h 1.5 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -3 A 0.50005,0.50005 0 0 0 416.49219,458 Z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.8;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" />
- </g>
- <g
- id="g19296"
- transform="translate(850,-280)"
- style="fill:#ffffff" />
- <path
- inkscape:connector-curvature="0"
- id="path19316"
- d="m 541.57031,410.01758 c -0.79787,-0.038 -1.57177,0.27684 -2.16015,0.86523 l -1.26368,1.26367 a 0.50005,0.50005 0 1 0 0.70704,0.70704 l 1.26367,-1.26368 c 0.41161,-0.41161 0.88966,-0.59872 1.40429,-0.57422 0.51464,0.0245 1.08439,0.26993 1.63868,0.82422 0.55479,0.5548 0.80954,1.13546 0.83789,1.65235 0.0283,0.51688 -0.15241,0.9848 -0.57422,1.3789 a 0.50005,0.50005 0 0 0 -0.0137,0.0117 l -1.26368,1.26367 a 0.50005,0.50005 0 1 0 0.70704,0.70704 l 1.25195,-1.25196 c 0.61768,-0.57711 0.9366,-1.36125 0.89258,-2.16406 -0.044,-0.80281 -0.43566,-1.60948 -1.13086,-2.30469 -0.69571,-0.69571 -1.49901,-1.07724 -2.29688,-1.11523 z m -8.08008,6.97851 a 0.50005,0.50005 0 0 0 -0.34375,0.15039 l -1.25,1.25 c -0.58838,0.58839 -0.90322,1.36034 -0.86523,2.15821 0.038,0.79787 0.41952,1.60311 1.11523,2.29883 0.69521,0.6952 1.50384,1.08487 2.30664,1.1289 0.80281,0.044 1.585,-0.27294 2.16211,-0.89062 l 1.23829,-1.23828 a 0.50005,0.50005 0 1 0 -0.70704,-0.70704 l -1.25,1.25 a 0.50005,0.50005 0 0 0 -0.0117,0.0117 c -0.39411,0.42182 -0.86007,0.60452 -1.37696,0.57618 -0.51688,-0.0283 -1.0995,-0.2831 -1.65429,-0.8379 -0.55429,-0.55428 -0.79776,-1.12404 -0.82227,-1.63867 -0.0245,-0.51463 0.16065,-0.99268 0.57227,-1.40429 l 1.25,-1.25 a 0.50005,0.50005 0 0 0 -0.36329,-0.85743 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
- <path
- id="path19349"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 534.23047,436.74023 a 1.0001,1.0001 0 0 0 -0.6875,0.30274 l -1.47656,1.47656 c -0.71563,0.66862 -1.1007,1.61087 -1.04883,2.55664 0.0519,0.94577 0.50998,1.86545 1.27539,2.63086 0.76642,0.76642 1.68942,1.21503 2.6289,1.25977 0.93949,0.0447 1.85838,-0.33299 2.53516,-1.00977 l 1.5,-1.5 a 1.0001,1.0001 0 1 0 -1.41406,-1.41406 l -1.5,1.5 c -0.32323,0.32322 -0.65433,0.4455 -1.02735,0.42773 -0.37301,-0.0178 -0.82501,-0.19415 -1.30859,-0.67773 -0.48459,-0.48459 -0.6709,-0.9542 -0.69141,-1.32813 -0.0205,-0.37392 0.0941,-0.68177 0.41797,-0.98437 a 1.0001,1.0001 0 0 0 0.0234,-0.0234 l 1.5,-1.5 a 1.0001,1.0001 0 0 0 -0.72656,-1.7168 z m 6.84765,-5.70703 c -0.93948,-0.0447 -1.85838,0.33299 -2.53515,1.00977 l -1.5,1.5 a 1.0001,1.0001 0 1 0 1.41406,1.41406 l 1.5,-1.5 c 0.32322,-0.32322 0.65433,-0.4455 1.02734,-0.42773 0.37302,0.0178 0.82502,0.19415 1.3086,0.67773 0.48459,0.48459 0.6709,0.9542 0.6914,1.32813 0.0205,0.37392 -0.0941,0.68177 -0.41796,0.98437 a 1.0001,1.0001 0 0 0 -0.0234,0.0234 l -1.5,1.5 a 1.0001,1.0001 0 1 0 1.41406,1.41406 l 1.47656,-1.47656 c 0.71562,-0.66862 1.1007,-1.61087 1.04883,-2.55664 -0.0519,-0.94577 -0.50998,-1.86545 -1.27539,-2.63086 -0.76642,-0.76642 -1.68942,-1.21503 -2.62891,-1.25977 z m -1.09765,3.95703 a 1.0001,1.0001 0 0 0 -0.6875,0.30274 l -4,4 a 1.0001,1.0001 0 1 0 1.41406,1.41406 l 4,-4 a 1.0001,1.0001 0 0 0 -0.72656,-1.7168 z"
- inkscape:connector-curvature="0" />
- <path
- inkscape:connector-curvature="0"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 433.5,433 c -3.27784,-9.4e-4 -5.036,2.7211 -6.36328,4.16211 -0.17644,0.19146 -0.17644,0.48627 0,0.67773 1.3275,1.44124 3.08593,4.15993 6.36328,4.16211 3.27801,0.002 5.03608,-2.72118 6.36328,-4.16211 0.17644,-0.19146 0.17644,-0.48627 0,-0.67773 C 438.53587,435.72096 436.77755,433.00094 433.5,433 Z m 0,1 a 3.4999952,3.4999933 0 0 1 3.5,3.5 3.4999952,3.4999933 0 0 1 -3.5,3.5 3.4999952,3.4999933 0 0 1 -3.5,-3.5 3.4999952,3.4999933 0 0 1 3.5,-3.5 z m 0,2 a 1.4999952,1.4999944 0 0 0 -1.5,1.5 1.4999952,1.4999944 0 0 0 1.5,1.5 1.4999952,1.4999944 0 0 0 1.5,-1.5 1.4999952,1.4999944 0 0 0 -1.5,-1.5 z"
- id="path19347-7" />
- <g
- id="g19953"
- transform="translate(823.99998,415.99995)"
- style="display:inline;fill:#ffffff;enable-background:new">
- <path
- inkscape:connector-curvature="0"
- id="path19355-8-8"
- d="m -725.49998,-278.99995 c -2.725,0 -4.12655,1.87775 -5.35938,3.15234 -0.18751,0.19385 -0.18751,0.50147 0,0.69532 1.23247,1.2748 2.63438,3.15234 5.35938,3.15234 2.725,0 4.12648,-1.87882 5.35938,-3.15625 0.18625,-0.1936 0.18624,-0.49976 0,-0.69336 -1.23336,-1.2779 -2.63506,-3.15039 -5.35938,-3.15039 z m 0,1 c 1.37479,0 2.5,1.12521 2.5,2.5 0,1.37479 -1.12521,2.5 -2.5,2.5 -1.37479,0 -2.5,-1.12521 -2.5,-2.5 0,-1.37479 1.12521,-2.5 2.5,-2.5 z m 0,1 c -0.83435,0 -1.5,0.66565 -1.5,1.5 0,0.83435 0.66565,1.5 1.5,1.5 0.83435,0 1.5,-0.66565 1.5,-1.5 0,-0.83435 -0.66565,-1.5 -1.5,-1.5 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" />
- <path
- sodipodi:nodetypes="cccccccccc"
- inkscape:connector-curvature="0"
- id="path19363-8-5"
- d="m -733.49805,-273 c -0.35971,-10e-4 -0.6028,0.36671 -0.46093,0.69727 l 3,7 c 0.18151,0.42185 0.78799,0.39645 0.93359,-0.0391 l 0.91992,-2.76367 2.76367,-0.91992 c 0.43555,-0.1456 0.46095,-0.75208 0.0391,-0.93359 l -7,-3 c -0.0617,-0.0267 -0.12812,-0.0406 -0.19532,-0.041 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" />
- </g>
- <g
- id="g19964"
- transform="translate(823.99998,415.99995)"
- style="display:inline;fill:#ffffff;enable-background:new">
- <path
- inkscape:connector-curvature="0"
- id="path20627-2"
- d="m -704.49998,-278.99995 c -2.725,0 -4.12655,1.87775 -5.35938,3.15234 -0.18751,0.19385 -0.1875,0.50147 0,0.69532 1.23247,1.2748 2.63438,3.15234 5.35938,3.15234 2.725,0 4.12648,-1.87882 5.35938,-3.15625 0.18625,-0.1936 0.18624,-0.49976 0,-0.69336 -1.23336,-1.2779 -2.63506,-3.15039 -5.35938,-3.15039 z m 0,1 c 1.37479,0 2.5,1.12521 2.5,2.5 0,1.37479 -1.12521,2.5 -2.5,2.5 -1.37479,0 -2.5,-1.12521 -2.5,-2.5 0,-1.37479 1.12521,-2.5 2.5,-2.5 z m 0,1 c -0.83435,0 -1.5,0.66565 -1.5,1.5 0,0.83435 0.66565,1.5 1.5,1.5 0.83435,0 1.5,-0.66565 1.5,-1.5 0,-0.83435 -0.66565,-1.5 -1.5,-1.5 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" />
- <path
- inkscape:connector-curvature="0"
- id="path20671-8"
- d="m -712.49805,-273 a 0.50005,0.50005 0 0 0 -0.46093,0.69727 l 3,7 a 0.50005,0.50005 0 1 0 0.91796,-0.39454 l -2.50781,-5.85156 5.85156,2.50781 a 0.50005,0.50005 0 1 0 0.39454,-0.91796 l -7,-3 a 0.50005,0.50005 0 0 0 -0.19532,-0.041 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" />
- </g>
- <path
- inkscape:connector-curvature="0"
- id="path19886"
- d="m 489.50195,227 a 0.50005,0.50005 0 0 0 -0.33203,0.84375 c 1.3239,1.43817 3.0824,4.1582 6.3457,4.1582 3.26331,0 5.02376,-2.72003 6.34766,-4.1582 a 0.50037481,0.50037481 0 1 0 -0.73633,-0.67773 c -1.43556,1.55946 -2.90607,3.83593 -5.61133,3.83593 -2.70525,0 -4.17576,-2.27647 -5.61132,-3.83593 A 0.50005,0.50005 0 0 0 489.50195,227 Z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" />
- <g
- inkscape:export-ydpi="96"
- inkscape:export-xdpi="96"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- transform="matrix(-1,0,0,1,970.03864,-190)"
- id="g19901"
- style="display:inline;fill:#ffffff;enable-background:new">
- <path
- inkscape:connector-curvature="0"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 516.5,223 c -3.27784,-9.4e-4 -5.036,2.7211 -6.36328,4.16211 -0.17644,0.19146 -0.17644,0.48627 0,0.67773 1.32749,1.44124 3.08593,4.16011 6.36328,4.16211 3.27801,0.002 5.03607,-2.72118 6.36328,-4.16211 0.17644,-0.19146 0.17644,-0.48627 0,-0.67773 C 521.53587,225.72096 519.77754,223.00094 516.5,223 Z m 0,1 a 3.4999952,3.4999933 0 0 1 3.5,3.5 3.4999952,3.4999933 0 0 1 -3.5,3.5 3.4999952,3.4999933 0 0 1 -3.5,-3.5 3.4999952,3.4999933 0 0 1 3.5,-3.5 z m 0,2 a 1.4999952,1.4999944 0 0 0 -1.5,1.5 1.4999952,1.4999944 0 0 0 1.5,1.5 1.4999952,1.4999944 0 0 0 1.5,-1.5 1.4999952,1.4999944 0 0 0 -1.5,-1.5 z"
- transform="matrix(-1,0,0,1,970.03864,190)"
- id="path19890" />
- </g>
- <g
- transform="translate(1e-5,4e-6)"
- id="g20019-5"
- style="display:inline;opacity:0.6;fill:#ffffff;enable-background:new">
- <path
- inkscape:connector-curvature="0"
- id="path20013-1"
- d="m 365.5,433 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 8.5 c 0,1.09865 0.90135,2 2,2 1.09865,0 2,-0.90135 2,-2 v -8.5 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m 0.5,1 h 2 v 8 c 0,0.55821 -0.44179,1 -1,1 -0.55821,0 -1,-0.44179 -1,-1 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" />
- <path
- id="path20015-6"
- transform="translate(718,837)"
- d="m -345.50781,-403 a 0.50005,0.50005 0 0 0 -0.34571,0.14648 L -348,-400.70703 v 1.41406 l 2.5,-2.5 1.29297,1.29297 -3.79297,3.79297 v 1.41406 l 4.85352,-4.85351 a 0.50005,0.50005 0 0 0 0,-0.70704 l -2,-2 A 0.50005,0.50005 0 0 0 -345.50781,-403 Z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.8;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- inkscape:connector-curvature="0" />
- <path
- sodipodi:nodetypes="ccccccccccc"
- inkscape:connector-curvature="0"
- id="path20017-8"
- d="m 373.25,440 -1,1 H 375 v 2 h -4.75 l -1,1 h 6.25 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -3 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" />
- </g>
- <g
- transform="translate(483,-126)"
- id="g11187"
- style="display:inline;fill:#ffffff;enable-background:new">
- <path
- inkscape:connector-curvature="0"
- id="path10969"
- transform="translate(-483,126)"
- d="m 533.49219,157.99219 a 0.50005,0.50005 0 0 0 -0.38867,0.19531 0.50005,0.50005 0 0 0 -0.004,0.006 l -1.95313,1.95312 a 0.50005,0.50005 0 1 0 0.70704,0.70704 L 533,159.70703 v 7.57422 c -0.59355,0.34821 -1,0.9856 -1,1.71875 0,1.09865 0.90135,2 2,2 0.73315,0 1.37054,-0.40645 1.71875,-1 h 7.57422 l -1.14649,1.14648 a 0.50005,0.50005 0 1 0 0.70704,0.70704 l 1.95703,-1.95704 a 0.50005,0.50005 0 0 0 0.002,-0.79296 0.50005,0.50005 0 0 0 -0.006,-0.004 l -1.95312,-1.95313 a 0.50005,0.50005 0 0 0 -0.35938,-0.15234 0.50005,0.50005 0 0 0 -0.34766,0.85938 L 543.29297,169 H 536 c 0,-1.09865 -0.90135,-2 -2,-2 v -7.29297 l 1.14648,1.14649 a 0.50005,0.50005 0 1 0 0.70704,-0.70704 l -1.95704,-1.95703 a 0.50005,0.50005 0 0 0 -0.40429,-0.19726 z M 534,168 c 0.55821,0 1,0.44179 1,1 0,0.55821 -0.44179,1 -1,1 -0.55821,0 -1,-0.44179 -1,-1 0,-0.55821 0.44179,-1 1,-1 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
- </g>
- <g
- transform="translate(42.000003,4e-6)"
- id="g20430-5"
- style="display:inline;fill:#ffffff;enable-background:new" />
- <g
- id="g6336"
- style="fill:#ffffff">
- <path
- inkscape:connector-curvature="0"
- id="path17349-5"
- d="m 156.49609,393.24609 a 0.50005,0.50005 0 0 0 -0.27343,0.91993 c 0.927,0.618 2.37713,0.83398 3.77734,0.83398 1.39708,0 2.84978,-0.21561 3.77734,-0.83398 a 0.50005,0.50005 0 1 0 -0.55468,-0.83204 C 162.65022,393.71561 161.2722,394 160,394 c -1.27563,0 -2.64966,-0.28402 -3.22266,-0.66602 a 0.50005,0.50005 0 0 0 -0.28125,-0.0879 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.8;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" />
- <path
- inkscape:connector-curvature="0"
- id="path17351"
- d="m 160,389 c -1.5802,0 -3.01318,0.28529 -4.0957,0.77734 -0.54126,0.24603 -0.9977,0.54261 -1.33789,0.90821 C 154.22621,391.05115 154,391.5062 154,392 v 3 5 c 0,0.4938 0.22621,0.94885 0.56641,1.31445 0.34019,0.3656 0.79663,0.66218 1.33789,0.90821 C 156.98682,402.71471 158.4198,403 160,403 c 1.5802,0 3.01318,-0.28529 4.0957,-0.77734 0.54126,-0.24603 0.9977,-0.54261 1.33789,-0.90821 C 165.77379,400.94885 166,400.4938 166,400 v -5 -3 c 0,-0.4938 -0.22621,-0.94885 -0.56641,-1.31445 -0.34019,-0.3656 -0.79663,-0.66218 -1.33789,-0.90821 C 163.01318,389.28529 161.5802,389 160,389 Z m 0,1 c 1.45737,0 2.77356,0.27473 3.68164,0.6875 0.45404,0.20638 0.8031,0.4471 1.01953,0.67969 C 164.9176,391.59978 165,391.80344 165,392 v 3 5 c 0,0.19656 -0.0824,0.40022 -0.29883,0.63281 -0.21643,0.23259 -0.56549,0.47331 -1.01953,0.67969 C 162.77356,401.72527 161.45737,402 160,402 c -1.45737,0 -2.77356,-0.27473 -3.68164,-0.6875 -0.45404,-0.20638 -0.8031,-0.4471 -1.01953,-0.67969 C 155.0824,400.40022 155,400.19656 155,400 v -5 -3 c 0,-0.19656 0.0824,-0.40022 0.29883,-0.63281 0.21643,-0.23259 0.56549,-0.47331 1.01953,-0.67969 C 157.22644,390.27473 158.54263,390 160,390 Z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" />
- </g>
- <g
- id="g6344"
- style="fill:#ffffff">
- <path
- inkscape:connector-curvature="0"
- id="path17355-2"
- d="m 181,390 c -2.19521,0 -4.16987,0.64081 -5.61914,1.70898 -1.44928,1.06818 -2.38087,2.59156 -2.38086,4.29102 0,1.69945 0.93159,3.22284 2.38086,4.29102 C 176.83013,401.35919 178.80479,402 181,402 c 2.19521,0 4.16987,-0.64081 5.61914,-1.70898 C 188.06841,399.22284 189,397.69945 189,396 c 0,-1.69945 -0.93159,-3.22284 -2.38086,-4.29102 C 185.16987,390.64081 183.19522,390 181,390 Z m 0,1 c 1.99941,0 3.77332,0.59085 5.02539,1.51367 C 187.27746,393.4365 188,394.66345 188,396 c 0,1.33655 -0.72254,2.5635 -1.97461,3.48633 C 184.77332,400.40915 182.99941,401 181,401 c -1.99941,0 -3.77332,-0.59085 -5.02539,-1.51367 C 174.72254,398.5635 174,397.33655 174,396 c 0,-1.33654 0.72254,-2.5635 1.97461,-3.48633 C 177.22668,391.59085 179.00059,391 181,391 Z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
- <path
- inkscape:connector-curvature="0"
- id="path17357"
- d="M 178.49219,394.49219 A 0.50005,0.50005 0 0 0 178,395.00195 v 0.25 c 5.5e-4,0.26762 0.10104,0.43267 0.23438,0.61719 0.13369,0.18504 0.32089,0.36854 0.5664,0.53516 0.49103,0.33322 1.21831,0.59296 2.19727,0.5957 0.98079,0.003 1.71165,-0.25661 2.20312,-0.5918 0.24574,-0.16759 0.43113,-0.35326 0.56445,-0.53906 0.13296,-0.18529 0.23383,-0.34989 0.23438,-0.61719 v -0.002 -0.24805 a 0.50005,0.50005 0 1 0 -1,-0.004 v 0.2521 c 0,-0.11242 0.009,-0.0414 -0.0469,0.0371 -0.0564,0.0786 -0.16044,0.18856 -0.3164,0.29492 -0.31192,0.21273 -0.83026,0.42022 -1.63477,0.41797 -0.80517,-0.002 -1.32795,-0.21164 -1.64062,-0.42383 -0.15634,-0.10609 -0.26023,-0.21522 -0.31641,-0.29297 C 178.98874,395.20545 179,395.13726 179,395.25 v -0.25195 a 0.50005,0.50005 0 0 0 -0.50781,-0.50586 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.8;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
- </g>
- <rect
- style="display:inline;overflow:visible;visibility:visible;opacity:0;fill:#ffffff;stroke:none;stroke-width:3;marker:none;enable-background:accumulate"
- id="rect17374-9"
- width="12.937499"
- height="12.937502"
- x="111.0625"
- y="390.0625" />
- <g
- id="g6320"
- style="fill:#ffffff">
- <path
- inkscape:connector-curvature="0"
- id="rect17377-5"
- d="m 111.4668,389 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 13.0957 a 0.50005,0.50005 0 0 0 0.5,0.5 H 124.5 a 0.50005,0.50005 0 0 0 0.5,-0.5 V 389.5 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m 0.5,1 H 124 v 12.0957 h -12.0332 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
- <path
- inkscape:connector-curvature="0"
- id="path17381"
- d="M 115.49219,390.99219 A 0.50005,0.50005 0 0 0 115,391.5 v 1.5 h -1.5 a 0.50005,0.50005 0 1 0 0,1 h 1.5 v 4 h -1.5 a 0.50005,0.50005 0 1 0 0,1 h 1.5 v 1.5 a 0.50005,0.50005 0 1 0 1,0 V 399 h 4 v 1.5 a 0.50005,0.50005 0 1 0 1,0 V 399 h 1.5 a 0.50005,0.50005 0 1 0 0,-1 H 121 v -4 h 1.5 a 0.50005,0.50005 0 1 0 0,-1 H 121 v -1.5 a 0.50005,0.50005 0 1 0 -1,0 v 1.5 h -4 v -1.5 a 0.50005,0.50005 0 0 0 -0.50781,-0.50781 z M 116,394 h 4 v 4 h -4 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.8;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
- </g>
- <g
- id="g6312"
- style="fill:#ffffff">
- <path
- inkscape:connector-curvature="0"
- id="path17390-7"
- mask="none"
- d="m 96,389 a 0.50005,0.50005 0 0 0 -0.240234,0.0605 l -5.5,3 A 0.50005,0.50005 0 0 0 90,392.5 v 7 a 0.50005,0.50005 0 0 0 0.259766,0.43945 l 5.5,3 A 0.50005,0.50005 0 0 0 96,403 h 1 a 0.50005,0.50005 0 0 0 0.240234,-0.0605 l 5.499996,-3 A 0.50005,0.50005 0 0 0 103,399.5 v -7 a 0.50005,0.50005 0 0 0 -0.25977,-0.43945 l -5.499996,-3 A 0.50005,0.50005 0 0 0 97,389 Z m 0.126953,1 h 0.746094 L 102,392.79688 v 6.40624 L 96.873047,402 H 96.126953 L 91,399.20312 v -6.40624 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
- <path
- inkscape:connector-curvature="0"
- id="path17400"
- d="m 92.5,392 a 0.50005,0.50005 0 1 0 0,1 H 98.513672 100.5 a 0.50005,0.50005 0 1 0 0,-1 z m 6.013672,1 a 0.50005,0.50005 0 0 0 -0.404297,0.1875 l -3.595703,4.49609 -2.613281,-3.48437 a 0.50078095,0.50078095 0 1 0 -0.800782,0.60156 l 3,4 A 0.50005,0.50005 0 0 0 94.486328,399 a 0.50005,0.50005 0 0 0 0.404297,-0.1875 l 3.595703,-4.49609 2.613282,3.48437 a 0.50078015,0.50078015 0 1 0 0.80078,-0.60156 l -2.999999,-4 A 0.50005,0.50005 0 0 0 98.513672,393 Z m -4.027344,6 H 92.5 a 0.50005,0.50005 0 1 0 0,1 h 8 a 0.50005,0.50005 0 1 0 0,-1 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.8;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
- </g>
- <rect
- y="389"
- x="69"
- height="14"
- width="14"
- id="rect17416-6"
- style="display:inline;overflow:visible;visibility:visible;opacity:0;fill:#ffffff;stroke:none;stroke-width:3;marker:none;enable-background:accumulate" />
- <g
- id="g6304"
- style="fill:#ffffff">
- <path
- inkscape:connector-curvature="0"
- id="path17418-8"
- d="m 76,388.9375 c -3.894591,0 -7.0625,3.1679 -7.0625,7.0625 0,3.89459 3.167908,7.0625 7.0625,7.0625 3.894592,0 7.0625,-3.16791 7.0625,-7.0625 0,-3.8946 -3.167909,-7.0625 -7.0625,-7.0625 z m 0,1 c 3.354153,0 6.0625,2.70834 6.0625,6.0625 0,3.35415 -2.708348,6.0625 -6.0625,6.0625 -3.354152,0 -6.0625,-2.70835 -6.0625,-6.0625 0,-3.35416 2.708347,-6.0625 6.0625,-6.0625 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
- <path
- inkscape:connector-curvature="0"
- id="path17424"
- d="m 75.476562,390.74414 a 0.50005,0.50005 0 0 0 -0.40039,0.24024 C 74.184416,392.40936 74,393.97991 74,396 c 0,0.33476 0.05553,0.60654 0.06836,0.92188 -1.166939,-0.0798 -2.112698,-0.42664 -3.201171,-1.52344 a 0.50005,0.50005 0 1 0 -0.710938,0.70312 c 1.257685,1.26731 2.545083,1.75219 3.986328,1.83008 0.125352,1.11893 0.352857,2.1649 0.933594,3.08594 a 0.50122772,0.50122772 0 1 0 0.847656,-0.53516 C 75.471077,399.76437 75.263567,398.92779 75.142578,398 H 76 c 2.575016,3.5e-4 3.847653,-0.61523 4.722656,-1.05273 a 0.50005,0.50005 0 1 0 -0.445312,-0.89454 C 79.402347,396.49023 78.424978,397.00033 76,397 H 75.072266 C 75.055487,396.65897 75,396.38014 75,396 c 0,-1.96025 0.172858,-3.28436 0.923828,-4.48438 a 0.50005,0.50005 0 0 0 -0.447266,-0.77148 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.8;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
- </g>
- <g
- id="g6296"
- style="fill:#ffffff">
- <path
- inkscape:connector-curvature="0"
- id="path8006-3-4"
- d="m 30.5,389 a 0.50005,0.50005 0 0 0 -0.353516,0.14648 l -3,3 A 0.50005,0.50005 0 0 0 27,392.5 v 10 a 0.50005,0.50005 0 0 0 0.5,0.5 h 10 a 0.50005,0.50005 0 0 0 0.353516,-0.14648 l 3,-3 A 0.50005,0.50005 0 0 0 41,399.5 v -10 A 0.50005,0.50005 0 0 0 40.5,389 Z m 0.207031,1 H 40 v 9.29297 L 37.292969,402 H 28 v -9.29297 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
- <path
- inkscape:connector-curvature="0"
- id="path8009-8"
- d="m 39.490234,389.98828 a 0.50005,0.50005 0 0 0 -0.34375,0.15234 L 37.292969,392 H 29.5 a 0.50005,0.50005 0 1 0 0,1 H 37 v 7.5 a 0.50005,0.50005 0 1 0 1,0 v -7.79297 l 1.853516,-1.86133 a 0.50005,0.50005 0 0 0 -0.363282,-0.85742 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.8;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
- </g>
- <g
- id="g6397"
- style="fill:#ffffff">
- <path
- inkscape:connector-curvature="0"
- id="rect12565-1-6"
- d="m 258.5,32 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 13 a 0.50005,0.50005 0 0 0 0.5,0.5 h 13 A 0.50005,0.50005 0 0 0 272,45.5 V 41 h -1 v 4 H 259 V 33 h 12 v 1 h 1 V 32.5 A 0.50005,0.50005 0 0 0 271.5,32 Z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 261.5,35 c -0.67616,-0.0096 -0.67616,1.009563 0,1 H 272 v -1 z m 0,2 c -0.67616,-0.0096 -0.67616,1.009563 0,1 H 272 v -1 z m 0,2 c -0.67616,-0.0096 -0.67616,1.009563 0,1 H 272 v -1 z"
- id="path12613-4-1"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="ccccccccccccccc" />
- </g>
- <g
- id="g6375"
- style="fill:#ffffff">
- <rect
- y="31.999996"
- x="27"
- height="14"
- width="14"
- id="rect12107-7"
- style="display:inline;overflow:visible;visibility:visible;opacity:0;fill:#ffffff;stroke:none;stroke-width:3;marker:none;enable-background:accumulate" />
- <path
- inkscape:connector-curvature="0"
- id="path12109-5"
- d="m 34,32 c -3.860074,0 -7,3.139926 -7,7 0,3.860083 3.139927,7 7,7 3.860082,0 7,-3.139918 7,-7 0,-3.860073 -3.139917,-7 -7,-7 z m 0,1 c 3.319643,0 6,2.680365 6,6 0,3.319644 -2.680356,6 -6,6 -3.319635,0 -6,-2.680357 -6,-6 0,-3.319634 2.680366,-6 6,-6 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
- <path
- inkscape:connector-curvature="0"
- id="path12115-8"
- d="M 28.507812,38.244141 A 0.50005,0.50005 0 0 0 28.15625,39.101562 C 29.521925,40.47768 30.901684,41.000009 32.5,41 H 34 c 2.575017,3.52e-4 3.847654,-0.615233 4.722656,-1.052734 A 0.50005,0.50005 0 1 0 38.277344,39.052734 C 37.402346,39.490233 36.424977,40.000332 34,40 h -1.5 c -1.401674,7e-6 -2.403186,-0.362534 -3.632812,-1.601562 a 0.50005,0.50005 0 0 0 -0.359376,-0.154297 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.8;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
- </g>
- <g
- id="g6383"
- style="fill:#ffffff">
- <path
- inkscape:connector-curvature="0"
- id="path12123-3"
- d="m 51.5,32 a 0.50005,0.50005 0 0 0 -0.353516,0.146484 l -3,3 A 0.50005,0.50005 0 0 0 48,35.5 v 10 a 0.50005,0.50005 0 0 0 0.5,0.5 h 10 a 0.50005,0.50005 0 0 0 0.353516,-0.146484 l 3,-3 A 0.50005,0.50005 0 0 0 62,42.5 v -10 A 0.50005,0.50005 0 0 0 61.5,32 Z m 0.207031,1 H 61 v 9.292969 L 58.292969,45 H 49 v -9.292969 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
- <path
- inkscape:connector-curvature="0"
- id="path12125-1"
- d="m 60.490234,32.988281 a 0.50005,0.50005 0 0 0 -0.34375,0.152344 L 58.292969,35 H 50.5 a 0.50005,0.50005 0 1 0 0,1 H 58 v 7.5 a 0.50005,0.50005 0 1 0 1,0 v -7.792969 l 1.853516,-1.861328 a 0.50005,0.50005 0 0 0 -0.363282,-0.857422 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.8;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
- </g>
- <g
- id="g6328"
- style="fill:#ffffff">
- <path
- inkscape:connector-curvature="0"
- id="path12377-5"
- d="m 135.5,389 a 0.50004997,0.50004997 0 0 0 -0.33008,0.12305 l -2,1.75 A 0.50004997,0.50004997 0 0 0 133,391.25 V 393 h -1.5 a 0.50004997,0.50004997 0 0 0 -0.5,0.5 v 1.5 c 0,0.98611 0.74054,1.6889 1.56836,1.91992 0.71525,0.19961 1.51421,0.0482 2.18359,-0.38476 L 136,397.93945 V 400.25 c 0,0.88889 0.39419,1.61848 0.96875,2.07812 C 137.54331,402.78777 138.275,403 139,403 c 0.725,0 1.45669,-0.21223 2.03125,-0.67188 C 141.60581,401.86848 142,401.13889 142,400.25 v -2.31055 l 1.24805,-1.40429 c 0.66938,0.43298 1.46834,0.58437 2.18359,0.38476 C 146.25946,396.6889 147,395.98611 147,395 v -1.5 A 0.50004997,0.50004997 0 0 0 146.5,393 H 145 v -1.75 a 0.50004997,0.50004997 0 0 0 -0.16992,-0.37695 l -2,-1.75 A 0.50004997,0.50004997 0 0 0 142.5,389 h -2 a 0.50004997,0.50004997 0 0 0 -0.35352,0.14648 L 139.29297,390 h -0.58594 l -0.85351,-0.85352 A 0.50004997,0.50004997 0 0 0 137.5,389 Z m 0.1875,1 h 1.60547 l 0.85351,0.85352 A 0.50004997,0.50004997 0 0 0 138.5,391 h 1 a 0.50004997,0.50004997 0 0 0 0.35352,-0.14648 L 140.70703,390 h 1.60547 L 144,391.47852 V 393.5 a 0.50004997,0.50004997 0 0 0 0.5,0.5 h 1.5 v 1 c 0,0.51389 -0.32196,0.8111 -0.83789,0.95508 -0.39408,0.10997 -0.8212,-0.0629 -1.20703,-0.25 a 0.50004997,0.50004997 0 0 0 -0.82813,-0.53711 l -2,2.25 A 0.50004997,0.50004997 0 0 0 141,397.75 v 2.5 c 0,0.61111 -0.23081,1.00652 -0.59375,1.29688 C 140.04331,401.83723 139.525,402 139,402 c -0.525,0 -1.04331,-0.16277 -1.40625,-0.45312 C 137.23081,401.25652 137,400.86111 137,400.25 v -2.5 a 0.50004997,0.50004997 0 0 0 -0.12695,-0.33203 l -2,-2.25 a 0.50004997,0.50004997 0 0 0 -0.82813,0.53711 c -0.38583,0.18707 -0.81295,0.35997 -1.20703,0.25 C 132.32196,395.8111 132,395.51389 132,395 v -1 h 1.5 a 0.50004997,0.50004997 0 0 0 0.5,-0.5 v -2.02344 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" />
- <path
- inkscape:connector-curvature="0"
- id="path12383"
- d="m 137,392 a 0.50005,0.50005 0 0 0 -0.35352,0.14648 l -0.5,0.5 A 0.50005,0.50005 0 0 0 136,393 v 0.5 a 0.50005,0.50005 0 1 0 1,0 v -0.29297 L 137.20703,393 H 137.5 a 0.50005,0.50005 0 1 0 0,-1 z m 4,0 a 0.50005,0.50005 0 0 0 -0.35352,0.14648 l -0.5,0.5 A 0.50005,0.50005 0 0 0 140,393 v 0.5 a 0.50005,0.50005 0 1 0 1,0 v -0.29297 L 141.20703,393 H 141.5 a 0.50005,0.50005 0 1 0 0,-1 z m -2.5,3 a 0.50005,0.50005 0 1 0 0,1 h 1 a 0.50005,0.50005 0 1 0 0,-1 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.8;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" />
- </g>
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 363.51562,184 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 4 a 0.50005,0.50005 0 1 0 1,0 V 185 h 12 v 3.5 a 0.50005,0.50005 0 1 0 1,0 v -4 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z"
- id="path10187-3-4"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 70.5,410 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 3 a 0.50005,0.50005 0 0 0 0.5,0.5 h 0.859375 l -0.824219,3.29883 a 0.50005,0.50005 0 0 0 -0.04102,0.16797 l -1.478516,5.91211 A 0.50005,0.50005 0 0 0 69.5,424 h 4.921875 a 0.50005,0.50005 0 0 0 0.160156,0 h 4.892578 a 0.50005,0.50005 0 0 0 0.484375,-0.37695 l 3.03711,-11.99024 a 0.50005,0.50005 0 0 0 -0.484375,-0.62304 l -4.90625,-0.006 a 0.50005,0.50005 0 0 0 -0.205078,0 L 74,411 v -0.5 A 0.50005,0.50005 0 0 0 73.5,410 Z m 0.5,1 h 2 v 2 h -0.921875 a 0.50005,0.50005 0 0 0 -0.160156,0 H 71 Z m 3,1 2.859375,0.004 -1.25,4.99609 h -3.96875 l 0.75,-3 H 73.5 a 0.50005,0.50005 0 0 0 0.5,-0.5 z m 3.888672,0.004 3.980469,0.006 -1.263672,4.99 H 76.640625 Z M 71.390625,418 h 3.96875 l -1.25,5 h -3.96875 z m 5,0 h 3.960937 l -1.265624,5 h -3.945313 z"
- id="path14034"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 184.49609,623.99414 a 0.50005,0.50005 0 0 0 -0.34961,0.85938 L 186.29297,627 h -10.58594 l 2.14649,-2.14648 a 0.50005,0.50005 0 1 0 -0.70704,-0.70704 l -3,3 a 0.50005,0.50005 0 0 0 0,0.70704 l 3,3 a 0.50005,0.50005 0 1 0 0.70704,-0.70704 L 175.70703,628 h 10.58594 l -2.14649,2.14648 a 0.50005,0.50005 0 1 0 0.70704,0.70704 l 3,-3 a 0.50005,0.50005 0 0 0 0,-0.70704 l -3,-3 a 0.50005,0.50005 0 0 0 -0.35743,-0.15234 z"
- id="path13677-7"
- inkscape:connector-curvature="0" />
- <g
- id="g6391"
- style="fill:#ffffff">
- <path
- inkscape:connector-curvature="0"
- id="path13580-7"
- d="m 72.5,32 a 0.50004997,0.50004997 0 0 0 -0.330078,0.123047 l -2,1.75 A 0.50004997,0.50004997 0 0 0 70,34.25 V 36 H 68.5 A 0.50004997,0.50004997 0 0 0 68,36.5 V 38 c 0,0.986111 0.740543,1.688903 1.568359,1.919922 0.715248,0.199604 1.51421,0.04822 2.183594,-0.384766 L 73,40.939453 V 43.25 c 0,0.888889 0.394191,1.618478 0.96875,2.078125 C 74.543309,45.787772 75.275,46 76,46 76.725,46 77.456691,45.787772 78.03125,45.328125 78.605809,44.868478 79,44.138889 79,43.25 v -2.310547 l 1.248047,-1.404297 c 0.669384,0.432987 1.468346,0.58437 2.183594,0.384766 C 83.259457,39.688903 84,38.986111 84,38 V 36.5 A 0.50004997,0.50004997 0 0 0 83.5,36 H 82 v -1.75 a 0.50004997,0.50004997 0 0 0 -0.169922,-0.376953 l -2,-1.75 A 0.50004997,0.50004997 0 0 0 79.5,32 h -2 a 0.50004997,0.50004997 0 0 0 -0.353516,0.146484 L 76.292969,33 H 75.707031 L 74.853516,32.146484 A 0.50004997,0.50004997 0 0 0 74.5,32 Z m 0.1875,1 h 1.605469 l 0.853515,0.853516 A 0.50004997,0.50004997 0 0 0 75.5,34 h 1 a 0.50004997,0.50004997 0 0 0 0.353516,-0.146484 L 77.707031,33 H 79.3125 L 81,34.478516 V 36.5 A 0.50004997,0.50004997 0 0 0 81.5,37 H 83 v 1 c 0,0.513889 -0.321957,0.811097 -0.837891,0.955078 -0.394082,0.109977 -0.821203,-0.06293 -1.207031,-0.25 a 0.50004997,0.50004997 0 0 0 -0.828125,-0.537109 l -2,2.25 A 0.50004997,0.50004997 0 0 0 78,40.75 v 2.5 c 0,0.611111 -0.230809,1.006522 -0.59375,1.296875 C 77.043309,44.837228 76.525,45 76,45 75.475,45 74.956691,44.837228 74.59375,44.546875 74.230809,44.256522 74,43.861111 74,43.25 v -2.5 a 0.50004997,0.50004997 0 0 0 -0.126953,-0.332031 l -2,-2.25 a 0.50004997,0.50004997 0 0 0 -0.828125,0.537109 c -0.385828,0.187069 -0.812949,0.359977 -1.207031,0.25 C 69.321957,38.811097 69,38.513889 69,38 v -1 h 1.5 A 0.50004997,0.50004997 0 0 0 71,36.5 v -2.023438 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" />
- <path
- inkscape:connector-curvature="0"
- id="path13586"
- d="m 74,35 a 0.50005,0.50005 0 0 0 -0.353516,0.146484 l -0.5,0.5 A 0.50005,0.50005 0 0 0 73,36 v 0.5 a 0.50005,0.50005 0 1 0 1,0 V 36.207031 L 74.207031,36 H 74.5 a 0.50005,0.50005 0 1 0 0,-1 z m 4,0 a 0.50005,0.50005 0 0 0 -0.353516,0.146484 l -0.5,0.5 A 0.50005,0.50005 0 0 0 77,36 v 0.5 a 0.50005,0.50005 0 1 0 1,0 V 36.207031 L 78.207031,36 H 78.5 a 0.50005,0.50005 0 1 0 0,-1 z m -2.5,3 a 0.50005,0.50005 0 1 0 0,1 h 1 a 0.50005,0.50005 0 1 0 0,-1 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.8;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" />
- </g>
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 418.50786,518.99219 a 0.50005,0.50005 0 0 1 0.49219,0.50781 v 6 a 0.50005,0.50005 0 1 1 -1,0 v -2.92578 a 0.50005,0.50005 0 0 1 -0.5,0.41797 h -1 a 0.50005,0.50005 0 1 1 0,-1 h 1 a 0.50005,0.50005 0 0 1 0.5,0.42187 V 519.5 a 0.50005,0.50005 0 0 1 0.50781,-0.50781 z m -13,0 a 0.50005,0.50005 0 0 1 0.49219,0.50781 v 6 a 0.50005,0.50005 0 1 1 -1,0 v -6 a 0.50005,0.50005 0 0 1 0.50781,-0.50781 z m 4.99805,0.002 a 0.50005,0.50005 0 0 1 0.34766,0.85937 l -2.64649,2.64649 2.64649,2.64648 a 0.50005,0.50005 0 1 1 -0.70704,0.70703 l -3,-3 a 0.50005,0.50005 0 0 1 0,-0.70703 l 3,-3 a 0.50005,0.50005 0 0 1 0.35938,-0.15234 z M 414.50005,522 a 0.50005,0.50005 0 1 1 0,1 h -1 a 0.50005,0.50005 0 1 1 0,-1 z m -3,0 a 0.50005,0.50005 0 1 1 0,1 h -1 a 0.50005,0.50005 0 1 1 0,-1 z"
- id="path14267"
- inkscape:connector-curvature="0" />
- <g
- id="g6366"
- style="fill:#ffffff">
- <path
- inkscape:connector-curvature="0"
- id="path14380-1"
- d="m 34,116 c -3.860075,0 -7,3.13992 -7,7 0,3.86007 3.139928,7 7,7 3.860072,0 7,-3.13993 7,-7 0,-3.86008 -3.139925,-7 -7,-7 z m 0,1 c 3.319633,0 6,2.68036 6,6 0,3.31963 -2.680364,6 -6,6 -3.319636,0 -6,-2.68037 -6,-6 0,-3.31964 2.680367,-6 6,-6 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
- <path
- id="path14287"
- transform="translate(540,10)"
- d="m -506.01562,106.24414 a 0.50005,0.50005 0 0 0 -0.375,0.19336 c -0.70647,0.88308 -1.16919,1.99665 -1.41016,3.5625 H -511.75 c -0.67616,-0.01 -0.67616,1.00956 0,1 h 3.83203 c -0.0522,0.60644 -0.082,1.26334 -0.082,2 0,0.73665 0.0299,1.39356 0.082,2 H -511.75 c -0.67616,-0.01 -0.67616,1.00956 0,1 h 3.94922 c 0.24099,1.56587 0.70375,2.67949 1.41016,3.5625 a 0.50024408,0.50024408 0 0 0 0.78124,-0.625 c -0.56556,-0.70695 -0.96391,-1.59657 -1.18554,-2.9375 h 6.54492 c 0.67616,0.01 0.67616,-1.00956 0,-1 h -6.66797 c -0.0526,-0.59052 -0.082,-1.24749 -0.082,-2 0,-0.75251 0.0294,-1.40947 0.082,-2 h 6.66797 c 0.67616,0.01 0.67616,-1.00956 0,-1 h -6.54492 c 0.22165,-1.34096 0.62004,-2.23062 1.18554,-2.9375 a 0.50005,0.50005 0 0 0 -0.40624,-0.81836 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.8;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- </g>
- <rect
- style="display:inline;overflow:visible;visibility:visible;opacity:0;fill:#ffffff;stroke:none;stroke-width:3;marker:none;enable-background:accumulate"
- id="rect14475-9"
- width="14"
- height="14"
- x="468"
- y="389" />
- <g
- id="g6259"
- style="fill:#ffffff">
- <path
- inkscape:connector-curvature="0"
- id="path14478-2"
- d="m 475,388.9375 c -3.89459,0 -7.0625,3.1679 -7.0625,7.0625 0,3.89459 3.16791,7.0625 7.0625,7.0625 3.89459,0 7.0625,-3.16791 7.0625,-7.0625 0,-3.8946 -3.16791,-7.0625 -7.0625,-7.0625 z m 0,1 c 3.35415,0 6.0625,2.70834 6.0625,6.0625 0,3.35415 -2.70835,6.0625 -6.0625,6.0625 -3.35415,0 -6.0625,-2.70835 -6.0625,-6.0625 0,-3.35416 2.70835,-6.0625 6.0625,-6.0625 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
- <path
- inkscape:connector-curvature="0"
- id="path14482"
- d="m 474.47656,390.74414 a 0.50005,0.50005 0 0 0 -0.40039,0.24024 C 473.18442,392.40936 473,393.97991 473,396 c 0,1.96736 0.17366,3.58622 1.07617,5.01758 a 0.50122941,0.50122941 0 1 0 0.84766,-0.53516 C 474.1712,399.28878 474,397.90804 474,396 c 0,-1.96025 0.17286,-3.28436 0.92383,-4.48438 a 0.50005,0.50005 0 0 0 -0.44727,-0.77148 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.8;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
- </g>
- <g
- id="g6251"
- style="fill:#ffffff">
- <path
- inkscape:connector-curvature="0"
- id="path14492-1-5"
- d="m 452.5,389 c -0.79539,1.6e-4 -1.5587,0.31644 -2.12109,0.87891 l -2.5,2.5 C 447.31644,392.9413 447.00016,393.70461 447,394.5 v 5.5 c 1.7e-4,1.65084 1.34916,2.99983 3,3 h 5.5 c 0.79539,-1.6e-4 1.5587,-0.31644 2.12109,-0.87891 l 2.5,-2.5 c 0.56247,-0.56238 0.87875,-1.3257 0.87891,-2.12109 v -5.75 c -8e-5,-0.79524 -0.25969,-1.50187 -0.75391,-1.99609 C 459.75187,389.25969 459.04524,389.00008 458.25,389 Z m 0,1 h 5.75 c 0.58541,6e-5 1.00348,0.17535 1.28906,0.46094 0.28559,0.28558 0.46088,0.70365 0.46094,1.28906 v 5.75 c -10e-5,0.53061 -0.21073,1.03891 -0.58594,1.41406 l -2.5,2.5 C 456.53889,401.78928 456.03061,401.9999 455.5,402 H 450 c -1.11046,-1.1e-4 -1.99989,-0.88954 -2,-2 v -5.5 c 10e-5,-0.53061 0.21072,-1.03889 0.58594,-1.41406 l 2.5,-2.5 C 451.46111,390.21072 451.96939,390.0001 452.5,390 Z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" />
- <path
- inkscape:connector-curvature="0"
- id="path14494-2"
- d="m 458.49023,390.99609 a 0.50005,0.50005 0 0 0 -0.34375,0.15039 l -1,1 a 0.50005,0.50005 0 1 0 0.70704,0.70704 l 1,-1 a 0.50005,0.50005 0 0 0 -0.36329,-0.85743 z M 450.5,393 a 0.50005,0.50005 0 1 0 0,1 h 4 a 0.50005,0.50005 0 1 0 0,-1 z m 5.99219,1.99219 A 0.50005,0.50005 0 0 0 456,395.5 v 4 a 0.50005,0.50005 0 1 0 1,0 v -4 a 0.50005,0.50005 0 0 0 -0.50781,-0.50781 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.8;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" />
- </g>
- <g
- id="g6275"
- style="fill:#ffffff">
- <path
- inkscape:connector-curvature="0"
- id="path14559-8"
- d="m 519.02539,389.05664 c -1.23014,0.0645 -2.42356,0.6345 -3.37891,1.58984 l -4,4 c -0.95534,0.95535 -1.53001,2.15146 -1.59765,3.38477 -0.0676,1.23331 0.38786,2.49571 1.41406,3.50977 1.02392,1.0118 2.28158,1.46686 3.51172,1.40234 1.23014,-0.0645 2.42356,-0.6345 3.37891,-1.58984 l 4,-4 c 0.95534,-0.95535 1.53001,-2.15146 1.59765,-3.38477 0.0676,-1.23331 -0.38786,-2.4957 -1.41406,-3.50977 -1.02392,-1.0118 -2.28158,-1.46686 -3.51172,-1.40234 z m 0.0527,0.99805 c 0.95617,-0.0502 1.91199,0.28134 2.75586,1.11523 0.8416,0.83165 1.17171,1.78562 1.11914,2.74414 -0.0526,0.95853 -0.50462,1.93042 -1.30664,2.73242 l -4,4 c -0.80201,0.80202 -1.76844,1.24868 -2.7246,1.29883 -0.95617,0.0502 -1.91199,-0.28134 -2.75586,-1.11523 -0.8416,-0.83164 -1.17171,-1.78562 -1.11914,-2.74414 0.0526,-0.95853 0.50462,-1.93041 1.30664,-2.73242 l 4,-4 c 0.80201,-0.80202 1.76844,-1.24868 2.7246,-1.29883 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
- <path
- inkscape:connector-curvature="0"
- id="path14564"
- d="m 517.47266,391.99414 a 0.50005,0.50005 0 0 0 -0.45899,0.62305 c 0.18668,0.77642 0.28491,1.42494 1.14063,2.24414 0.815,0.78022 1.39282,0.94312 2.24023,1.12695 a 0.50005,0.50005 0 1 0 0.21094,-0.97656 c -0.84931,-0.18425 -1.03849,-0.18255 -1.75977,-0.87305 -0.72218,-0.69136 -0.65665,-0.91268 -0.85937,-1.75586 a 0.50005,0.50005 0 0 0 -0.51367,-0.38867 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.8;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
- </g>
- <g
- id="g6267"
- style="fill:#ffffff">
- <path
- inkscape:connector-curvature="0"
- id="path14468-2"
- d="m 499.91406,389.05664 c -0.77439,-0.15321 -1.63518,-0.1241 -2.51367,0.0664 -1.75698,0.38102 -3.63558,1.4051 -5.25391,3.02343 -1.61833,1.61833 -2.64241,3.49693 -3.02343,5.25391 -0.38103,1.75698 -0.11706,3.43764 0.96093,4.51563 1.07799,1.07798 2.75865,1.34196 4.51563,0.96093 1.75698,-0.38102 3.63558,-1.40511 5.25391,-3.02343 1.61832,-1.61833 2.64241,-3.49693 3.02343,-5.25391 0.38102,-1.75698 0.11705,-3.43764 -0.96093,-4.51563 -0.539,-0.53899 -1.22757,-0.87413 -2.00196,-1.02734 z m -0.21289,0.97656 c 0.61146,0.11888 1.12564,0.37564 1.50781,0.75782 0.76435,0.76434 1.0245,2.05973 0.69141,3.5957 -0.33309,1.53597 -1.26116,3.26702 -2.75391,4.75976 -1.49274,1.49275 -3.22379,2.42081 -4.75976,2.75391 -1.53597,0.3331 -2.83136,0.0729 -3.5957,-0.69141 -0.76435,-0.76434 -1.02451,-2.05973 -0.69141,-3.5957 0.33309,-1.53597 1.26117,-3.26702 2.75391,-4.75976 1.49274,-1.49275 3.22379,-2.42082 4.75976,-2.75391 0.76799,-0.16655 1.47643,-0.18529 2.08789,-0.0664 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.99999988;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
- <path
- inkscape:connector-curvature="0"
- id="path14550"
- d="m 493.47266,393.99414 a 0.50005,0.50005 0 0 0 -0.45899,0.62305 c 0.22122,0.92011 0.78151,1.92168 1.64063,2.74414 0.81151,0.77689 1.74924,1.41197 2.74023,1.62695 a 0.50005,0.50005 0 1 0 0.21094,-0.97656 c -0.70573,-0.1531 -1.535,-0.67922 -2.25977,-1.37305 -0.71878,-0.6881 -1.19119,-1.55637 -1.35937,-2.25586 a 0.50005,0.50005 0 0 0 -0.51367,-0.38867 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.8;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
- </g>
- <path
- inkscape:connector-curvature="0"
- d="m 71.5,536 c -1.3819,0 -2.5,1.1181 -2.5,2.5 v 1 c 0,1.3818 1.118,2.5 2.5,2.5 h 9 c 1.382,0 2.5,-1.1182 2.5,-2.5 v -1 c 0,-1.3857 -1.13452,-2.48443 -2.51172,-2.48633 z m 3.5,1.00586 5.48633,0.008 c 0.8628,0 1.51367,0.63203 1.51367,1.48633 v 1 c 0,0.8578 -0.642,1.5 -1.5,1.5 H 75 Z M 71.5,544 c -1.3819,0 -2.5,1.1181 -2.5,2.5 v 1 c 0,1.3818 1.118,2.5 2.5,2.5 h 9 c 1.382,0 2.5,-1.1182 2.5,-2.5 v -1 c 0,-1.3857 -1.13452,-2.48443 -2.51172,-2.48633 z m 6.50977,1.00977 2.47656,0.004 c 0.8628,0 1.51367,0.63203 1.51367,1.48633 v 1 c 0,0.8578 -0.642,1.5 -1.5,1.5 H 78 Z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- id="path18055-4" />
- <g
- id="g6286"
- style="fill:#ffffff">
- <path
- d="m 303.5,369 a 0.50005,0.50005 0 0 0 -0.35352,0.14648 l -3,3 A 0.50005,0.50005 0 0 0 300,372.5 v 9 a 0.50005,0.50005 0 0 0 0.5,0.5 h 9 a 0.50005,0.50005 0 0 0 0.35352,-0.14648 l 3,-3 A 0.50005,0.50005 0 0 0 313,378.5 v -9 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m 0.20703,1 H 312 v 8.29297 L 309.29297,381 H 301 v -8.29297 z m 1.79883,5.03711 c -0.82251,0 -1.5,0.67749 -1.5,1.5 0,0.8225 0.67749,1.5 1.5,1.5 0.8225,0 1.5,-0.6775 1.5,-1.5 0,-0.82251 -0.6775,-1.5 -1.5,-1.5 z m 0,1 c 0.28206,0 0.5,0.21793 0.5,0.5 0,0.28206 -0.21794,0.5 -0.5,0.5 -0.28207,0 -0.5,-0.21794 -0.5,-0.5 0,-0.28207 0.21793,-0.5 0.5,-0.5 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- id="path19061-0-7-6"
- inkscape:connector-curvature="0" />
- <path
- inkscape:connector-curvature="0"
- id="path8009-8-5-8-9-1-5"
- d="M 312.14648,369.14648 309.29297,372 H 300.5 v 1 h 8.5 l 0.006,8.53711 h 1 l -0.006,-8.83008 2.85352,-2.85351 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.7;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" />
- </g>
- <path
- id="path18998-9"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 398,581 h -1 v -2 l 0.8535,-0.8535 c 0.091,0.09 0.1465,0.2154 0.1465,0.3535 z m -1,-2 0.8535,-0.8535 C 397.7635,578.0555 397.6381,578 397.5,578 h -9 c -0.1326,0 -0.2598,0.053 -0.3535,0.1465 l -4,4.0078 c -0.094,0.094 -0.1465,0.2209 -0.1465,0.3535 V 591.5 c 0,0.2761 0.2239,0.5 0.5,0.5 h 13 c 0.2761,0 0.5,-0.2239 0.5,-0.5 V 589 c -10e-5,-1.0628 -0.406,-2.084 -1.1367,-2.8438 l -0.01,-0.01 L 394.707,584 h 2.793 c 0.6761,0.01 0.6761,-1.0096 0,-1 h -3.9395 c -0.3255,-0.042 -0.6029,0.235 -0.5605,0.5605 V 587.5 c -0.01,0.6761 1.0096,0.6761 1,0 v -2.793 l 2.1426,2.1426 c 0.5484,0.5702 0.8573,1.3426 0.8574,2.1504 v 2 h -12 v -8.2852 L 388.707,579 Z"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="ccccscccccccssssscccccccccccccccccc" />
- <path
- inkscape:connector-curvature="0"
- id="path20392"
- d="m 154.49904,493.99904 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 3 a 0.50005,0.50005 0 0 0 0.5,0.5 h 0.86133 l -0.82812,3.30664 a 0.50005,0.50005 0 0 0 -0.002,0.006 0.50005,0.50005 0 0 0 -0.0352,0.14258 0.50005,0.50005 0 0 0 0,0.004 l -1.48047,5.91993 a 0.50005,0.50005 0 0 0 0.48437,0.62304 h 4.92383 a 0.50005,0.50005 0 0 0 0.14453,0 h 4.90821 a 0.50005,0.50005 0 0 0 0.48437,-0.3789 l 3.03711,-11.99024 a 0.50005,0.50005 0 0 0 -0.48437,-0.62109 l -4.91016,-0.006 a 0.50005,0.50005 0 0 0 -0.20117,0 l -3.40235,-0.006 v -0.5 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m 0.5,1 h 2 v 2 h -0.92187 a 0.50005,0.50005 0 0 0 -0.14453,0 h -0.9336 z m 3,1 2.85938,0.004 -1.24805,4.99609 h -3.96875 l 0.75,-3 h 1.10742 a 0.50005,0.50005 0 0 0 0.5,-0.5 z m 3.89063,0.006 3.98047,0.006 -1.26367,4.98828 h -3.96485 z m -6.49805,5.99414 h 3.96875 l -1.25195,5.00195 h -3.9668 z m 5,0 h 3.96094 l -1.26758,5.00195 h -3.94336 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="M 426.49214,518.99219 A 0.50005,0.50005 0 0 0 425.99995,519.5 v 6 a 0.50005,0.50005 0 1 0 1,0 v -2.92578 a 0.50005,0.50005 0 0 0 0.5,0.41797 h 1 a 0.50005,0.50005 0 1 0 0,-1 h -1 a 0.50005,0.50005 0 0 0 -0.5,0.42187 V 519.5 a 0.50005,0.50005 0 0 0 -0.50781,-0.50781 z m 13,0 A 0.50005,0.50005 0 0 0 438.99995,519.5 v 6 a 0.50005,0.50005 0 1 0 1,0 v -6 a 0.50005,0.50005 0 0 0 -0.50781,-0.50781 z m -4.99805,0.002 a 0.50005,0.50005 0 0 0 -0.34766,0.85937 l 2.64649,2.64649 -2.64649,2.64648 a 0.50005,0.50005 0 1 0 0.70704,0.70703 l 3,-3 a 0.50005,0.50005 0 0 0 0,-0.70703 l -3,-3 a 0.50005,0.50005 0 0 0 -0.35938,-0.15234 z M 430.49995,522 a 0.50005,0.50005 0 1 0 0,1 h 1 a 0.50005,0.50005 0 1 0 0,-1 z m 3,0 a 0.50005,0.50005 0 1 0 0,1 h 1 a 0.50005,0.50005 0 1 0 0,-1 z"
- id="path20420"
- inkscape:connector-curvature="0" />
- <path
- id="path19004-3"
- d="m 512,536 c -0.52447,0 -1.0237,0.21715 -1.39258,0.57617 C 510.23866,536.93533 510,537.43678 510,538.00195 V 548 c 8e-5,0.53017 0.21103,1.03915 0.58594,1.41406 C 510.96085,549.78897 511.46978,550 512,550 h 1.5 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -10 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 H 512 c -0.45232,0 -1,-0.47106 -1,-0.99805 0,-0.26349 0.1383,-0.51454 0.33203,-0.69922 C 511.52545,537.11905 511.77501,537 512,537 h 6 v 2 h 2 v -2 h 2 v 2.00586 L 520,539 v 2 l 2,0.006 v 2 L 520,543 v 2 l 2,0.006 V 547 h -1.99414 l -0.01,-2 h -2 l 0.01,2 H 515 v 1 h 8.5 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -11 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 h -11 z m 8,7 v -2 h -2 v 2 z"
- style="display:inline;opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;enable-background:new"
- inkscape:connector-curvature="0" />
- <path
- sodipodi:nodetypes="cccccccccc"
- inkscape:connector-curvature="0"
- d="m 516,545 h 2 v -2 h -2 z m 0,-4 h 2 v -2 h -2 z"
- style="display:inline;opacity:0.8;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;enable-background:new"
- id="path19014-3-8" />
- <g
- transform="translate(42.000006)"
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g6098">
- <path
- id="circle20459-6"
- transform="translate(-42)"
- d="m 469.08398,415.58594 c -0.81593,0.95753 -1.21878,2.22985 -1.04296,3.52148 0.24625,1.80912 1.56436,3.29294 3.33203,3.75 1.43669,0.37149 2.93514,-0.006 4.03515,-0.9414 -0.29636,0.0501 -0.5984,0.084 -0.9082,0.084 -0.38579,0 -0.76279,-0.0423 -1.12695,-0.11914 -0.56283,0.14546 -1.16207,0.15983 -1.75,0.008 -1.37737,-0.35614 -2.39992,-1.50634 -2.5918,-2.91601 -0.0626,-0.45958 -0.0236,-0.91417 0.0879,-1.34571 C 469.04268,417.26409 469,416.88831 469,416.50391 c 0,-0.31305 0.0328,-0.61873 0.084,-0.91797 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.8;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999988;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- sodipodi:nodetypes="cssccscc"
- id="circle20463-7"
- transform="translate(-42)"
- d="M 473.08594,412.25 C 471.30049,412.84735 470,414.51742 470,416.5 c 0,2.47936 2.02064,4.5 4.5,4.5 0.48878,0 0.95142,-0.0971 1.39258,-0.24219 -0.56289,-0.17378 -1.08535,-0.43906 -1.55664,-0.77343 C 472.47547,419.89744 471,418.3827 471,416.5 c 0,-1.08365 0.4989,-2.0367 1.26758,-2.67773 0.18577,-0.57127 0.46679,-1.09859 0.81836,-1.57227 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- inkscape:connector-curvature="0"
- id="circle19345"
- d="m 435.5,411 c -2.47344,0 -4.5,2.02656 -4.5,4.5 0,2.47344 2.02656,4.5 4.5,4.5 2.47344,0 4.5,-2.02656 4.5,-4.5 0,-2.47344 -2.02656,-4.5 -4.5,-4.5 z m 0,2 c 1.39256,0 2.5,1.10744 2.5,2.5 0,1.39256 -1.10744,2.5 -2.5,2.5 -1.39256,0 -2.5,-1.10744 -2.5,-2.5 0,-1.39256 1.10744,-2.5 2.5,-2.5 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
- </g>
- <path
- style="display:inline;opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:3.70000005;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:new"
- d="m 240.51382,409.98613 a 0.50005,0.50005 0 0 0 -0.3594,0.1524 l -3,3 a 0.50005,0.50005 0 1 0 0.707,0.707 l 3,-3 a 0.50005,0.50005 0 0 0 -0.3476,-0.8594 z m 5,0 a 0.50005,0.50005 0 0 0 -0.3594,0.1524 l -8,8 a 0.50005,0.50005 0 1 0 0.707,0.707 l 8,-8 a 0.50005,0.50005 0 0 0 -0.3476,-0.8594 z m 5,0 a 0.50005,0.50005 0 0 0 -0.3594,0.1524 l -4.416,4.416 c 0.2729,0.1952 0.5118,0.4341 0.707,0.707 l 4.416,-4.416 a 0.50005,0.50005 0 0 0 -0.3476,-0.8594 z m 0,5 a 0.50005,0.50005 0 0 0 -0.3594,0.1524 l -8,8 a 0.50005,0.50005 0 1 0 0.707,0.707 l 8,-8 a 0.50005,0.50005 0 0 0 -0.3476,-0.8594 z m -6.5059,1.0059 a 1.0000001,1 0 0 0 -1,1 1.0000001,1 0 0 0 1,1 1.0000001,1 0 0 0 1,-1 1.0000001,1 0 0 0 -1,-1 z m -2.4375,2.7305 -4.416,4.416 a 0.50005,0.50005 0 1 0 0.707,0.707 l 4.416,-4.416 c -0.2729,-0.1952 -0.5118,-0.4341 -0.707,-0.707 z m 8.9434,1.2636 a 0.50005,0.50005 0 0 0 -0.3594,0.1524 l -3,3 a 0.50005,0.50005 0 1 0 0.707,0.707 l 3,-3 a 0.50005,0.50005 0 0 0 -0.3476,-0.8594 z"
- id="path21556-6"
- inkscape:connector-curvature="0"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\path21556-6.png"
- inkscape:export-xdpi="115"
- inkscape:export-ydpi="115" />
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g19348"
- transform="translate(-252,-1102)">
- <g
- style="fill:#ffffff;stroke:#ffffff"
- id="g19344">
- <g
- id="g19337"
- style="opacity:0;fill:#ffffff" />
- <path
- inkscape:connector-curvature="0"
- id="path19342"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 701,1726 v 7.25 c 0,0.4861 0.17047,0.94 0.49023,1.2598 0.31977,0.3197 0.77366,0.4902 1.25977,0.4902 h 6.5 c 0.48611,0 0.94,-0.1705 1.25977,-0.4902 C 710.82953,1734.19 711,1733.7361 711,1733.25 V 1726 h -1 v 7.25 c 0,0.2639 -0.0795,0.435 -0.19727,0.5527 C 709.685,1733.9205 709.51389,1734 709.25,1734 h -6.5 c -0.26389,0 -0.435,-0.08 -0.55273,-0.1973 C 702.07953,1733.685 702,1733.5139 702,1733.25 V 1726 Z m 3.5,-4 c -0.27613,0 -0.49997,0.2239 -0.5,0.5 v 1.5 h -3.5 c -0.67616,-0.01 -0.67616,1.0096 0,1 h 11 c 0.67616,0.01 0.67616,-1.0096 0,-1 H 708 v -1.5 c -3e-5,-0.2761 -0.22387,-0.5 -0.5,-0.5 z m 0.5,1 h 2 v 1 h -2 z"
- sodipodi:nodetypes="cscsscsccscsscscccccccccccccccccc" />
+ <g transform="translate(122.00977,-1668.9941)" id="g20207-3" style="fill:#ffffff">
+ <path inkscape:connector-curvature="0" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.7;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 346.49414,1805.9941 a 0.50005,0.50005 0 0 0 -0.34766,0.8594 l 3,3 C 348.44086,1810.7157 348,1811.8024 348,1813 c 2e-5,1.197 0.44143,2.2825 1.14648,3.1445 l -3,3 a 0.50005,0.50005 0 1 0 0.70704,0.7071 l 3,-3 c 0.86236,0.7061 1.94846,1.1484 3.14648,1.1484 0.73402,0 1.42595,-0.1693 2.05469,-0.4551 l -0.77344,-0.7734 C 353.87701,1816.9083 353.45144,1817 353,1817 c -2.21502,0 -3.99996,-1.785 -4,-4 -10e-6,-2.2151 1.78494,-4 4,-4 2.21506,0 4.00001,1.7849 4,4 -10e-6,0.4593 -0.093,0.8925 -0.23438,1.3027 l 0.76954,0.7696 c 0.29106,-0.6335 0.46483,-1.3311 0.46484,-2.0723 0,-1.198 -0.44234,-2.2841 -1.14844,-3.1465 l 3.00196,-3.0019 a 0.50005,0.50005 0 0 0 -0.36329,-0.8575 0.50005,0.50005 0 0 0 -0.34375,0.1504 l -3.00195,3.002 C 355.28248,1808.4414 354.19705,1808 353,1808 c -1.19759,0 -2.28425,0.4409 -3.14648,1.1465 l -3,-3 a 0.50005,0.50005 0 0 0 -0.35938,-0.1524 z" id="path20884-9"/>
+ <path inkscape:connector-curvature="0" id="path20886-9" transform="translate(427.99023,1668.9941)" d="m -74.990234,142.01953 c -1.09866,0 -2,0.9013 -2,2 0,1.0986 0.90134,2 2,2 0.381313,0 0.73472,-0.11501 1.039062,-0.30273 a 0.50005,0.50005 0 0 0 0.107422,0.15625 l 4.146484,4.14648 h -1.621093 a 0.50005,0.50005 0 1 0 0,1 h 2.828125 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -2.82812 a 0.50005,0.50005 0 1 0 -1,0 v 1.62109 l -4.146485,-4.14648 a 0.50005,0.50005 0 0 0 -0.15625,-0.10743 c 0.187715,-0.30434 0.302735,-0.65777 0.302735,-1.03906 0,-1.0987 -0.90134,-2 -2,-2 z m 0,1 c 0.5582,0 1,0.4418 1,1 0,0.5581 -0.4418,1 -1,1 -0.5582,0 -1,-0.4419 -1,-1 0,-0.5582 0.4418,-1 1,-1 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
+ </g>
+ <g style="display:inline;fill:#ffffff;enable-background:new" id="g20897-5" transform="translate(399.00976,-125.9939)">
+ <path inkscape:connector-curvature="0" id="path20888-1" transform="translate(171.99024,125.9939)" d="m -71.318359,158.00586 a 0.50005,0.50005 0 1 0 0,1 h 1.689453 l -3.382813,4.26953 c -0.291076,-0.16603 -0.621698,-0.26953 -0.978515,-0.26953 -0.733151,0 -1.370542,0.40645 -1.71875,1 h -4.582032 l 1.146485,-1.14648 a 0.50005,0.50005 0 0 0 -0.363281,-0.85743 0.50005,0.50005 0 0 0 -0.34375,0.15039 l -2,2 a 0.50005,0.50005 0 0 0 0,0.70704 l 2,2 a 0.50005,0.50005 0 1 0 0.707031,-0.70704 l -1.146485,-1.14648 h 4.300782 c 0,1.09865 0.901352,2 2,2 1.098648,0 2,-0.90135 2,-2 0,-0.37821 -0.113913,-0.72852 -0.298828,-1.03125 l 3.298828,-4.16211 v 1.52148 a 0.50005,0.50005 0 1 0 1,0 v -2.82812 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m -2.671875,6 c 0.558208,0 1,0.44179 1,1 0,0.55821 -0.441792,1 -1,1 -0.558208,0 -1,-0.44179 -1,-1 0,-0.55821 0.441792,-1 1,-1 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
+ <path inkscape:connector-curvature="0" id="path20890-1" d="m 99.244141,291.73828 a 0.50005,0.50005 0 0 0 -0.396485,0.81641 L 102.36133,297 h -1.68945 a 0.50005,0.50005 0 1 0 0,1 H 103.5 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -2.82812 a 0.50005,0.50005 0 1 0 -1,0 v 1.52148 l -3.367188,-4.25977 a 0.50005,0.50005 0 0 0 -0.388671,-0.19531 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
+ </g>
+ <path inkscape:connector-curvature="0" id="path20072-2" d="m 97.917969,157.99219 c -1.58517,-0.0121 -3.159728,0.54254 -4.271485,1.65429 l -3.5,3.5 a 0.50005,0.50005 0 0 0 0,0.70704 l 2,2 a 0.50005,0.50005 0 0 0 0.707032,0 l 3.25,-3.25 c 0.584908,-0.58491 1.581654,-0.89809 2.345703,-0.69336 0.801559,0.21477 1.425851,0.83907 1.640621,1.64062 0.20473,0.76404 -0.108435,1.76078 -0.693356,2.3457 l -3.25,3.25 a 0.50005,0.50005 0 0 0 0,0.70704 l 2,2 a 0.50005,0.50005 0 0 0 0.707032,0 l 3.474604,-3.47657 a 0.50005,0.50005 0 0 0 0.0254,-0.0234 0.50005,0.50005 0 0 0 0.12109,-0.18946 c 2.06467,-2.25524 2.04105,-6.1641 -0.21875,-8.42383 -1.15788,-1.15791 -2.752722,-1.73596 -4.337891,-1.74804 z m -0.0078,1.0332 c 1.340871,0.01 2.694311,0.47748 3.638671,1.42188 1.8888,1.88873 1.87387,5.423 0.0977,7.19921 L 98.5,170.79297 97.207031,169.5 l 2.896489,-2.89648 c 0.84012,-0.84012 1.27,-2.1299 0.95312,-3.3125 -0.30683,-1.14511 -1.202555,-2.04084 -2.347656,-2.34766 -1.182591,-0.31687 -2.472368,0.11299 -3.3125,0.95312 L 92.5,164.79297 91.207031,163.5 l 3.146485,-3.14648 c 0.888243,-0.88825 2.21577,-1.33772 3.55664,-1.32813 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"/>
+ <path id="path20705" d="m 34.5,578 c -1.48507,0 -2.8535,0.46731 -3.86133,1.33594 C 29.63084,580.20456 29,581.48473 29,583 v 3.5 c 0,1.66667 0.001,2.82293 -0.89062,3.9375 -0.0709,0.0887 -0.10946,0.19893 -0.10938,0.3125 v 0.75 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 H 29 c 1.04885,0 2.13736,-0.63444 3.45898,-2.04297 l 1.66797,1.875 c 0.19883,0.22274 0.54727,0.22274 0.7461,0 l 1.62695,-1.83008 1.62695,1.83008 c 0.0947,0.10662 0.23044,0.16774 0.37305,0.16797 h 1 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -2 -1 -5.5 c 0,-1.51527 -0.63084,-2.79544 -1.63867,-3.66406 C 37.3535,578.46731 35.98507,578 34.5,578 Z m -3.00781,4 c 0.1353,-0.002 0.26563,0.0508 0.36133,0.14648 l 2,2 c 0.31479,0.315 0.09181,0.85335 -0.35352,0.85352 h -2 c -0.27613,-3e-5 -0.49997,-0.22387 -0.5,-0.5 v -2 c -10e-6,-0.27311 0.21911,-0.496 0.49219,-0.5 z m 5.99219,0 c 0.2822,-0.009 0.51573,0.21765 0.51562,0.5 v 2 c -3e-5,0.27613 -0.22387,0.49997 -0.5,0.5 h -2 c -0.44532,-1.7e-4 -0.66831,-0.53852 -0.35352,-0.85352 l 2,-2 c 0.0899,-0.0901 0.21072,-0.14248 0.3379,-0.14648 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path inkscape:connector-curvature="0" id="path13646-9" d="m 406.50195,437 a 0.50005,0.50005 0 0 0 -0.33203,0.84375 c 1.3239,1.43817 3.0824,4.1582 6.3457,4.1582 3.26331,0 5.02376,-2.72003 6.34766,-4.1582 a 0.50037481,0.50037481 0 1 0 -0.73633,-0.67773 c -1.43556,1.55946 -2.90607,3.83593 -5.61133,3.83593 -2.70525,0 -4.17576,-2.27647 -5.61132,-3.83593 A 0.50005,0.50005 0 0 0 406.50195,437 Z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"/>
+ <g transform="translate(315,-0.999996)" id="g13630-2" style="display:inline;opacity:1;fill:#ffffff;enable-background:new" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" inkscape:export-xdpi="96" inkscape:export-ydpi="96">
+ <path inkscape:connector-curvature="0" d="m 164.50781,224 a 0.50004997,0.50004997 0 0 1 0.43164,0.27148 c 1.44011,2.71955 1.43779,6.74164 -0.008,9.45899 a 0.50022794,0.50022794 0 1 1 -0.88281,-0.4707 c 1.24398,-2.33836 1.24519,-6.17912 0.006,-8.51954 A 0.50004997,0.50004997 0 0 1 164.50781,224 Z m -1.99609,1.99805 a 0.50004997,0.50004997 0 0 1 0.49219,0.50586 v 4.99218 a 0.50004997,0.50004997 0 1 1 -1,0 v -4.99218 a 0.50004997,0.50004997 0 0 1 0.50781,-0.50586 z M 159.25,223 c -0.1326,2e-5 -0.25976,0.0527 -0.35352,0.14648 L 156.04297,226 H 154.5 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 5 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 1.54297 l 2.85351,2.85352 c 0.0938,0.0938 0.22092,0.14646 0.35352,0.14648 h 0.25 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 V 223.78125 223.5 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" id="path13628-2"/>
+ </g>
+ <path inkscape:connector-curvature="0" id="path13642-1" d="m 453.5,222 a 0.50005,0.50005 0 0 0 -0.35352,0.14648 L 450.29297,225 H 448.5 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 5 a 0.50005,0.50005 0 0 0 0.5,0.5 h 1.79297 l 2.85351,2.85352 A 0.50005,0.50005 0 0 0 453.5,234 h 1 a 0.50005,0.50005 0 0 0 0.5,-0.5 V 222.78125 222.5 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m 0.20703,1 H 454 v 10 h -0.29297 l -2.85351,-2.85352 A 0.50005,0.50005 0 0 0 450.5,230 H 449 v -4 h 1.5 a 0.50005,0.50005 0 0 0 0.35352,-0.14648 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"/>
+ <g style="display:inline;fill:#ffffff;enable-background:new" id="g14825-7" transform="translate(-189,-315)">
+ <path sodipodi:nodetypes="cccccccccccccccccc" inkscape:connector-curvature="0" id="path14782-1" d="m 415.5,452.00781 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 3.00781 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 3.00781 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -3.00781 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z m -10,10 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 3.00781 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 3.00781 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -3.00781 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.00000036;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:7.40000248;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"/>
+ <path inkscape:connector-curvature="0" id="path14818-4" d="m 409.49219,454.00781 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 1.5 h -1.5 a 0.50005,0.50005 0 0 0 -0.5,0.5 l 0.008,3 a 0.50005,0.50005 0 1 0 1,-0.002 l -0.006,-2.49805 h 1.49805 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -1.5 h 2.5 a 0.50005,0.50005 0 1 0 0,-1 z m 3.99804,2.98828 a 0.50005,0.50005 0 0 0 -0.34375,0.15039 l -3,3.00782 a 0.50005,0.50005 0 1 0 0.70704,0.70508 l 3,-3.00586 a 0.50005,0.50005 0 0 0 -0.36329,-0.85743 z M 416.49219,458 A 0.50005,0.50005 0 0 0 416,458.50781 v 2.5 h -1.5 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 1.49805 L 411.50195,463 a 0.50005,0.50005 0 1 0 -0.004,1 l 3,0.008 a 0.50005,0.50005 0 0 0 0.50195,-0.5 v -1.5 h 1.5 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -3 A 0.50005,0.50005 0 0 0 416.49219,458 Z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.8;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"/>
+ </g>
+ <g id="g19296" transform="translate(850,-280)" style="fill:#ffffff"/>
+ <path inkscape:connector-curvature="0" id="path19316" d="m 541.57031,410.01758 c -0.79787,-0.038 -1.57177,0.27684 -2.16015,0.86523 l -1.26368,1.26367 a 0.50005,0.50005 0 1 0 0.70704,0.70704 l 1.26367,-1.26368 c 0.41161,-0.41161 0.88966,-0.59872 1.40429,-0.57422 0.51464,0.0245 1.08439,0.26993 1.63868,0.82422 0.55479,0.5548 0.80954,1.13546 0.83789,1.65235 0.0283,0.51688 -0.15241,0.9848 -0.57422,1.3789 a 0.50005,0.50005 0 0 0 -0.0137,0.0117 l -1.26368,1.26367 a 0.50005,0.50005 0 1 0 0.70704,0.70704 l 1.25195,-1.25196 c 0.61768,-0.57711 0.9366,-1.36125 0.89258,-2.16406 -0.044,-0.80281 -0.43566,-1.60948 -1.13086,-2.30469 -0.69571,-0.69571 -1.49901,-1.07724 -2.29688,-1.11523 z m -8.08008,6.97851 a 0.50005,0.50005 0 0 0 -0.34375,0.15039 l -1.25,1.25 c -0.58838,0.58839 -0.90322,1.36034 -0.86523,2.15821 0.038,0.79787 0.41952,1.60311 1.11523,2.29883 0.69521,0.6952 1.50384,1.08487 2.30664,1.1289 0.80281,0.044 1.585,-0.27294 2.16211,-0.89062 l 1.23829,-1.23828 a 0.50005,0.50005 0 1 0 -0.70704,-0.70704 l -1.25,1.25 a 0.50005,0.50005 0 0 0 -0.0117,0.0117 c -0.39411,0.42182 -0.86007,0.60452 -1.37696,0.57618 -0.51688,-0.0283 -1.0995,-0.2831 -1.65429,-0.8379 -0.55429,-0.55428 -0.79776,-1.12404 -0.82227,-1.63867 -0.0245,-0.51463 0.16065,-0.99268 0.57227,-1.40429 l 1.25,-1.25 a 0.50005,0.50005 0 0 0 -0.36329,-0.85743 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
+ <path id="path19349" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 534.23047,436.74023 a 1.0001,1.0001 0 0 0 -0.6875,0.30274 l -1.47656,1.47656 c -0.71563,0.66862 -1.1007,1.61087 -1.04883,2.55664 0.0519,0.94577 0.50998,1.86545 1.27539,2.63086 0.76642,0.76642 1.68942,1.21503 2.6289,1.25977 0.93949,0.0447 1.85838,-0.33299 2.53516,-1.00977 l 1.5,-1.5 a 1.0001,1.0001 0 1 0 -1.41406,-1.41406 l -1.5,1.5 c -0.32323,0.32322 -0.65433,0.4455 -1.02735,0.42773 -0.37301,-0.0178 -0.82501,-0.19415 -1.30859,-0.67773 -0.48459,-0.48459 -0.6709,-0.9542 -0.69141,-1.32813 -0.0205,-0.37392 0.0941,-0.68177 0.41797,-0.98437 a 1.0001,1.0001 0 0 0 0.0234,-0.0234 l 1.5,-1.5 a 1.0001,1.0001 0 0 0 -0.72656,-1.7168 z m 6.84765,-5.70703 c -0.93948,-0.0447 -1.85838,0.33299 -2.53515,1.00977 l -1.5,1.5 a 1.0001,1.0001 0 1 0 1.41406,1.41406 l 1.5,-1.5 c 0.32322,-0.32322 0.65433,-0.4455 1.02734,-0.42773 0.37302,0.0178 0.82502,0.19415 1.3086,0.67773 0.48459,0.48459 0.6709,0.9542 0.6914,1.32813 0.0205,0.37392 -0.0941,0.68177 -0.41796,0.98437 a 1.0001,1.0001 0 0 0 -0.0234,0.0234 l -1.5,1.5 a 1.0001,1.0001 0 1 0 1.41406,1.41406 l 1.47656,-1.47656 c 0.71562,-0.66862 1.1007,-1.61087 1.04883,-2.55664 -0.0519,-0.94577 -0.50998,-1.86545 -1.27539,-2.63086 -0.76642,-0.76642 -1.68942,-1.21503 -2.62891,-1.25977 z m -1.09765,3.95703 a 1.0001,1.0001 0 0 0 -0.6875,0.30274 l -4,4 a 1.0001,1.0001 0 1 0 1.41406,1.41406 l 4,-4 a 1.0001,1.0001 0 0 0 -0.72656,-1.7168 z" inkscape:connector-curvature="0"/>
+ <path inkscape:connector-curvature="0" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 433.5,433 c -3.27784,-9.4e-4 -5.036,2.7211 -6.36328,4.16211 -0.17644,0.19146 -0.17644,0.48627 0,0.67773 1.3275,1.44124 3.08593,4.15993 6.36328,4.16211 3.27801,0.002 5.03608,-2.72118 6.36328,-4.16211 0.17644,-0.19146 0.17644,-0.48627 0,-0.67773 C 438.53587,435.72096 436.77755,433.00094 433.5,433 Z m 0,1 a 3.4999952,3.4999933 0 0 1 3.5,3.5 3.4999952,3.4999933 0 0 1 -3.5,3.5 3.4999952,3.4999933 0 0 1 -3.5,-3.5 3.4999952,3.4999933 0 0 1 3.5,-3.5 z m 0,2 a 1.4999952,1.4999944 0 0 0 -1.5,1.5 1.4999952,1.4999944 0 0 0 1.5,1.5 1.4999952,1.4999944 0 0 0 1.5,-1.5 1.4999952,1.4999944 0 0 0 -1.5,-1.5 z" id="path19347-7"/>
+ <g id="g19953" transform="translate(823.99998,415.99995)" style="display:inline;fill:#ffffff;enable-background:new">
+ <path inkscape:connector-curvature="0" id="path19355-8-8" d="m -725.49998,-278.99995 c -2.725,0 -4.12655,1.87775 -5.35938,3.15234 -0.18751,0.19385 -0.18751,0.50147 0,0.69532 1.23247,1.2748 2.63438,3.15234 5.35938,3.15234 2.725,0 4.12648,-1.87882 5.35938,-3.15625 0.18625,-0.1936 0.18624,-0.49976 0,-0.69336 -1.23336,-1.2779 -2.63506,-3.15039 -5.35938,-3.15039 z m 0,1 c 1.37479,0 2.5,1.12521 2.5,2.5 0,1.37479 -1.12521,2.5 -2.5,2.5 -1.37479,0 -2.5,-1.12521 -2.5,-2.5 0,-1.37479 1.12521,-2.5 2.5,-2.5 z m 0,1 c -0.83435,0 -1.5,0.66565 -1.5,1.5 0,0.83435 0.66565,1.5 1.5,1.5 0.83435,0 1.5,-0.66565 1.5,-1.5 0,-0.83435 -0.66565,-1.5 -1.5,-1.5 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"/>
+ <path sodipodi:nodetypes="cccccccccc" inkscape:connector-curvature="0" id="path19363-8-5" d="m -733.49805,-273 c -0.35971,-10e-4 -0.6028,0.36671 -0.46093,0.69727 l 3,7 c 0.18151,0.42185 0.78799,0.39645 0.93359,-0.0391 l 0.91992,-2.76367 2.76367,-0.91992 c 0.43555,-0.1456 0.46095,-0.75208 0.0391,-0.93359 l -7,-3 c -0.0617,-0.0267 -0.12812,-0.0406 -0.19532,-0.041 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"/>
+ </g>
+ <g id="g19964" transform="translate(823.99998,415.99995)" style="display:inline;fill:#ffffff;enable-background:new">
+ <path inkscape:connector-curvature="0" id="path20627-2" d="m -704.49998,-278.99995 c -2.725,0 -4.12655,1.87775 -5.35938,3.15234 -0.18751,0.19385 -0.1875,0.50147 0,0.69532 1.23247,1.2748 2.63438,3.15234 5.35938,3.15234 2.725,0 4.12648,-1.87882 5.35938,-3.15625 0.18625,-0.1936 0.18624,-0.49976 0,-0.69336 -1.23336,-1.2779 -2.63506,-3.15039 -5.35938,-3.15039 z m 0,1 c 1.37479,0 2.5,1.12521 2.5,2.5 0,1.37479 -1.12521,2.5 -2.5,2.5 -1.37479,0 -2.5,-1.12521 -2.5,-2.5 0,-1.37479 1.12521,-2.5 2.5,-2.5 z m 0,1 c -0.83435,0 -1.5,0.66565 -1.5,1.5 0,0.83435 0.66565,1.5 1.5,1.5 0.83435,0 1.5,-0.66565 1.5,-1.5 0,-0.83435 -0.66565,-1.5 -1.5,-1.5 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"/>
+ <path inkscape:connector-curvature="0" id="path20671-8" d="m -712.49805,-273 a 0.50005,0.50005 0 0 0 -0.46093,0.69727 l 3,7 a 0.50005,0.50005 0 1 0 0.91796,-0.39454 l -2.50781,-5.85156 5.85156,2.50781 a 0.50005,0.50005 0 1 0 0.39454,-0.91796 l -7,-3 a 0.50005,0.50005 0 0 0 -0.19532,-0.041 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"/>
+ </g>
+ <path inkscape:connector-curvature="0" id="path19886" d="m 489.50195,227 a 0.50005,0.50005 0 0 0 -0.33203,0.84375 c 1.3239,1.43817 3.0824,4.1582 6.3457,4.1582 3.26331,0 5.02376,-2.72003 6.34766,-4.1582 a 0.50037481,0.50037481 0 1 0 -0.73633,-0.67773 c -1.43556,1.55946 -2.90607,3.83593 -5.61133,3.83593 -2.70525,0 -4.17576,-2.27647 -5.61132,-3.83593 A 0.50005,0.50005 0 0 0 489.50195,227 Z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"/>
+ <g inkscape:export-ydpi="96" inkscape:export-xdpi="96" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" transform="matrix(-1,0,0,1,970.03864,-190)" id="g19901" style="display:inline;fill:#ffffff;enable-background:new">
+ <path inkscape:connector-curvature="0" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 516.5,223 c -3.27784,-9.4e-4 -5.036,2.7211 -6.36328,4.16211 -0.17644,0.19146 -0.17644,0.48627 0,0.67773 1.32749,1.44124 3.08593,4.16011 6.36328,4.16211 3.27801,0.002 5.03607,-2.72118 6.36328,-4.16211 0.17644,-0.19146 0.17644,-0.48627 0,-0.67773 C 521.53587,225.72096 519.77754,223.00094 516.5,223 Z m 0,1 a 3.4999952,3.4999933 0 0 1 3.5,3.5 3.4999952,3.4999933 0 0 1 -3.5,3.5 3.4999952,3.4999933 0 0 1 -3.5,-3.5 3.4999952,3.4999933 0 0 1 3.5,-3.5 z m 0,2 a 1.4999952,1.4999944 0 0 0 -1.5,1.5 1.4999952,1.4999944 0 0 0 1.5,1.5 1.4999952,1.4999944 0 0 0 1.5,-1.5 1.4999952,1.4999944 0 0 0 -1.5,-1.5 z" transform="matrix(-1,0,0,1,970.03864,190)" id="path19890"/>
+ </g>
+ <g transform="translate(1e-5,4e-6)" id="g20019-5" style="display:inline;opacity:0.6;fill:#ffffff;enable-background:new">
+ <path inkscape:connector-curvature="0" id="path20013-1" d="m 365.5,433 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 8.5 c 0,1.09865 0.90135,2 2,2 1.09865,0 2,-0.90135 2,-2 v -8.5 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m 0.5,1 h 2 v 8 c 0,0.55821 -0.44179,1 -1,1 -0.55821,0 -1,-0.44179 -1,-1 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"/>
+ <path id="path20015-6" transform="translate(718,837)" d="m -345.50781,-403 a 0.50005,0.50005 0 0 0 -0.34571,0.14648 L -348,-400.70703 v 1.41406 l 2.5,-2.5 1.29297,1.29297 -3.79297,3.79297 v 1.41406 l 4.85352,-4.85351 a 0.50005,0.50005 0 0 0 0,-0.70704 l -2,-2 A 0.50005,0.50005 0 0 0 -345.50781,-403 Z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.8;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" inkscape:connector-curvature="0"/>
+ <path sodipodi:nodetypes="ccccccccccc" inkscape:connector-curvature="0" id="path20017-8" d="m 373.25,440 -1,1 H 375 v 2 h -4.75 l -1,1 h 6.25 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -3 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"/>
+ </g>
+ <g transform="translate(483,-126)" id="g11187" style="display:inline;fill:#ffffff;enable-background:new">
+ <path inkscape:connector-curvature="0" id="path10969" transform="translate(-483,126)" d="m 533.49219,157.99219 a 0.50005,0.50005 0 0 0 -0.38867,0.19531 0.50005,0.50005 0 0 0 -0.004,0.006 l -1.95313,1.95312 a 0.50005,0.50005 0 1 0 0.70704,0.70704 L 533,159.70703 v 7.57422 c -0.59355,0.34821 -1,0.9856 -1,1.71875 0,1.09865 0.90135,2 2,2 0.73315,0 1.37054,-0.40645 1.71875,-1 h 7.57422 l -1.14649,1.14648 a 0.50005,0.50005 0 1 0 0.70704,0.70704 l 1.95703,-1.95704 a 0.50005,0.50005 0 0 0 0.002,-0.79296 0.50005,0.50005 0 0 0 -0.006,-0.004 l -1.95312,-1.95313 a 0.50005,0.50005 0 0 0 -0.35938,-0.15234 0.50005,0.50005 0 0 0 -0.34766,0.85938 L 543.29297,169 H 536 c 0,-1.09865 -0.90135,-2 -2,-2 v -7.29297 l 1.14648,1.14649 a 0.50005,0.50005 0 1 0 0.70704,-0.70704 l -1.95704,-1.95703 a 0.50005,0.50005 0 0 0 -0.40429,-0.19726 z M 534,168 c 0.55821,0 1,0.44179 1,1 0,0.55821 -0.44179,1 -1,1 -0.55821,0 -1,-0.44179 -1,-1 0,-0.55821 0.44179,-1 1,-1 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
+ </g>
+ <g transform="translate(42.000003,4e-6)" id="g20430-5" style="display:inline;fill:#ffffff;enable-background:new"/>
+ <g id="g6336" style="fill:#ffffff">
+ <path inkscape:connector-curvature="0" id="path17349-5" d="m 156.49609,393.24609 a 0.50005,0.50005 0 0 0 -0.27343,0.91993 c 0.927,0.618 2.37713,0.83398 3.77734,0.83398 1.39708,0 2.84978,-0.21561 3.77734,-0.83398 a 0.50005,0.50005 0 1 0 -0.55468,-0.83204 C 162.65022,393.71561 161.2722,394 160,394 c -1.27563,0 -2.64966,-0.28402 -3.22266,-0.66602 a 0.50005,0.50005 0 0 0 -0.28125,-0.0879 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.8;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"/>
+ <path inkscape:connector-curvature="0" id="path17351" d="m 160,389 c -1.5802,0 -3.01318,0.28529 -4.0957,0.77734 -0.54126,0.24603 -0.9977,0.54261 -1.33789,0.90821 C 154.22621,391.05115 154,391.5062 154,392 v 3 5 c 0,0.4938 0.22621,0.94885 0.56641,1.31445 0.34019,0.3656 0.79663,0.66218 1.33789,0.90821 C 156.98682,402.71471 158.4198,403 160,403 c 1.5802,0 3.01318,-0.28529 4.0957,-0.77734 0.54126,-0.24603 0.9977,-0.54261 1.33789,-0.90821 C 165.77379,400.94885 166,400.4938 166,400 v -5 -3 c 0,-0.4938 -0.22621,-0.94885 -0.56641,-1.31445 -0.34019,-0.3656 -0.79663,-0.66218 -1.33789,-0.90821 C 163.01318,389.28529 161.5802,389 160,389 Z m 0,1 c 1.45737,0 2.77356,0.27473 3.68164,0.6875 0.45404,0.20638 0.8031,0.4471 1.01953,0.67969 C 164.9176,391.59978 165,391.80344 165,392 v 3 5 c 0,0.19656 -0.0824,0.40022 -0.29883,0.63281 -0.21643,0.23259 -0.56549,0.47331 -1.01953,0.67969 C 162.77356,401.72527 161.45737,402 160,402 c -1.45737,0 -2.77356,-0.27473 -3.68164,-0.6875 -0.45404,-0.20638 -0.8031,-0.4471 -1.01953,-0.67969 C 155.0824,400.40022 155,400.19656 155,400 v -5 -3 c 0,-0.19656 0.0824,-0.40022 0.29883,-0.63281 0.21643,-0.23259 0.56549,-0.47331 1.01953,-0.67969 C 157.22644,390.27473 158.54263,390 160,390 Z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"/>
+ </g>
+ <g id="g6344" style="fill:#ffffff">
+ <path inkscape:connector-curvature="0" id="path17355-2" d="m 181,390 c -2.19521,0 -4.16987,0.64081 -5.61914,1.70898 -1.44928,1.06818 -2.38087,2.59156 -2.38086,4.29102 0,1.69945 0.93159,3.22284 2.38086,4.29102 C 176.83013,401.35919 178.80479,402 181,402 c 2.19521,0 4.16987,-0.64081 5.61914,-1.70898 C 188.06841,399.22284 189,397.69945 189,396 c 0,-1.69945 -0.93159,-3.22284 -2.38086,-4.29102 C 185.16987,390.64081 183.19522,390 181,390 Z m 0,1 c 1.99941,0 3.77332,0.59085 5.02539,1.51367 C 187.27746,393.4365 188,394.66345 188,396 c 0,1.33655 -0.72254,2.5635 -1.97461,3.48633 C 184.77332,400.40915 182.99941,401 181,401 c -1.99941,0 -3.77332,-0.59085 -5.02539,-1.51367 C 174.72254,398.5635 174,397.33655 174,396 c 0,-1.33654 0.72254,-2.5635 1.97461,-3.48633 C 177.22668,391.59085 179.00059,391 181,391 Z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
+ <path inkscape:connector-curvature="0" id="path17357" d="M 178.49219,394.49219 A 0.50005,0.50005 0 0 0 178,395.00195 v 0.25 c 5.5e-4,0.26762 0.10104,0.43267 0.23438,0.61719 0.13369,0.18504 0.32089,0.36854 0.5664,0.53516 0.49103,0.33322 1.21831,0.59296 2.19727,0.5957 0.98079,0.003 1.71165,-0.25661 2.20312,-0.5918 0.24574,-0.16759 0.43113,-0.35326 0.56445,-0.53906 0.13296,-0.18529 0.23383,-0.34989 0.23438,-0.61719 v -0.002 -0.24805 a 0.50005,0.50005 0 1 0 -1,-0.004 v 0.2521 c 0,-0.11242 0.009,-0.0414 -0.0469,0.0371 -0.0564,0.0786 -0.16044,0.18856 -0.3164,0.29492 -0.31192,0.21273 -0.83026,0.42022 -1.63477,0.41797 -0.80517,-0.002 -1.32795,-0.21164 -1.64062,-0.42383 -0.15634,-0.10609 -0.26023,-0.21522 -0.31641,-0.29297 C 178.98874,395.20545 179,395.13726 179,395.25 v -0.25195 a 0.50005,0.50005 0 0 0 -0.50781,-0.50586 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.8;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
+ </g>
+ <rect style="display:inline;overflow:visible;visibility:visible;opacity:0;fill:#ffffff;stroke:none;stroke-width:3;marker:none;enable-background:accumulate" id="rect17374-9" width="12.937499" height="12.937502" x="111.0625" y="390.0625"/>
+ <g id="g6320" style="fill:#ffffff">
+ <path inkscape:connector-curvature="0" id="rect17377-5" d="m 111.4668,389 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 13.0957 a 0.50005,0.50005 0 0 0 0.5,0.5 H 124.5 a 0.50005,0.50005 0 0 0 0.5,-0.5 V 389.5 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m 0.5,1 H 124 v 12.0957 h -12.0332 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
+ <path inkscape:connector-curvature="0" id="path17381" d="M 115.49219,390.99219 A 0.50005,0.50005 0 0 0 115,391.5 v 1.5 h -1.5 a 0.50005,0.50005 0 1 0 0,1 h 1.5 v 4 h -1.5 a 0.50005,0.50005 0 1 0 0,1 h 1.5 v 1.5 a 0.50005,0.50005 0 1 0 1,0 V 399 h 4 v 1.5 a 0.50005,0.50005 0 1 0 1,0 V 399 h 1.5 a 0.50005,0.50005 0 1 0 0,-1 H 121 v -4 h 1.5 a 0.50005,0.50005 0 1 0 0,-1 H 121 v -1.5 a 0.50005,0.50005 0 1 0 -1,0 v 1.5 h -4 v -1.5 a 0.50005,0.50005 0 0 0 -0.50781,-0.50781 z M 116,394 h 4 v 4 h -4 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.8;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
+ </g>
+ <g id="g6312" style="fill:#ffffff">
+ <path inkscape:connector-curvature="0" id="path17390-7" mask="none" d="m 96,389 a 0.50005,0.50005 0 0 0 -0.240234,0.0605 l -5.5,3 A 0.50005,0.50005 0 0 0 90,392.5 v 7 a 0.50005,0.50005 0 0 0 0.259766,0.43945 l 5.5,3 A 0.50005,0.50005 0 0 0 96,403 h 1 a 0.50005,0.50005 0 0 0 0.240234,-0.0605 l 5.499996,-3 A 0.50005,0.50005 0 0 0 103,399.5 v -7 a 0.50005,0.50005 0 0 0 -0.25977,-0.43945 l -5.499996,-3 A 0.50005,0.50005 0 0 0 97,389 Z m 0.126953,1 h 0.746094 L 102,392.79688 v 6.40624 L 96.873047,402 H 96.126953 L 91,399.20312 v -6.40624 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
+ <path inkscape:connector-curvature="0" id="path17400" d="m 92.5,392 a 0.50005,0.50005 0 1 0 0,1 H 98.513672 100.5 a 0.50005,0.50005 0 1 0 0,-1 z m 6.013672,1 a 0.50005,0.50005 0 0 0 -0.404297,0.1875 l -3.595703,4.49609 -2.613281,-3.48437 a 0.50078095,0.50078095 0 1 0 -0.800782,0.60156 l 3,4 A 0.50005,0.50005 0 0 0 94.486328,399 a 0.50005,0.50005 0 0 0 0.404297,-0.1875 l 3.595703,-4.49609 2.613282,3.48437 a 0.50078015,0.50078015 0 1 0 0.80078,-0.60156 l -2.999999,-4 A 0.50005,0.50005 0 0 0 98.513672,393 Z m -4.027344,6 H 92.5 a 0.50005,0.50005 0 1 0 0,1 h 8 a 0.50005,0.50005 0 1 0 0,-1 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.8;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
+ </g>
+ <rect y="389" x="69" height="14" width="14" id="rect17416-6" style="display:inline;overflow:visible;visibility:visible;opacity:0;fill:#ffffff;stroke:none;stroke-width:3;marker:none;enable-background:accumulate"/>
+ <g id="g6304" style="fill:#ffffff">
+ <path inkscape:connector-curvature="0" id="path17418-8" d="m 76,388.9375 c -3.894591,0 -7.0625,3.1679 -7.0625,7.0625 0,3.89459 3.167908,7.0625 7.0625,7.0625 3.894592,0 7.0625,-3.16791 7.0625,-7.0625 0,-3.8946 -3.167909,-7.0625 -7.0625,-7.0625 z m 0,1 c 3.354153,0 6.0625,2.70834 6.0625,6.0625 0,3.35415 -2.708348,6.0625 -6.0625,6.0625 -3.354152,0 -6.0625,-2.70835 -6.0625,-6.0625 0,-3.35416 2.708347,-6.0625 6.0625,-6.0625 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
+ <path inkscape:connector-curvature="0" id="path17424" d="m 75.476562,390.74414 a 0.50005,0.50005 0 0 0 -0.40039,0.24024 C 74.184416,392.40936 74,393.97991 74,396 c 0,0.33476 0.05553,0.60654 0.06836,0.92188 -1.166939,-0.0798 -2.112698,-0.42664 -3.201171,-1.52344 a 0.50005,0.50005 0 1 0 -0.710938,0.70312 c 1.257685,1.26731 2.545083,1.75219 3.986328,1.83008 0.125352,1.11893 0.352857,2.1649 0.933594,3.08594 a 0.50122772,0.50122772 0 1 0 0.847656,-0.53516 C 75.471077,399.76437 75.263567,398.92779 75.142578,398 H 76 c 2.575016,3.5e-4 3.847653,-0.61523 4.722656,-1.05273 a 0.50005,0.50005 0 1 0 -0.445312,-0.89454 C 79.402347,396.49023 78.424978,397.00033 76,397 H 75.072266 C 75.055487,396.65897 75,396.38014 75,396 c 0,-1.96025 0.172858,-3.28436 0.923828,-4.48438 a 0.50005,0.50005 0 0 0 -0.447266,-0.77148 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.8;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
+ </g>
+ <g id="g6296" style="fill:#ffffff">
+ <path inkscape:connector-curvature="0" id="path8006-3-4" d="m 30.5,389 a 0.50005,0.50005 0 0 0 -0.353516,0.14648 l -3,3 A 0.50005,0.50005 0 0 0 27,392.5 v 10 a 0.50005,0.50005 0 0 0 0.5,0.5 h 10 a 0.50005,0.50005 0 0 0 0.353516,-0.14648 l 3,-3 A 0.50005,0.50005 0 0 0 41,399.5 v -10 A 0.50005,0.50005 0 0 0 40.5,389 Z m 0.207031,1 H 40 v 9.29297 L 37.292969,402 H 28 v -9.29297 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
+ <path inkscape:connector-curvature="0" id="path8009-8" d="m 39.490234,389.98828 a 0.50005,0.50005 0 0 0 -0.34375,0.15234 L 37.292969,392 H 29.5 a 0.50005,0.50005 0 1 0 0,1 H 37 v 7.5 a 0.50005,0.50005 0 1 0 1,0 v -7.79297 l 1.853516,-1.86133 a 0.50005,0.50005 0 0 0 -0.363282,-0.85742 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.8;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
+ </g>
+ <g id="g6397" style="fill:#ffffff">
+ <path inkscape:connector-curvature="0" id="rect12565-1-6" d="m 258.5,32 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 13 a 0.50005,0.50005 0 0 0 0.5,0.5 h 13 A 0.50005,0.50005 0 0 0 272,45.5 V 41 h -1 v 4 H 259 V 33 h 12 v 1 h 1 V 32.5 A 0.50005,0.50005 0 0 0 271.5,32 Z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 261.5,35 c -0.67616,-0.0096 -0.67616,1.009563 0,1 H 272 v -1 z m 0,2 c -0.67616,-0.0096 -0.67616,1.009563 0,1 H 272 v -1 z m 0,2 c -0.67616,-0.0096 -0.67616,1.009563 0,1 H 272 v -1 z" id="path12613-4-1" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccccccccccccc"/>
+ </g>
+ <g id="g6375" style="fill:#ffffff">
+ <rect y="31.999996" x="27" height="14" width="14" id="rect12107-7" style="display:inline;overflow:visible;visibility:visible;opacity:0;fill:#ffffff;stroke:none;stroke-width:3;marker:none;enable-background:accumulate"/>
+ <path inkscape:connector-curvature="0" id="path12109-5" d="m 34,32 c -3.860074,0 -7,3.139926 -7,7 0,3.860083 3.139927,7 7,7 3.860082,0 7,-3.139918 7,-7 0,-3.860073 -3.139917,-7 -7,-7 z m 0,1 c 3.319643,0 6,2.680365 6,6 0,3.319644 -2.680356,6 -6,6 -3.319635,0 -6,-2.680357 -6,-6 0,-3.319634 2.680366,-6 6,-6 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
+ <path inkscape:connector-curvature="0" id="path12115-8" d="M 28.507812,38.244141 A 0.50005,0.50005 0 0 0 28.15625,39.101562 C 29.521925,40.47768 30.901684,41.000009 32.5,41 H 34 c 2.575017,3.52e-4 3.847654,-0.615233 4.722656,-1.052734 A 0.50005,0.50005 0 1 0 38.277344,39.052734 C 37.402346,39.490233 36.424977,40.000332 34,40 h -1.5 c -1.401674,7e-6 -2.403186,-0.362534 -3.632812,-1.601562 a 0.50005,0.50005 0 0 0 -0.359376,-0.154297 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.8;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
+ </g>
+ <g id="g6383" style="fill:#ffffff">
+ <path inkscape:connector-curvature="0" id="path12123-3" d="m 51.5,32 a 0.50005,0.50005 0 0 0 -0.353516,0.146484 l -3,3 A 0.50005,0.50005 0 0 0 48,35.5 v 10 a 0.50005,0.50005 0 0 0 0.5,0.5 h 10 a 0.50005,0.50005 0 0 0 0.353516,-0.146484 l 3,-3 A 0.50005,0.50005 0 0 0 62,42.5 v -10 A 0.50005,0.50005 0 0 0 61.5,32 Z m 0.207031,1 H 61 v 9.292969 L 58.292969,45 H 49 v -9.292969 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
+ <path inkscape:connector-curvature="0" id="path12125-1" d="m 60.490234,32.988281 a 0.50005,0.50005 0 0 0 -0.34375,0.152344 L 58.292969,35 H 50.5 a 0.50005,0.50005 0 1 0 0,1 H 58 v 7.5 a 0.50005,0.50005 0 1 0 1,0 v -7.792969 l 1.853516,-1.861328 a 0.50005,0.50005 0 0 0 -0.363282,-0.857422 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.8;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
+ </g>
+ <g id="g6328" style="fill:#ffffff">
+ <path inkscape:connector-curvature="0" id="path12377-5" d="m 135.5,389 a 0.50004997,0.50004997 0 0 0 -0.33008,0.12305 l -2,1.75 A 0.50004997,0.50004997 0 0 0 133,391.25 V 393 h -1.5 a 0.50004997,0.50004997 0 0 0 -0.5,0.5 v 1.5 c 0,0.98611 0.74054,1.6889 1.56836,1.91992 0.71525,0.19961 1.51421,0.0482 2.18359,-0.38476 L 136,397.93945 V 400.25 c 0,0.88889 0.39419,1.61848 0.96875,2.07812 C 137.54331,402.78777 138.275,403 139,403 c 0.725,0 1.45669,-0.21223 2.03125,-0.67188 C 141.60581,401.86848 142,401.13889 142,400.25 v -2.31055 l 1.24805,-1.40429 c 0.66938,0.43298 1.46834,0.58437 2.18359,0.38476 C 146.25946,396.6889 147,395.98611 147,395 v -1.5 A 0.50004997,0.50004997 0 0 0 146.5,393 H 145 v -1.75 a 0.50004997,0.50004997 0 0 0 -0.16992,-0.37695 l -2,-1.75 A 0.50004997,0.50004997 0 0 0 142.5,389 h -2 a 0.50004997,0.50004997 0 0 0 -0.35352,0.14648 L 139.29297,390 h -0.58594 l -0.85351,-0.85352 A 0.50004997,0.50004997 0 0 0 137.5,389 Z m 0.1875,1 h 1.60547 l 0.85351,0.85352 A 0.50004997,0.50004997 0 0 0 138.5,391 h 1 a 0.50004997,0.50004997 0 0 0 0.35352,-0.14648 L 140.70703,390 h 1.60547 L 144,391.47852 V 393.5 a 0.50004997,0.50004997 0 0 0 0.5,0.5 h 1.5 v 1 c 0,0.51389 -0.32196,0.8111 -0.83789,0.95508 -0.39408,0.10997 -0.8212,-0.0629 -1.20703,-0.25 a 0.50004997,0.50004997 0 0 0 -0.82813,-0.53711 l -2,2.25 A 0.50004997,0.50004997 0 0 0 141,397.75 v 2.5 c 0,0.61111 -0.23081,1.00652 -0.59375,1.29688 C 140.04331,401.83723 139.525,402 139,402 c -0.525,0 -1.04331,-0.16277 -1.40625,-0.45312 C 137.23081,401.25652 137,400.86111 137,400.25 v -2.5 a 0.50004997,0.50004997 0 0 0 -0.12695,-0.33203 l -2,-2.25 a 0.50004997,0.50004997 0 0 0 -0.82813,0.53711 c -0.38583,0.18707 -0.81295,0.35997 -1.20703,0.25 C 132.32196,395.8111 132,395.51389 132,395 v -1 h 1.5 a 0.50004997,0.50004997 0 0 0 0.5,-0.5 v -2.02344 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"/>
+ <path inkscape:connector-curvature="0" id="path12383" d="m 137,392 a 0.50005,0.50005 0 0 0 -0.35352,0.14648 l -0.5,0.5 A 0.50005,0.50005 0 0 0 136,393 v 0.5 a 0.50005,0.50005 0 1 0 1,0 v -0.29297 L 137.20703,393 H 137.5 a 0.50005,0.50005 0 1 0 0,-1 z m 4,0 a 0.50005,0.50005 0 0 0 -0.35352,0.14648 l -0.5,0.5 A 0.50005,0.50005 0 0 0 140,393 v 0.5 a 0.50005,0.50005 0 1 0 1,0 v -0.29297 L 141.20703,393 H 141.5 a 0.50005,0.50005 0 1 0 0,-1 z m -2.5,3 a 0.50005,0.50005 0 1 0 0,1 h 1 a 0.50005,0.50005 0 1 0 0,-1 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.8;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"/>
+ </g>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 363.51562,184 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 4 a 0.50005,0.50005 0 1 0 1,0 V 185 h 12 v 3.5 a 0.50005,0.50005 0 1 0 1,0 v -4 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z" id="path10187-3-4" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 70.5,410 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 3 a 0.50005,0.50005 0 0 0 0.5,0.5 h 0.859375 l -0.824219,3.29883 a 0.50005,0.50005 0 0 0 -0.04102,0.16797 l -1.478516,5.91211 A 0.50005,0.50005 0 0 0 69.5,424 h 4.921875 a 0.50005,0.50005 0 0 0 0.160156,0 h 4.892578 a 0.50005,0.50005 0 0 0 0.484375,-0.37695 l 3.03711,-11.99024 a 0.50005,0.50005 0 0 0 -0.484375,-0.62304 l -4.90625,-0.006 a 0.50005,0.50005 0 0 0 -0.205078,0 L 74,411 v -0.5 A 0.50005,0.50005 0 0 0 73.5,410 Z m 0.5,1 h 2 v 2 h -0.921875 a 0.50005,0.50005 0 0 0 -0.160156,0 H 71 Z m 3,1 2.859375,0.004 -1.25,4.99609 h -3.96875 l 0.75,-3 H 73.5 a 0.50005,0.50005 0 0 0 0.5,-0.5 z m 3.888672,0.004 3.980469,0.006 -1.263672,4.99 H 76.640625 Z M 71.390625,418 h 3.96875 l -1.25,5 h -3.96875 z m 5,0 h 3.960937 l -1.265624,5 h -3.945313 z" id="path14034" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 184.49609,623.99414 a 0.50005,0.50005 0 0 0 -0.34961,0.85938 L 186.29297,627 h -10.58594 l 2.14649,-2.14648 a 0.50005,0.50005 0 1 0 -0.70704,-0.70704 l -3,3 a 0.50005,0.50005 0 0 0 0,0.70704 l 3,3 a 0.50005,0.50005 0 1 0 0.70704,-0.70704 L 175.70703,628 h 10.58594 l -2.14649,2.14648 a 0.50005,0.50005 0 1 0 0.70704,0.70704 l 3,-3 a 0.50005,0.50005 0 0 0 0,-0.70704 l -3,-3 a 0.50005,0.50005 0 0 0 -0.35743,-0.15234 z" id="path13677-7" inkscape:connector-curvature="0"/>
+ <g id="g6391" style="fill:#ffffff">
+ <path inkscape:connector-curvature="0" id="path13580-7" d="m 72.5,32 a 0.50004997,0.50004997 0 0 0 -0.330078,0.123047 l -2,1.75 A 0.50004997,0.50004997 0 0 0 70,34.25 V 36 H 68.5 A 0.50004997,0.50004997 0 0 0 68,36.5 V 38 c 0,0.986111 0.740543,1.688903 1.568359,1.919922 0.715248,0.199604 1.51421,0.04822 2.183594,-0.384766 L 73,40.939453 V 43.25 c 0,0.888889 0.394191,1.618478 0.96875,2.078125 C 74.543309,45.787772 75.275,46 76,46 76.725,46 77.456691,45.787772 78.03125,45.328125 78.605809,44.868478 79,44.138889 79,43.25 v -2.310547 l 1.248047,-1.404297 c 0.669384,0.432987 1.468346,0.58437 2.183594,0.384766 C 83.259457,39.688903 84,38.986111 84,38 V 36.5 A 0.50004997,0.50004997 0 0 0 83.5,36 H 82 v -1.75 a 0.50004997,0.50004997 0 0 0 -0.169922,-0.376953 l -2,-1.75 A 0.50004997,0.50004997 0 0 0 79.5,32 h -2 a 0.50004997,0.50004997 0 0 0 -0.353516,0.146484 L 76.292969,33 H 75.707031 L 74.853516,32.146484 A 0.50004997,0.50004997 0 0 0 74.5,32 Z m 0.1875,1 h 1.605469 l 0.853515,0.853516 A 0.50004997,0.50004997 0 0 0 75.5,34 h 1 a 0.50004997,0.50004997 0 0 0 0.353516,-0.146484 L 77.707031,33 H 79.3125 L 81,34.478516 V 36.5 A 0.50004997,0.50004997 0 0 0 81.5,37 H 83 v 1 c 0,0.513889 -0.321957,0.811097 -0.837891,0.955078 -0.394082,0.109977 -0.821203,-0.06293 -1.207031,-0.25 a 0.50004997,0.50004997 0 0 0 -0.828125,-0.537109 l -2,2.25 A 0.50004997,0.50004997 0 0 0 78,40.75 v 2.5 c 0,0.611111 -0.230809,1.006522 -0.59375,1.296875 C 77.043309,44.837228 76.525,45 76,45 75.475,45 74.956691,44.837228 74.59375,44.546875 74.230809,44.256522 74,43.861111 74,43.25 v -2.5 a 0.50004997,0.50004997 0 0 0 -0.126953,-0.332031 l -2,-2.25 a 0.50004997,0.50004997 0 0 0 -0.828125,0.537109 c -0.385828,0.187069 -0.812949,0.359977 -1.207031,0.25 C 69.321957,38.811097 69,38.513889 69,38 v -1 h 1.5 A 0.50004997,0.50004997 0 0 0 71,36.5 v -2.023438 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"/>
+ <path inkscape:connector-curvature="0" id="path13586" d="m 74,35 a 0.50005,0.50005 0 0 0 -0.353516,0.146484 l -0.5,0.5 A 0.50005,0.50005 0 0 0 73,36 v 0.5 a 0.50005,0.50005 0 1 0 1,0 V 36.207031 L 74.207031,36 H 74.5 a 0.50005,0.50005 0 1 0 0,-1 z m 4,0 a 0.50005,0.50005 0 0 0 -0.353516,0.146484 l -0.5,0.5 A 0.50005,0.50005 0 0 0 77,36 v 0.5 a 0.50005,0.50005 0 1 0 1,0 V 36.207031 L 78.207031,36 H 78.5 a 0.50005,0.50005 0 1 0 0,-1 z m -2.5,3 a 0.50005,0.50005 0 1 0 0,1 h 1 a 0.50005,0.50005 0 1 0 0,-1 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.8;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"/>
+ </g>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 418.50786,518.99219 a 0.50005,0.50005 0 0 1 0.49219,0.50781 v 6 a 0.50005,0.50005 0 1 1 -1,0 v -2.92578 a 0.50005,0.50005 0 0 1 -0.5,0.41797 h -1 a 0.50005,0.50005 0 1 1 0,-1 h 1 a 0.50005,0.50005 0 0 1 0.5,0.42187 V 519.5 a 0.50005,0.50005 0 0 1 0.50781,-0.50781 z m -13,0 a 0.50005,0.50005 0 0 1 0.49219,0.50781 v 6 a 0.50005,0.50005 0 1 1 -1,0 v -6 a 0.50005,0.50005 0 0 1 0.50781,-0.50781 z m 4.99805,0.002 a 0.50005,0.50005 0 0 1 0.34766,0.85937 l -2.64649,2.64649 2.64649,2.64648 a 0.50005,0.50005 0 1 1 -0.70704,0.70703 l -3,-3 a 0.50005,0.50005 0 0 1 0,-0.70703 l 3,-3 a 0.50005,0.50005 0 0 1 0.35938,-0.15234 z M 414.50005,522 a 0.50005,0.50005 0 1 1 0,1 h -1 a 0.50005,0.50005 0 1 1 0,-1 z m -3,0 a 0.50005,0.50005 0 1 1 0,1 h -1 a 0.50005,0.50005 0 1 1 0,-1 z" id="path14267" inkscape:connector-curvature="0"/>
+ <g id="g6366" style="fill:#ffffff">
+ <path inkscape:connector-curvature="0" id="path14380-1" d="m 34,116 c -3.860075,0 -7,3.13992 -7,7 0,3.86007 3.139928,7 7,7 3.860072,0 7,-3.13993 7,-7 0,-3.86008 -3.139925,-7 -7,-7 z m 0,1 c 3.319633,0 6,2.68036 6,6 0,3.31963 -2.680364,6 -6,6 -3.319636,0 -6,-2.68037 -6,-6 0,-3.31964 2.680367,-6 6,-6 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
+ <path id="path14287" transform="translate(540,10)" d="m -506.01562,106.24414 a 0.50005,0.50005 0 0 0 -0.375,0.19336 c -0.70647,0.88308 -1.16919,1.99665 -1.41016,3.5625 H -511.75 c -0.67616,-0.01 -0.67616,1.00956 0,1 h 3.83203 c -0.0522,0.60644 -0.082,1.26334 -0.082,2 0,0.73665 0.0299,1.39356 0.082,2 H -511.75 c -0.67616,-0.01 -0.67616,1.00956 0,1 h 3.94922 c 0.24099,1.56587 0.70375,2.67949 1.41016,3.5625 a 0.50024408,0.50024408 0 0 0 0.78124,-0.625 c -0.56556,-0.70695 -0.96391,-1.59657 -1.18554,-2.9375 h 6.54492 c 0.67616,0.01 0.67616,-1.00956 0,-1 h -6.66797 c -0.0526,-0.59052 -0.082,-1.24749 -0.082,-2 0,-0.75251 0.0294,-1.40947 0.082,-2 h 6.66797 c 0.67616,0.01 0.67616,-1.00956 0,-1 h -6.54492 c 0.22165,-1.34096 0.62004,-2.23062 1.18554,-2.9375 a 0.50005,0.50005 0 0 0 -0.40624,-0.81836 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.8;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ </g>
+ <rect style="display:inline;overflow:visible;visibility:visible;opacity:0;fill:#ffffff;stroke:none;stroke-width:3;marker:none;enable-background:accumulate" id="rect14475-9" width="14" height="14" x="468" y="389"/>
+ <g id="g6259" style="fill:#ffffff">
+ <path inkscape:connector-curvature="0" id="path14478-2" d="m 475,388.9375 c -3.89459,0 -7.0625,3.1679 -7.0625,7.0625 0,3.89459 3.16791,7.0625 7.0625,7.0625 3.89459,0 7.0625,-3.16791 7.0625,-7.0625 0,-3.8946 -3.16791,-7.0625 -7.0625,-7.0625 z m 0,1 c 3.35415,0 6.0625,2.70834 6.0625,6.0625 0,3.35415 -2.70835,6.0625 -6.0625,6.0625 -3.35415,0 -6.0625,-2.70835 -6.0625,-6.0625 0,-3.35416 2.70835,-6.0625 6.0625,-6.0625 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
+ <path inkscape:connector-curvature="0" id="path14482" d="m 474.47656,390.74414 a 0.50005,0.50005 0 0 0 -0.40039,0.24024 C 473.18442,392.40936 473,393.97991 473,396 c 0,1.96736 0.17366,3.58622 1.07617,5.01758 a 0.50122941,0.50122941 0 1 0 0.84766,-0.53516 C 474.1712,399.28878 474,397.90804 474,396 c 0,-1.96025 0.17286,-3.28436 0.92383,-4.48438 a 0.50005,0.50005 0 0 0 -0.44727,-0.77148 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.8;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
+ </g>
+ <g id="g6251" style="fill:#ffffff">
+ <path inkscape:connector-curvature="0" id="path14492-1-5" d="m 452.5,389 c -0.79539,1.6e-4 -1.5587,0.31644 -2.12109,0.87891 l -2.5,2.5 C 447.31644,392.9413 447.00016,393.70461 447,394.5 v 5.5 c 1.7e-4,1.65084 1.34916,2.99983 3,3 h 5.5 c 0.79539,-1.6e-4 1.5587,-0.31644 2.12109,-0.87891 l 2.5,-2.5 c 0.56247,-0.56238 0.87875,-1.3257 0.87891,-2.12109 v -5.75 c -8e-5,-0.79524 -0.25969,-1.50187 -0.75391,-1.99609 C 459.75187,389.25969 459.04524,389.00008 458.25,389 Z m 0,1 h 5.75 c 0.58541,6e-5 1.00348,0.17535 1.28906,0.46094 0.28559,0.28558 0.46088,0.70365 0.46094,1.28906 v 5.75 c -10e-5,0.53061 -0.21073,1.03891 -0.58594,1.41406 l -2.5,2.5 C 456.53889,401.78928 456.03061,401.9999 455.5,402 H 450 c -1.11046,-1.1e-4 -1.99989,-0.88954 -2,-2 v -5.5 c 10e-5,-0.53061 0.21072,-1.03889 0.58594,-1.41406 l 2.5,-2.5 C 451.46111,390.21072 451.96939,390.0001 452.5,390 Z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"/>
+ <path inkscape:connector-curvature="0" id="path14494-2" d="m 458.49023,390.99609 a 0.50005,0.50005 0 0 0 -0.34375,0.15039 l -1,1 a 0.50005,0.50005 0 1 0 0.70704,0.70704 l 1,-1 a 0.50005,0.50005 0 0 0 -0.36329,-0.85743 z M 450.5,393 a 0.50005,0.50005 0 1 0 0,1 h 4 a 0.50005,0.50005 0 1 0 0,-1 z m 5.99219,1.99219 A 0.50005,0.50005 0 0 0 456,395.5 v 4 a 0.50005,0.50005 0 1 0 1,0 v -4 a 0.50005,0.50005 0 0 0 -0.50781,-0.50781 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.8;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"/>
+ </g>
+ <g id="g6275" style="fill:#ffffff">
+ <path inkscape:connector-curvature="0" id="path14559-8" d="m 519.02539,389.05664 c -1.23014,0.0645 -2.42356,0.6345 -3.37891,1.58984 l -4,4 c -0.95534,0.95535 -1.53001,2.15146 -1.59765,3.38477 -0.0676,1.23331 0.38786,2.49571 1.41406,3.50977 1.02392,1.0118 2.28158,1.46686 3.51172,1.40234 1.23014,-0.0645 2.42356,-0.6345 3.37891,-1.58984 l 4,-4 c 0.95534,-0.95535 1.53001,-2.15146 1.59765,-3.38477 0.0676,-1.23331 -0.38786,-2.4957 -1.41406,-3.50977 -1.02392,-1.0118 -2.28158,-1.46686 -3.51172,-1.40234 z m 0.0527,0.99805 c 0.95617,-0.0502 1.91199,0.28134 2.75586,1.11523 0.8416,0.83165 1.17171,1.78562 1.11914,2.74414 -0.0526,0.95853 -0.50462,1.93042 -1.30664,2.73242 l -4,4 c -0.80201,0.80202 -1.76844,1.24868 -2.7246,1.29883 -0.95617,0.0502 -1.91199,-0.28134 -2.75586,-1.11523 -0.8416,-0.83164 -1.17171,-1.78562 -1.11914,-2.74414 0.0526,-0.95853 0.50462,-1.93041 1.30664,-2.73242 l 4,-4 c 0.80201,-0.80202 1.76844,-1.24868 2.7246,-1.29883 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
+ <path inkscape:connector-curvature="0" id="path14564" d="m 517.47266,391.99414 a 0.50005,0.50005 0 0 0 -0.45899,0.62305 c 0.18668,0.77642 0.28491,1.42494 1.14063,2.24414 0.815,0.78022 1.39282,0.94312 2.24023,1.12695 a 0.50005,0.50005 0 1 0 0.21094,-0.97656 c -0.84931,-0.18425 -1.03849,-0.18255 -1.75977,-0.87305 -0.72218,-0.69136 -0.65665,-0.91268 -0.85937,-1.75586 a 0.50005,0.50005 0 0 0 -0.51367,-0.38867 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.8;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
+ </g>
+ <g id="g6267" style="fill:#ffffff">
+ <path inkscape:connector-curvature="0" id="path14468-2" d="m 499.91406,389.05664 c -0.77439,-0.15321 -1.63518,-0.1241 -2.51367,0.0664 -1.75698,0.38102 -3.63558,1.4051 -5.25391,3.02343 -1.61833,1.61833 -2.64241,3.49693 -3.02343,5.25391 -0.38103,1.75698 -0.11706,3.43764 0.96093,4.51563 1.07799,1.07798 2.75865,1.34196 4.51563,0.96093 1.75698,-0.38102 3.63558,-1.40511 5.25391,-3.02343 1.61832,-1.61833 2.64241,-3.49693 3.02343,-5.25391 0.38102,-1.75698 0.11705,-3.43764 -0.96093,-4.51563 -0.539,-0.53899 -1.22757,-0.87413 -2.00196,-1.02734 z m -0.21289,0.97656 c 0.61146,0.11888 1.12564,0.37564 1.50781,0.75782 0.76435,0.76434 1.0245,2.05973 0.69141,3.5957 -0.33309,1.53597 -1.26116,3.26702 -2.75391,4.75976 -1.49274,1.49275 -3.22379,2.42081 -4.75976,2.75391 -1.53597,0.3331 -2.83136,0.0729 -3.5957,-0.69141 -0.76435,-0.76434 -1.02451,-2.05973 -0.69141,-3.5957 0.33309,-1.53597 1.26117,-3.26702 2.75391,-4.75976 1.49274,-1.49275 3.22379,-2.42082 4.75976,-2.75391 0.76799,-0.16655 1.47643,-0.18529 2.08789,-0.0664 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.99999988;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
+ <path inkscape:connector-curvature="0" id="path14550" d="m 493.47266,393.99414 a 0.50005,0.50005 0 0 0 -0.45899,0.62305 c 0.22122,0.92011 0.78151,1.92168 1.64063,2.74414 0.81151,0.77689 1.74924,1.41197 2.74023,1.62695 a 0.50005,0.50005 0 1 0 0.21094,-0.97656 c -0.70573,-0.1531 -1.535,-0.67922 -2.25977,-1.37305 -0.71878,-0.6881 -1.19119,-1.55637 -1.35937,-2.25586 a 0.50005,0.50005 0 0 0 -0.51367,-0.38867 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.8;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
+ </g>
+ <path inkscape:connector-curvature="0" d="m 71.5,536 c -1.3819,0 -2.5,1.1181 -2.5,2.5 v 1 c 0,1.3818 1.118,2.5 2.5,2.5 h 9 c 1.382,0 2.5,-1.1182 2.5,-2.5 v -1 c 0,-1.3857 -1.13452,-2.48443 -2.51172,-2.48633 z m 3.5,1.00586 5.48633,0.008 c 0.8628,0 1.51367,0.63203 1.51367,1.48633 v 1 c 0,0.8578 -0.642,1.5 -1.5,1.5 H 75 Z M 71.5,544 c -1.3819,0 -2.5,1.1181 -2.5,2.5 v 1 c 0,1.3818 1.118,2.5 2.5,2.5 h 9 c 1.382,0 2.5,-1.1182 2.5,-2.5 v -1 c 0,-1.3857 -1.13452,-2.48443 -2.51172,-2.48633 z m 6.50977,1.00977 2.47656,0.004 c 0.8628,0 1.51367,0.63203 1.51367,1.48633 v 1 c 0,0.8578 -0.642,1.5 -1.5,1.5 H 78 Z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" id="path18055-4"/>
+ <g id="g6286" style="fill:#ffffff">
+ <path d="m 303.5,369 a 0.50005,0.50005 0 0 0 -0.35352,0.14648 l -3,3 A 0.50005,0.50005 0 0 0 300,372.5 v 9 a 0.50005,0.50005 0 0 0 0.5,0.5 h 9 a 0.50005,0.50005 0 0 0 0.35352,-0.14648 l 3,-3 A 0.50005,0.50005 0 0 0 313,378.5 v -9 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m 0.20703,1 H 312 v 8.29297 L 309.29297,381 H 301 v -8.29297 z m 1.79883,5.03711 c -0.82251,0 -1.5,0.67749 -1.5,1.5 0,0.8225 0.67749,1.5 1.5,1.5 0.8225,0 1.5,-0.6775 1.5,-1.5 0,-0.82251 -0.6775,-1.5 -1.5,-1.5 z m 0,1 c 0.28206,0 0.5,0.21793 0.5,0.5 0,0.28206 -0.21794,0.5 -0.5,0.5 -0.28207,0 -0.5,-0.21794 -0.5,-0.5 0,-0.28207 0.21793,-0.5 0.5,-0.5 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" id="path19061-0-7-6" inkscape:connector-curvature="0"/>
+ <path inkscape:connector-curvature="0" id="path8009-8-5-8-9-1-5" d="M 312.14648,369.14648 309.29297,372 H 300.5 v 1 h 8.5 l 0.006,8.53711 h 1 l -0.006,-8.83008 2.85352,-2.85351 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.7;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"/>
+ </g>
+ <path id="path18998-9" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 398,581 h -1 v -2 l 0.8535,-0.8535 c 0.091,0.09 0.1465,0.2154 0.1465,0.3535 z m -1,-2 0.8535,-0.8535 C 397.7635,578.0555 397.6381,578 397.5,578 h -9 c -0.1326,0 -0.2598,0.053 -0.3535,0.1465 l -4,4.0078 c -0.094,0.094 -0.1465,0.2209 -0.1465,0.3535 V 591.5 c 0,0.2761 0.2239,0.5 0.5,0.5 h 13 c 0.2761,0 0.5,-0.2239 0.5,-0.5 V 589 c -10e-5,-1.0628 -0.406,-2.084 -1.1367,-2.8438 l -0.01,-0.01 L 394.707,584 h 2.793 c 0.6761,0.01 0.6761,-1.0096 0,-1 h -3.9395 c -0.3255,-0.042 -0.6029,0.235 -0.5605,0.5605 V 587.5 c -0.01,0.6761 1.0096,0.6761 1,0 v -2.793 l 2.1426,2.1426 c 0.5484,0.5702 0.8573,1.3426 0.8574,2.1504 v 2 h -12 v -8.2852 L 388.707,579 Z" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccscccccccssssscccccccccccccccccc"/>
+ <path inkscape:connector-curvature="0" id="path20392" d="m 154.49904,493.99904 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 3 a 0.50005,0.50005 0 0 0 0.5,0.5 h 0.86133 l -0.82812,3.30664 a 0.50005,0.50005 0 0 0 -0.002,0.006 0.50005,0.50005 0 0 0 -0.0352,0.14258 0.50005,0.50005 0 0 0 0,0.004 l -1.48047,5.91993 a 0.50005,0.50005 0 0 0 0.48437,0.62304 h 4.92383 a 0.50005,0.50005 0 0 0 0.14453,0 h 4.90821 a 0.50005,0.50005 0 0 0 0.48437,-0.3789 l 3.03711,-11.99024 a 0.50005,0.50005 0 0 0 -0.48437,-0.62109 l -4.91016,-0.006 a 0.50005,0.50005 0 0 0 -0.20117,0 l -3.40235,-0.006 v -0.5 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m 0.5,1 h 2 v 2 h -0.92187 a 0.50005,0.50005 0 0 0 -0.14453,0 h -0.9336 z m 3,1 2.85938,0.004 -1.24805,4.99609 h -3.96875 l 0.75,-3 h 1.10742 a 0.50005,0.50005 0 0 0 0.5,-0.5 z m 3.89063,0.006 3.98047,0.006 -1.26367,4.98828 h -3.96485 z m -6.49805,5.99414 h 3.96875 l -1.25195,5.00195 h -3.9668 z m 5,0 h 3.96094 l -1.26758,5.00195 h -3.94336 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="M 426.49214,518.99219 A 0.50005,0.50005 0 0 0 425.99995,519.5 v 6 a 0.50005,0.50005 0 1 0 1,0 v -2.92578 a 0.50005,0.50005 0 0 0 0.5,0.41797 h 1 a 0.50005,0.50005 0 1 0 0,-1 h -1 a 0.50005,0.50005 0 0 0 -0.5,0.42187 V 519.5 a 0.50005,0.50005 0 0 0 -0.50781,-0.50781 z m 13,0 A 0.50005,0.50005 0 0 0 438.99995,519.5 v 6 a 0.50005,0.50005 0 1 0 1,0 v -6 a 0.50005,0.50005 0 0 0 -0.50781,-0.50781 z m -4.99805,0.002 a 0.50005,0.50005 0 0 0 -0.34766,0.85937 l 2.64649,2.64649 -2.64649,2.64648 a 0.50005,0.50005 0 1 0 0.70704,0.70703 l 3,-3 a 0.50005,0.50005 0 0 0 0,-0.70703 l -3,-3 a 0.50005,0.50005 0 0 0 -0.35938,-0.15234 z M 430.49995,522 a 0.50005,0.50005 0 1 0 0,1 h 1 a 0.50005,0.50005 0 1 0 0,-1 z m 3,0 a 0.50005,0.50005 0 1 0 0,1 h 1 a 0.50005,0.50005 0 1 0 0,-1 z" id="path20420" inkscape:connector-curvature="0"/>
+ <path id="path19004-3" d="m 512,536 c -0.52447,0 -1.0237,0.21715 -1.39258,0.57617 C 510.23866,536.93533 510,537.43678 510,538.00195 V 548 c 8e-5,0.53017 0.21103,1.03915 0.58594,1.41406 C 510.96085,549.78897 511.46978,550 512,550 h 1.5 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -10 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 H 512 c -0.45232,0 -1,-0.47106 -1,-0.99805 0,-0.26349 0.1383,-0.51454 0.33203,-0.69922 C 511.52545,537.11905 511.77501,537 512,537 h 6 v 2 h 2 v -2 h 2 v 2.00586 L 520,539 v 2 l 2,0.006 v 2 L 520,543 v 2 l 2,0.006 V 547 h -1.99414 l -0.01,-2 h -2 l 0.01,2 H 515 v 1 h 8.5 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -11 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 h -11 z m 8,7 v -2 h -2 v 2 z" style="display:inline;opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;enable-background:new" inkscape:connector-curvature="0"/>
+ <path sodipodi:nodetypes="cccccccccc" inkscape:connector-curvature="0" d="m 516,545 h 2 v -2 h -2 z m 0,-4 h 2 v -2 h -2 z" style="display:inline;opacity:0.8;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;enable-background:new" id="path19014-3-8"/>
+ <g transform="translate(42.000006)" style="display:inline;fill:#ffffff;enable-background:new" id="g6098">
+ <path id="circle20459-6" transform="translate(-42)" d="m 469.08398,415.58594 c -0.81593,0.95753 -1.21878,2.22985 -1.04296,3.52148 0.24625,1.80912 1.56436,3.29294 3.33203,3.75 1.43669,0.37149 2.93514,-0.006 4.03515,-0.9414 -0.29636,0.0501 -0.5984,0.084 -0.9082,0.084 -0.38579,0 -0.76279,-0.0423 -1.12695,-0.11914 -0.56283,0.14546 -1.16207,0.15983 -1.75,0.008 -1.37737,-0.35614 -2.39992,-1.50634 -2.5918,-2.91601 -0.0626,-0.45958 -0.0236,-0.91417 0.0879,-1.34571 C 469.04268,417.26409 469,416.88831 469,416.50391 c 0,-0.31305 0.0328,-0.61873 0.084,-0.91797 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.8;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999988;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path sodipodi:nodetypes="cssccscc" id="circle20463-7" transform="translate(-42)" d="M 473.08594,412.25 C 471.30049,412.84735 470,414.51742 470,416.5 c 0,2.47936 2.02064,4.5 4.5,4.5 0.48878,0 0.95142,-0.0971 1.39258,-0.24219 -0.56289,-0.17378 -1.08535,-0.43906 -1.55664,-0.77343 C 472.47547,419.89744 471,418.3827 471,416.5 c 0,-1.08365 0.4989,-2.0367 1.26758,-2.67773 0.18577,-0.57127 0.46679,-1.09859 0.81836,-1.57227 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path inkscape:connector-curvature="0" id="circle19345" d="m 435.5,411 c -2.47344,0 -4.5,2.02656 -4.5,4.5 0,2.47344 2.02656,4.5 4.5,4.5 2.47344,0 4.5,-2.02656 4.5,-4.5 0,-2.47344 -2.02656,-4.5 -4.5,-4.5 z m 0,2 c 1.39256,0 2.5,1.10744 2.5,2.5 0,1.39256 -1.10744,2.5 -2.5,2.5 -1.39256,0 -2.5,-1.10744 -2.5,-2.5 0,-1.39256 1.10744,-2.5 2.5,-2.5 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
+ </g>
+ <path style="display:inline;opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:3.70000005;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:new" d="m 240.51382,409.98613 a 0.50005,0.50005 0 0 0 -0.3594,0.1524 l -3,3 a 0.50005,0.50005 0 1 0 0.707,0.707 l 3,-3 a 0.50005,0.50005 0 0 0 -0.3476,-0.8594 z m 5,0 a 0.50005,0.50005 0 0 0 -0.3594,0.1524 l -8,8 a 0.50005,0.50005 0 1 0 0.707,0.707 l 8,-8 a 0.50005,0.50005 0 0 0 -0.3476,-0.8594 z m 5,0 a 0.50005,0.50005 0 0 0 -0.3594,0.1524 l -4.416,4.416 c 0.2729,0.1952 0.5118,0.4341 0.707,0.707 l 4.416,-4.416 a 0.50005,0.50005 0 0 0 -0.3476,-0.8594 z m 0,5 a 0.50005,0.50005 0 0 0 -0.3594,0.1524 l -8,8 a 0.50005,0.50005 0 1 0 0.707,0.707 l 8,-8 a 0.50005,0.50005 0 0 0 -0.3476,-0.8594 z m -6.5059,1.0059 a 1.0000001,1 0 0 0 -1,1 1.0000001,1 0 0 0 1,1 1.0000001,1 0 0 0 1,-1 1.0000001,1 0 0 0 -1,-1 z m -2.4375,2.7305 -4.416,4.416 a 0.50005,0.50005 0 1 0 0.707,0.707 l 4.416,-4.416 c -0.2729,-0.1952 -0.5118,-0.4341 -0.707,-0.707 z m 8.9434,1.2636 a 0.50005,0.50005 0 0 0 -0.3594,0.1524 l -3,3 a 0.50005,0.50005 0 1 0 0.707,0.707 l 3,-3 a 0.50005,0.50005 0 0 0 -0.3476,-0.8594 z" id="path21556-6" inkscape:connector-curvature="0" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\path21556-6.png" inkscape:export-xdpi="115" inkscape:export-ydpi="115"/>
+ <g style="display:inline;fill:#ffffff;enable-background:new" id="g19348" transform="translate(-252,-1102)">
+ <g style="fill:#ffffff;stroke:#ffffff" id="g19344">
+ <g id="g19337" style="opacity:0;fill:#ffffff"/>
+ <path inkscape:connector-curvature="0" id="path19342" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 701,1726 v 7.25 c 0,0.4861 0.17047,0.94 0.49023,1.2598 0.31977,0.3197 0.77366,0.4902 1.25977,0.4902 h 6.5 c 0.48611,0 0.94,-0.1705 1.25977,-0.4902 C 710.82953,1734.19 711,1733.7361 711,1733.25 V 1726 h -1 v 7.25 c 0,0.2639 -0.0795,0.435 -0.19727,0.5527 C 709.685,1733.9205 709.51389,1734 709.25,1734 h -6.5 c -0.26389,0 -0.435,-0.08 -0.55273,-0.1973 C 702.07953,1733.685 702,1733.5139 702,1733.25 V 1726 Z m 3.5,-4 c -0.27613,0 -0.49997,0.2239 -0.5,0.5 v 1.5 h -3.5 c -0.67616,-0.01 -0.67616,1.0096 0,1 h 11 c 0.67616,0.01 0.67616,-1.0096 0,-1 H 708 v -1.5 c -3e-5,-0.2761 -0.22387,-0.5 -0.5,-0.5 z m 0.5,1 h 2 v 1 h -2 z" sodipodi:nodetypes="cscsscsccscsscscccccccccccccccccc"/>
+ </g>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 704.49219,1726.9922 c -0.27614,0 -0.4965,0.2317 -0.49219,0.5078 v 4 c -0.01,0.6762 1.00956,0.6762 1,0 v -4 c 0.004,-0.2823 -0.22555,-0.5122 -0.50781,-0.5078 z m 3,0 c -0.27614,0 -0.4965,0.2317 -0.49219,0.5078 v 4 c -0.01,0.6762 1.00956,0.6762 1,0 v -4 c 0.004,-0.2823 -0.22555,-0.5122 -0.50781,-0.5078 z" id="path19346" inkscape:connector-curvature="0" sodipodi:nodetypes="cccccccccccc"/>
+ </g>
+ <path inkscape:connector-curvature="0" id="path21010-5" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 115.5,442 a 0.50004997,0.50004997 0 1 0 0,1 h 5 a 0.50004997,0.50004997 0 1 0 0,-1 z m 0,2 a 0.50004997,0.50004997 0 1 0 0,1 h 1.5 v 0.5 a 0.50004997,0.50004997 0 0 0 0.5,0.5 h 1 a 0.50004997,0.50004997 0 0 0 0.5,-0.5 V 445 h 1.5 a 0.50004997,0.50004997 0 1 0 0,-1 z m 2.5,-13 c -3.2833,0 -6,2.4414 -6,5.5 0,1.7222 1.0876,3.2946 2.1465,4.3535 0.094,0.094 0.2209,0.1465 0.3535,0.1465 h 7 c 0.1326,0 0.2598,-0.053 0.3535,-0.1465 0.7109,-0.7108 1.4222,-1.6513 1.8262,-2.7148 C 123.8776,437.6179 124,437.066 124,436.5 c 0,-3.0586 -2.7167,-5.5 -6,-5.5 z m -2.5098,5.0059 c 0.1351,0 0.2662,0.047 0.3633,0.1406 L 116.707,437 h 2.586 l 0.8535,-0.8535 c 0.4712,-0.4506 1.1576,0.2358 0.707,0.707 L 120,437.707 v 1.793 0.5 h -1 v -0.5 -1.5 h -2 v 1.5 0.5 h -1 v -0.5 -1.793 l -0.8535,-0.8535 c -0.302,-0.3119 -0.09,-0.8341 0.3437,-0.8476 z"/>
+ <g transform="translate(477,-1375)" id="g20978-8" style="display:inline;fill:#ffffff;enable-background:new">
+ <path id="path20982-6" transform="translate(42,-42)" d="m -377.5,1847 c -2.13972,0 -3.85417,1.5351 -4.30664,3.541 -0.63415,-0.8727 -1.53397,-1.541 -2.69336,-1.541 -1.92708,0 -3.5,1.573 -3.5,3.5 0,1.9271 1.57294,3.5 3.5,3.5 h 7 c 2.47937,0 4.5,-2.0207 4.5,-4.5 0,-2.4793 -2.02063,-4.5 -4.5,-4.5 z m 0,3 c 0.82251,0 1.5,0.6775 1.5,1.5 0,0.8225 -0.67749,1.5 -1.5,1.5 -0.82251,0 -1.5,-0.6775 -1.5,-1.5 0,-0.8225 0.67749,-1.5 1.5,-1.5 z m -7,1 c 0.82251,0 1.5,0.6775 1.5,1.5 0,0.8225 -0.67749,1.5 -1.5,1.5 -0.82251,0 -1.5,-0.6775 -1.5,-1.5 0,-0.8225 0.67749,-1.5 1.5,-1.5 z m 7,0 c -0.28208,0 -0.5,0.2179 -0.5,0.5 0,0.2821 0.21792,0.5 0.5,0.5 0.28208,0 0.5,-0.2179 0.5,-0.5 0,-0.2821 -0.21792,-0.5 -0.5,-0.5 z m -3.94922,0.998 c 8e-5,7e-4 -8e-5,0 0,0 H -381.5 a 0.50005006,0.50005006 0 0 0 0.0508,0 z m -3.05078,0 c -0.28208,0 -0.5,0.2179 -0.5,0.5 0,0.2821 0.21792,0.5 0.5,0.5 0.28208,0 0.5,-0.2179 0.5,-0.5 0,-0.2821 -0.21792,-0.5 -0.5,-0.5 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.00000012;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0.5;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path id="path20992-7" transform="translate(42,-42)" d="M -385.50781,1856.9922 A 0.50005,0.50005 0 0 0 -386,1857.5 v 1 1 a 0.50005,0.50005 0 0 0 1,0 v -0.5 h 1 v 1.5 c 3e-5,0.1326 0.0527,0.2597 0.14648,0.3535 l 1,1 c 0.0937,0.094 0.22092,0.1465 0.35352,0.1465 h 5 c 0.27613,0 0.49997,-0.2239 0.5,-0.5 v -4 c -3e-5,-0.2761 -0.22387,-0.5 -0.5,-0.5 h -6 c -0.27613,0 -0.49997,0.2239 -0.5,0.5 v 0.5 h -1 v -0.5 a 0.50005,0.50005 0 0 0 -0.50781,-0.5078 z m 11.99219,0.01 c -0.10819,0 -0.21237,0.042 -0.29688,0.1094 l -2.5,2 c -0.25044,0.2002 -0.25044,0.581 0,0.7812 l 2.5,2 c 0.32747,0.2621 0.81265,0.029 0.8125,-0.3906 v -4 c 1.1e-4,-0.2823 -0.23341,-0.5088 -0.51562,-0.5 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ </g>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 342.55078,494 a 0.50005,0.50005 0 0 1 0.33593,0.1641 l 2.64844,2.84179 h 1.00781 c 0.45995,0.6015 1.17678,1 1.97852,1 h -3.20312 a 0.50005,0.50005 0 0 1 -0.36719,-0.1582 l -2.79492,-2.99999 A 0.50005,0.50005 0 0 1 342.5,494 a 0.50005,0.50005 0 0 1 0.0508,0 z m 5.9707,4.00589 c 0.80174,0 1.51857,-0.3985 1.97852,-1 h 2.02148 a 0.50005,0.50005 0 0 1 0.35352,0.1465 l 3,3 a 0.50005,0.50005 0 1 1 -0.70704,0.707 l -2.85351,-2.8535 h -2.29297 v 3.832 c 0.96356,1.6489 2.8299,3.71521 5.58203,4.17391 A 0.50086299,0.50086299 0 1 1 355.43945,507 c -2.4267,-0.4044 -4.21553,-1.8644 -5.39844,-3.34761 a 0.50005,0.50005 0 0 1 -0.002,0 c -0.001,0 -0.003,0 -0.004,0 -1.00443,-0.9218 -2.17404,-1 -3.22851,-0.2383 -1.05449,0.76181 -1.78322,2.34671 -1.78321,4.09771 a 0.50005,0.50005 0 1 1 -1,0 c -10e-6,-2.0216 0.80114,-3.89961 2.19727,-4.90821 0.69807,-0.5043 1.49696,-0.7238 2.2832,-0.668 0.17359,0.012 0.34649,0.043 0.51758,0.082 a 0.50005,0.50005 0 0 1 0,-0.01 v -4 z m 0,-3.99999 c 0.8225,0 1.5,0.6775 1.5,1.49999 0,0.8225 -0.6775,1.5 -1.5,1.5 -0.8225,0 -1.5,-0.6775 -1.5,-1.5 0,-0.82249 0.6775,-1.49999 1.5,-1.49999 z" id="path20567-5" inkscape:connector-curvature="0"/>
+ <path sodipodi:nodetypes="scssssssssssssssssssssssssssssccccccccccccscssssssscccccccc" inkscape:connector-curvature="0" id="path15245-5-5" d="m 498.5,10 c -2.1397,0 -3.80728,1.4725 -4.33008,3.2441 C 493.52022,12.4964 492.6594,12 491.5,12 c -1.9271,0 -3.5,1.5729 -3.5,3.5 0,1.927 1.5729,3.5 3.5,3.5 h 7 c 2.4794,0 4.5,-2.0207 4.5,-4.5 0,-2.4794 -2.0206,-4.5 -4.5,-4.5 z m 0,3 c 0.8225,0 1.5,0.6774 1.5,1.5 0,0.8225 -0.6775,1.5 -1.5,1.5 -0.8225,0 -1.5,-0.6775 -1.5,-1.5 0,-0.8226 0.6775,-1.5 1.5,-1.5 z m -7,1 c 0.8225,0 1.5,0.6774 1.5,1.5 0,0.8225 -0.6775,1.5 -1.5,1.5 -0.8225,0 -1.5,-0.6775 -1.5,-1.5 0,-0.8226 0.6775,-1.5 1.5,-1.5 z m 7,0 c -0.2821,0 -0.5,0.2179 -0.5,0.5 0,0.282 0.2179,0.5 0.5,0.5 0.2821,0 0.5,-0.218 0.5,-0.5 0,-0.2821 -0.2179,-0.5 -0.5,-0.5 z m -7,1 c -0.2821,0 -0.5,0.2179 -0.5,0.5 0,0.282 0.2179,0.5 0.5,0.5 0.2821,0 0.5,-0.218 0.5,-0.5 0,-0.2821 -0.2179,-0.5 -0.5,-0.5 z m 1,5 c -0.2761,0 -0.5,0.2239 -0.5,0.5 v 1 0.5 h -1 v -0.5 c 0.004,-0.2823 -0.22555,-0.5122 -0.50781,-0.5078 -0.27615,0 -0.49651,0.2316 -0.49219,0.5078 v 1 1 c 0.009,0.6573 0.9907,0.6573 1,0 V 23 h 1 v 0.5 1 c 0,0.1326 0.053,0.2597 0.14648,0.3535 l 1,1 C 493.24048,25.9475 493.3674,26 493.5,26 h 5 c 0.2761,0 0.5,-0.2239 0.5,-0.5 v -5 c 0,-0.2761 -0.2239,-0.5 -0.5,-0.5 z m 10.98438,1 c -0.0871,0 -0.17191,0.028 -0.2461,0.074 l -3.25,2 c -0.31714,0.1953 -0.31714,0.6563 0,0.8516 l 3.25,2 c 0.33298,0.2045 0.76131,-0.035 0.76172,-0.4258 v -4 c 1.1e-4,-0.2823 -0.23341,-0.5088 -0.51562,-0.5 z" style="display:inline;opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1.00000012;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0.5;stroke-opacity:1;marker:none;enable-background:new"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2.24999976;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 302.64518,431.00052 a 1.1251124,1.1233465 0 0 0 -0.7734,0.3412 l -1.5313,1.5269 a 1.1251124,1.1233465 0 1 0 1.5918,1.5874 l 1.5293,-1.5269 a 1.1251124,1.1233465 0 0 0 -0.8164,-1.9286 z m 5.0977,0 a 1.1251124,1.1233465 0 0 0 -0.7735,0.3393 l -6.6289,6.6185 a 1.125572,1.1238054 0 1 0 1.5918,1.5893 l 2.1289,-2.1256 c 0.2384,-1.1729 1.1734,-2.1044 2.3477,-2.344 l 2.1523,-2.1489 a 1.1251124,1.1233465 0 0 0 -0.8183,-1.9286 z m 5.0996,0 a 1.1251124,1.1233465 0 0 0 -0.7735,0.3393 l -3.916,3.9099 c 0.7144,0.3005 1.2901,0.8706 1.5996,1.5795 l 3.9063,-3.9001 a 1.1251124,1.1233465 0 0 0 -0.8164,-1.9286 z m 0,5.0916 a 1.1251124,1.1233465 0 0 0 -0.7735,0.3393 l -2.123,2.1197 c -0.2257,1.2122 -1.1902,2.1751 -2.4043,2.4005 l -2.1016,2.0983 a 1.1251124,1.1233465 0 1 0 1.5918,1.5873 l 6.627,-6.6165 a 1.1251124,1.1233465 0 0 0 -0.8164,-1.9286 z m -5.8418,0.9204 c -0.5601,0 -0.9917,0.4296 -0.9981,0.9867 0.01,0.5524 0.4434,0.9887 0.9981,0.9887 0.5547,0 0.9926,-0.4363 0.998,-0.9887 -0.01,-0.5571 -0.438,-0.9867 -0.998,-0.9867 z m -2.7656,2.149 -3.8946,3.8884 a 1.1251124,1.1233465 0 1 0 1.5918,1.5873 l 3.8848,-3.8786 c -0.7095,-0.3088 -1.2808,-0.8846 -1.582,-1.5971 z m 8.6074,2.0202 a 1.1251124,1.1233465 0 0 0 -0.7735,0.3413 l -1.5293,1.5269 a 1.1251124,1.1233465 0 1 0 1.5899,1.5873 l 1.5293,-1.5269 a 1.1251124,1.1233465 0 0 0 -0.8164,-1.9286 z" id="path21492-2" inkscape:connector-curvature="0"/>
+ <g transform="translate(-329.98994,63.99547)" style="display:inline;opacity:0.98999999;fill:#ffffff;enable-background:new" id="g21552">
+ <path id="path8055" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 823.98994,430.00453 v 2 h 5 v 3.7086 l 1.8538,-1.85485 c 0.0937,-0.0939 0.14631,-0.22111 0.1462,-0.35375 0.0114,-0.97402 0,-3.0415 0,-3.5 z m -3,3 v 4 h 7 l -4e-5,-4 z m 11.48438,1.125 c -0.12717,0.004 -0.24801,0.0564 -0.3379,0.14648 l -3.72851,3.72852 h -8.91211 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 5 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 8.49414 v -4.5 a 0.50005,0.50005 0 0 1 0.49219,-0.50586 0.50005,0.50005 0 0 1 0.50781,0.50586 v 4.33203 l 3.85352,-3.85351 c 0.0938,-0.0938 0.14645,-0.22092 0.14648,-0.35352 v -5 c 1.1e-4,-0.28235 -0.23342,-0.50879 -0.51562,-0.5 z" inkscape:connector-curvature="0"/>
+ </g>
+ <g id="g20181-9" style="display:inline;opacity:0.6;fill:#ffffff;enable-background:new" transform="translate(-288.99602,63.999021)">
+ <g id="g5276" style="fill:#ffffff">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="M 803.49219,433.99219 A 0.50005,0.50005 0 0 0 803,434.5 v 4 a 0.50005,0.50005 0 1 0 1,0 v -4 a 0.50005,0.50005 0 0 0 -0.50781,-0.50781 z m 4.99804,4.00586 a 0.50005,0.50005 0 0 0 -0.49414,0.50586 v 5 a 0.50005,0.50005 0 1 0 1,0 v -5 a 0.50005,0.50005 0 0 0 -0.50586,-0.50586 z" id="path20179-2" inkscape:connector-curvature="0"/>
+ <path id="path20173-5" transform="translate(288.99602,-63.999021)" d="m 514.5,497.99805 a 0.50004997,0.50004997 0 0 0 -0.35352,0.14453 l -4,4 A 0.50004997,0.50004997 0 0 0 510,502.49805 v 5 a 0.50004997,0.50004997 0 0 0 0.5,0.5 l 9,0.006 a 0.50004997,0.50004997 0 0 0 0.35547,-0.14649 l 4,-4.0039 A 0.50004997,0.50004997 0 0 0 524,503.49805 v -5 a 0.50004997,0.50004997 0 0 0 -0.5,-0.5 z m 0.20898,1 h 7.5879 l -3.00391,3.00586 L 511.70312,502 Z M 523,499.70703 v 3.58399 l -3.70703,3.71289 L 511,507 v -4 l 8.5,0.004 a 0.50004997,0.50004997 0 0 0 0.35547,-0.14844 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" inkscape:connector-curvature="0"/>
+ </g>
+ </g>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 48.5,183 c -0.27613,4e-5 -0.49997,0.22388 -0.5,0.5 v 9 c 3e-5,0.27614 0.22387,0.49997 0.5,0.5 h 9 c 0.27613,-3e-5 0.49997,-0.22386 0.5,-0.5 v -9 c -3e-5,-0.27612 -0.22387,-0.49996 -0.5,-0.5 z" id="path5234" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccccccc"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 52.49219,179.00781 c -0.1326,4e-5 -0.25976,0.0527 -0.35352,0.1465 l -1.99219,1.99217 C 50.02584,181.26245 50,181.375 50,181.5 v 0.5 h 1 l 0.003,-0.296 1.69618,-1.69619 h 8.29297 v 8.29298 L 59.29548,189.99745 59,190 v 1 h 0.5 c 0.11717,0 0.23766,-0.0261 0.3457,-0.13867 l 2,-2 c 0.0938,-0.0938 0.14646,-0.22091 0.14649,-0.35352 v -9 c -3e-5,-0.27612 -0.22387,-0.49996 -0.5,-0.5 z" id="path5236" inkscape:connector-curvature="0" sodipodi:nodetypes="cccscccccccccscccccc"/>
+ <g style="display:inline;fill:#ffffff;enable-background:new" inkscape:export-ydpi="96" inkscape:export-xdpi="96" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" transform="translate(0.00711,-0.00712)" id="g26453-0">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 10.486328,179.01367 c -0.1326,3e-5 -0.259761,0.0527 -0.353516,0.14649 l -1.9941401,1.99414 c -0.4908663,0.47125 0.2357781,1.1979 0.7070312,0.70703 l 1.8476559,-1.84766 h 8.292969 v 8.29297 l -2.707031,2.70703 H 7.9882812 l 0.00461,-3.00655 -1,-0.002 -0.00656,3.5085 c 2.76e-5,0.27613 0.2238691,0.49997 0.5,0.5 h 8.9999998 c 0.132599,-2e-5 0.259759,-0.0527 0.353516,-0.14648 l 3,-3 c 0.09377,-0.0938 0.14646,-0.22092 0.146484,-0.35352 v -9 c -2.8e-5,-0.27613 -0.223869,-0.49997 -0.5,-0.5 z" id="path26449-3" inkscape:connector-curvature="0" sodipodi:nodetypes="cccccccccccccccccccc"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 6.4921875,183.00781 c -0.2761309,3e-5 -0.4999724,0.22387 -0.5,0.5 v 3 c 2.76e-5,0.27613 0.2238691,0.49997 0.5,0.5 h 3 c 0.2761309,-3e-5 0.4999724,-0.22387 0.5,-0.5 v -3 c -2.76e-5,-0.27613 -0.2238691,-0.49997 -0.5,-0.5 z" id="path26451-7" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccccccc"/>
+ </g>
+ <g style="display:inline;fill:#ffffff;enable-background:new" id="g26527-9" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" inkscape:export-xdpi="96" inkscape:export-ydpi="96" transform="matrix(0,-1,-1,0,220.01421,219.98576)">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 27.486328,183.01367 c -0.276131,3e-5 -0.499972,0.22387 -0.5,0.5 v 2 c 2.8e-5,0.27613 0.223869,0.49997 0.5,0.5 h 9 c 0.276131,-3e-5 0.499972,-0.22387 0.5,-0.5 v -2 c -2.8e-5,-0.27613 -0.223869,-0.49997 -0.5,-0.5 z" id="path26523-4" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccccccc"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 31.478516,179.02148 c -0.1326,3e-5 -0.259761,0.0527 -0.353516,0.14649 l -1.992188,1.99219 c -0.490839,0.47125 0.235779,1.19787 0.707032,0.70703 l 1.845703,-1.84571 h 8.292969 v 8.29297 l -2.707032,2.70703 h -8.292968 l 0.0072,-4.00727 -1,-0.002 -0.0072,4.50727 c -0.0011,0.27689 0.223106,0.50192 0.5,0.50195 h 9 c 0.132599,-2e-5 0.259759,-0.0527 0.353515,-0.14648 l 3,-3 c 0.09377,-0.0938 0.14646,-0.22092 0.146485,-0.35352 v -9 c -2.8e-5,-0.27613 -0.223869,-0.49997 -0.5,-0.5 z" id="path26525-5" inkscape:connector-curvature="0" sodipodi:nodetypes="cccccccccccccccccccc"/>
+ </g>
+ <g transform="translate(252.00711,707.99288)" style="display:inline;fill:#ffffff;enable-background:new" id="g24277-2">
+ <g transform="translate(-252.00673,-707.99218)" style="display:inline;opacity:1;fill:#ffffff;enable-background:new" id="g26501-5" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" inkscape:export-xdpi="96" inkscape:export-ydpi="96">
+ <path sodipodi:nodetypes="ccccccccc" inkscape:connector-curvature="0" id="path26499-8" d="m 258.49962,136.9993 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 3 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 3 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -3 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
+ </g>
+ <path inkscape:connector-curvature="0" id="path26503-3" d="m 10.955781,-569.99288 v 1 h 2.037109 v 5 H 7.9928902 v -1.99219 h -1 v 8.49219 a 0.50005,0.50005 0 0 0 0.5,0.5 H 13.49289 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -5.5 h 5.5 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -6 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m 3.037109,1 h 5 v 5 h -5 z m -5.9999998,6 H 12.99289 v 5 H 7.9928902 Z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.55;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
+ </g>
+ <g style="display:inline;fill:#ffffff;enable-background:new" id="g26539-4" transform="matrix(0,1,1,0,850.0517,109.94829)">
+ <path sodipodi:nodetypes="ccccccccc" inkscape:connector-curvature="0" id="path26497-4" d="m 27.544922,-565.04492 c -0.276131,3e-5 -0.499972,0.22387 -0.5,0.5 v 2 c 2.8e-5,0.27613 0.223869,0.49997 0.5,0.5 h 8 c 0.276131,-3e-5 0.499972,-0.22387 0.5,-0.5 v -2 c -2.8e-5,-0.27613 -0.223869,-0.49997 -0.5,-0.5 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
+ <path sodipodi:nodetypes="ccccccccccccccccccccccccccccc" inkscape:connector-curvature="0" id="path26505-7" d="m 28.544922,-570.04492 c -0.276131,3e-5 -0.499972,0.22387 -0.5,0.5 v 3.5 h 1 v -3 h 5 v 3 h 1 v -3 h 5 v 5 h -3 v 1 h 3.5 c 0.276131,-3e-5 0.499972,-0.22387 0.5,-0.5 v -6 c -2.8e-5,-0.27613 -0.223869,-0.49997 -0.5,-0.5 z m -0.5,9 0.0049,3.49327 c 2.8e-5,0.27613 0.223869,0.49997 0.5,0.5 h 6 c 0.275371,-3e-5 0.498899,-0.22268 0.5,-0.49805 l 0.0019,-3.5 -1,-0.002 v 3 h -5 l -0.0068,-2.99132 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.55;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
+ </g>
+ <g transform="translate(252.00711,707.99288)" style="display:inline;fill:#ffffff;enable-background:new" id="g24260-8">
+ <path sodipodi:nodetypes="ccccccccccccccccccccccc" inkscape:connector-curvature="0" id="path26507-9" d="m 61.490943,-569.99488 -3.5,0.008 0.0039,1 2.998047,-0.006 v 5 l -3.001953,0.006 0.0039,1 3.5,-0.008 c 0.275368,-0.001 0.498022,-0.22463 0.498047,-0.5 v -6 c -2.6e-5,-0.2769 -0.22506,-0.50105 -0.501953,-0.5 z m -12.498053,9.002 v 3.49219 c 2.8e-5,0.27613 0.223869,0.49997 0.5,0.5 h 6 c 0.276131,-3e-5 0.499972,-0.22387 0.5,-0.5 v -3.49219 h -1 v 2.99219 h -5 v -2.99219 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.55;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"/>
+ <path sodipodi:nodetypes="ccccccccc" inkscape:connector-curvature="0" id="path26509-9" d="m 48.49289,-570.99288 c -0.276131,3e-5 -0.499972,0.22387 -0.5,0.5 v 8 c 2.8e-5,0.27613 0.223869,0.49997 0.5,0.5 h 8 c 0.276131,-3e-5 0.499972,-0.22387 0.5,-0.5 v -8 c -2.8e-5,-0.27613 -0.223869,-0.49997 -0.5,-0.5 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
+ </g>
+ <g transform="translate(251.96252,708.00986)" style="display:inline;fill:#ffffff;enable-background:new" id="g24272-6">
+ <g transform="translate(-189.96252,-708.00986)" id="g26513-4" style="display:inline;opacity:0.6;fill:#ffffff;enable-background:new" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" inkscape:export-xdpi="96" inkscape:export-ydpi="96">
+ <path inkscape:connector-curvature="0" id="path24266-1" d="m 259.5,138 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 11.00195 a 0.50005,0.50005 0 0 0 0.5,0.5 l 4,-0.002 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -11 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m 0.5,1 h 3 v 10 l -3,0.002 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"/>
+ </g>
+ <path sodipodi:nodetypes="ccccccccc" inkscape:connector-curvature="0" id="path26515-7" d="m 77.537109,-571.00977 c -0.276131,3e-5 -0.499972,0.22387 -0.5,0.5 v 13 c 2.8e-5,0.27613 0.223869,0.49997 0.5,0.5 h 5 c 0.276131,-3e-5 0.499972,-0.22387 0.5,-0.5 v -13 c -2.8e-5,-0.27613 -0.223869,-0.49997 -0.5,-0.5 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
+ </g>
+ <g style="display:inline;fill:#ffffff;enable-background:new" id="g12992" transform="translate(2.6297176e-6,-20.999997)" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" inkscape:export-xdpi="96" inkscape:export-ydpi="96">
+ <path id="path12908" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 183.8125,200.01562 c 2.21359,0.18235 3.97803,1.94071 4.16992,4.1543 0.19189,2.2136 -1.24344,4.25155 -3.39258,4.8125 a 0.5007349,0.5007349 0 1 1 -0.2539,-0.96875 c 1.68376,-0.43948 2.80079,-2.02289 2.65039,-3.75781 -0.1504,-1.73492 -1.52164,-3.10129 -3.25586,-3.24414 -1.73423,-0.14285 -3.31219,0.98104 -3.74414,2.66797 a 0.50005,0.50005 0 1 1 -0.96875,-0.24805 c 0.55114,-2.15241 2.58133,-3.59836 4.79492,-3.41602 z M 178.5,205 a 0.50005,0.50005 0 1 1 0,1 c -1.41705,0 -2.69209,0.85096 -3.23438,2.16016 -0.54228,1.30919 -0.24224,2.81243 0.75977,3.81445 1.00201,1.00201 2.50527,1.30205 3.81445,0.75977 C 181.14903,212.19209 182,210.91706 182,209.5 a 0.50005,0.50005 0 1 1 1,0 c 0,1.81865 -1.09714,3.46223 -2.77734,4.1582 -1.68021,0.69597 -3.61833,0.30942 -4.9043,-0.97656 -1.28598,-1.28598 -1.67253,-3.22408 -0.97656,-4.9043 C 175.03776,206.09713 176.68136,205 178.5,205 Z" inkscape:connector-curvature="0"/>
+ <path style="opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke" d="M 182.99634,206.50183 A 1.4981741,1.4981725 0 0 1 181.49817,208 a 1.4981741,1.4981725 0 0 1 -1.49818,-1.49817 1.4981741,1.4981725 0 0 1 1.49818,-1.49817 1.4981741,1.4981725 0 0 1 1.49817,1.49817 z" id="circle12958" inkscape:connector-curvature="0"/>
+ </g>
+ <g id="g21469-5" style="display:inline;fill:#ffffff;enable-background:new" transform="translate(498,-1438)">
+ <path inkscape:connector-curvature="0" id="path21106-9" d="m -356.5,1850 c -0.8225,0 -1.5,0.6775 -1.5,1.5 0,0.8225 0.6775,1.5 1.5,1.5 0.8225,0 1.5,-0.6775 1.5,-1.5 0,-0.8225 -0.6775,-1.5 -1.5,-1.5 z m 0,1 c 0.28206,0 0.5,0.2179 0.5,0.5 0,0.2821 -0.21794,0.5 -0.5,0.5 -0.28206,0 -0.5,-0.2179 -0.5,-0.5 0,-0.2821 0.21794,-0.5 0.5,-0.5 z m -7,1 a 0.5,0.5 0 0 0 -0.5,0.5 0.5,0.5 0 0 0 0.5,0.5 0.5,0.5 0 0 0 0.5,-0.5 0.5,0.5 0 0 0 -0.5,-0.5 z" style="display:inline;opacity:0.7;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:3.70000005;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:new"/>
+ <path sodipodi:nodetypes="csssscccsscccsccccccscccccccccccccccccccccsccsccccccccccccccccccc" inkscape:connector-curvature="0" d="m -357.5,1856.0041 h 0.49805 c 3.5943,0 5.00195,-2.5001 5.00195,-4.5001 v 0 c 0,-2.4794 -2.02064,-4.5 -4.5,-4.5 -1.88915,0 -3.45662,1.2594 -4.10547,3 h -0.51758 c -0.64602,-0.6132 -1.47755,-0.9979 -2.375,-1 h -0.002 c -1.92707,0 -3.5,1.5729 -3.5,3.5 0,1.9271 1.57293,3.5 3.5,3.5 z m -6,-1.0041 c -1.38663,0 -2.5,-1.1134 -2.5,-2.5 0,-1.386 1.11233,-2.4989 2.49805,-2.5 0.71036,0 1.38608,0.3048 1.85937,0.834 0.0951,0.1059 0.23074,0.1663 0.37305,0.166 h 0.90234 c 0.22809,10e-5 0.42734,-0.1542 0.48438,-0.375 0.39914,-1.5459 1.78609,-2.6224 3.38281,-2.625 1.93892,0 3.5,1.5611 3.5,3.5 0,1.9279 -1.54523,3.4765 -3.46875,3.4941 -0.0392,0 -0.0785,-6e-4 -0.11719,0.01 H -357.5 Z m -1.00781,1.9922 c -0.27614,0 -0.4965,0.2317 -0.49219,0.5078 v 1 1 c 0.009,0.6573 0.9907,0.6573 1,0 v -0.5 h 1 v 1.5 c 3e-5,0.1326 0.0527,0.2597 0.14648,0.3535 l 1,1 c 0.0937,0.094 0.22092,0.1465 0.35352,0.1465 h 5 c 0.27613,0 0.49997,-0.2239 0.5,-0.5 v -1.5039 h 0.33594 l 2.61914,1.9043 c 0.0852,0.064 0.18852,0.099 0.29492,0.1 h 0.25 c 0.27613,0 0.49997,-0.2239 0.5,-0.5 v -4 c -3e-5,-0.2761 -0.22387,-0.5 -0.5,-0.5 h -0.25 c -0.106,-10e-5 -0.20927,0.034 -0.29492,0.096 L -355.66211,1859 H -356 v -2 h -1 v 4 h -4.29297 L -362,1860.293 V 1857 h -1 v 1 h -1 v -0.5 c 0.004,-0.2823 -0.22555,-0.5122 -0.50781,-0.5078 z M -353,1858.3008 v 2.3984 l -1.65039,-1.1992 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.00000012;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0.5;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" id="path21108-3"/>
+ <path id="rect24266" d="m -362,1857 h 5 v 1 h -5 z" style="display:inline;opacity:0.6;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;enable-background:new" inkscape:connector-curvature="0"/>
+ </g>
+ <g transform="translate(624,-1354)" style="display:inline;fill:#ffffff;enable-background:new" id="g24304">
+ <path style="display:inline;opacity:0.7;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:3.70000005;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:new" d="m -356.5,1850 c -0.8225,0 -1.5,0.6775 -1.5,1.5 0,0.8225 0.6775,1.5 1.5,1.5 0.8225,0 1.5,-0.6775 1.5,-1.5 0,-0.8225 -0.6775,-1.5 -1.5,-1.5 z m 0,1 c 0.28206,0 0.5,0.2179 0.5,0.5 0,0.2821 -0.21794,0.5 -0.5,0.5 -0.28206,0 -0.5,-0.2179 -0.5,-0.5 0,-0.2821 0.21794,-0.5 0.5,-0.5 z m -7,1 a 0.5,0.5 0 0 0 -0.5,0.5 0.5,0.5 0 0 0 0.5,0.5 0.5,0.5 0 0 0 0.5,-0.5 0.5,0.5 0 0 0 -0.5,-0.5 z" id="path24284" inkscape:connector-curvature="0"/>
+ <path id="path24300" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.00000012;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0.5;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m -357.5,1856.0041 h 0.49805 c 3.5943,0 5.00195,-2.5001 5.00195,-4.5001 v 0 c 0,-2.4794 -2.02064,-4.5 -4.5,-4.5 -1.88915,0 -3.45662,1.2594 -4.10547,3 h -0.51758 c -0.64602,-0.6132 -1.47755,-0.9979 -2.375,-1 h -0.002 c -1.92707,0 -3.5,1.5729 -3.5,3.5 0,1.9271 1.57293,3.5 3.5,3.5 z m -6,-1.0041 c -1.38663,0 -2.5,-1.1134 -2.5,-2.5 0,-1.386 1.11233,-2.4989 2.49805,-2.5 0.71036,0 1.38608,0.3048 1.85937,0.834 0.0951,0.1059 0.23074,0.1663 0.37305,0.166 h 0.90234 c 0.22809,10e-5 0.42734,-0.1542 0.48438,-0.375 0.39914,-1.5459 1.78609,-2.6224 3.38281,-2.625 1.93892,0 3.5,1.5611 3.5,3.5 0,1.9279 -1.54523,3.4765 -3.46875,3.4941 -0.0392,0 -0.0785,-6e-4 -0.11719,0.01 H -357.5 Z m -1.00781,1.9922 c -0.27614,0 -0.4965,0.2317 -0.49219,0.5078 v 1 1 c 0.009,0.6573 0.9907,0.6573 1,0 v -0.5 h 1 v 1.5 c 3e-5,0.1326 0.0527,0.2597 0.14648,0.3535 l 1,1 c 0.0937,0.094 0.22092,0.1465 0.35352,0.1465 h 5 c 0.27613,0 0.49997,-0.2239 0.5,-0.5 v -1.5039 h 0.33594 l 2.61914,1.9043 c 0.0852,0.064 0.18852,0.099 0.29492,0.1 h 0.25 c 0.27613,0 0.49997,-0.2239 0.5,-0.5 v -4 c -3e-5,-0.2761 -0.22387,-0.5 -0.5,-0.5 h -0.25 c -0.106,-10e-5 -0.20927,0.034 -0.29492,0.096 L -355.66211,1859 H -356 v -2 h -1 v 4 h -4.29297 L -362,1860.293 V 1857 h -1 v 1 h -1 v -0.5 c 0.004,-0.2823 -0.22555,-0.5122 -0.50781,-0.5078 z M -353,1858.3008 v 2.3984 l -1.65039,-1.1992 z" inkscape:connector-curvature="0" sodipodi:nodetypes="csssscccsscccsccccccscccccccccccccccccccccsccsccccccccccccccccccc"/>
+ <path inkscape:connector-curvature="0" style="display:inline;opacity:0.6;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;enable-background:new" d="m -362,1857 h 5 v 1 h -5 z" id="path24302"/>
+ </g>
+ <path inkscape:connector-curvature="0" id="path12791-5" d="m 385,621 a 1.0001,1.0001 0 1 0 0,2 h 12 a 1.0001,1.0001 0 1 0 0,-2 z m 0,5 a 1.0001,1.0001 0 1 0 0,2 h 12 a 1.0001,1.0001 0 1 0 0,-2 z m 0,5 a 1.0001,1.0001 0 1 0 0,2 h 12 a 1.0001,1.0001 0 1 0 0,-2 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
+ <g transform="translate(1.7499929e-7,23.000001)" id="g21364" style="display:inline;fill:#ffffff;enable-background:new">
+ <g id="g5447" style="fill:#ffffff">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 430.49219,134.99219 a 0.50005,0.50005 0 0 0 -0.38867,0.19531 0.50005,0.50005 0 0 0 -0.004,0.006 l -1.95313,1.95312 a 0.50005,0.50005 0 1 0 0.70703,0.70704 L 430,136.70703 V 140.5 a 0.50005,0.50005 0 1 0 1,0 v -3.79297 l 1.14648,1.14649 a 0.50005,0.50005 0 1 0 0.70704,-0.70704 l -1.95704,-1.95703 a 0.50005,0.50005 0 0 0 -0.40429,-0.19726 z m 7.00195,7.00195 a 0.50005,0.50005 0 0 0 -0.34766,0.85938 L 438.29297,144 H 434.5 a 0.50005,0.50005 0 1 0 0,1 h 3.79297 l -1.14649,1.14648 a 0.50005,0.50005 0 1 0 0.70704,0.70704 l 1.95703,-1.95704 a 0.50005,0.50005 0 0 0 0.002,-0.79296 0.50005,0.50005 0 0 0 -0.006,-0.004 l -1.95313,-1.95313 a 0.50005,0.50005 0 0 0 -0.35937,-0.15234 z m -11.00195,2.99805 A 0.50005,0.50005 0 0 0 426,145.5 v 2.93945 A 0.50005,0.50005 0 0 0 426.56055,149 H 429.5 a 0.50005,0.50005 0 1 0 0,-1 h -1.79297 l 1.14649,-1.14648 a 0.50005,0.50005 0 1 0 -0.70704,-0.70704 L 427,147.29297 V 145.5 a 0.50005,0.50005 0 0 0 -0.50781,-0.50781 z" id="path21358" inkscape:connector-curvature="0"/>
+ <path id="circle21362" d="M 432.99635,144 A 1.99635,1.99635 0 0 1 431,145.99635 1.99635,1.99635 0 0 1 429.00365,144 1.99635,1.99635 0 0 1 431,142.00365 1.99635,1.99635 0 0 1 432.99635,144 Z" style="display:inline;opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;enable-background:new" inkscape:connector-curvature="0"/>
+ </g>
+ </g>
+ <g style="display:inline;fill:#ffffff;enable-background:new" id="g24264-7" transform="translate(-910,-1146)">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 1028,1556 c -3.2833,0 -6,2.4414 -6,5.5 0,1.7056 0.9046,3.146 2.1523,4.3594 l 0.9942,0.9941 a 0.50004997,0.50004997 0 0 0 0.3027,0.1485 0.50004997,0.50004997 0 0 0 0.051,0.998 h 5 a 0.50004997,0.50004997 0 0 0 0.045,-0.998 0.50004997,0.50004997 0 0 0 0.3086,-0.1485 l 0.9981,-0.998 v 0 c 1.2122,-1.1985 2.1465,-2.6518 2.1465,-4.3535 0,-3.0586 -2.7167,-5.5 -6,-5.5 z m 0,1 c 2.7919,0 5,2.0358 5,4.5 0,1.3342 -0.7428,2.5488 -1.8516,3.6445 l -1,1 a 0.50004997,0.50004997 0 0 0 0.2793,0.8535 h -4.8594 a 0.50004997,0.50004997 0 0 0 0.2871,-0.8535 l -1,-1 a 0.50004997,0.50004997 0 0 0 -0.01,-0.01 c -1.1397,-1.1082 -1.8477,-2.2864 -1.8477,-3.6406 0,-2.4642 2.2081,-4.5 5,-4.5 z m -2.5,12 a 0.50004997,0.50004997 0 1 0 0,1 h 1.5 v 0.5 a 0.50004997,0.50004997 0 0 0 0.5,0.5 h 1 a 0.50004997,0.50004997 0 0 0 0.5,-0.5 v -0.5 h 1.5 a 0.50004997,0.50004997 0 1 0 0,-1 z" id="path24260-0" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 1025.4902,1561.0059 a 0.50005,0.50005 0 0 0 -0.3437,0.8476 l 0.8535,0.8535 v 1.543 a 0.50005,0.50005 0 1 0 1,0 V 1563 h 2 v 1.25 a 0.50005,0.50005 0 1 0 1,0 v -1.543 l 0.8535,-0.8535 a 0.50005,0.50005 0 0 0 -0.707,-0.707 L 1029.293,1562 h -2.586 l -0.8535,-0.8535 a 0.50005,0.50005 0 0 0 -0.3633,-0.1406 z" id="path24262-3" inkscape:connector-curvature="0"/>
+ </g>
+ <g transform="translate(-847,-1062)" id="g24813" style="display:inline;fill:#ffffff;enable-background:new">
+ <path inkscape:connector-curvature="0" id="path24809" d="m 1028,1556 c -3.2833,0 -6,2.4414 -6,5.5 0,1.7056 0.9046,3.146 2.1523,4.3594 l 0.9942,0.9941 a 0.50004997,0.50004997 0 0 0 0.3027,0.1485 0.50004997,0.50004997 0 0 0 0.051,0.998 h 5 a 0.50004997,0.50004997 0 0 0 0.045,-0.998 0.50004997,0.50004997 0 0 0 0.3086,-0.1485 l 0.9981,-0.998 v 0 c 1.2122,-1.1985 2.1465,-2.6518 2.1465,-4.3535 0,-3.0586 -2.7167,-5.5 -6,-5.5 z m 0,1 c 2.7919,0 5,2.0358 5,4.5 0,1.3342 -0.7428,2.5488 -1.8516,3.6445 l -1,1 a 0.50004997,0.50004997 0 0 0 0.2793,0.8535 h -4.8594 a 0.50004997,0.50004997 0 0 0 0.2871,-0.8535 l -1,-1 a 0.50004997,0.50004997 0 0 0 -0.01,-0.01 c -1.1397,-1.1082 -1.8477,-2.2864 -1.8477,-3.6406 0,-2.4642 2.2081,-4.5 5,-4.5 z m -2.5,12 a 0.50004997,0.50004997 0 1 0 0,1 h 1.5 v 0.5 a 0.50004997,0.50004997 0 0 0 0.5,0.5 h 1 a 0.50004997,0.50004997 0 0 0 0.5,-0.5 v -0.5 h 1.5 a 0.50004997,0.50004997 0 1 0 0,-1 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
+ <path inkscape:connector-curvature="0" id="path24811" d="m 1025.4902,1561.0059 a 0.50005,0.50005 0 0 0 -0.3437,0.8476 l 0.8535,0.8535 v 1.543 a 0.50005,0.50005 0 1 0 1,0 V 1563 h 2 v 1.25 a 0.50005,0.50005 0 1 0 1,0 v -1.543 l 0.8535,-0.8535 a 0.50005,0.50005 0 0 0 -0.707,-0.707 L 1029.293,1562 h -2.586 l -0.8535,-0.8535 a 0.50005,0.50005 0 0 0 -0.3633,-0.1406 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
+ </g>
+ <g style="display:inline;fill:#ffffff;enable-background:new" id="g24819" transform="translate(-1015,-999)">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 1028,1556 c -3.2833,0 -6,2.4414 -6,5.5 0,1.7056 0.9046,3.146 2.1523,4.3594 l 0.9942,0.9941 a 0.50004997,0.50004997 0 0 0 0.3027,0.1485 0.50004997,0.50004997 0 0 0 0.051,0.998 h 5 a 0.50004997,0.50004997 0 0 0 0.045,-0.998 0.50004997,0.50004997 0 0 0 0.3086,-0.1485 l 0.9981,-0.998 v 0 c 1.2122,-1.1985 2.1465,-2.6518 2.1465,-4.3535 0,-3.0586 -2.7167,-5.5 -6,-5.5 z m 0,1 c 2.7919,0 5,2.0358 5,4.5 0,1.3342 -0.7428,2.5488 -1.8516,3.6445 l -1,1 a 0.50004997,0.50004997 0 0 0 0.2793,0.8535 h -4.8594 a 0.50004997,0.50004997 0 0 0 0.2871,-0.8535 l -1,-1 a 0.50004997,0.50004997 0 0 0 -0.01,-0.01 c -1.1397,-1.1082 -1.8477,-2.2864 -1.8477,-3.6406 0,-2.4642 2.2081,-4.5 5,-4.5 z m -2.5,12 a 0.50004997,0.50004997 0 1 0 0,1 h 1.5 v 0.5 a 0.50004997,0.50004997 0 0 0 0.5,0.5 h 1 a 0.50004997,0.50004997 0 0 0 0.5,-0.5 v -0.5 h 1.5 a 0.50004997,0.50004997 0 1 0 0,-1 z" id="path24815" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 1025.4902,1561.0059 a 0.50005,0.50005 0 0 0 -0.3437,0.8476 l 0.8535,0.8535 v 1.543 a 0.50005,0.50005 0 1 0 1,0 V 1563 h 2 v 1.25 a 0.50005,0.50005 0 1 0 1,0 v -1.543 l 0.8535,-0.8535 a 0.50005,0.50005 0 0 0 -0.707,-0.707 L 1029.293,1562 h -2.586 l -0.8535,-0.8535 a 0.50005,0.50005 0 0 0 -0.3633,-0.1406 z" id="path24817" inkscape:connector-curvature="0"/>
+ </g>
+ <g style="display:inline;fill:#ffffff;enable-background:new" id="g25431" transform="translate(-21)">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 153.5,119 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 10 a 0.50005,0.50005 0 0 0 0.5,0.5 h 10 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -10 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m 0.5,1 h 9 v 9 h -9 z" id="rect25412" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.75;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 157,121 v 2 h 1 v -2 z m 0,3 v 1.5 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 1.5 v -1 h -1 v -1 z m 3,1 v 1 h 2 v -1 z" id="rect25414" inkscape:connector-curvature="0" sodipodi:nodetypes="cccccccccccccccccc"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.75;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 157.5,116 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 1.5 h 1 v -1 h 8 v 8 h -1 v 1 h 1.5 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -9 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z" id="path25426" inkscape:connector-curvature="0"/>
+ </g>
+ <g style="display:inline;fill:#ffffff;enable-background:new" inkscape:export-ydpi="96" inkscape:export-xdpi="96" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" id="g13935-4" transform="translate(83.999996,42)">
+ <path id="path13929-36" d="m 36,74 c -2.455669,0 -4.49388,1.771475 -4.916016,4.105469 0.482305,-0.09011 0.975221,-0.129499 1.470704,-0.07422 0.662841,0.07415 0.551512,1.068296 -0.111329,0.994141 -0.485685,-0.05419 -0.971969,-0.01789 -1.4375,0.101562 0.06678,2.656434 2.202258,4.79532 4.857422,4.867188 0.121572,-0.473413 0.166164,-0.965209 0.109375,-1.455079 -0.03822,-0.293198 0.18493,-0.555356 0.480469,-0.564453 0.262666,-0.0085 0.487095,0.187762 0.513672,0.449219 0.05787,0.499184 0.03624,1.001242 -0.05469,1.490234 C 39.23754,83.484981 41,81.449595 41,79 41,76.23858 38.761426,74 36,74 Z m -1.568358,4.830076 c 0.100656,9.56e-4 0.198679,0.03227 0.28125,0.08984 0.540828,0.363139 1.00483,0.82779 1.367188,1.369141 0.405708,0.559881 -0.466114,1.144515 -0.830078,0.556641 -0.289893,-0.43309 -0.661079,-0.805188 -1.09375,-1.095703 -0.420141,-0.271725 -0.224948,-0.923754 0.27539,-0.919922 z" style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" inkscape:connector-curvature="0" sodipodi:nodetypes="scccccccccssccccccc"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 29.484375,78.757812 a 0.50005,0.50005 0 0 0 -0.267578,0.08789 c -1.670208,1.118756 -2.507905,3.13395 -2.125,5.107422 0.382905,1.973472 1.913458,3.526488 3.880859,3.939453 1.967402,0.412965 3.994569,-0.393928 5.138672,-2.046875 a 0.50005,0.50005 0 1 0 -0.822266,-0.568359 c -0.916718,1.324431 -2.534938,1.967608 -4.111328,1.636718 -1.576389,-0.330889 -2.798664,-1.57109 -3.105468,-3.152343 -0.306805,-1.581254 0.36291,-3.18953 1.701172,-4.085938 a 0.50005,0.50005 0 0 0 -0.289063,-0.917968 z" id="path13933-5" inkscape:connector-curvature="0"/>
+ </g>
+ <g style="display:inline;fill:#ffffff;enable-background:new" id="g25821">
+ <g id="g24262-4" transform="translate(-188.99644,-1801.0029)" style="display:inline;fill:#ffffff;enable-background:new">
+ <path sodipodi:nodetypes="ccccccccccccccccccccccccccccccc" inkscape:connector-curvature="0" id="rect24246-3" transform="translate(188.99644,1801.0029)" d="m 489.00391,329.99805 v 2 h 1 v -1 h 1 v -1 z m 0,4 v 2 h 1 v -2 z m 0,4 v 2 h 2 v -1 h -1 v -1 z m 9,0 v 1 h -1 v 1 h 2 v -2 z m -5,1 v 1 h 2 v -1 z" style="opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none"/>
+ </g>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 493.49609,325.98633 c -0.27689,3e-5 -0.50105,0.22506 -0.5,0.50195 l 0.008,4.00586 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 4.5 v 4.50195 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 4 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -9 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z" id="path24264-0" inkscape:connector-curvature="0" sodipodi:nodetypes="cccccccccccc"/>
+ </g>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 472.49609,325.98633 c -0.27689,3e-5 -0.50105,0.22506 -0.5,0.50195 l 0.006,3.50586 -3.49804,0.002 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 9 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 9 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -3.5 h 3.5 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -9 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z" id="path24338-8" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccccccccccccc"/>
+ <g style="display:inline;fill:#ffffff;enable-background:new" id="g25828" transform="translate(-1)">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 515.49805,329.98633 c -0.27766,-0.001 -0.50302,0.22429 -0.50196,0.50195 l 0.008,5.00586 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 5 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -4.99805 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z" id="path24344-9" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccccccc"/>
+ <g id="g24392-5" transform="translate(-166.99644,-1801.0029)" style="display:inline;fill:#ffffff;enable-background:new">
+ <path sodipodi:nodetypes="ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccaccc" inkscape:connector-curvature="0" id="rect24376-2" transform="translate(166.99644,1801.0029)" d="M 515.00391,325.99609 V 326 H 515 v 2 h 1 v -1.00391 h 1.00391 v -1 z m 4,0 v 1 h 2 v -1 z M 523,326 v 1 h 1 v 1 h 1.00391 v -2.00391 z m 1.00391,3.99609 v 2 h 1 v -2 z m -13,0.002 v 2 h 1 v -1 h 1 v -1 z m 13,3.99804 v 1 h -1 v 1 h 2 v -2 z m -13,0.002 v 2 h 1 v -2 z m 0,4 v 2 h 2 v -1 h -1 v -1 z m 9,0 v 1 h -1 v 1 h 2 v -2 z m -5,1 v 1 h 2 v -1 z" style="opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none"/>
+ </g>
+ </g>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 535.49609,325.98633 c -0.27689,3e-5 -0.50105,0.22506 -0.5,0.50195 l 0.008,3.00781 c 10e-4,0.27537 0.22463,0.49802 0.5,0.49805 h 5.5 v 5.50195 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 3 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -9 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z m -4,4.0039 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 9 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 l 9.00782,0.01 c 0.27689,-3e-5 0.50105,-0.22506 0.5,-0.50195 l -0.008,-3.00586 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 h -5.5 v -5.50196 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z" id="path24415-7" inkscape:connector-curvature="0" sodipodi:nodetypes="cccccccccccccccccccccccc"/>
+ <g style="display:inline;fill:#ffffff;enable-background:new" id="g25815">
+ <g transform="translate(-230.99644,-1801.0029)" id="g24435-3" style="display:inline;fill:#ffffff;enable-background:new">
+ <path sodipodi:nodetypes="ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccacccaccccc" inkscape:connector-curvature="0" id="rect24419-6" transform="translate(230.99644,1801.0029)" d="m 447.00391,325.99805 v 2 h 1 v -1 h 1 v -1 z m 4,0 v 1 h 2 v -1 z m 4,0 v 1 h 2 v -1 z m 4,0 v 1 h 1 v 1 h 1 v -2 z m -12,4 v 2 h 1 v -2 z m 13,0 v 2 h 1 v -2 z m -13,4 v 2 h 1 v -2 z m 13,0 v 2 h 1 v -2 z m -13,4 v 2 h 2 v -1 h -1 v -1 z m 13,0 v 1 h -1 v 1 h 2 v -2 z m -9,1 v 1 h 2 v -1 z m 4,0 v 1 h 2 v -1 z" style="opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none"/>
+ </g>
+ </g>
+ <g transform="translate(876,-1690)" style="display:inline;fill:#ffffff;enable-background:new" id="g24686-1" inkscape:export-filename="C:\Users\Andrzej Ambroż\Dysk Google\PROJEKTY BIEŻĄCE - Andrzej\BLENDER 2.8 ICONS redesign\MOCKUPS\gizmo icon_1.png" inkscape:export-xdpi="96" inkscape:export-ydpi="96">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m -419.5,1827 a 0.50005,0.50005 0 1 0 0,1 h 2.79492 l -2.96875,2.9688 c 0.24471,0.2267 0.48032,0.4623 0.70703,0.707 L -416,1828.709 v 2.791 a 0.50005,0.50005 0 1 0 1,0 v -4 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m -2.98438,6.7793 -3.50585,3.5059 C -426.28828,1837.1081 -426.63057,1837 -427,1837 c -1.09865,0 -2,0.9013 -2,2 0,1.0986 0.90135,2 2,2 1.09865,0 2,-0.9014 2,-2 0,-0.3677 -0.10771,-0.7107 -0.2832,-1.0078 l 3.50586,-3.5059 c -0.22252,-0.2491 -0.45807,-0.4843 -0.70704,-0.707 z M -427,1838 c 0.55821,0 1,0.4417 1,1 0,0.5582 -0.44179,1 -1,1 -0.55821,0 -1,-0.4418 -1,-1 0,-0.5583 0.44179,-1 1,-1 z" id="path24506-4" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m -428.49556,1829 a 0.4997692,0.49966962 0 1 0 0,0.9993 c 5.80308,0 10.49606,4.6921 10.49606,10.494 a 0.4997692,0.49966962 0 1 0 0.99944,0 c 0,-6.3418 -5.1523,-11.4933 -11.4955,-11.4933 z" id="ellipse24510-0" inkscape:connector-curvature="0"/>
+ </g>
+ <path id="path22885-3-7" d="m 537.4922,557 c -0.1299,0 -0.2539,0.055 -0.3457,0.1465 -1.4018,1.4018 -2.9571,1.8535 -5.6465,1.8535 -0.2761,0 -0.5,0.2239 -0.5,0.5 v 3 c 0,2.4627 0.6805,4.0682 1.7871,5.2754 1.1066,1.2072 2.5736,2.0242 4.1777,3.1348 0.084,0.058 0.1832,0.09 0.2852,0.09 h 0.5 c 0.102,-2e-4 0.2015,-0.032 0.2852,-0.09 1.6041,-1.1106 3.0711,-1.9276 4.1777,-3.1348 C 543.3195,566.5682 544,564.9627 544,562.5 v -3 c 0,-0.2761 -0.2239,-0.5 -0.5,-0.5 -2.6894,0 -4.2447,-0.4517 -5.6465,-1.8535 -0.096,-0.096 -0.226,-0.1486 -0.3613,-0.1465 z m 3.4766,3.9902 a 1.0001,1.0001 0 0 1 0.8124,1.6348 l -4,5 a 1.0001,1.0001 0 0 1 -1.4882,0.082 l -2,-2 a 1.0001,1.0001 0 1 1 1.414,-1.414 l 1.209,1.209 3.3028,-4.127 a 1.0001,1.0001 0 0 1 0.75,-0.3848 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 516.49219,557 a 0.50005,0.50005 0 0 0 -0.34571,0.14648 C 514.74469,558.54828 513.18939,559 510.5,559 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 3 c 0,2.46272 0.6805,4.06818 1.78711,5.27539 1.10661,1.20722 2.57356,2.02419 4.17773,3.13477 A 0.50005,0.50005 0 0 0 516.25,571 h 0.5 a 0.50005,0.50005 0 0 0 0.28516,-0.0898 c 1.60417,-1.11058 3.07112,-1.92755 4.17773,-3.13477 C 522.3195,566.56818 523,564.96272 523,562.5 v -3 a 0.50005,0.50005 0 0 0 -0.5,-0.5 c -2.68939,0 -4.24469,-0.45172 -5.64648,-1.85352 A 0.50005,0.50005 0 0 0 516.49219,557 Z m 0.008,1.07031 c 1.42533,1.26825 3.16641,1.79779 5.5,1.86524 V 562.5 c 0,2.28728 -0.5695,3.55682 -1.52539,4.59961 -0.92707,1.01135 -2.30655,1.81425 -3.88867,2.90039 h -0.17188 c -1.58212,-1.08614 -2.9616,-1.88904 -3.88867,-2.90039 C 511.5695,566.05682 511,564.78728 511,562.5 v -2.56445 c 2.33359,-0.0675 4.07467,-0.59699 5.5,-1.86524 z" id="path22877-22-0" inkscape:connector-curvature="0"/>
+ <path inkscape:connector-curvature="0" d="m 511.99933,414.00018 h 9 v 5 h -9 z m -1.5,-2 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 8 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 5.5 v 1 h -2.5 c -0.67616,-0.01 -0.67616,1.00956 0,1 h 6 c 0.6573,-0.009 0.6573,-0.9907 0,-1 h -2.5 v -1 h 5.5 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -8 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z m 0.5,1 h 11 v 7 h -11 z" style="opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke" id="rect22324-2"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 489.5,412 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 8 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 5.5 v 1 h -2.5 c -0.67616,-0.01 -0.67616,1.00956 0,1 h 6 c 0.6573,-0.009 0.6573,-0.9907 0,-1 H 496 v -1 h 5.5 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -8 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z m 0.5,1 h 11 v 7 h -11 z" id="path22338-8" inkscape:connector-curvature="0" sodipodi:nodetypes="cccccccccccccccccccccc"/>
+ <g style="display:inline;fill:#ffffff;enable-background:new" id="g25476" transform="translate(-20)">
+ <g style="display:inline;fill:#ffffff;enable-background:new" id="g25445" transform="translate(-218,-111)">
+ <path sodipodi:nodetypes="ssssccccccccssssccs" inkscape:connector-curvature="0" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 301.5,305 c -0.82235,0 -1.5,0.67765 -1.5,1.5 v 5 c 0,0.82235 1,1.5 1.5,1.5 h 0.5 v -3 h -0.5 c -0.67616,0.01 -0.67616,-1.01 0,-1 h 11 c 0.67616,-0.01 0.67616,1.01 0,1 H 312 v 3 h 0.5 c 0.82235,0 1.5,-0.67765 1.5,-1.5 v -5 c 0,-0.82235 -0.67765,-1.5 -1.5,-1.5 H 312 302 Z" transform="translate(70,363)" id="path25441"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.7;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 135,562 v 8.5 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 7 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 V 562 Z m 6,2 c 0.54636,0 1,0.45364 1,1 0,0.54636 -0.45364,1 -1,1 -0.54636,0 -1,-0.45364 -1,-1 0,-0.54636 0.45364,-1 1,-1 z m -2.50781,2 c 0.16994,-0.003 0.32953,0.0812 0.42383,0.22266 l 2,3 c 0.22142,0.33228 -0.0167,0.77726 -0.41602,0.77734 h -4 c -0.39932,-8e-5 -0.63744,-0.44506 -0.41602,-0.77734 l 2,-3 c 0.0912,-0.13686 0.24381,-0.21966 0.40821,-0.22266 z" transform="translate(238,111)" id="path25443" inkscape:connector-curvature="0"/>
+ </g>
+ </g>
+ <path sodipodi:nodetypes="ccccccscsccccccccccccccccccccccccccccccccc" inkscape:connector-curvature="0" id="path5256" d="m 197.50977,409.99414 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 3 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 1.5039 c 0.0205,0.58311 0.0403,1.03618 -0.0488,1.24805 -0.22838,0.54301 -0.5609,0.82668 -1.00781,1.10937 -0.44691,0.28269 -1.00733,0.53131 -1.53711,0.97461 -0.52977,0.4433 -1.00108,1.10059 -1.22656,2.08789 -0.22548,0.9873 -0.2332,2.29903 0.0625,4.16406 0.0385,0.24311 0.24801,0.42203 0.49414,0.42188 h 8.75586 c 0.30739,1.4e-4 0.54213,-0.2745 0.49414,-0.57812 -0.36883,-2.32606 -0.21493,-3.6368 0.12305,-4.40821 0.33798,-0.7714 0.85304,-1.08606 1.49804,-1.45508 0.645,-0.36901 1.43565,-0.7809 1.90821,-1.70703 0.47255,-0.92613 0.59571,-2.25921 0.21289,-4.4375 C 208.70043,411.17484 208.49284,411.0002 208.25,411 h -7.24023 v -0.50586 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z m 0.5,1 h 2 v 2 h -2 z m 3,1.00586 h 6.78125 c 0.25456,1.74951 0.14487,2.81594 -0.15235,3.39844 -0.3247,0.63637 -0.84774,0.91198 -1.51367,1.29297 -0.66593,0.38098 -1.46183,0.87882 -1.91797,1.91992 -0.41222,0.94085 -0.49675,2.35477 -0.23633,4.38867 h -7.73437 c -0.19264,-1.47462 -0.23076,-2.65205 -0.0684,-3.36328 0.18281,-0.80045 0.49635,-1.21142 0.89258,-1.54297 0.39622,-0.33155 0.90291,-0.56523 1.42968,-0.89844 0.52678,-0.33321 1.07351,-0.7985 1.39649,-1.5664 0.22021,-0.52359 0.17686,-1.05487 0.13867,-1.63477 h 0.48438 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"/>
+ <path inkscape:connector-curvature="0" id="path5262" d="m 180.5,410 c -2.08712,0 -3.47816,1.04607 -4.39062,2.1875 a 0.50024408,0.50024408 0 0 0 0.78125,0.625 C 177.69049,411.81193 178.73439,411 180.5,411 c 2.09839,0 3.13411,0.87695 3.75195,1.94531 C 184.8698,414.01367 185,415.31651 185,416 h -5.25 c -1.27344,0 -2.44324,0.36418 -3.31445,1.05469 -0.87121,0.69051 -1.42774,1.72791 -1.42774,2.94531 0,1.2174 0.55653,2.2548 1.42774,2.94531 C 177.30676,423.63582 178.47656,424 179.75,424 h 0.75 c 1.75558,0 3.38771,-0.96684 4.53711,-2.0332 0.0781,0.53303 0.28951,1.00434 0.64062,1.35547 C 186.12862,423.77315 186.775,424 187.5,424 a 0.50005,0.50005 0 1 0 0,-1 c -0.525,0 -0.87862,-0.14815 -1.11523,-0.38477 C 186.14815,422.37862 186,422.025 186,421.5 V 416 c 0,-0.79721 -0.12242,-2.24322 -0.88086,-3.55469 C 184.3607,411.13385 182.89646,410 180.5,410 Z m -0.75,7 H 185 v 3.56055 C 184.04582,421.68473 182.18875,423 180.5,423 h -0.75 c -1.08101,0 -2.03187,-0.31555 -2.69336,-0.83984 -0.66149,-0.52429 -1.04883,-1.23676 -1.04883,-2.16016 0,-0.9234 0.38734,-1.63587 1.04883,-2.16016 C 177.71813,417.31555 178.66899,417 179.75,417 Z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"/>
+ <g inkscape:export-ydpi="96" inkscape:export-xdpi="96" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" transform="translate(-105,-20.999997)" id="g24881" style="display:inline;fill:#ffffff;enable-background:new">
+ <path inkscape:connector-curvature="0" id="path24877" d="m 183.8125,200.01562 c 2.21359,0.18235 3.97803,1.94071 4.16992,4.1543 0.19189,2.2136 -1.24344,4.25155 -3.39258,4.8125 a 0.5007349,0.5007349 0 1 1 -0.2539,-0.96875 c 1.68376,-0.43948 2.80079,-2.02289 2.65039,-3.75781 -0.1504,-1.73492 -1.52164,-3.10129 -3.25586,-3.24414 -1.73423,-0.14285 -3.31219,0.98104 -3.74414,2.66797 a 0.50005,0.50005 0 1 1 -0.96875,-0.24805 c 0.55114,-2.15241 2.58133,-3.59836 4.79492,-3.41602 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"/>
+ <g id="g24891" transform="matrix(-1,0,0,1,356.9996,0)" style="fill:#ffffff">
+ <path inkscape:connector-curvature="0" d="M 176.99634,212.50183 A 1.4981741,1.4981725 0 0 1 175.49817,214 a 1.4981741,1.4981725 0 0 1 -1.49818,-1.49817 1.4981741,1.4981725 0 0 1 1.49818,-1.49817 1.4981741,1.4981725 0 0 1 1.49817,1.49817 z m 2.39233,-7.41199 c 0.85602,0.17256 1.66292,0.59211 2.30469,1.23828 1.28353,1.29236 1.66074,3.23682 0.95508,4.91602 -0.70566,1.6792 -2.35829,2.76833 -4.17969,2.75586 a 0.50005,0.50005 0 1 1 0.008,-1 c 1.41921,0.01 2.70016,-0.83611 3.25,-2.14453 0.54985,-1.30842 0.25598,-2.81527 -0.74414,-3.82227 -1.00012,-1.00699 -2.50427,-1.31041 -3.8164,-0.76953 C 175.85388,206.80455 175,208.08075 175,209.5 a 0.50005,0.50005 0 1 1 -1,0 c 0,-1.82144 1.10118,-3.466 2.78516,-4.16016 0.84199,-0.34708 1.7475,-0.42255 2.60351,-0.25 z" style="opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke" id="ellipse24887"/>
+ </g>
+ </g>
+ <path inkscape:connector-curvature="0" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 490,307 c -0.55226,6e-5 -0.99994,0.44774 -1,1 v 8 c 6e-5,0.55226 0.44774,0.99994 1,1 h 12 c 0.55226,-6e-5 0.99994,-0.44774 1,-1 v -8 c -6e-5,-0.55226 -0.44774,-0.99994 -1,-1 z m 6,1 a 4,4 0 0 1 4,4 4,4 0 0 1 -4,4 4,4 0 0 1 -4,-4 4,4 0 0 1 4,-4 z" id="path25011-0"/>
+ <g transform="translate(1055,731)" style="display:inline;opacity:0.6;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;enable-background:new" id="g25234-0">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m -580,-424 c -2.7555,0 -5,2.2445 -5,5 0,2.7555 2.2445,5 5,5 2.7555,0 5,-2.2445 5,-5 0,-2.7555 -2.2445,-5 -5,-5 z m 0,1 c 2.21506,0 4,1.78494 4,4 0,2.21506 -1.78494,4 -4,4 -2.21506,0 -4,-1.78494 -4,-4 0,-2.21506 1.78494,-4 4,-4 z m -0.52148,1 a 0.50005,0.50005 0 0 0 -0.084,0.0117 c -1.2099,0.24373 -2.15796,1.187 -2.38476,2.38867 a 0.50005,0.50005 0 1 0 0.98242,0.18555 c 0.15048,-0.79727 0.77874,-1.42839 1.59961,-1.59375 A 0.50005,0.50005 0 0 0 -580.52148,-422 Z" id="path25232-0" inkscape:connector-curvature="0"/>
+ </g>
+ <path inkscape:connector-curvature="0" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 542.77344,306 a 1.0001,1.0001 0 0 0 -0.41211,0.0781 l -4.74024,2 a 1.0004654,1.0004654 0 1 0 0.77735,1.84376 l 1.54883,-0.65235 -2.69532,5.375 -2.78906,-2.30078 a 1.50015,1.50015 0 1 0 -1.9082,2.3125 l 4.24023,3.5 a 1.50015,1.50015 0 0 0 2.29688,-0.48437 l 3.53711,-7.0586 0.41015,1.63086 a 1.0001,1.0001 0 1 0 1.93946,-0.48828 l -1.25977,-5 A 1.0001,1.0001 0 0 0 542.77344,306 Z" id="path25427-8"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 521.51367,306 a 0.50005,0.50005 0 0 0 -0.23633,0.0527 l -4,2 a 0.50005,0.50005 0 1 0 0.44532,0.89454 l 2.8164,-1.40821 -4.20508,8.1875 -4.52148,-3.61718 a 0.50024018,0.50024018 0 1 0 -0.625,0.78124 l 5,4 a 0.50005,0.50005 0 0 0 0.75781,-0.1621 l 4.4375,-8.64063 0.63281,2.5332 a 0.50005,0.50005 0 1 0 0.96876,-0.24218 l -1,-4 A 0.50005,0.50005 0 0 0 521.51367,306 Z" id="path25488-0" inkscape:connector-curvature="0"/>
+ <g id="g5381" style="fill:#ffffff">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.75;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.03999233px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 329.97518,350.98014 a 0.52004817,0.52004817 0 0 0 -0.38086,0.19532 l -3.61133,4.51562 -3.09179,-3.5332 a 0.52004817,0.52004817 0 1 0 -0.78321,0.68359 l 3.5,4 a 0.52004817,0.52004817 0 0 0 0.79883,-0.0176 l 3.61133,-4.51367 3.08984,3.53125 a 0.52004817,0.52004817 0 1 0 0.78321,-0.68359 l -3.5,-4 a 0.52004817,0.52004817 0 0 0 -0.41602,-0.17774 z" id="path4898" inkscape:connector-curvature="0"/>
+ <path inkscape:connector-curvature="0" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.03999233px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="M 321.49219,347.97266 A 0.52004817,0.52004817 0 0 0 320.97852,348.5 v 11 a 0.520505,0.520505 0 0 0 1.04101,0 V 358 h 11.95899 v 1.5 a 0.520505,0.520505 0 0 0 1.04101,0 v -11 a 0.52004817,0.52004817 0 0 0 -0.52734,-0.52734 0.52004817,0.52004817 0 0 0 -0.51367,0.52734 v 1.5 h -11.95899 v -1.5 a 0.52004817,0.52004817 0 0 0 -0.52734,-0.52734 z M 322.01953,351 h 11.95899 v 6 h -11.95899 z" id="path4902"/>
+ </g>
+ <g transform="translate(166.89495,43.00791)" id="g9160-3" style="display:inline;fill:#ffffff;enable-background:new"/>
+ <g id="g5375" style="fill:#ffffff">
+ <path inkscape:connector-curvature="0" id="path9106-6-2" d="m 346.49261,354.99229 a 0.50005,0.50005 0 0 0 -0.49219,0.50781 v 3 c 0,0.725 0.22685,1.37138 0.67773,1.82226 0.45089,0.45089 1.09727,0.67774 1.82227,0.67774 0.725,0 1.37138,-0.22685 1.82226,-0.67774 0.45089,-0.45088 0.67774,-1.09726 0.67774,-1.82226 v -3 a 0.50005,0.50005 0 1 0 -1,0 v 3 c 0,0.525 -0.14815,0.87862 -0.38477,1.11523 -0.23661,0.23661 -0.59023,0.38477 -1.11523,0.38477 -0.525,0 -0.87862,-0.14816 -1.11524,-0.38477 -0.23661,-0.23661 -0.38476,-0.59023 -0.38476,-1.11523 v -3 a 0.50005,0.50005 0 0 0 -0.50781,-0.50781 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.75;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:markers stroke fill;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"/>
+ <path d="m 348.49261,349.99229 a 0.50005,0.50005 0 0 0 -0.49219,0.50781 v 6 a 0.50005,0.50005 0 1 0 1,0 v -6 a 0.50005,0.50005 0 0 0 -0.50781,-0.50781 z m -5.99219,-2.99219 a 0.50005,0.50005 0 1 0 0,1 h 2.5 v 1.75 c 0,0.97222 0.53688,1.82801 1.27539,2.19726 a 0.50005635,0.50005635 0 1 0 0.44726,-0.89453 c -0.26148,-0.13074 -0.72265,-0.77495 -0.72265,-1.30273 v -1.75 h 5 v 1.75 c 0,0.52778 -0.46312,1.17199 -0.72461,1.30273 a 0.50005635,0.50005635 0 1 0 0.44726,0.89453 c 0.73852,-0.36925 1.27735,-1.22504 1.27735,-2.19726 v -1.75 h 2.5 a 0.50005,0.50005 0 1 0 0,-1 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:markers stroke fill;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" id="path9108-6-6" inkscape:connector-curvature="0"/>
+ </g>
+ <g transform="translate(-40.999997,-42)" id="g25194-8-8" style="display:inline;fill:#ffffff;enable-background:new">
+ <circle cx="221" cy="285" id="circle25190-1-7" style="opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:0.99999988;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke" r="0"/>
+ <path id="circle25383" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999988;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 221,284 c -0.54636,0 -1,0.45364 -1,1 0,0.54636 0.45364,1 1,1 0.54636,0 1,-0.45364 1,-1 0,-0.54636 -0.45364,-1 -1,-1 z m 3,0 c -0.54636,0 -1,0.45364 -1,1 0,0.54636 0.45364,1 1,1 0.54636,0 1,-0.45364 1,-1 0,-0.54636 -0.45364,-1 -1,-1 z m 3,1 c -0.54636,0 -1,0.45364 -1,1 0,0.54636 0.45364,1 1,1 0.54636,0 1,-0.45364 1,-1 0,-0.54636 -0.45364,-1 -1,-1 z m -5.67188,2.04688 c -0.72617,0.0892 -1.40636,0.31348 -2.02343,0.63867 -1.23415,0.65038 -2.22638,1.68758 -2.94922,2.84375 -0.72284,1.15617 -1.1805,2.43169 -1.32227,3.60742 -0.14176,1.17573 0.0178,2.28295 0.6875,3.0293 0.68189,0.75993 1.69067,0.98063 2.61328,0.6914 C 219.35231,297.53818 220,296.54997 220,295.5 c 0,-0.87561 0.22937,-1.10992 0.64258,-1.29297 C 221.05579,294.02398 221.75437,294 222.5,294 c 0.79276,0 1.56488,-0.14919 2.20703,-0.5332 0.52292,-0.31271 0.89501,-0.8382 1.11524,-1.4668 h 1.13281 a 0.50004994,0.50004994 0 0 0 0.002,0 c 1.02746,0 1.90966,-0.75672 2.0293,-1.76953 0.11964,-1.01284 -0.5686,-1.95303 -1.57031,-2.17969 -0.73109,-0.16542 -1.38414,0.17264 -1.8711,0.68945 -0.49389,-0.69239 -1.0864,-1.29918 -1.91601,-1.52148 -0.80279,-0.21511 -1.57461,-0.26104 -2.30079,-0.17187 z m 0.11915,0.98632 c 0.59872,-0.0738 1.23897,-0.0331 1.92382,0.15039 0.66836,0.17909 1.23082,0.75735 1.69727,1.56446 a 0.50004994,0.50004994 0 0 0 0.90234,-0.0781 c 0.17721,-0.4818 0.69836,-0.76361 1.22461,-0.64453 0.52625,0.11908 0.85819,0.58537 0.79883,1.08789 C 227.93478,290.61583 227.49838,291 226.95703,291 H 225.5 a 0.50004994,0.50004994 0 0 0 -0.49219,0.41406 c -0.10308,0.5846 -0.38181,0.93776 -0.8125,1.19532 C 223.76463,292.86693 223.16312,293 222.5,293 c -0.74508,0 -1.54761,-0.0253 -2.26172,0.29102 C 219.52417,293.60735 219,294.37315 219,295.5 c 0,0.63163 -0.40649,1.2273 -0.96484,1.40234 -0.62221,0.19506 -1.12911,0.0874 -1.57032,-0.40429 -0.37675,-0.41988 -0.55858,-1.23603 -0.4375,-2.24024 0.12109,-1.00421 0.53101,-2.16478 1.17774,-3.19922 0.64673,-1.03443 1.52684,-1.94044 2.5664,-2.48828 0.51979,-0.27392 1.07706,-0.46333 1.67579,-0.53711 z" inkscape:connector-curvature="0"/>
+ </g>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 90.494141,178.99609 a 0.50005,0.50005 0 0 0 -0.347657,0.85743 l 3,3 C 92.440854,183.71574 91.999993,184.80241 92,186 c 2e-5,1.19757 0.440853,2.28425 1.146484,3.14648 l -3,3 a 0.50005,0.50005 0 1 0 0.707032,0.70704 l 3,-3 C 94.715742,190.55915 95.802428,191 97,191 c 1.197573,0 2.284258,-0.44085 3.14648,-1.14648 l 3,3 a 0.50005,0.50005 0 1 0 0.70704,-0.70704 l -3,-3 C 101.55915,188.28425 101.99998,187.19757 102,186 c 0,-1.19759 -0.44086,-2.28426 -1.14648,-3.14648 l 3,-3 a 0.50005,0.50005 0 0 0 -0.36329,-0.85743 0.50005,0.50005 0 0 0 -0.34375,0.15039 l -3,3 C 99.284255,181.44086 98.197592,181 97,181 c -1.19759,0 -2.284254,0.44086 -3.146484,1.14648 l -3,-3 a 0.50005,0.50005 0 0 0 -0.359375,-0.15039 z M 97,182 c 2.21506,0 4.00001,1.78494 4,4 -4e-5,2.21502 -1.784977,4 -4,4 -2.215019,0 -3.999963,-1.78498 -4,-4 -1.2e-5,-2.21506 1.784946,-4 4,-4 z" id="path25165" inkscape:connector-curvature="0"/>
+ <g id="g10845">
+ <path inkscape:connector-curvature="0" d="m 473,628 a 1.0001,1.0001 0 1 0 0,2 h 2 a 1.0001,1.0001 0 1 0 0,-2 z m -4.5,-6 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 3 a 0.50005,0.50005 0 0 0 0.5,0.5 h 0.5 v 7.5 a 0.50005,0.50005 0 0 0 0.5,0.5 h 9 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -5 a 0.50005,0.50005 0 1 0 -1,0 v 4.5 h -8 v -7 h 3.5 a 0.50005,0.50005 0 1 0 0,-1 H 469 v -2 h 4.5 a 0.50005,0.50005 0 1 0 0,-1 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" id="path24739-4"/>
+ <path sodipodi:nodetypes="sssssccccccccccccc" inkscape:connector-curvature="0" id="path27428" d="m 478.50003,620.0003 c -1.933,0 -3.5,1.567 -3.5,3.5 0,1.933 1.567,3.5 3.5,3.5 1.933,0 3.5,-1.567 3.5,-3.5 0,-1.933 -1.567,-3.5 -3.5,-3.5 z m -0.5,1 h 1 v 2 h 2 v 1 h -2 v 2 h -1 v -2 h -2 v -1 h 2 z" style="display:inline;opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:new"/>
+ </g>
+ <g style="display:inline;enable-background:new" id="g27418" transform="translate(83.999997,-84)">
+ <path style="display:inline;opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:new" d="m 352.50003,305.0003 c -1.933,0 -3.5,1.567 -3.5,3.5 0,1.933 1.567,3.5 3.5,3.5 1.933,0 3.5,-1.567 3.5,-3.5 0,-1.933 -1.567,-3.5 -3.5,-3.5 z m -0.5,1 h 1 v 2 h 2 v 1 h -2 v 2 h -1 v -2 h -2 v -1 h 2 z" id="path27589" inkscape:connector-curvature="0" sodipodi:nodetypes="sssssccccccccccccc"/>
+ <g id="g27675-2" transform="rotate(90,232.49897,657.49643)" style="display:inline;opacity:0.7;enable-background:new">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m -109.99609,533.99609 -0.004,7.11133 c -1.67885,0.25428 -2.99414,1.64686 -2.99414,3.39453 0,1.92568 1.57041,3.49805 3.49609,3.49805 1.92569,0 3.49805,-1.57236 3.49805,-3.49805 0,-1.74925 -1.31894,-3.14219 -3,-3.39453 l 0.004,-7.11133 z m 0.49804,8.00977 c 1.38524,0 2.49805,1.11085 2.49805,2.49609 0,1.38525 -1.1128,2.49805 -2.49805,2.49805 -1.38524,0 -2.49609,-1.11281 -2.49609,-2.49805 0,-1.38523 1.11086,-2.49609 2.49609,-2.49609 z" id="path27671-7" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m -108.5,534 v 3 h 1 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -2 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z" id="path27673-7" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccccc"/>
+ </g>
+ </g>
+ <g style="display:inline;enable-background:new" id="g27444" transform="translate(-18.000003,-64)">
+ <g id="g27675" transform="rotate(90,282.99897,687.99643)" style="opacity:0.7">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m -109.99609,533.99609 -0.004,7.11133 c -1.67885,0.25428 -2.99414,1.64686 -2.99414,3.39453 0,1.92568 1.57041,3.49805 3.49609,3.49805 1.92569,0 3.49805,-1.57236 3.49805,-3.49805 0,-1.74925 -1.31894,-3.14219 -3,-3.39453 l 0.004,-7.11133 z m 0.49804,8.00977 c 1.38524,0 2.49805,1.11085 2.49805,2.49609 0,1.38525 -1.1128,2.49805 -2.49805,2.49805 -1.38524,0 -2.49609,-1.11281 -2.49609,-2.49805 0,-1.38523 1.11086,-2.49609 2.49609,-2.49609 z" id="path27671" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m -108.5,534 v 3 h 1 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -2 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z" id="path27673" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccccc"/>
+ </g>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 430.49414,284.99414 a 0.50005,0.50005 0 0 0 -0.34766,0.85938 l 2.64649,2.64648 -2.64649,2.64648 a 0.50005,0.50005 0 1 0 0.70704,0.70704 l 2.64648,-2.64649 2.64648,2.64649 a 0.50005,0.50005 0 1 0 0.70704,-0.70704 l -2.64649,-2.64648 2.64649,-2.64648 a 0.50005,0.50005 0 1 0 -0.70704,-0.70704 l -2.64648,2.64649 -2.64648,-2.64649 a 0.50005,0.50005 0 0 0 -0.35938,-0.15234 z" id="path27679" inkscape:connector-curvature="0"/>
+ </g>
+ <g transform="translate(4.7134341e-6,4.7134317e-6)" style="display:inline;enable-background:new" id="g27915">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 180.5,263 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 4 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 1.5 v 0.5 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 1.5 v 1.5 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 3 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -7 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z m 0.5,1 h 6 v 6 h -2 v -1.5 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 H 183 v -0.5 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 H 181 Z" id="path27886" inkscape:connector-curvature="0" sodipodi:nodetypes="cccccccccccccccccccccccccc"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.7;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 176.50781,262.99414 a 0.50005,0.50005 0 0 0 -0.45508,0.72852 l 1,2 a 0.50005,0.50005 0 1 0 0.89454,-0.44532 l -1,-2 a 0.50005,0.50005 0 0 0 -0.43946,-0.2832 z m -2.02539,3.00195 a 0.50005,0.50005 0 0 0 -0.20508,0.95118 l 2,1 a 0.50005,0.50005 0 1 0 0.44532,-0.89454 l -2,-1 a 0.50005,0.50005 0 0 0 -0.24024,-0.0566 z m 11,6 a 0.50005,0.50005 0 0 0 -0.20508,0.95118 l 2,1 a 0.50005,0.50005 0 1 0 0.44532,-0.89454 l -2,-1 a 0.50005,0.50005 0 0 0 -0.24024,-0.0566 z m -0.97461,1.99805 a 0.50005,0.50005 0 0 0 -0.45508,0.72852 l 1,2 a 0.50005,0.50005 0 1 0 0.89454,-0.44532 l -1,-2 a 0.50005,0.50005 0 0 0 -0.43946,-0.2832 z" id="path27898" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 174.5,269 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 7 a 0.50005,0.50005 0 0 0 0.5,0.5 h 7 a 0.50005,0.50005 0 0 0 0.5,-0.5 l -0.008,-4 a 0.50005,0.50005 0 0 0 -0.5,-0.5 h -1.5 v -1.5 a 0.50005,0.50005 0 0 0 -0.5,-0.5 h -1.4961 L 178,269.50391 A 0.50005,0.50005 0 0 0 177.5,269 Z m 0.5,1 h 1.99609 l -0.004,0.49609 a 0.50005,0.50005 0 0 0 0.5,0.50391 h 1.5 v 1.5 a 0.50005,0.50005 0 0 0 0.5,0.5 h 1.5 l 0.008,3 h -6 z" id="path10946" inkscape:connector-curvature="0"/>
+ </g>
+ <g style="display:inline;enable-background:new" id="g27501-8" transform="translate(-20.999927,104.99988)">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.85;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 346.54688,478.16016 a 0.50005,0.50005 0 0 0 -0.18165,0.0293 c -1.54898,0.53108 -2.52602,2.0719 -2.34375,3.69922 0.18228,1.62732 1.47542,2.91657 3.10352,3.0918 1.6281,0.17523 3.16703,-0.80811 3.69141,-2.35938 a 0.50005,0.50005 0 1 0 -0.94727,-0.32031 c -0.37611,1.11265 -1.46896,1.81123 -2.63672,1.68555 -1.16775,-0.12568 -2.08606,-1.04179 -2.2168,-2.20899 -0.13073,-1.1672 0.56282,-2.26166 1.67383,-2.64257 a 0.50005,0.50005 0 0 0 -0.14257,-0.97461 z" id="path27478-1" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999988;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 346.52148,476.09375 a 0.50004994,0.50004994 0 0 0 -0.0859,0.01 c -2.69151,0.53044 -4.58334,2.97414 -4.42578,5.71289 0.15755,2.73875 2.31815,4.94772 5.05273,5.16601 2.73458,0.21829 5.21856,-1.61975 5.80859,-4.29883 a 0.50004994,0.50004994 0 1 0 -0.97656,-0.21484 c -0.48423,2.19868 -2.50772,3.69672 -4.75195,3.51758 -2.24424,-0.17915 -4.00546,-1.98086 -4.13477,-4.22852 -0.1293,-2.24766 1.41221,-4.2385 3.6211,-4.67383 a 0.50004994,0.50004994 0 0 0 -0.10743,-0.99023 z" id="circle27480-1" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 353.49219,473 c -0.12989,0.002 -0.25387,0.0546 -0.34571,0.14648 l -5,5 c -0.0938,0.0938 -0.14646,0.22092 -0.14648,0.35352 v 1.79297 l -0.85352,0.85351 c -0.49023,0.47127 0.23577,1.19727 0.70704,0.70704 L 348.70703,481 H 350.5 c 0.1326,-2e-5 0.25976,-0.0527 0.35352,-0.14648 l 5,-5 c 0.19519,-0.19527 0.19519,-0.51177 0,-0.70704 l -2,-2 c -0.0957,-0.0957 -0.22603,-0.14855 -0.36133,-0.14648 z" id="path27485-1" inkscape:connector-curvature="0" sodipodi:nodetypes="cccccccccccccc"/>
+ </g>
+ <path sodipodi:nodetypes="cccccccc" inkscape:connector-curvature="0" id="path27639" d="m 29.959614,221.99997 c -0.53618,0.022 -0.95938,0.4634 -0.95898,1 v 10 c 7.2e-4,0.7847 0.8635,1.2629 1.5293,0.8477 l 8,-5 c 0.625909,-0.3918 0.625909,-1.3036 0,-1.6954 l -8,-5 c -0.17045,-0.107 -0.36922,-0.1601 -0.57032,-0.1523 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 185.04038,221.99997 c 0.53618,0.022 0.95938,0.4634 0.95898,1 v 10 c -7.2e-4,0.7847 -0.8635,1.2629 -1.5293,0.8477 l -8,-5 c -0.62591,-0.3918 -0.62591,-1.3036 0,-1.6954 l 8,-5 c 0.17045,-0.107 0.36922,-0.1601 0.57032,-0.1523 z" id="path9268" inkscape:connector-curvature="0" sodipodi:nodetypes="cccccccc"/>
+ <path inkscape:connector-curvature="0" id="path27528" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 132.5104,224 c -0.27994,-0.01 -0.50979,0.22 -0.50977,0.5 v 7 c -0.001,0.4307 0.5065,0.6613 0.83008,0.377 l 4,-3.5 c 0.22872,-0.1993 0.22872,-0.5547 0,-0.754 l -4,-3.5 c -0.0889,-0.078 -0.20238,-0.1211 -0.32031,-0.123 z m 9.96289,-1 c -0.13302,0.01 -0.25746,0.068 -0.34571,0.168 l -4,4.5 c -0.16816,0.1894 -0.16816,0.4746 0,0.664 l 4,4.5 c 0.19883,0.2227 0.54727,0.2227 0.7461,0 l 4,-4.5 c 0.16816,-0.1894 0.16816,-0.4746 0,-0.664 l -4,-4.5 c -0.10092,-0.114 -0.24831,-0.1759 -0.40039,-0.168 z"/>
+ <path inkscape:connector-curvature="0" id="path27544" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 51.506493,224 c -0.27842,0 -0.50585,0.2216 -0.50586,0.5 v 7 c -6.1e-4,0.4051 0.45544,0.6427 0.78711,0.4102 l 5,-3.5 c 0.28542,-0.199 0.28542,-0.6214 0,-0.8204 l -5,-3.5 c -0.0826,-0.058 -0.1806,-0.089 -0.28125,-0.09 z m 6.49414,-1 v 10 h 2 v -10 z"/>
+ <path d="m 124.49003,224 c 0.27994,-0.01 0.50979,0.22 0.50977,0.5 v 7 c 0.001,0.4307 -0.5065,0.6613 -0.83008,0.377 l -4,-3.5 c -0.22872,-0.1993 -0.22872,-0.5547 0,-0.754 l 4,-3.5 c 0.0889,-0.078 0.20238,-0.1211 0.32031,-0.123 z m -9.96289,-1 c 0.13302,0.01 0.25746,0.068 0.34571,0.168 l 4,4.5 c 0.16816,0.1894 0.16816,0.4746 0,0.664 l -4,4.5 c -0.19883,0.2227 -0.54727,0.2227 -0.7461,0 l -4,-4.5 c -0.16816,-0.1894 -0.16816,-0.4746 0,-0.664 l 4,-4.5 c 0.10092,-0.114 0.24831,-0.1759 0.40039,-0.168 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" id="path9201" inkscape:connector-curvature="0"/>
+ <path d="m 79.49414,224 c 0.27842,0 0.50585,0.2216 0.50586,0.5 v 7 c 6.1e-4,0.4051 -0.45544,0.6427 -0.78711,0.4102 l -5,-3.5 c -0.28542,-0.199 -0.28542,-0.6214 0,-0.8204 l 5,-3.5 c 0.0826,-0.058 0.1806,-0.089 0.28125,-0.09 z M 73,223 v 10 h -2 v -10 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" id="path9203" inkscape:connector-curvature="0"/>
+ <path id="path9205" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 75.50586,203 c -0.27842,0 -0.50585,0.2216 -0.50586,0.5 v 7 c -6.1e-4,0.4051 0.45544,0.6427 0.78711,0.4102 l 5,-3.5 c 0.28542,-0.199 0.28542,-0.6214 0,-0.8204 l -5,-3.5 c -0.0826,-0.058 -0.1806,-0.089 -0.28125,-0.09 z M 71,203 v 8 h 2 v -8 z" inkscape:connector-curvature="0" sodipodi:nodetypes="cccccccccccccc"/>
+ <path d="m 55.49414,203 c 0.27842,0 0.50585,0.2216 0.50586,0.5 v 7 c 6.1e-4,0.4051 -0.45544,0.6427 -0.78711,0.4102 l -5,-3.5 c -0.28542,-0.199 -0.28542,-0.6214 0,-0.8204 l 5,-3.5 c 0.0826,-0.058 0.1806,-0.089 0.28125,-0.09 z m 4.507668,0 v 8 h -2 v -8 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" id="path9208" inkscape:connector-curvature="0" sodipodi:nodetypes="cccccccccccccc"/>
+ <path inkscape:connector-curvature="0" id="path9205-9" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 94.50586,623 c -0.27842,0 -0.50585,0.2216 -0.50586,0.5 v 7 c -6.1e-4,0.4051 0.45544,0.6427 0.78711,0.4102 l 5,-3.5 c 0.28542,-0.199 0.28542,-0.6214 0,-0.8204 l -5,-3.5 c -0.0826,-0.058 -0.1806,-0.089 -0.28125,-0.09 z" sodipodi:nodetypes="ccccccccc"/>
+ <path sodipodi:nodetypes="ccccccccc" d="m 113.9992,624.50586 c 0,-0.27842 0.2216,-0.50584 0.5,-0.50586 h 7 c 0.4051,-6e-4 0.6427,0.45544 0.4102,0.78711 l -3.5,5 c -0.199,0.28542 -0.6214,0.28542 -0.8204,0 l -3.5,-5 c -0.058,-0.0826 -0.089,-0.1806 -0.09,-0.28125 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" id="path9225" inkscape:connector-curvature="0"/>
+ <path inkscape:connector-curvature="0" id="path9227" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 141.49531,622.99926 c 0.27843,0 0.50584,0.2216 0.50587,0.5 v 7 c 5.9e-4,0.4051 -0.45545,0.6427 -0.78712,0.4102 l -5,-3.5 c -0.28541,-0.199 -0.28541,-0.6214 0,-0.8204 l 5,-3.5 c 0.0826,-0.058 0.1806,-0.089 0.28125,-0.09 z" sodipodi:nodetypes="ccccccccc"/>
+ <path inkscape:connector-curvature="0" id="path9229" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 156,629.49414 c 0,0.27842 0.2216,0.50584 0.5,0.50586 h 7 c 0.4051,6e-4 0.6427,-0.45544 0.4102,-0.78711 l -3.5,-5 c -0.199,-0.28542 -0.6214,-0.28542 -0.8204,0 l -3.5,5 c -0.058,0.0826 -0.089,0.1806 -0.09,0.28125 z" sodipodi:nodetypes="ccccccccc"/>
+ <path inkscape:connector-curvature="0" id="path27544-8" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 471.50586,371 c -0.27842,0 -0.50585,0.2216 -0.50586,0.5 v 7 c -6.1e-4,0.4051 0.45544,0.6427 0.78711,0.4102 l 5,-3.5 c 0.28542,-0.199 0.28542,-0.6214 0,-0.8204 l -5,-3.5 c -0.0826,-0.058 -0.1806,-0.089 -0.28125,-0.09 z M 478,371 v 8 h 2 v -8 z" sodipodi:nodetypes="cccccccccccccc"/>
+ <path sodipodi:nodetypes="cccccccccccccc" d="m 500,371.50586 c 0,-0.27842 -0.2216,-0.50585 -0.5,-0.50586 h -7 c -0.4051,-6.1e-4 -0.6427,0.45544 -0.4102,0.78711 l 3.5,5 c 0.199,0.28542 0.6214,0.28542 0.8204,0 l 3.5,-5 c 0.058,-0.0826 0.089,-0.1806 0.09,-0.28125 z M 500,378 h -8 v 2 h 8 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" id="path9258" inkscape:connector-curvature="0"/>
+ <path inkscape:connector-curvature="0" id="path9260" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 542,379.49414 c 0,0.27842 -0.2216,0.50585 -0.5,0.50586 h -7 c -0.4051,6.1e-4 -0.6427,-0.45544 -0.4102,-0.78711 l 3.5,-5 c 0.199,-0.28542 0.6214,-0.28542 0.8204,0 l 3.5,5 c 0.058,0.0826 0.089,0.1806 0.09,0.28125 z M 542,373 h -8 v -2 h 8 z" sodipodi:nodetypes="cccccccccccccc"/>
+ <path sodipodi:nodetypes="cccccccccccccc" d="m 520.49414,371 c 0.27842,0 0.50585,0.2216 0.50586,0.5 v 7 c 6.1e-4,0.4051 -0.45544,0.6427 -0.78711,0.4102 l -5,-3.5 c -0.28542,-0.199 -0.28542,-0.6214 0,-0.8204 l 5,-3.5 c 0.0826,-0.058 0.1806,-0.089 0.28125,-0.09 z M 514,371 v 8 h -2 v -8 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" id="path9264" inkscape:connector-curvature="0"/>
+ <g id="g9217">
+ <path inkscape:connector-curvature="0" id="path24965-8" d="m 447.5,599 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 10 a 0.50005,0.50005 0 0 0 0.5,0.5 h 13 a 0.50005,0.50005 0 1 0 0,-1 H 448 v -9 h 9 v 7.5 a 0.50005,0.50005 0 1 0 1,0 v -8 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m 9.99219,11.74219 A 0.50005,0.50005 0 0 0 457,611.25 v 1.25 a 0.50005,0.50005 0 1 0 1,0 v -1.25 a 0.50005,0.50005 0 0 0 -0.50781,-0.50781 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
+ <path inkscape:connector-curvature="0" id="path24881-9" d="m 455.5,602 c -0.58333,0 -1.08834,0.16632 -1.52734,0.45898 -0.43901,0.29267 -0.82618,0.6875 -1.32618,1.1875 l -1,1 c -0.5,0.5 -0.86283,0.85517 -1.17382,1.0625 C 450.16166,605.91632 449.91667,606 449.5,606 h -1 v 1 h 1 c 0.58333,0 1.08834,-0.16632 1.52734,-0.45898 0.43901,-0.29267 0.82618,-0.6875 1.32618,-1.1875 l 1,-1 c 0.5,-0.5 0.86283,-0.85517 1.17382,-1.0625 C 454.83834,603.08368 455.08333,603 455.5,603 h 1 v -1 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.65;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
+ </g>
+ <g id="g9239">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 468.4999,598.99994 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 3.5 h 1 v -3 h 3 v -1 z m 9.5,0 v 1 h 3 v 3 h 1 v -3.5 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m -10,10 v 3.5 a 0.50005,0.50005 0 0 0 0.5,0.5 h 3.5 v -1 h -3 v -3 z m 13,0 v 3 h -3 v 1 h 3.5 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -3.5 z" id="path24895-4" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.65;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 471.4999,601.99994 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 1.5 h 1 v -1 h 1 v -1 z m 2.5,0 v 1 h 2 v -1 z m 3,0 v 1 h 1 v 1 h 1 v -1.5 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m -6,3 v 2 h 1 v -2 z m 7,0 v 2 h 1 v -2 z m -7,3 v 1.5 a 0.50005,0.50005 0 0 0 0.5,0.5 h 1.5 v -1 h -1 v -1 z m 7,0 v 1 h -1 v 1 h 1.5 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -1.5 z m -4,1 v 1 h 2 v -1 z" id="path24923-3" inkscape:connector-curvature="0"/>
+ </g>
+ <g transform="translate(1223,668.01218)" style="display:inline;enable-background:new" id="g27937-4">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.5;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m -733.49414,-90.007812 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 6.501953 h 1 v -6.001953 h 6 v -1 z m 12.50195,7.001953 v 6 h -6.00195 v 1 h 6.50195 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -6.5 z" id="path27667-4-6" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m -724.49219,-90.007812 a 0.50005,0.50005 0 1 0 0,1 h 2.78321 l -4.13868,4.148437 a 0.50005,0.50005 0 1 0 0.70899,0.705078 l 4.14648,-4.15625 v 2.802735 a 0.50005,0.50005 0 1 0 1,0 v -4 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m -4.01172,7.998046 a 0.50005,0.50005 0 0 0 -0.34375,0.150391 l -4.14648,4.136719 v -2.783203 a 0.50005,0.50005 0 1 0 -1,0 v 4 a 0.50005,0.50005 0 0 0 0.5,0.5 h 4 a 0.50005,0.50005 0 1 0 0,-1 h -2.80274 l 4.1543,-4.144532 a 0.50005,0.50005 0 0 0 -0.36133,-0.859375 z" id="path27669-6-3" inkscape:connector-curvature="0"/>
+ </g>
+ <g transform="translate(1223,668.01218)" style="display:inline;enable-background:new" id="g27941-8">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m -699.50391,-90.009766 a 0.50005,0.50005 0 0 0 -0.34375,0.150391 l -4.14648,4.136719 v -2.783203 a 0.50005,0.50005 0 1 0 -1,0 v 4 a 0.50005,0.50005 0 0 0 0.5,0.5 h 4 a 0.50005,0.50005 0 1 0 0,-1 h -2.80274 l 4.1543,-4.144532 a 0.50005,0.50005 0 0 0 -0.36133,-0.859375 z m -11.98828,8.001954 a 0.50005,0.50005 0 1 0 0,1 h 2.78321 l -4.13868,4.148437 a 0.50005,0.50005 0 1 0 0.70899,0.705078 l 4.14648,-4.15625 v 2.802735 a 0.50005,0.50005 0 1 0 1,0 v -4 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z" id="path27716-4-8" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.5;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m -710.49414,-88.007812 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 4.501953 h 1 v -4.001953 h 4 v -1 z m 8.50195,5.001953 v 4 h -4.00195 v 1 h 4.50195 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -4.5 z" id="path27721-4-5" inkscape:connector-curvature="0"/>
+ </g>
+ <path id="path10295" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 61,288 v -2.5 c -2.8e-5,-0.27613 -0.223869,-0.49997 -0.5,-0.5 H 58 v 1 h 2 v 2 z m -13,0 v -2.5 c 2.8e-5,-0.27613 0.223869,-0.49997 0.5,-0.5 H 51 v 1 h -2 v 2 z m 13,7 v 2.5 c -2.8e-5,0.27613 -0.223869,0.49997 -0.5,0.5 H 58 v -1 h 2 v -2 z m -13,0 v 2.5 c 2.8e-5,0.27613 0.223869,0.49997 0.5,0.5 H 51 v -1 h -2 v -2 z" inkscape:connector-curvature="0"/>
+ <g id="g10303" transform="matrix(-1,0,0,1,68.007122,83.99992)">
+ <g transform="translate(-0.012711,-83.995405)" id="g10299">
+ <path sodipodi:nodetypes="ccccccccccccccccccccccccccccccccccccccccccc" inkscape:connector-curvature="0" id="path10297" transform="matrix(-1,0,0,1,68.019833,-0.004515)" d="m 36.007812,284 v 2 h -1.5 c -0.27613,3e-5 -0.499969,0.22387 -0.5,0.5 v 1.49805 l -3.988281,0.006 c -0.812117,9.2e-4 -1.516225,0.45838 -1.832031,1.12695 -0.315807,0.66858 -0.189691,1.55835 0.478516,2.22656 l 4,4 c 0.413276,0.41327 0.416416,0.77582 0.271484,1.08789 -0.144932,0.31206 -0.483162,0.5586 -0.917969,0.5586 l -4.513672,0.006 c -0.676088,-0.008 -0.674098,1.01079 0.002,1 l 4.511719,-0.006 c 0.815193,0 1.513263,-0.46717 1.824219,-1.13672 0.310955,-0.66954 0.189571,-1.55652 -0.470703,-2.2168 l -4,-4 c -0.426033,-0.42603 -0.426504,-0.78429 -0.28125,-1.0918 0.145253,-0.30751 0.489852,-0.55418 0.927734,-0.55468 L 34,288.99805 c 0.0026,2e-5 0.0052,2e-5 0.0078,0 V 290.5 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 1.5 v 2 h 1 v -2 h 1.5 c 0.27613,-3e-5 0.499971,-0.22387 0.5,-0.5 V 289 h 2 v -1 h -2 v -1.5 c -2.9e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 h -1.5 v -2 z m -1.027343,3 h 3.027343 v 3 h -3.027343 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:7.40000057;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"/>
+ </g>
+ </g>
+ <g id="g10319" transform="translate(-21,84)">
+ <path sodipodi:nodetypes="ccccccccccccccccccccccccccccccccccccccccccccc" inkscape:connector-curvature="0" d="m 29,207 v 1 h -2 v -1 z m 4,4 h 1 v 3 h -1 z m 0,-10 h 1 v 3 h -1 z m -2.5,4 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 4 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 6 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 V 208 h 0.335938 l 2.61914,1.9043 c 0.08568,0.0623 0.188958,0.0958 0.294922,0.0957 h 0.25 c 0.276131,-3e-5 0.499972,-0.22387 0.5,-0.5 v -4 c -2.8e-5,-0.27613 -0.223869,-0.49997 -0.5,-0.5 h -0.25 c -0.105964,-1.5e-4 -0.209238,0.0334 -0.294922,0.0957 L 37.335938,207 H 37 v -1.5 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z m 0.5,1 h 5.027344 v 3 H 31 Z m 9,0.30078 v 2.39844 L 38.349609,207.5 Z" style="display:inline;opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1.20000005;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;enable-background:new" id="path10313"/>
+ <path id="path10315" transform="translate(21,-84)" d="m 54,285 v 2 h 1 v -2 z m -2.5,3 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 6 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 6 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -6 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z m 0.5,1 h 5.027344 v 5 H 52 Z m -4,2 v 1 h 2 v -1 z m 11,0 v 1 h 2 v -1 z m -5,5 v 2 h 1 v -2 z" style="display:inline;opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;enable-background:new" inkscape:connector-curvature="0"/>
+ </g>
+ <g transform="matrix(-0.53033009,-0.53033009,-0.53033009,0.53033009,559.86353,322.75914)" style="display:inline;opacity:1;fill:#5fd38d;stroke:#ffffff;stroke-width:1.33333337;stroke-miterlimit:4;stroke-dasharray:none;enable-background:new" id="g10335" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" inkscape:export-xdpi="96" inkscape:export-ydpi="96">
+ <g style="fill:#5fd38d;stroke:#ffffff;stroke-width:1.33333337;stroke-miterlimit:4;stroke-dasharray:none" id="g10333">
+ <g id="g10331">
+ <path inkscape:connector-curvature="0" id="path10321-5" transform="matrix(-0.94280903,-0.94280903,-0.94280903,0.94280903,832.14463,223.54416)" d="m 262.58789,287.02734 a 0.60006001,0.60006001 0 0 0 -0.47266,0.95899 l 2.14844,3.02929 -2.14844,3.0293 a 0.60024527,0.60024527 0 1 0 0.97852,0.69531 l 1.90625,-2.6875 1.90625,2.6875 a 0.60024527,0.60024527 0 1 0 0.97852,-0.69531 l -2.14844,-3.0293 2.14844,-3.02929 a 0.60005997,0.60005997 0 0 0 -0.041,-0.75781 0.60005997,0.60005997 0 0 0 -0.9375,0.0625 l -1.90625,2.6875 -1.90625,-2.6875 a 0.60006001,0.60006001 0 0 0 -0.0645,-0.0781 0.60006001,0.60006001 0 0 0 -0.44141,-0.18555 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.20000005;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
+ <path inkscape:connector-curvature="0" d="m 310.32458,237.24123 a 0.66673335,0.66673335 0 0 0 -0.58971,-0.19749 c -6.22865,0.92525 -11.88001,6.57661 -12.80526,12.80526 a 0.66680952,0.66680952 0 1 0 1.31891,0.19749 c 0.82395,-5.54666 6.1358,-10.85851 11.68246,-11.68246 a 0.66673335,0.66673335 0 0 0 0.3936,-1.1228 z m 8.44938,8.44937 a 0.66673335,0.66673335 0 0 1 0.19749,0.58972 c -0.92525,6.22865 -6.57661,11.88001 -12.80526,12.80526 a 0.66673335,0.66673335 0 1 1 -0.19611,-1.31753 c 5.54665,-0.82395 10.8585,-6.1358 11.68245,-11.68246 a 0.66673335,0.66673335 0 0 1 1.12143,-0.39499 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.33333337px;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" id="path10329-8"/>
+ </g>
</g>
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 704.49219,1726.9922 c -0.27614,0 -0.4965,0.2317 -0.49219,0.5078 v 4 c -0.01,0.6762 1.00956,0.6762 1,0 v -4 c 0.004,-0.2823 -0.22555,-0.5122 -0.50781,-0.5078 z m 3,0 c -0.27614,0 -0.4965,0.2317 -0.49219,0.5078 v 4 c -0.01,0.6762 1.00956,0.6762 1,0 v -4 c 0.004,-0.2823 -0.22555,-0.5122 -0.50781,-0.5078 z"
- id="path19346"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="cccccccccccc" />
- </g>
- <path
- inkscape:connector-curvature="0"
- id="path21010-5"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 115.5,442 a 0.50004997,0.50004997 0 1 0 0,1 h 5 a 0.50004997,0.50004997 0 1 0 0,-1 z m 0,2 a 0.50004997,0.50004997 0 1 0 0,1 h 1.5 v 0.5 a 0.50004997,0.50004997 0 0 0 0.5,0.5 h 1 a 0.50004997,0.50004997 0 0 0 0.5,-0.5 V 445 h 1.5 a 0.50004997,0.50004997 0 1 0 0,-1 z m 2.5,-13 c -3.2833,0 -6,2.4414 -6,5.5 0,1.7222 1.0876,3.2946 2.1465,4.3535 0.094,0.094 0.2209,0.1465 0.3535,0.1465 h 7 c 0.1326,0 0.2598,-0.053 0.3535,-0.1465 0.7109,-0.7108 1.4222,-1.6513 1.8262,-2.7148 C 123.8776,437.6179 124,437.066 124,436.5 c 0,-3.0586 -2.7167,-5.5 -6,-5.5 z m -2.5098,5.0059 c 0.1351,0 0.2662,0.047 0.3633,0.1406 L 116.707,437 h 2.586 l 0.8535,-0.8535 c 0.4712,-0.4506 1.1576,0.2358 0.707,0.707 L 120,437.707 v 1.793 0.5 h -1 v -0.5 -1.5 h -2 v 1.5 0.5 h -1 v -0.5 -1.793 l -0.8535,-0.8535 c -0.302,-0.3119 -0.09,-0.8341 0.3437,-0.8476 z" />
- <g
- transform="translate(477,-1375)"
- id="g20978-8"
- style="display:inline;fill:#ffffff;enable-background:new">
- <path
- id="path20982-6"
- transform="translate(42,-42)"
- d="m -377.5,1847 c -2.13972,0 -3.85417,1.5351 -4.30664,3.541 -0.63415,-0.8727 -1.53397,-1.541 -2.69336,-1.541 -1.92708,0 -3.5,1.573 -3.5,3.5 0,1.9271 1.57294,3.5 3.5,3.5 h 7 c 2.47937,0 4.5,-2.0207 4.5,-4.5 0,-2.4793 -2.02063,-4.5 -4.5,-4.5 z m 0,3 c 0.82251,0 1.5,0.6775 1.5,1.5 0,0.8225 -0.67749,1.5 -1.5,1.5 -0.82251,0 -1.5,-0.6775 -1.5,-1.5 0,-0.8225 0.67749,-1.5 1.5,-1.5 z m -7,1 c 0.82251,0 1.5,0.6775 1.5,1.5 0,0.8225 -0.67749,1.5 -1.5,1.5 -0.82251,0 -1.5,-0.6775 -1.5,-1.5 0,-0.8225 0.67749,-1.5 1.5,-1.5 z m 7,0 c -0.28208,0 -0.5,0.2179 -0.5,0.5 0,0.2821 0.21792,0.5 0.5,0.5 0.28208,0 0.5,-0.2179 0.5,-0.5 0,-0.2821 -0.21792,-0.5 -0.5,-0.5 z m -3.94922,0.998 c 8e-5,7e-4 -8e-5,0 0,0 H -381.5 a 0.50005006,0.50005006 0 0 0 0.0508,0 z m -3.05078,0 c -0.28208,0 -0.5,0.2179 -0.5,0.5 0,0.2821 0.21792,0.5 0.5,0.5 0.28208,0 0.5,-0.2179 0.5,-0.5 0,-0.2821 -0.21792,-0.5 -0.5,-0.5 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.00000012;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0.5;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- id="path20992-7"
- transform="translate(42,-42)"
- d="M -385.50781,1856.9922 A 0.50005,0.50005 0 0 0 -386,1857.5 v 1 1 a 0.50005,0.50005 0 0 0 1,0 v -0.5 h 1 v 1.5 c 3e-5,0.1326 0.0527,0.2597 0.14648,0.3535 l 1,1 c 0.0937,0.094 0.22092,0.1465 0.35352,0.1465 h 5 c 0.27613,0 0.49997,-0.2239 0.5,-0.5 v -4 c -3e-5,-0.2761 -0.22387,-0.5 -0.5,-0.5 h -6 c -0.27613,0 -0.49997,0.2239 -0.5,0.5 v 0.5 h -1 v -0.5 a 0.50005,0.50005 0 0 0 -0.50781,-0.5078 z m 11.99219,0.01 c -0.10819,0 -0.21237,0.042 -0.29688,0.1094 l -2.5,2 c -0.25044,0.2002 -0.25044,0.581 0,0.7812 l 2.5,2 c 0.32747,0.2621 0.81265,0.029 0.8125,-0.3906 v -4 c 1.1e-4,-0.2823 -0.23341,-0.5088 -0.51562,-0.5 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- </g>
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 342.55078,494 a 0.50005,0.50005 0 0 1 0.33593,0.1641 l 2.64844,2.84179 h 1.00781 c 0.45995,0.6015 1.17678,1 1.97852,1 h -3.20312 a 0.50005,0.50005 0 0 1 -0.36719,-0.1582 l -2.79492,-2.99999 A 0.50005,0.50005 0 0 1 342.5,494 a 0.50005,0.50005 0 0 1 0.0508,0 z m 5.9707,4.00589 c 0.80174,0 1.51857,-0.3985 1.97852,-1 h 2.02148 a 0.50005,0.50005 0 0 1 0.35352,0.1465 l 3,3 a 0.50005,0.50005 0 1 1 -0.70704,0.707 l -2.85351,-2.8535 h -2.29297 v 3.832 c 0.96356,1.6489 2.8299,3.71521 5.58203,4.17391 A 0.50086299,0.50086299 0 1 1 355.43945,507 c -2.4267,-0.4044 -4.21553,-1.8644 -5.39844,-3.34761 a 0.50005,0.50005 0 0 1 -0.002,0 c -0.001,0 -0.003,0 -0.004,0 -1.00443,-0.9218 -2.17404,-1 -3.22851,-0.2383 -1.05449,0.76181 -1.78322,2.34671 -1.78321,4.09771 a 0.50005,0.50005 0 1 1 -1,0 c -10e-6,-2.0216 0.80114,-3.89961 2.19727,-4.90821 0.69807,-0.5043 1.49696,-0.7238 2.2832,-0.668 0.17359,0.012 0.34649,0.043 0.51758,0.082 a 0.50005,0.50005 0 0 1 0,-0.01 v -4 z m 0,-3.99999 c 0.8225,0 1.5,0.6775 1.5,1.49999 0,0.8225 -0.6775,1.5 -1.5,1.5 -0.8225,0 -1.5,-0.6775 -1.5,-1.5 0,-0.82249 0.6775,-1.49999 1.5,-1.49999 z"
- id="path20567-5"
- inkscape:connector-curvature="0" />
- <path
- sodipodi:nodetypes="scssssssssssssssssssssssssssssccccccccccccscssssssscccccccc"
- inkscape:connector-curvature="0"
- id="path15245-5-5"
- d="m 498.5,10 c -2.1397,0 -3.80728,1.4725 -4.33008,3.2441 C 493.52022,12.4964 492.6594,12 491.5,12 c -1.9271,0 -3.5,1.5729 -3.5,3.5 0,1.927 1.5729,3.5 3.5,3.5 h 7 c 2.4794,0 4.5,-2.0207 4.5,-4.5 0,-2.4794 -2.0206,-4.5 -4.5,-4.5 z m 0,3 c 0.8225,0 1.5,0.6774 1.5,1.5 0,0.8225 -0.6775,1.5 -1.5,1.5 -0.8225,0 -1.5,-0.6775 -1.5,-1.5 0,-0.8226 0.6775,-1.5 1.5,-1.5 z m -7,1 c 0.8225,0 1.5,0.6774 1.5,1.5 0,0.8225 -0.6775,1.5 -1.5,1.5 -0.8225,0 -1.5,-0.6775 -1.5,-1.5 0,-0.8226 0.6775,-1.5 1.5,-1.5 z m 7,0 c -0.2821,0 -0.5,0.2179 -0.5,0.5 0,0.282 0.2179,0.5 0.5,0.5 0.2821,0 0.5,-0.218 0.5,-0.5 0,-0.2821 -0.2179,-0.5 -0.5,-0.5 z m -7,1 c -0.2821,0 -0.5,0.2179 -0.5,0.5 0,0.282 0.2179,0.5 0.5,0.5 0.2821,0 0.5,-0.218 0.5,-0.5 0,-0.2821 -0.2179,-0.5 -0.5,-0.5 z m 1,5 c -0.2761,0 -0.5,0.2239 -0.5,0.5 v 1 0.5 h -1 v -0.5 c 0.004,-0.2823 -0.22555,-0.5122 -0.50781,-0.5078 -0.27615,0 -0.49651,0.2316 -0.49219,0.5078 v 1 1 c 0.009,0.6573 0.9907,0.6573 1,0 V 23 h 1 v 0.5 1 c 0,0.1326 0.053,0.2597 0.14648,0.3535 l 1,1 C 493.24048,25.9475 493.3674,26 493.5,26 h 5 c 0.2761,0 0.5,-0.2239 0.5,-0.5 v -5 c 0,-0.2761 -0.2239,-0.5 -0.5,-0.5 z m 10.98438,1 c -0.0871,0 -0.17191,0.028 -0.2461,0.074 l -3.25,2 c -0.31714,0.1953 -0.31714,0.6563 0,0.8516 l 3.25,2 c 0.33298,0.2045 0.76131,-0.035 0.76172,-0.4258 v -4 c 1.1e-4,-0.2823 -0.23341,-0.5088 -0.51562,-0.5 z"
- style="display:inline;opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1.00000012;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0.5;stroke-opacity:1;marker:none;enable-background:new" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2.24999976;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 302.64518,431.00052 a 1.1251124,1.1233465 0 0 0 -0.7734,0.3412 l -1.5313,1.5269 a 1.1251124,1.1233465 0 1 0 1.5918,1.5874 l 1.5293,-1.5269 a 1.1251124,1.1233465 0 0 0 -0.8164,-1.9286 z m 5.0977,0 a 1.1251124,1.1233465 0 0 0 -0.7735,0.3393 l -6.6289,6.6185 a 1.125572,1.1238054 0 1 0 1.5918,1.5893 l 2.1289,-2.1256 c 0.2384,-1.1729 1.1734,-2.1044 2.3477,-2.344 l 2.1523,-2.1489 a 1.1251124,1.1233465 0 0 0 -0.8183,-1.9286 z m 5.0996,0 a 1.1251124,1.1233465 0 0 0 -0.7735,0.3393 l -3.916,3.9099 c 0.7144,0.3005 1.2901,0.8706 1.5996,1.5795 l 3.9063,-3.9001 a 1.1251124,1.1233465 0 0 0 -0.8164,-1.9286 z m 0,5.0916 a 1.1251124,1.1233465 0 0 0 -0.7735,0.3393 l -2.123,2.1197 c -0.2257,1.2122 -1.1902,2.1751 -2.4043,2.4005 l -2.1016,2.0983 a 1.1251124,1.1233465 0 1 0 1.5918,1.5873 l 6.627,-6.6165 a 1.1251124,1.1233465 0 0 0 -0.8164,-1.9286 z m -5.8418,0.9204 c -0.5601,0 -0.9917,0.4296 -0.9981,0.9867 0.01,0.5524 0.4434,0.9887 0.9981,0.9887 0.5547,0 0.9926,-0.4363 0.998,-0.9887 -0.01,-0.5571 -0.438,-0.9867 -0.998,-0.9867 z m -2.7656,2.149 -3.8946,3.8884 a 1.1251124,1.1233465 0 1 0 1.5918,1.5873 l 3.8848,-3.8786 c -0.7095,-0.3088 -1.2808,-0.8846 -1.582,-1.5971 z m 8.6074,2.0202 a 1.1251124,1.1233465 0 0 0 -0.7735,0.3413 l -1.5293,1.5269 a 1.1251124,1.1233465 0 1 0 1.5899,1.5873 l 1.5293,-1.5269 a 1.1251124,1.1233465 0 0 0 -0.8164,-1.9286 z"
- id="path21492-2"
- inkscape:connector-curvature="0" />
- <g
- transform="translate(-329.98994,63.99547)"
- style="display:inline;opacity:0.98999999;fill:#ffffff;enable-background:new"
- id="g21552">
- <path
- id="path8055"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 823.98994,430.00453 v 2 h 5 v 3.7086 l 1.8538,-1.85485 c 0.0937,-0.0939 0.14631,-0.22111 0.1462,-0.35375 0.0114,-0.97402 0,-3.0415 0,-3.5 z m -3,3 v 4 h 7 l -4e-5,-4 z m 11.48438,1.125 c -0.12717,0.004 -0.24801,0.0564 -0.3379,0.14648 l -3.72851,3.72852 h -8.91211 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 5 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 8.49414 v -4.5 a 0.50005,0.50005 0 0 1 0.49219,-0.50586 0.50005,0.50005 0 0 1 0.50781,0.50586 v 4.33203 l 3.85352,-3.85351 c 0.0938,-0.0938 0.14645,-0.22092 0.14648,-0.35352 v -5 c 1.1e-4,-0.28235 -0.23342,-0.50879 -0.51562,-0.5 z"
- inkscape:connector-curvature="0" />
- </g>
- <g
- id="g20181-9"
- style="display:inline;opacity:0.6;fill:#ffffff;enable-background:new"
- transform="translate(-288.99602,63.999021)">
- <g
- id="g5276"
- style="fill:#ffffff">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="M 803.49219,433.99219 A 0.50005,0.50005 0 0 0 803,434.5 v 4 a 0.50005,0.50005 0 1 0 1,0 v -4 a 0.50005,0.50005 0 0 0 -0.50781,-0.50781 z m 4.99804,4.00586 a 0.50005,0.50005 0 0 0 -0.49414,0.50586 v 5 a 0.50005,0.50005 0 1 0 1,0 v -5 a 0.50005,0.50005 0 0 0 -0.50586,-0.50586 z"
- id="path20179-2"
- inkscape:connector-curvature="0" />
- <path
- id="path20173-5"
- transform="translate(288.99602,-63.999021)"
- d="m 514.5,497.99805 a 0.50004997,0.50004997 0 0 0 -0.35352,0.14453 l -4,4 A 0.50004997,0.50004997 0 0 0 510,502.49805 v 5 a 0.50004997,0.50004997 0 0 0 0.5,0.5 l 9,0.006 a 0.50004997,0.50004997 0 0 0 0.35547,-0.14649 l 4,-4.0039 A 0.50004997,0.50004997 0 0 0 524,503.49805 v -5 a 0.50004997,0.50004997 0 0 0 -0.5,-0.5 z m 0.20898,1 h 7.5879 l -3.00391,3.00586 L 511.70312,502 Z M 523,499.70703 v 3.58399 l -3.70703,3.71289 L 511,507 v -4 l 8.5,0.004 a 0.50004997,0.50004997 0 0 0 0.35547,-0.14844 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- inkscape:connector-curvature="0" />
+ </g>
+ <g transform="translate(105.00004,2.4e-4)" id="g10345">
+ <g style="opacity:0.7" id="g10341">
+ <path inkscape:connector-curvature="0" id="path10337-7" d="M 344.49219,287.99219 A 0.50005,0.50005 0 0 0 344,288.5 v 3 a 0.50005,0.50005 0 1 0 1,0 v -3 a 0.50005,0.50005 0 0 0 -0.50781,-0.50781 z m 0,5 A 0.50005,0.50005 0 0 0 344,293.5 v 2 a 0.50005,0.50005 0 0 0 0.5,0.5 h 2 a 0.50005,0.50005 0 1 0 0,-1 H 345 v -1.5 a 0.50005,0.50005 0 0 0 -0.50781,-0.50781 z M 348.5,295 a 0.50005,0.50005 0 1 0 0,1 h 3 a 0.50005,0.50005 0 1 0 0,-1 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
+ <path inkscape:connector-curvature="0" id="rect10339" d="m 351.5,293 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 4 a 0.50005,0.50005 0 0 0 0.5,0.5 h 4 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -4 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m 0.5,1 h 3 v 3 h -3 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"/>
</g>
+ <path sodipodi:nodetypes="ccccccccc" inkscape:connector-curvature="0" id="rect10343" d="m 342.5,284 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 4 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 4 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -4 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"/>
</g>
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 48.5,183 c -0.27613,4e-5 -0.49997,0.22388 -0.5,0.5 v 9 c 3e-5,0.27614 0.22387,0.49997 0.5,0.5 h 9 c 0.27613,-3e-5 0.49997,-0.22386 0.5,-0.5 v -9 c -3e-5,-0.27612 -0.22387,-0.49996 -0.5,-0.5 z"
- id="path5234"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="ccccccccc" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 52.49219,179.00781 c -0.1326,4e-5 -0.25976,0.0527 -0.35352,0.1465 l -1.99219,1.99217 C 50.02584,181.26245 50,181.375 50,181.5 v 0.5 h 1 l 0.003,-0.296 1.69618,-1.69619 h 8.29297 v 8.29298 L 59.29548,189.99745 59,190 v 1 h 0.5 c 0.11717,0 0.23766,-0.0261 0.3457,-0.13867 l 2,-2 c 0.0938,-0.0938 0.14646,-0.22091 0.14649,-0.35352 v -9 c -3e-5,-0.27612 -0.22387,-0.49996 -0.5,-0.5 z"
- id="path5236"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="cccscccccccccscccccc" />
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- inkscape:export-ydpi="96"
- inkscape:export-xdpi="96"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- transform="translate(0.00711,-0.00712)"
- id="g26453-0">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 10.486328,179.01367 c -0.1326,3e-5 -0.259761,0.0527 -0.353516,0.14649 l -1.9941401,1.99414 c -0.4908663,0.47125 0.2357781,1.1979 0.7070312,0.70703 l 1.8476559,-1.84766 h 8.292969 v 8.29297 l -2.707031,2.70703 H 7.9882812 l 0.00461,-3.00655 -1,-0.002 -0.00656,3.5085 c 2.76e-5,0.27613 0.2238691,0.49997 0.5,0.5 h 8.9999998 c 0.132599,-2e-5 0.259759,-0.0527 0.353516,-0.14648 l 3,-3 c 0.09377,-0.0938 0.14646,-0.22092 0.146484,-0.35352 v -9 c -2.8e-5,-0.27613 -0.223869,-0.49997 -0.5,-0.5 z"
- id="path26449-3"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="cccccccccccccccccccc" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 6.4921875,183.00781 c -0.2761309,3e-5 -0.4999724,0.22387 -0.5,0.5 v 3 c 2.76e-5,0.27613 0.2238691,0.49997 0.5,0.5 h 3 c 0.2761309,-3e-5 0.4999724,-0.22387 0.5,-0.5 v -3 c -2.76e-5,-0.27613 -0.2238691,-0.49997 -0.5,-0.5 z"
- id="path26451-7"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="ccccccccc" />
- </g>
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g26527-9"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- inkscape:export-xdpi="96"
- inkscape:export-ydpi="96"
- transform="matrix(0,-1,-1,0,220.01421,219.98576)">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 27.486328,183.01367 c -0.276131,3e-5 -0.499972,0.22387 -0.5,0.5 v 2 c 2.8e-5,0.27613 0.223869,0.49997 0.5,0.5 h 9 c 0.276131,-3e-5 0.499972,-0.22387 0.5,-0.5 v -2 c -2.8e-5,-0.27613 -0.223869,-0.49997 -0.5,-0.5 z"
- id="path26523-4"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="ccccccccc" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 31.478516,179.02148 c -0.1326,3e-5 -0.259761,0.0527 -0.353516,0.14649 l -1.992188,1.99219 c -0.490839,0.47125 0.235779,1.19787 0.707032,0.70703 l 1.845703,-1.84571 h 8.292969 v 8.29297 l -2.707032,2.70703 h -8.292968 l 0.0072,-4.00727 -1,-0.002 -0.0072,4.50727 c -0.0011,0.27689 0.223106,0.50192 0.5,0.50195 h 9 c 0.132599,-2e-5 0.259759,-0.0527 0.353515,-0.14648 l 3,-3 c 0.09377,-0.0938 0.14646,-0.22092 0.146485,-0.35352 v -9 c -2.8e-5,-0.27613 -0.223869,-0.49997 -0.5,-0.5 z"
- id="path26525-5"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="cccccccccccccccccccc" />
- </g>
- <g
- transform="translate(252.00711,707.99288)"
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g24277-2">
- <g
- transform="translate(-252.00673,-707.99218)"
- style="display:inline;opacity:1;fill:#ffffff;enable-background:new"
- id="g26501-5"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- inkscape:export-xdpi="96"
- inkscape:export-ydpi="96">
- <path
- sodipodi:nodetypes="ccccccccc"
- inkscape:connector-curvature="0"
- id="path26499-8"
- d="m 258.49962,136.9993 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 3 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 3 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -3 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
+ <g transform="translate(62.97587,-41.03945)" id="g10359" style="display:inline;enable-background:new">
+ <g transform="translate(0,21)" id="g10357">
+ <path style="opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.66666663;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:markers stroke fill" d="m 264.02413,311.53945 a 1.5,1.5 0 0 1 -1.5,1.5 1.5,1.5 0 0 1 -1.5,-1.5 1.5,1.5 0 0 1 1.5,-1.5 1.5,1.5 0 0 1 1.5,1.5 z" id="path10347-2" inkscape:connector-curvature="0"/>
+ <path inkscape:connector-curvature="0" id="circle10349" d="m 269.02344,314.03906 c -1.09865,0 -2,0.90136 -2,2 0,1.09865 0.90135,2 2,2 1.09864,0 2,-0.90135 2,-2 0,-1.09864 -0.90136,-2 -2,-2 z m 0,1 c 0.5582,0 1,0.4418 1,1 0,0.55821 -0.4418,1 -1,1 -0.55821,0 -1,-0.44179 -1,-1 0,-0.5582 0.44179,-1 1,-1 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:markers stroke fill;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"/>
+ <path inkscape:connector-curvature="0" id="path10351-7" d="m 258.53125,304.03516 a 0.50005,0.50005 0 1 0 0,1 h 12 a 0.50005,0.50005 0 1 0 0,-1 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:markers stroke fill;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
+ <path inkscape:connector-curvature="0" id="path10355-4" d="m 264.79492,304.18164 a 0.60006002,0.60006002 0 0 0 -0.58594,0.4043 l -2.25,6.25 a 0.60006002,0.60006002 0 1 0 1.12891,0.40625 l 2.25,-6.25 a 0.60006002,0.60006002 0 0 0 -0.54297,-0.81055 z m -1.27148,7.75391 a 0.60006002,0.60006002 0 0 0 -0.33594,1.09961 l 4,2.7207 a 0.60006002,0.60006002 0 1 0 0.67383,-0.99219 l -4,-2.7207 a 0.60006002,0.60006002 0 0 0 -0.33789,-0.10742 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.7;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#fbfbfb;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.20000005;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:markers stroke fill;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
</g>
- <path
- inkscape:connector-curvature="0"
- id="path26503-3"
- d="m 10.955781,-569.99288 v 1 h 2.037109 v 5 H 7.9928902 v -1.99219 h -1 v 8.49219 a 0.50005,0.50005 0 0 0 0.5,0.5 H 13.49289 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -5.5 h 5.5 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -6 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m 3.037109,1 h 5 v 5 h -5 z m -5.9999998,6 H 12.99289 v 5 H 7.9928902 Z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.55;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
- </g>
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g26539-4"
- transform="matrix(0,1,1,0,850.0517,109.94829)">
- <path
- sodipodi:nodetypes="ccccccccc"
- inkscape:connector-curvature="0"
- id="path26497-4"
- d="m 27.544922,-565.04492 c -0.276131,3e-5 -0.499972,0.22387 -0.5,0.5 v 2 c 2.8e-5,0.27613 0.223869,0.49997 0.5,0.5 h 8 c 0.276131,-3e-5 0.499972,-0.22387 0.5,-0.5 v -2 c -2.8e-5,-0.27613 -0.223869,-0.49997 -0.5,-0.5 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
- <path
- sodipodi:nodetypes="ccccccccccccccccccccccccccccc"
- inkscape:connector-curvature="0"
- id="path26505-7"
- d="m 28.544922,-570.04492 c -0.276131,3e-5 -0.499972,0.22387 -0.5,0.5 v 3.5 h 1 v -3 h 5 v 3 h 1 v -3 h 5 v 5 h -3 v 1 h 3.5 c 0.276131,-3e-5 0.499972,-0.22387 0.5,-0.5 v -6 c -2.8e-5,-0.27613 -0.223869,-0.49997 -0.5,-0.5 z m -0.5,9 0.0049,3.49327 c 2.8e-5,0.27613 0.223869,0.49997 0.5,0.5 h 6 c 0.275371,-3e-5 0.498899,-0.22268 0.5,-0.49805 l 0.0019,-3.5 -1,-0.002 v 3 h -5 l -0.0068,-2.99132 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.55;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
- </g>
- <g
- transform="translate(252.00711,707.99288)"
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g24260-8">
- <path
- sodipodi:nodetypes="ccccccccccccccccccccccc"
- inkscape:connector-curvature="0"
- id="path26507-9"
- d="m 61.490943,-569.99488 -3.5,0.008 0.0039,1 2.998047,-0.006 v 5 l -3.001953,0.006 0.0039,1 3.5,-0.008 c 0.275368,-0.001 0.498022,-0.22463 0.498047,-0.5 v -6 c -2.6e-5,-0.2769 -0.22506,-0.50105 -0.501953,-0.5 z m -12.498053,9.002 v 3.49219 c 2.8e-5,0.27613 0.223869,0.49997 0.5,0.5 h 6 c 0.276131,-3e-5 0.499972,-0.22387 0.5,-0.5 v -3.49219 h -1 v 2.99219 h -5 v -2.99219 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.55;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" />
- <path
- sodipodi:nodetypes="ccccccccc"
- inkscape:connector-curvature="0"
- id="path26509-9"
- d="m 48.49289,-570.99288 c -0.276131,3e-5 -0.499972,0.22387 -0.5,0.5 v 8 c 2.8e-5,0.27613 0.223869,0.49997 0.5,0.5 h 8 c 0.276131,-3e-5 0.499972,-0.22387 0.5,-0.5 v -8 c -2.8e-5,-0.27613 -0.223869,-0.49997 -0.5,-0.5 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
- </g>
- <g
- transform="translate(251.96252,708.00986)"
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g24272-6">
- <g
- transform="translate(-189.96252,-708.00986)"
- id="g26513-4"
- style="display:inline;opacity:0.6;fill:#ffffff;enable-background:new"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- inkscape:export-xdpi="96"
- inkscape:export-ydpi="96">
- <path
- inkscape:connector-curvature="0"
- id="path24266-1"
- d="m 259.5,138 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 11.00195 a 0.50005,0.50005 0 0 0 0.5,0.5 l 4,-0.002 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -11 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m 0.5,1 h 3 v 10 l -3,0.002 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" />
+ </g>
+ <g transform="translate(11,-136)" id="g10373">
+ <path inkscape:connector-curvature="0" id="path10361" d="m 275.4707,427 c -0.42985,0.004 -0.62994,0.5874 -0.31869,0.87125 0.40897,0.54487 0.81793,1.08974 1.2269,1.63461 -0.43981,0.59662 -0.90116,1.17907 -1.32716,1.78476 -0.21053,0.38613 0.24226,0.86663 0.6402,0.67938 0.28682,-0.15751 0.42097,-0.48416 0.63231,-0.72356 0.22655,-0.3022 0.4531,-0.6044 0.67965,-0.9066 0.3916,0.51133 0.76296,1.03993 1.16735,1.54035 0.31222,0.30974 0.89981,0.009 0.83079,-0.42566 -0.0715,-0.31923 -0.34727,-0.53953 -0.51804,-0.80941 -0.28503,-0.37975 -0.57007,-0.75951 -0.8551,-1.13926 0.43981,-0.59662 0.90116,-1.17907 1.32716,-1.78476 0.21053,-0.38613 -0.24226,-0.86663 -0.6402,-0.67938 -0.28682,0.15751 -0.42097,0.48416 -0.63231,0.72356 -0.22655,0.3022 -0.4531,0.6044 -0.67965,0.9066 -0.39082,-0.51197 -0.76442,-1.03847 -1.1661,-1.54128 -0.0981,-0.0907 -0.23371,-0.13896 -0.36711,-0.1306 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
+ <g id="g10367" transform="translate(115.99999,-73.00002)" style="display:inline;opacity:0.6;enable-background:new" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" inkscape:export-xdpi="96" inkscape:export-ydpi="96">
+ <path inkscape:connector-curvature="0" id="path10363" transform="translate(-378.99999,209.00002)" d="m 534.48047,284 a 0.50005,0.50005 0 0 0 -0.38477,0.19727 l -2.92382,2.92578 -0.0254,0.0234 c -4.5e-4,4.6e-4 4.5e-4,0.002 0,0.002 a 0.50005,0.50005 0 0 0 -0.13671,0.25781 c -7.9e-4,0.004 -0.003,0.008 -0.004,0.0117 A 0.50005,0.50005 0 0 0 531,287.50781 V 296.5 a 0.50005,0.50005 0 0 0 0.5,0.5 h 2 a 0.50005,0.50005 0 1 0 0,-1 H 532 v -8 h 2.5 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 V 285 h 6 v 2.5 a 0.50005,0.50005 0 1 0 1,0 v -3 a 0.50005,0.50005 0 0 0 -0.5,-0.5 h -7 a 0.50005,0.50005 0 0 0 -0.0137,0 c -6.7e-4,2e-5 -10e-4,-2e-5 -0.002,0 -10e-4,4e-5 -0.003,-5e-5 -0.004,0 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"/>
</g>
- <path
- sodipodi:nodetypes="ccccccccc"
- inkscape:connector-curvature="0"
- id="path26515-7"
- d="m 77.537109,-571.00977 c -0.276131,3e-5 -0.499972,0.22387 -0.5,0.5 v 13 c 2.8e-5,0.27613 0.223869,0.49997 0.5,0.5 h 5 c 0.276131,-3e-5 0.499972,-0.22387 0.5,-0.5 v -13 c -2.8e-5,-0.27613 -0.223869,-0.49997 -0.5,-0.5 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
- </g>
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g12992"
- transform="translate(2.6297176e-6,-20.999997)"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- inkscape:export-xdpi="96"
- inkscape:export-ydpi="96">
- <path
- id="path12908"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 183.8125,200.01562 c 2.21359,0.18235 3.97803,1.94071 4.16992,4.1543 0.19189,2.2136 -1.24344,4.25155 -3.39258,4.8125 a 0.5007349,0.5007349 0 1 1 -0.2539,-0.96875 c 1.68376,-0.43948 2.80079,-2.02289 2.65039,-3.75781 -0.1504,-1.73492 -1.52164,-3.10129 -3.25586,-3.24414 -1.73423,-0.14285 -3.31219,0.98104 -3.74414,2.66797 a 0.50005,0.50005 0 1 1 -0.96875,-0.24805 c 0.55114,-2.15241 2.58133,-3.59836 4.79492,-3.41602 z M 178.5,205 a 0.50005,0.50005 0 1 1 0,1 c -1.41705,0 -2.69209,0.85096 -3.23438,2.16016 -0.54228,1.30919 -0.24224,2.81243 0.75977,3.81445 1.00201,1.00201 2.50527,1.30205 3.81445,0.75977 C 181.14903,212.19209 182,210.91706 182,209.5 a 0.50005,0.50005 0 1 1 1,0 c 0,1.81865 -1.09714,3.46223 -2.77734,4.1582 -1.68021,0.69597 -3.61833,0.30942 -4.9043,-0.97656 -1.28598,-1.28598 -1.67253,-3.22408 -0.97656,-4.9043 C 175.03776,206.09713 176.68136,205 178.5,205 Z"
- inkscape:connector-curvature="0" />
- <path
- style="opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke"
- d="M 182.99634,206.50183 A 1.4981741,1.4981725 0 0 1 181.49817,208 a 1.4981741,1.4981725 0 0 1 -1.49818,-1.49817 1.4981741,1.4981725 0 0 1 1.49818,-1.49817 1.4981741,1.4981725 0 0 1 1.49817,1.49817 z"
- id="circle12958"
- inkscape:connector-curvature="0" />
- </g>
- <g
- id="g21469-5"
- style="display:inline;fill:#ffffff;enable-background:new"
- transform="translate(498,-1438)">
- <path
- inkscape:connector-curvature="0"
- id="path21106-9"
- d="m -356.5,1850 c -0.8225,0 -1.5,0.6775 -1.5,1.5 0,0.8225 0.6775,1.5 1.5,1.5 0.8225,0 1.5,-0.6775 1.5,-1.5 0,-0.8225 -0.6775,-1.5 -1.5,-1.5 z m 0,1 c 0.28206,0 0.5,0.2179 0.5,0.5 0,0.2821 -0.21794,0.5 -0.5,0.5 -0.28206,0 -0.5,-0.2179 -0.5,-0.5 0,-0.2821 0.21794,-0.5 0.5,-0.5 z m -7,1 a 0.5,0.5 0 0 0 -0.5,0.5 0.5,0.5 0 0 0 0.5,0.5 0.5,0.5 0 0 0 0.5,-0.5 0.5,0.5 0 0 0 -0.5,-0.5 z"
- style="display:inline;opacity:0.7;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:3.70000005;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:new" />
- <path
- sodipodi:nodetypes="csssscccsscccsccccccscccccccccccccccccccccsccsccccccccccccccccccc"
- inkscape:connector-curvature="0"
- d="m -357.5,1856.0041 h 0.49805 c 3.5943,0 5.00195,-2.5001 5.00195,-4.5001 v 0 c 0,-2.4794 -2.02064,-4.5 -4.5,-4.5 -1.88915,0 -3.45662,1.2594 -4.10547,3 h -0.51758 c -0.64602,-0.6132 -1.47755,-0.9979 -2.375,-1 h -0.002 c -1.92707,0 -3.5,1.5729 -3.5,3.5 0,1.9271 1.57293,3.5 3.5,3.5 z m -6,-1.0041 c -1.38663,0 -2.5,-1.1134 -2.5,-2.5 0,-1.386 1.11233,-2.4989 2.49805,-2.5 0.71036,0 1.38608,0.3048 1.85937,0.834 0.0951,0.1059 0.23074,0.1663 0.37305,0.166 h 0.90234 c 0.22809,10e-5 0.42734,-0.1542 0.48438,-0.375 0.39914,-1.5459 1.78609,-2.6224 3.38281,-2.625 1.93892,0 3.5,1.5611 3.5,3.5 0,1.9279 -1.54523,3.4765 -3.46875,3.4941 -0.0392,0 -0.0785,-6e-4 -0.11719,0.01 H -357.5 Z m -1.00781,1.9922 c -0.27614,0 -0.4965,0.2317 -0.49219,0.5078 v 1 1 c 0.009,0.6573 0.9907,0.6573 1,0 v -0.5 h 1 v 1.5 c 3e-5,0.1326 0.0527,0.2597 0.14648,0.3535 l 1,1 c 0.0937,0.094 0.22092,0.1465 0.35352,0.1465 h 5 c 0.27613,0 0.49997,-0.2239 0.5,-0.5 v -1.5039 h 0.33594 l 2.61914,1.9043 c 0.0852,0.064 0.18852,0.099 0.29492,0.1 h 0.25 c 0.27613,0 0.49997,-0.2239 0.5,-0.5 v -4 c -3e-5,-0.2761 -0.22387,-0.5 -0.5,-0.5 h -0.25 c -0.106,-10e-5 -0.20927,0.034 -0.29492,0.096 L -355.66211,1859 H -356 v -2 h -1 v 4 h -4.29297 L -362,1860.293 V 1857 h -1 v 1 h -1 v -0.5 c 0.004,-0.2823 -0.22555,-0.5122 -0.50781,-0.5078 z M -353,1858.3008 v 2.3984 l -1.65039,-1.1992 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.00000012;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0.5;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- id="path21108-3" />
- <path
- id="rect24266"
- d="m -362,1857 h 5 v 1 h -5 z"
- style="display:inline;opacity:0.6;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;enable-background:new"
- inkscape:connector-curvature="0" />
- </g>
- <g
- transform="translate(624,-1354)"
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g24304">
- <path
- style="display:inline;opacity:0.7;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:3.70000005;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:new"
- d="m -356.5,1850 c -0.8225,0 -1.5,0.6775 -1.5,1.5 0,0.8225 0.6775,1.5 1.5,1.5 0.8225,0 1.5,-0.6775 1.5,-1.5 0,-0.8225 -0.6775,-1.5 -1.5,-1.5 z m 0,1 c 0.28206,0 0.5,0.2179 0.5,0.5 0,0.2821 -0.21794,0.5 -0.5,0.5 -0.28206,0 -0.5,-0.2179 -0.5,-0.5 0,-0.2821 0.21794,-0.5 0.5,-0.5 z m -7,1 a 0.5,0.5 0 0 0 -0.5,0.5 0.5,0.5 0 0 0 0.5,0.5 0.5,0.5 0 0 0 0.5,-0.5 0.5,0.5 0 0 0 -0.5,-0.5 z"
- id="path24284"
- inkscape:connector-curvature="0" />
- <path
- id="path24300"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.00000012;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0.5;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m -357.5,1856.0041 h 0.49805 c 3.5943,0 5.00195,-2.5001 5.00195,-4.5001 v 0 c 0,-2.4794 -2.02064,-4.5 -4.5,-4.5 -1.88915,0 -3.45662,1.2594 -4.10547,3 h -0.51758 c -0.64602,-0.6132 -1.47755,-0.9979 -2.375,-1 h -0.002 c -1.92707,0 -3.5,1.5729 -3.5,3.5 0,1.9271 1.57293,3.5 3.5,3.5 z m -6,-1.0041 c -1.38663,0 -2.5,-1.1134 -2.5,-2.5 0,-1.386 1.11233,-2.4989 2.49805,-2.5 0.71036,0 1.38608,0.3048 1.85937,0.834 0.0951,0.1059 0.23074,0.1663 0.37305,0.166 h 0.90234 c 0.22809,10e-5 0.42734,-0.1542 0.48438,-0.375 0.39914,-1.5459 1.78609,-2.6224 3.38281,-2.625 1.93892,0 3.5,1.5611 3.5,3.5 0,1.9279 -1.54523,3.4765 -3.46875,3.4941 -0.0392,0 -0.0785,-6e-4 -0.11719,0.01 H -357.5 Z m -1.00781,1.9922 c -0.27614,0 -0.4965,0.2317 -0.49219,0.5078 v 1 1 c 0.009,0.6573 0.9907,0.6573 1,0 v -0.5 h 1 v 1.5 c 3e-5,0.1326 0.0527,0.2597 0.14648,0.3535 l 1,1 c 0.0937,0.094 0.22092,0.1465 0.35352,0.1465 h 5 c 0.27613,0 0.49997,-0.2239 0.5,-0.5 v -1.5039 h 0.33594 l 2.61914,1.9043 c 0.0852,0.064 0.18852,0.099 0.29492,0.1 h 0.25 c 0.27613,0 0.49997,-0.2239 0.5,-0.5 v -4 c -3e-5,-0.2761 -0.22387,-0.5 -0.5,-0.5 h -0.25 c -0.106,-10e-5 -0.20927,0.034 -0.29492,0.096 L -355.66211,1859 H -356 v -2 h -1 v 4 h -4.29297 L -362,1860.293 V 1857 h -1 v 1 h -1 v -0.5 c 0.004,-0.2823 -0.22555,-0.5122 -0.50781,-0.5078 z M -353,1858.3008 v 2.3984 l -1.65039,-1.1992 z"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="csssscccsscccsccccccscccccccccccccccccccccsccsccccccccccccccccccc" />
- <path
- inkscape:connector-curvature="0"
- style="display:inline;opacity:0.6;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;enable-background:new"
- d="m -362,1857 h 5 v 1 h -5 z"
- id="path24302" />
- </g>
- <path
- inkscape:connector-curvature="0"
- id="path12791-5"
- d="m 385,621 a 1.0001,1.0001 0 1 0 0,2 h 12 a 1.0001,1.0001 0 1 0 0,-2 z m 0,5 a 1.0001,1.0001 0 1 0 0,2 h 12 a 1.0001,1.0001 0 1 0 0,-2 z m 0,5 a 1.0001,1.0001 0 1 0 0,2 h 12 a 1.0001,1.0001 0 1 0 0,-2 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
- <g
- transform="translate(1.7499929e-7,23.000001)"
- id="g21364"
- style="display:inline;fill:#ffffff;enable-background:new">
- <g
- id="g5447"
- style="fill:#ffffff">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 430.49219,134.99219 a 0.50005,0.50005 0 0 0 -0.38867,0.19531 0.50005,0.50005 0 0 0 -0.004,0.006 l -1.95313,1.95312 a 0.50005,0.50005 0 1 0 0.70703,0.70704 L 430,136.70703 V 140.5 a 0.50005,0.50005 0 1 0 1,0 v -3.79297 l 1.14648,1.14649 a 0.50005,0.50005 0 1 0 0.70704,-0.70704 l -1.95704,-1.95703 a 0.50005,0.50005 0 0 0 -0.40429,-0.19726 z m 7.00195,7.00195 a 0.50005,0.50005 0 0 0 -0.34766,0.85938 L 438.29297,144 H 434.5 a 0.50005,0.50005 0 1 0 0,1 h 3.79297 l -1.14649,1.14648 a 0.50005,0.50005 0 1 0 0.70704,0.70704 l 1.95703,-1.95704 a 0.50005,0.50005 0 0 0 0.002,-0.79296 0.50005,0.50005 0 0 0 -0.006,-0.004 l -1.95313,-1.95313 a 0.50005,0.50005 0 0 0 -0.35937,-0.15234 z m -11.00195,2.99805 A 0.50005,0.50005 0 0 0 426,145.5 v 2.93945 A 0.50005,0.50005 0 0 0 426.56055,149 H 429.5 a 0.50005,0.50005 0 1 0 0,-1 h -1.79297 l 1.14649,-1.14648 a 0.50005,0.50005 0 1 0 -0.70704,-0.70704 L 427,147.29297 V 145.5 a 0.50005,0.50005 0 0 0 -0.50781,-0.50781 z"
- id="path21358"
- inkscape:connector-curvature="0" />
- <path
- id="circle21362"
- d="M 432.99635,144 A 1.99635,1.99635 0 0 1 431,145.99635 1.99635,1.99635 0 0 1 429.00365,144 1.99635,1.99635 0 0 1 431,142.00365 1.99635,1.99635 0 0 1 432.99635,144 Z"
- style="display:inline;opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;enable-background:new"
- inkscape:connector-curvature="0" />
+ <path inkscape:connector-curvature="0" id="path10369" d="m 273.50391,425 c -0.46998,0.0749 -0.80823,0.50172 -1.06635,0.87006 -0.4326,0.65782 -0.45638,1.4618 -0.43756,2.22236 0.008,1.23972 -0.0164,2.48035 0.0134,3.71944 0.0716,0.88933 0.54871,1.83354 1.40415,2.18708 0.42463,0.112 0.78249,-0.44168 0.50598,-0.78285 -0.29758,-0.24384 -0.6397,-0.4766 -0.77031,-0.86624 -0.24243,-0.63283 -0.12529,-1.31954 -0.15325,-1.98084 0.006,-1.03207 -0.0114,-2.06474 0.009,-3.09642 0.0299,-0.56822 0.33188,-1.12862 0.8373,-1.40532 0.33744,-0.28816 0.10108,-0.88712 -0.34243,-0.86727 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994px;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"/>
+ <path inkscape:connector-curvature="0" id="path10371" d="m 280.48828,425 c -0.4389,-0.0149 -0.66492,0.60436 -0.31958,0.87564 0.63959,0.33681 0.88258,1.10168 0.83716,1.78593 -0.006,1.35522 0.0116,2.71106 -0.009,4.06588 -0.029,0.57068 -0.33398,1.12767 -0.83582,1.41135 -0.3334,0.28584 -0.081,0.8949 0.35685,0.86114 0.46399,-0.0793 0.79448,-0.50451 1.05034,-0.86849 0.42617,-0.65052 0.45767,-1.4445 0.43766,-2.19695 -0.008,-1.24867 0.0164,-2.49826 -0.0134,-3.7463 -0.0691,-0.87707 -0.53296,-1.78778 -1.35661,-2.16868 -0.0478,-0.0138 -0.0978,-0.0204 -0.14755,-0.0195 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994px;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"/>
+ </g>
+ <g transform="translate(43,63)" id="g10379">
+ <path inkscape:connector-curvature="0" id="path10375" d="m 471.5,221 a 0.50005,0.50005 0 0 0 -0.35352,0.14648 l -3,3 A 0.50005,0.50005 0 0 0 468,224.5 v 10 a 0.50005,0.50005 0 0 0 0.5,0.5 h 8 a 0.50005,0.50005 0 0 0 0.35352,-0.14648 l 3,-3 A 0.50005,0.50005 0 0 0 480,231.5 v -10 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m 0.20703,1 H 479 v 9.29297 L 476.29297,234 H 469 v -9.29297 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.7;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"/>
+ <path sodipodi:nodetypes="sssss" inkscape:connector-curvature="0" id="circle10377" d="m 474,225.99805 c -1.09907,0 -2,0.90288 -2,2.00195 0,1.09907 0.90093,2 2,2 1.09907,0 2.00195,-0.90093 2.00195,-2 0,-1.09907 -0.90288,-2.00195 -2.00195,-2.00195 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.00157475;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:markers stroke fill;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"/>
+ </g>
+ <g transform="translate(0,636)" id="g28780">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.7;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:markers stroke fill;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 531.50781,-348.00781 a 0.50005,0.50005 0 0 0 -0.5,0.5 L 531,-338.5 a 0.50005,0.50005 0 0 0 0.5,0.5 l 9.00781,-0.008 a 0.50005,0.50005 0 0 0 0.5,-0.5 c 0,-5.24079 -4.25921,-9.5 -9.5,-9.5 z m 0.5,1.10156 c 4.27858,0.26151 7.63693,3.61986 7.89844,7.89844 L 532,-339 Z" id="path10381" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:markers stroke fill;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 542.98047,-351.00977 a 1.0001,1.0001 0 0 0 -0.6875,0.30274 l -3,3 a 1.0001,1.0001 0 1 0 1.41406,1.41406 l 3,-3 a 1.0001,1.0001 0 0 0 -0.72656,-1.7168 z" id="path10384-1" inkscape:connector-curvature="0"/>
+ </g>
+ <g transform="translate(-147,636)" id="g10393">
+ <path sodipodi:nodetypes="sssss" inkscape:connector-curvature="0" id="ellipse10386" d="m 560.99219,-349.49609 c 0,-1.37714 1.12676,-2.50391 2.5039,-2.50391 1.37715,0 2.50391,1.12677 2.50391,2.50391 0,1.37713 -1.12676,2.5039 -2.50391,2.5039 -1.37714,0 -2.5039,-1.12677 -2.5039,-2.5039 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"/>
+ <path inkscape:connector-curvature="0" id="ellipse10388" d="m 552,-339.99219 c 0,-1.09609 0.89673,-1.99609 1.99219,-1.99609 1.09546,0 1.99414,0.9 1.99414,1.99609 0,1.09609 -0.89868,1.99805 -1.99414,1.99805 -1.09546,0 -1.99219,-0.90196 -1.99219,-1.99805 z m 1,0 c 0,0.55685 0.43837,0.99805 0.99219,0.99805 0.55382,0 0.99414,-0.4412 0.99414,-0.99805 0,-0.55685 -0.44032,-0.99609 -0.99414,-0.99609 -0.55382,0 -0.99219,0.43924 -0.99219,0.99609 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"/>
+ <path d="m 560.36798,-346.98792 a 0.60364676,0.60365756 0 0 0 -0.41654,0.18273 l -0.77413,0.77415 a 0.60366279,0.6036736 0 1 0 0.85273,0.8547 l 0.77609,-0.77611 a 0.60364676,0.60365756 0 0 0 -0.43815,-1.03547 z m -2.99662,2.98989 a 0.61117943,0.61029182 0 0 0 -0.42173,0.18473 l -0.78379,0.78265 a 0.61119567,0.61030804 0 1 0 0.86336,0.8641 l 0.78578,-0.78463 a 0.61117943,0.61029182 0 0 0 -0.44362,-1.04685 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.7;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.19999993;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" id="path28690" inkscape:connector-curvature="0"/>
+ </g>
+ <g transform="translate(-210,636)" id="g10409">
+ <path sodipodi:nodetypes="sssss" inkscape:connector-curvature="0" id="ellipse10403" d="m 560.99219,-349.49609 c 0,-1.37714 1.12676,-2.50391 2.5039,-2.50391 1.37715,0 2.50391,1.12677 2.50391,2.50391 0,1.37713 -1.12676,2.5039 -2.50391,2.5039 -1.37714,0 -2.5039,-1.12677 -2.5039,-2.5039 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"/>
+ <path inkscape:connector-curvature="0" id="ellipse10405" d="m 552,-339.99219 c 0,-1.09609 0.89673,-1.99609 1.99219,-1.99609 1.09546,0 1.99414,0.9 1.99414,1.99609 0,1.09609 -0.89868,1.99805 -1.99414,1.99805 -1.09546,0 -1.99219,-0.90196 -1.99219,-1.99805 z m 1,0 c 0,0.55685 0.43837,0.99805 0.99219,0.99805 0.55382,0 0.99414,-0.4412 0.99414,-0.99805 0,-0.55685 -0.44032,-0.99609 -0.99414,-0.99609 -0.55382,0 -0.99219,0.43924 -0.99219,0.99609 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"/>
+ <path inkscape:connector-curvature="0" id="path10407-7" d="m 563.50195,-343.01367 a 0.50005,0.50005 0 0 0 -0.49414,0.50586 v 4 a 0.50005,0.50005 0 1 0 1,0 v -4 a 0.50005,0.50005 0 0 0 -0.50586,-0.50586 z m -5.99414,2.00586 a 0.50005,0.50005 0 1 0 0,1 h 1 a 0.50005,0.50005 0 1 0 0,-1 z m 3,0 a 0.50005,0.50005 0 1 0 0,1 h 1 a 0.50005,0.50005 0 1 0 0,-1 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.7;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
+ </g>
+ <g transform="translate(42,657)" id="g10415">
+ <path sodipodi:nodetypes="sssss" inkscape:connector-curvature="0" id="ellipse10411" d="m 350.99219,-370.49609 c 0,-1.37714 1.12676,-2.50391 2.5039,-2.50391 1.37715,0 2.50391,1.12677 2.50391,2.50391 0,1.37713 -1.12676,2.5039 -2.50391,2.5039 -1.37714,0 -2.5039,-1.12677 -2.5039,-2.5039 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"/>
+ <path inkscape:connector-curvature="0" id="path10413-7" d="m 348.4707,-367.9375 c -0.33462,0.0898 -0.64722,0.26623 -0.90039,0.51953 l -4.97851,4.98242 c -0.50693,0.50809 -0.70493,1.24983 -0.51953,1.94336 0.18541,0.69355 0.72692,1.23774 1.41992,1.42383 0.69276,0.18603 1.43437,-0.0128 1.9414,-0.52148 l 4.97852,-4.98047 c 0.50694,-0.50808 0.70495,-1.25177 0.51953,-1.94531 -0.1854,-0.69356 -0.72693,-1.23578 -1.41992,-1.42188 -0.34638,-0.093 -0.70553,-0.09 -1.04102,0 z m 0.78125,0.96484 c 0.34883,0.0937 0.61917,0.3662 0.71289,0.7168 0.0937,0.35062 -0.006,0.72222 -0.26172,0.97852 l -4.97656,4.98046 c -0.25562,0.25646 -0.62555,0.35546 -0.97461,0.26172 -0.3488,-0.0937 -0.62111,-0.36425 -0.71484,-0.71484 -0.0937,-0.35061 0.006,-0.7222 0.26172,-0.97852 l 4.97851,-4.98242 c 0.25563,-0.25646 0.62557,-0.35545 0.97461,-0.26172 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.8;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"/>
+ </g>
+ <g transform="translate(0,636)" id="g9298">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 306.49219,-348.01172 a 0.50005,0.50005 0 0 0 -0.38867,0.19531 l -1.95704,1.95703 a 0.50005,0.50005 0 1 0 0.70704,0.70704 L 306,-346.29883 v 5.79297 a 0.50005,0.50005 0 0 0 0.5,0.5 h 5.79297 l -1.14649,1.14648 a 0.50005,0.50005 0 1 0 0.70704,0.70704 l 1.95117,-1.94922 a 0.50005,0.50005 0 0 0 0.008,-0.79883 l -1.95898,-1.95899 a 0.50005,0.50005 0 1 0 -0.70704,0.70704 l 1.14649,1.14648 H 307 v -5.29297 l 1.14648,1.14649 a 0.50005,0.50005 0 1 0 0.70704,-0.70704 l -1.96094,-1.96093 -0.006,-0.008 a 0.50005,0.50005 0 0 0 -0.39453,-0.1836 z" id="path10419-4" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.8;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 306.44531,-351.99805 c -1.16966,-0.043 -2.35048,0.23548 -3.40039,0.84766 -2.09911,1.22396 -3.28024,3.5522 -3.00586,5.94141 0.27491,2.39372 1.98225,4.44954 4.31055,5.18554 a 0.50004997,0.50004997 0 1 0 0.30078,-0.95312 c -1.94954,-0.61628 -3.38871,-2.3582 -3.61719,-4.34766 -0.22899,-1.99397 0.75092,-3.93196 2.51563,-4.96094 1.76401,-1.02856 3.9738,-0.9382 5.67187,0.20118 0.93801,0.62937 1.92387,1.08398 3.2793,1.08398 h 1 a 0.50004997,0.50004997 0 1 0 0,-1 h -1 c -1.14457,0 -1.85649,-0.33615 -2.7207,-0.91602 -1.00565,-0.67477 -2.16433,-1.03898 -3.33399,-1.08203 z" id="path10421-9" inkscape:connector-curvature="0"/>
+ </g>
+ <g transform="rotate(-180,380.49654,-26.99764)" id="g10433">
+ <g transform="translate(1)" id="g10429">
+ <path inkscape:connector-curvature="0" id="path10423-5" transform="rotate(180,390.49654,-26.99764)" d="m 393.49219,289.00391 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 1.73047 l -2.76953,2.76953 h -1.73047 c -0.27613,2e-5 -0.49997,0.22386 -0.5,0.5 v 1.02929 c 3e-5,0.27613 0.22387,0.47068 0.5,0.47071 h 1 c 0.2725,0 0.5,0.17071 0.5,0.5 v 1 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 1 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -1.73243 l 2.76758,-2.76757 h 1.73242 c 0.27613,-2e-5 0.49997,-0.22386 0.5,-0.5 v -1.02735 c -3e-5,-0.27613 -0.22387,-0.47262 -0.5,-0.47265 h -1 c -0.2725,0 -0.5,-0.17071 -0.5,-0.5 v -1 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999988;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"/>
</g>
+ <path inkscape:connector-curvature="0" id="path10431-8" d="m 395.47852,-349.00391 a 0.50004997,0.50004997 0 0 0 -0.32032,0.86914 c 1.10925,1.04157 1.85525,2.61894 1.8418,4.13086 -0.0174,1.95759 -1.00719,3.50006 -2.74023,4.44727 -1.67823,0.91724 -3.81516,0.64624 -5.48829,-0.40625 l 0.0234,0.0156 C 387.83199,-340.63237 386.68507,-341 385.50781,-341 H 384.5 a 0.50004997,0.50004997 0 1 0 0,1 h 1.00586 0.002 c 0.96887,0 1.91412,0.30361 2.70899,0.86914 l 0.0117,0.008 0.0117,0.008 c 1.93164,1.2151 4.44119,1.56274 6.5,0.4375 2.004,-1.0953 3.23927,-3.01733 3.25977,-5.31836 0.0163,-1.83862 -0.84967,-3.64045 -2.1582,-4.86914 a 0.50004997,0.50004997 0 0 0 -0.36328,-0.13868 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.8;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"/>
+ </g>
+ <g transform="translate(20.999997,615)" id="g10447">
+ <path inkscape:connector-curvature="0" id="path10443" d="m 478.49609,-323.00781 a 0.50005,0.50005 0 0 0 -0.34765,0.85937 l 2.64648,2.64649 -2.64648,2.64648 a 0.50005,0.50005 0 1 0 0.70703,0.70703 l 3,-3 a 0.50005,0.50005 0 0 0 0,-0.70703 l -3,-3 a 0.50005,0.50005 0 0 0 -0.35938,-0.15234 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.7;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:7.40000057;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"/>
+ <path inkscape:connector-curvature="0" id="path10445" d="m 473.4375,-330.97461 c -0.67078,0.0637 -1.33815,0.24001 -1.97461,0.53711 -2.54627,1.1886 -3.92907,3.99498 -3.32031,6.73828 0.60875,2.7433 3.04739,4.69922 5.85742,4.69922 h 2.29297 l -2.14453,2.14453 a 0.50005,0.50005 0 1 0 0.70703,0.70703 l 3,-3 a 0.50005,0.50005 0 0 0 0,-0.70703 l -3,-3 a 0.50005,0.50005 0 1 0 -0.70703,0.70703 L 476.29688,-320 H 474 c -2.34689,0 -4.37244,-1.62485 -4.88086,-3.91602 -0.50842,-2.29116 0.63902,-4.62253 2.76563,-5.61523 2.12705,-0.99291 4.66398,-0.38512 6.07812,1.48242 l 0.74023,0.97656 C 479.25532,-326.34303 480.1366,-326 481,-326 h 0.5 a 0.50005,0.50005 0 1 0 0,-1 H 481 c -0.59704,0 -1.17055,-0.2407 -1.5,-0.67578 l -0.74023,-0.97656 c -1.27424,-1.68278 -3.30992,-2.51346 -5.32227,-2.32227 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:7.40000057;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
</g>
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g24264-7"
- transform="translate(-910,-1146)">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 1028,1556 c -3.2833,0 -6,2.4414 -6,5.5 0,1.7056 0.9046,3.146 2.1523,4.3594 l 0.9942,0.9941 a 0.50004997,0.50004997 0 0 0 0.3027,0.1485 0.50004997,0.50004997 0 0 0 0.051,0.998 h 5 a 0.50004997,0.50004997 0 0 0 0.045,-0.998 0.50004997,0.50004997 0 0 0 0.3086,-0.1485 l 0.9981,-0.998 v 0 c 1.2122,-1.1985 2.1465,-2.6518 2.1465,-4.3535 0,-3.0586 -2.7167,-5.5 -6,-5.5 z m 0,1 c 2.7919,0 5,2.0358 5,4.5 0,1.3342 -0.7428,2.5488 -1.8516,3.6445 l -1,1 a 0.50004997,0.50004997 0 0 0 0.2793,0.8535 h -4.8594 a 0.50004997,0.50004997 0 0 0 0.2871,-0.8535 l -1,-1 a 0.50004997,0.50004997 0 0 0 -0.01,-0.01 c -1.1397,-1.1082 -1.8477,-2.2864 -1.8477,-3.6406 0,-2.4642 2.2081,-4.5 5,-4.5 z m -2.5,12 a 0.50004997,0.50004997 0 1 0 0,1 h 1.5 v 0.5 a 0.50004997,0.50004997 0 0 0 0.5,0.5 h 1 a 0.50004997,0.50004997 0 0 0 0.5,-0.5 v -0.5 h 1.5 a 0.50004997,0.50004997 0 1 0 0,-1 z"
- id="path24260-0"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 1025.4902,1561.0059 a 0.50005,0.50005 0 0 0 -0.3437,0.8476 l 0.8535,0.8535 v 1.543 a 0.50005,0.50005 0 1 0 1,0 V 1563 h 2 v 1.25 a 0.50005,0.50005 0 1 0 1,0 v -1.543 l 0.8535,-0.8535 a 0.50005,0.50005 0 0 0 -0.707,-0.707 L 1029.293,1562 h -2.586 l -0.8535,-0.8535 a 0.50005,0.50005 0 0 0 -0.3633,-0.1406 z"
- id="path24262-3"
- inkscape:connector-curvature="0" />
- </g>
- <g
- transform="translate(-847,-1062)"
- id="g24813"
- style="display:inline;fill:#ffffff;enable-background:new">
- <path
- inkscape:connector-curvature="0"
- id="path24809"
- d="m 1028,1556 c -3.2833,0 -6,2.4414 -6,5.5 0,1.7056 0.9046,3.146 2.1523,4.3594 l 0.9942,0.9941 a 0.50004997,0.50004997 0 0 0 0.3027,0.1485 0.50004997,0.50004997 0 0 0 0.051,0.998 h 5 a 0.50004997,0.50004997 0 0 0 0.045,-0.998 0.50004997,0.50004997 0 0 0 0.3086,-0.1485 l 0.9981,-0.998 v 0 c 1.2122,-1.1985 2.1465,-2.6518 2.1465,-4.3535 0,-3.0586 -2.7167,-5.5 -6,-5.5 z m 0,1 c 2.7919,0 5,2.0358 5,4.5 0,1.3342 -0.7428,2.5488 -1.8516,3.6445 l -1,1 a 0.50004997,0.50004997 0 0 0 0.2793,0.8535 h -4.8594 a 0.50004997,0.50004997 0 0 0 0.2871,-0.8535 l -1,-1 a 0.50004997,0.50004997 0 0 0 -0.01,-0.01 c -1.1397,-1.1082 -1.8477,-2.2864 -1.8477,-3.6406 0,-2.4642 2.2081,-4.5 5,-4.5 z m -2.5,12 a 0.50004997,0.50004997 0 1 0 0,1 h 1.5 v 0.5 a 0.50004997,0.50004997 0 0 0 0.5,0.5 h 1 a 0.50004997,0.50004997 0 0 0 0.5,-0.5 v -0.5 h 1.5 a 0.50004997,0.50004997 0 1 0 0,-1 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
- <path
- inkscape:connector-curvature="0"
- id="path24811"
- d="m 1025.4902,1561.0059 a 0.50005,0.50005 0 0 0 -0.3437,0.8476 l 0.8535,0.8535 v 1.543 a 0.50005,0.50005 0 1 0 1,0 V 1563 h 2 v 1.25 a 0.50005,0.50005 0 1 0 1,0 v -1.543 l 0.8535,-0.8535 a 0.50005,0.50005 0 0 0 -0.707,-0.707 L 1029.293,1562 h -2.586 l -0.8535,-0.8535 a 0.50005,0.50005 0 0 0 -0.3633,-0.1406 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
- </g>
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g24819"
- transform="translate(-1015,-999)">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 1028,1556 c -3.2833,0 -6,2.4414 -6,5.5 0,1.7056 0.9046,3.146 2.1523,4.3594 l 0.9942,0.9941 a 0.50004997,0.50004997 0 0 0 0.3027,0.1485 0.50004997,0.50004997 0 0 0 0.051,0.998 h 5 a 0.50004997,0.50004997 0 0 0 0.045,-0.998 0.50004997,0.50004997 0 0 0 0.3086,-0.1485 l 0.9981,-0.998 v 0 c 1.2122,-1.1985 2.1465,-2.6518 2.1465,-4.3535 0,-3.0586 -2.7167,-5.5 -6,-5.5 z m 0,1 c 2.7919,0 5,2.0358 5,4.5 0,1.3342 -0.7428,2.5488 -1.8516,3.6445 l -1,1 a 0.50004997,0.50004997 0 0 0 0.2793,0.8535 h -4.8594 a 0.50004997,0.50004997 0 0 0 0.2871,-0.8535 l -1,-1 a 0.50004997,0.50004997 0 0 0 -0.01,-0.01 c -1.1397,-1.1082 -1.8477,-2.2864 -1.8477,-3.6406 0,-2.4642 2.2081,-4.5 5,-4.5 z m -2.5,12 a 0.50004997,0.50004997 0 1 0 0,1 h 1.5 v 0.5 a 0.50004997,0.50004997 0 0 0 0.5,0.5 h 1 a 0.50004997,0.50004997 0 0 0 0.5,-0.5 v -0.5 h 1.5 a 0.50004997,0.50004997 0 1 0 0,-1 z"
- id="path24815"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 1025.4902,1561.0059 a 0.50005,0.50005 0 0 0 -0.3437,0.8476 l 0.8535,0.8535 v 1.543 a 0.50005,0.50005 0 1 0 1,0 V 1563 h 2 v 1.25 a 0.50005,0.50005 0 1 0 1,0 v -1.543 l 0.8535,-0.8535 a 0.50005,0.50005 0 0 0 -0.707,-0.707 L 1029.293,1562 h -2.586 l -0.8535,-0.8535 a 0.50005,0.50005 0 0 0 -0.3633,-0.1406 z"
- id="path24817"
- inkscape:connector-curvature="0" />
- </g>
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g25431"
- transform="translate(-21)">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 153.5,119 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 10 a 0.50005,0.50005 0 0 0 0.5,0.5 h 10 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -10 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m 0.5,1 h 9 v 9 h -9 z"
- id="rect25412"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.75;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 157,121 v 2 h 1 v -2 z m 0,3 v 1.5 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 1.5 v -1 h -1 v -1 z m 3,1 v 1 h 2 v -1 z"
- id="rect25414"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="cccccccccccccccccc" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.75;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 157.5,116 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 1.5 h 1 v -1 h 8 v 8 h -1 v 1 h 1.5 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -9 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z"
- id="path25426"
- inkscape:connector-curvature="0" />
- </g>
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- inkscape:export-ydpi="96"
- inkscape:export-xdpi="96"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- id="g13935-4"
- transform="translate(83.999996,42)">
- <path
- id="path13929-36"
- d="m 36,74 c -2.455669,0 -4.49388,1.771475 -4.916016,4.105469 0.482305,-0.09011 0.975221,-0.129499 1.470704,-0.07422 0.662841,0.07415 0.551512,1.068296 -0.111329,0.994141 -0.485685,-0.05419 -0.971969,-0.01789 -1.4375,0.101562 0.06678,2.656434 2.202258,4.79532 4.857422,4.867188 0.121572,-0.473413 0.166164,-0.965209 0.109375,-1.455079 -0.03822,-0.293198 0.18493,-0.555356 0.480469,-0.564453 0.262666,-0.0085 0.487095,0.187762 0.513672,0.449219 0.05787,0.499184 0.03624,1.001242 -0.05469,1.490234 C 39.23754,83.484981 41,81.449595 41,79 41,76.23858 38.761426,74 36,74 Z m -1.568358,4.830076 c 0.100656,9.56e-4 0.198679,0.03227 0.28125,0.08984 0.540828,0.363139 1.00483,0.82779 1.367188,1.369141 0.405708,0.559881 -0.466114,1.144515 -0.830078,0.556641 -0.289893,-0.43309 -0.661079,-0.805188 -1.09375,-1.095703 -0.420141,-0.271725 -0.224948,-0.923754 0.27539,-0.919922 z"
- style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="scccccccccssccccccc" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 29.484375,78.757812 a 0.50005,0.50005 0 0 0 -0.267578,0.08789 c -1.670208,1.118756 -2.507905,3.13395 -2.125,5.107422 0.382905,1.973472 1.913458,3.526488 3.880859,3.939453 1.967402,0.412965 3.994569,-0.393928 5.138672,-2.046875 a 0.50005,0.50005 0 1 0 -0.822266,-0.568359 c -0.916718,1.324431 -2.534938,1.967608 -4.111328,1.636718 -1.576389,-0.330889 -2.798664,-1.57109 -3.105468,-3.152343 -0.306805,-1.581254 0.36291,-3.18953 1.701172,-4.085938 a 0.50005,0.50005 0 0 0 -0.289063,-0.917968 z"
- id="path13933-5"
- inkscape:connector-curvature="0" />
- </g>
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g25821">
- <g
- id="g24262-4"
- transform="translate(-188.99644,-1801.0029)"
- style="display:inline;fill:#ffffff;enable-background:new">
- <path
- sodipodi:nodetypes="ccccccccccccccccccccccccccccccc"
- inkscape:connector-curvature="0"
- id="rect24246-3"
- transform="translate(188.99644,1801.0029)"
- d="m 489.00391,329.99805 v 2 h 1 v -1 h 1 v -1 z m 0,4 v 2 h 1 v -2 z m 0,4 v 2 h 2 v -1 h -1 v -1 z m 9,0 v 1 h -1 v 1 h 2 v -2 z m -5,1 v 1 h 2 v -1 z"
- style="opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none" />
+ <path inkscape:connector-curvature="0" id="path10449" d="m 391.5,263.00781 c -0.82054,0 -1.49609,0.67557 -1.49609,1.4961 0,0.82054 0.67555,1.49609 1.49609,1.49609 0.82053,0 1.49609,-0.67555 1.49609,-1.49609 0,-0.82053 -0.67556,-1.4961 -1.49609,-1.4961 z M 397,264 c -0.71373,0 -1.37556,0.3819 -1.73242,1 -0.19053,0.33001 -0.2484,0.68266 -0.25586,0.99609 v 0.0117 h -1.54297 C 393.0093,266.6044 392.2975,267 391.5,267 c -0.79751,0 -1.50931,-0.3956 -1.96875,-0.99219 h -0.0195 -5.01563 c -0.67616,-0.01 -0.67616,1.00956 0,1 h 5.01563 0.49805 l -0.0137,3.28711 c -1.65939,1.40974 -3.24134,2.62162 -3.98828,6.10742 -0.17787,0.67446 0.8602,0.89868 0.97657,0.21094 0.67528,-3.15139 1.9234,-4.08819 3.51757,-5.42773 1.58398,1.34059 2.83152,2.27746 3.51953,5.42968 0.13318,0.66658 1.13544,0.44609 0.97657,-0.21484 -0.76273,-3.49457 -2.35105,-4.70351 -4.00196,-6.11719 l 0.0137,-3.27539 h 2.21679 1.78516 v 0.004 c 0.007,0.31344 0.0653,0.66608 0.25586,0.99609 0.35686,0.61811 1.01869,1 1.73242,1 h 0.5 c 0.67616,0.01 0.67616,-1.00956 0,-1 H 397 c -0.35807,0 -0.6862,-0.1899 -0.86523,-0.5 -0.0738,-0.12789 -0.11835,-0.32209 -0.12305,-0.51953 v -0.96875 c 0.005,-0.19744 0.0492,-0.39164 0.12305,-0.51953 0.17903,-0.3101 0.50716,-0.5 0.86523,-0.5 h 0.5 c 0.67616,0.01 0.67616,-1.00956 0,-1 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
+ <g transform="translate(0,636)" id="g28776">
+ <path inkscape:connector-curvature="0" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 447.50977,297.01172 a 0.50005,0.50005 0 1 0 0,1 h 6.2832 c -0.26437,-0.28877 -0.47061,-0.62726 -0.60742,-1 z m 11.29882,0 c -0.13697,0.37274 -0.34281,0.71123 -0.60742,1 h 2.3086 a 0.50005,0.50005 0 1 0 0,-1 z" transform="translate(21,-636)" id="path10435"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 476.99609,-342 c 1.09999,0 2.00391,0.90231 2.00391,2.00195 0,1.09965 -0.90392,2 -2.00391,2 -1.09998,0 -2.00195,-0.90035 -2.00195,-2 0,-1.09964 0.90197,-2.00195 2.00195,-2.00195 z" id="ellipse10439" inkscape:connector-curvature="0" sodipodi:nodetypes="sssss"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 472.49805,-351.99805 c 1.37513,0 2.50195,1.12557 2.50195,2.5 0,1.37444 -1.12682,2.49805 -2.50195,2.49805 -1.37514,0 -2.5,-1.12361 -2.5,-2.49805 0,-1.37443 1.12486,-2.5 2.5,-2.5 z m 0,1 c -0.83537,0 -1.5,0.66668 -1.5,1.5 0,0.83332 0.66463,1.49805 1.5,1.49805 0.83537,0 1.50195,-0.66473 1.50195,-1.49805 0,-0.83332 -0.66658,-1.5 -1.50195,-1.5 z" id="ellipse10441" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.7;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 472.50195,-345.99609 a 0.50005,0.50005 0 0 0 -0.49218,0.50781 v 1 a 0.50005,0.50005 0 1 0 1,0 v -1 a 0.50005,0.50005 0 0 0 -0.50782,-0.50781 z m 0,3 a 0.50005,0.50005 0 0 0 -0.49218,0.50781 v 1 a 0.50005,0.50005 0 1 0 1,0 v -1 a 0.50005,0.50005 0 0 0 -0.50782,-0.50781 z" id="path10451" inkscape:connector-curvature="0"/>
+ </g>
+ <g transform="translate(-126,636)" id="g10457">
+ <path inkscape:connector-curvature="0" id="path10453" transform="translate(0,-636)" d="m 554.5,284 c -1.37479,0 -2.5,1.12521 -2.5,2.5 v 2.00781 c 0,1.37479 1.12521,2.5 2.5,2.5 1.37479,0 2.5,-1.12521 2.5,-2.5 v -0.5 h 1.51172 0.49805 l -0.0137,3.28711 c -1.65939,1.40974 -3.24134,2.62162 -3.98828,6.10742 -0.17787,0.67446 0.86019,0.89868 0.97657,0.21094 0.67528,-3.15139 1.9234,-4.08819 3.51757,-5.42773 1.58398,1.34059 2.83152,2.27746 3.51953,5.42968 0.13318,0.66658 1.13544,0.44609 0.97657,-0.21484 -0.76273,-3.49457 -2.35105,-4.70351 -4.00196,-6.11719 l 0.0137,-3.27539 h 2.21679 3.28516 c 0.6573,-0.009 0.6573,-0.9907 0,-1 h -3.04297 C 562.0093,287.6044 561.2975,288 560.5,288 c -0.79751,0 -1.50931,-0.3956 -1.96875,-0.99219 H 558.51172 557 V 286.5 c 0,-1.37479 -1.12521,-2.5 -2.5,-2.5 z m 6,0.008 c -0.82054,0 -1.49609,0.67557 -1.49609,1.4961 0,0.82054 0.67555,1.49609 1.49609,1.49609 0.82053,0 1.49609,-0.67555 1.49609,-1.49609 0,-0.82053 -0.67556,-1.4961 -1.49609,-1.4961 z m -6,0.992 c 0.83435,0 1.5,0.66565 1.5,1.5 v 2.00781 c 0,0.83435 -0.66565,1.5 -1.5,1.5 -0.83435,0 -1.5,-0.66565 -1.5,-1.5 V 286.5 c 0,-0.83435 0.66565,-1.5 1.5,-1.5 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:7.40000057;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
+ </g>
+ <g transform="translate(-21,615)" style="opacity:0.8" id="g10464">
+ <path sodipodi:nodetypes="ccccccccc" inkscape:connector-curvature="0" id="path10460" d="m 237.5,-323 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 4 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 4 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -4 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"/>
+ <path inkscape:connector-curvature="0" id="path10462" d="m 237.52148,-329 a 0.50005,0.50005 0 0 0 -0.5,0.49805 l -0.0215,4.5 1,0.004 0.0195,-4.00195 H 247 v 9 h -4 v 1 h 4.5 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -10 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.8;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"/>
+ </g>
+ <path d="m 230,289 v -2 h -1 v 2 z m 0,-3 v -2 h -1 v 2 z m 0,12 v -2 h -1 v 2 z m 0,-3 v -2 h -1 v 2 z m 0,-3 v -2 h -1 v 2 z" style="display:inline;opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:new" id="path10466" inkscape:connector-curvature="0"/>
+ <g transform="translate(-25,619)" id="g10474">
+ <path sodipodi:nodetypes="ccccccccc" inkscape:connector-curvature="0" id="path10468" d="m 137.5,-326 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 3 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 3 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -3 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"/>
+ <path inkscape:connector-curvature="0" id="path10470" d="m 137.52148,-331 a 0.50005,0.50005 0 0 0 -0.5,0.49609 l -0.0215,3.5 1,0.008 0.0176,-3.00391 H 145 v 7 h -3 v 1 h 3.5 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -8 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.8;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"/>
+ <path inkscape:connector-curvature="0" id="path10472" d="m 141.52148,-335 a 0.50005,0.50005 0 0 0 -0.5,0.49609 l -0.0215,2.5 1,0.008 0.0176,-2.00391 H 149 v 7 h -2 v 1 h 2.5 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -8 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"/>
+ </g>
+ <g transform="translate(125,-1)" id="g10480" style="display:inline;opacity:0.8;enable-background:new">
+ <path inkscape:connector-curvature="0" id="path10478" d="m 51.492188,285.99219 a 0.50005,0.50005 0 0 0 -0.388672,0.19531 0.50005,0.50005 0 0 0 -0.0039,0.006 l -1.953125,1.95312 a 0.50005,0.50005 0 1 0 0.707032,0.70704 L 51,287.70703 V 295.5 a 0.50005,0.50005 0 0 0 0.5,0.5 h 7.792969 l -1.146485,1.14648 a 0.50005,0.50005 0 1 0 0.707032,0.70704 l 1.957031,-1.95704 a 0.50005,0.50005 0 0 0 0.002,-0.79296 0.50005,0.50005 0 0 0 -0.0059,-0.004 l -1.953125,-1.95313 a 0.50005,0.50005 0 1 0 -0.707032,0.70704 L 59.292969,295 H 52 v -7.29297 l 1.146484,1.14649 a 0.50005,0.50005 0 1 0 0.707032,-0.70704 l -1.957032,-1.95703 a 0.50005,0.50005 0 0 0 -0.404296,-0.19726 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
+ </g>
+ <path id="path10482" d="m 197.50977,285.99609 a 0.50005,0.50005 0 0 0 -0.31055,0.10547 c -1.78384,1.33863 -2.5833,3.62488 -2.02149,5.78321 0.56181,2.15833 2.37387,3.7674 4.58399,4.0664 2.05389,0.27788 4.06729,-0.6352 5.23828,-2.31445 V 296.5 a 0.50005,0.50005 0 1 0 1,0 v -4 a 0.50005,0.50005 0 0 0 -0.5,-0.5 h -4 a 0.50005,0.50005 0 1 0 0,1 h 2.72656 c -0.95112,1.41787 -2.62038,2.19029 -4.33008,1.95898 -1.8109,-0.24499 -3.29162,-1.5577 -3.75195,-3.32617 -0.46033,-1.76847 0.19267,-3.63559 1.6543,-4.73242 a 0.50005,0.50005 0 0 0 -0.28906,-0.9043 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.8;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path id="path10484" style="display:inline;opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:new" d="m 167,289 v -2 h -1 v 2 z m 0,-3 v -2 h -1 v 2 z m 0,12 v -2 h -1 v 2 z m 0,-3 v -2 h -1 v 2 z m 0,-3 v -2 h -1 v 2 z" inkscape:connector-curvature="0"/>
+ <path d="m 188,289 v -2 h -1 v 2 z m 0,-3 v -2 h -1 v 2 z m 0,12 v -2 h -1 v 2 z m 0,-3 v -2 h -1 v 2 z m 0,-3 v -2 h -1 v 2 z" style="display:inline;opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:new" id="path10486" inkscape:connector-curvature="0"/>
+ <path inkscape:connector-curvature="0" id="path10488" style="display:inline;opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:new" d="m 209,289 v -2 h -1 v 2 z m 0,-3 v -2 h -1 v 2 z m 0,12 v -2 h -1 v 2 z m 0,-3 v -2 h -1 v 2 z m 0,-3 v -2 h -1 v 2 z"/>
+ <path inkscape:connector-curvature="0" id="path10490" d="m 160.5,285.99023 a 0.50005,0.50005 0 0 0 -0.34766,0.85743 l 1.14649,1.14648 -6.29297,6.29297 -1.14648,-1.14649 a 0.50005,0.50005 0 1 0 -0.70704,0.70704 l 3,3 a 0.50005,0.50005 0 1 0 0.70704,-0.70704 l -1.14649,-1.14648 6.29297,-6.29297 1.14648,1.14649 a 0.50005,0.50005 0 1 0 0.70704,-0.70704 l -3,-3 A 0.50005,0.50005 0 0 0 160.5,285.99023 Z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.85;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"/>
+ <g id="g10502" transform="rotate(180,170.50319,427.50118)">
+ <path id="path10492" transform="rotate(-180,170.50319,427.50118)" d="m 138.61719,286.00781 a 0.60006002,0.60006002 0 0 0 -0.47657,0.99024 l 1.61133,2.01953 a 1.5007322,1.5007322 0 0 1 1.2461,1.5625 l 0.92773,1.16211 a 0.60006002,0.60006002 0 0 0 0.4668,0.23242 0.60006002,0.60006002 0 0 0 0.4707,-0.98047 l -1.58789,-1.99023 1.58984,-2.00782 a 0.60006002,0.60006002 0 1 0 -0.9414,-0.74414 l -1.41602,1.78907 -1.42969,-1.79102 a 0.60006002,0.60006002 0 0 0 -0.46093,-0.24219 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.7;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.20000005;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <path inkscape:connector-curvature="0" id="path10496" d="m 201.60938,559.02148 a 0.60006002,0.60006002 0 0 0 -0.47071,0.98243 l 1.59766,2.00195 -1.59766,2.00195 a 0.6002929,0.6002929 0 1 0 0.9375,0.75 l 1.42774,-1.78906 1.42773,1.78906 a 0.6002929,0.6002929 0 1 0 0.9375,-0.75 l -1.59766,-2.00195 1.59766,-2.00195 a 0.6002929,0.6002929 0 1 0 -0.9375,-0.75 l -1.42773,1.78906 -1.42774,-1.78906 a 0.60006002,0.60006002 0 0 0 -0.46679,-0.23243 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.20000005;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
+ <path inkscape:connector-curvature="0" id="path10498" d="m 196.50391,561 a 0.50004997,0.50004997 0 0 0 -0.22657,0.0547 c 0,0 -0.3567,0.1843 -0.66796,0.57226 C 195.29811,562.01491 195,562.63889 195,563.5 v 5 c 0,0.86111 0.29839,1.4864 0.60938,1.875 0.31098,0.3886 0.66796,0.57227 0.66796,0.57227 a 0.50004997,0.50004997 0 1 0 0.44532,-0.89454 c 0,0 -0.14302,-0.0665 -0.33204,-0.30273 C 196.20161,569.5138 196,569.13889 196,568.5 v -5 c 0,-0.63889 0.20189,-1.01282 0.39062,-1.24805 0.18874,-0.23523 0.33204,-0.30078 0.33204,-0.30078 A 0.50004997,0.50004997 0 0 0 196.50391,561 Z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.7;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994px;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"/>
+ <path inkscape:connector-curvature="0" id="path10500" d="m 207.48828,557 a 0.50004997,0.50004997 0 0 0 -0.20508,0.95117 c 0,0 0.14526,0.0655 0.33399,0.30078 0.18873,0.23523 0.38867,0.60916 0.38867,1.24805 v 5 c 0,0.63889 -0.20161,1.0138 -0.39063,1.25 -0.18901,0.2362 -0.33203,0.30273 -0.33203,0.30273 a 0.50006306,0.50006306 0 1 0 0.44727,0.89454 c 0,0 0.35503,-0.18367 0.66601,-0.57227 0.31099,-0.3886 0.60938,-1.01389 0.60938,-1.875 v -5 c 0,-0.86111 -0.29811,-1.48509 -0.60938,-1.87305 -0.31127,-0.38796 -0.66796,-0.57226 -0.66796,-0.57226 A 0.50004997,0.50004997 0 0 0 207.48828,557 Z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994px;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"/>
+ </g>
+ <g style="opacity:1" id="g10508" transform="translate(-21,467)">
+ <path id="path10504" transform="translate(21,-467)" d="m 91.347656,288.96484 a 0.51005099,0.51005099 0 0 0 -0.376953,0.20899 c -1.08977,1.44807 -1.289364,3.38767 -0.521484,5.03125 0.76787,1.64358 2.380967,2.72477 4.185547,2.80078 1.781016,0.075 3.455174,-0.8442 4.365234,-2.38086 v 1.875 a 0.50005,0.50005 0 1 0 1,0 v -3 A 0.50005,0.50005 0 0 0 99.5,293 h -3 a 0.50005,0.50005 0 1 0 0,1 h 1.693359 a 0.51006897,0.51006897 0 0 0 -0.03906,0.0586 c -0.71442,1.24711 -2.052293,1.98773 -3.476563,1.92774 -1.42426,-0.06 -2.695887,-0.90979 -3.304687,-2.21289 -0.60881,-1.3031 -0.449088,-2.83939 0.414062,-3.98633 a 0.51005099,0.51005099 0 0 0 -0.388671,-0.82227 0.51005099,0.51005099 0 0 0 -0.05078,0 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:markers stroke fill;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" inkscape:connector-curvature="0"/>
+ </g>
+ <g transform="translate(-18,356)" id="g10514" style="opacity:0.7;vector-effect:none;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke">
+ <path id="path10510" transform="translate(18,-356)" d="m 95.398438,282.97461 a 0.50004994,0.50004994 0 0 0 -0.05078,0.002 0.50004994,0.50004994 0 0 0 -0.367187,0.20313 c -1.08755,1.44512 -1.289758,3.38123 -0.523438,5.02148 0.76632,1.64025 2.376885,2.71907 4.177735,2.79492 1.781962,0.0751 3.458632,-0.84789 4.365232,-2.38867 V 290.5 a 0.50004997,0.50004997 0 1 0 1,0 v -3 a 0.50004997,0.50004997 0 0 0 -0.5,-0.5 h -3 a 0.50004997,0.50004997 0 1 0 0,1 h 1.70312 a 0.50004994,0.50004994 0 0 0 -0.0391,0.0645 c -0.71624,1.25031 -2.05833,1.99179 -3.486324,1.93164 -1.42799,-0.0601 -2.704083,-0.91231 -3.314453,-2.21875 -0.61036,-1.30644 -0.449354,-2.8462 0.416016,-3.99609 A 0.50004994,0.50004994 0 0 0 95.3984,282.97466 Z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" inkscape:connector-curvature="0"/>
+ </g>
+ <g id="g10528" transform="translate(-21,384)">
+ <g style="display:inline;opacity:0.7;enable-background:new" id="g10520" transform="translate(46,-388)">
+ <path inkscape:connector-curvature="0" id="path10518" d="m 50.492188,287.99219 a 0.50005,0.50005 0 0 0 -0.388672,0.19531 0.50005,0.50005 0 0 0 -0.0039,0.006 l -1.953125,1.95312 a 0.50005,0.50005 0 1 0 0.707032,0.70704 L 50,289.70703 V 295.5 a 0.50005,0.50005 0 0 0 0.5,0.5 h 5.792969 l -1.146485,1.14648 a 0.50005,0.50005 0 1 0 0.707032,0.70704 l 1.957031,-1.95704 a 0.50005,0.50005 0 0 0 0.002,-0.79296 0.50005,0.50005 0 0 0 -0.0059,-0.004 l -1.953125,-1.95313 a 0.50005,0.50005 0 1 0 -0.707032,0.70704 L 56.292969,295 H 51 v -5.29297 l 1.146484,1.14649 a 0.50005,0.50005 0 1 0 0.707032,-0.70704 l -1.957032,-1.95703 a 0.50005,0.50005 0 0 0 -0.404296,-0.19726 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
</g>
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 493.49609,325.98633 c -0.27689,3e-5 -0.50105,0.22506 -0.5,0.50195 l 0.008,4.00586 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 4.5 v 4.50195 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 4 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -9 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z"
- id="path24264-0"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="cccccccccccc" />
- </g>
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 472.49609,325.98633 c -0.27689,3e-5 -0.50105,0.22506 -0.5,0.50195 l 0.006,3.50586 -3.49804,0.002 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 9 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 9 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -3.5 h 3.5 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -9 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z"
- id="path24338-8"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="ccccccccccccccc" />
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g25828">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 515.49805,329.98633 c -0.27766,-0.001 -0.50302,0.22429 -0.50196,0.50195 l 0.008,5.00586 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 5 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -4.99805 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z"
- id="path24344-9"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="ccccccccc" />
- <g
- id="g24392-5"
- transform="translate(-166.99644,-1801.0029)"
- style="display:inline;fill:#ffffff;enable-background:new">
- <path
- sodipodi:nodetypes="ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccaccc"
- inkscape:connector-curvature="0"
- id="rect24376-2"
- transform="translate(166.99644,1801.0029)"
- d="M 515.00391,325.99609 V 326 H 515 v 2 h 1 v -1.00391 h 1.00391 v -1 z m 4,0 v 1 h 2 v -1 z M 523,326 v 1 h 1 v 1 h 1.00391 v -2.00391 z m 1.00391,3.99609 v 2 h 1 v -2 z m -13,0.002 v 2 h 1 v -1 h 1 v -1 z m 13,3.99804 v 1 h -1 v 1 h 2 v -2 z m -13,0.002 v 2 h 1 v -2 z m 0,4 v 2 h 2 v -1 h -1 v -1 z m 9,0 v 1 h -1 v 1 h 2 v -2 z m -5,1 v 1 h 2 v -1 z"
- style="opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none" />
+ <g transform="translate(42,-384)" id="g10526" style="display:inline;opacity:1;enable-background:new">
+ <path inkscape:connector-curvature="0" id="path10524" d="m 50.492188,287.99219 a 0.50005,0.50005 0 0 0 -0.388672,0.19531 0.50005,0.50005 0 0 0 -0.0039,0.006 l -1.953125,1.95312 a 0.50005,0.50005 0 1 0 0.707032,0.70704 L 50,289.70703 V 295.5 a 0.50005,0.50005 0 0 0 0.5,0.5 h 5.792969 l -1.146485,1.14648 a 0.50005,0.50005 0 1 0 0.707032,0.70704 l 1.957031,-1.95704 a 0.50005,0.50005 0 0 0 0.002,-0.79296 0.50005,0.50005 0 0 0 -0.0059,-0.004 l -1.953125,-1.95313 a 0.50005,0.50005 0 1 0 -0.707032,0.70704 L 56.292969,295 H 51 v -5.29297 l 1.146484,1.14649 a 0.50005,0.50005 0 1 0 0.707032,-0.70704 l -1.957032,-1.95703 a 0.50005,0.50005 0 0 0 -0.404296,-0.19726 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
</g>
</g>
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 535.49609,325.98633 c -0.27689,3e-5 -0.50105,0.22506 -0.5,0.50195 l 0.008,3.00781 c 10e-4,0.27537 0.22463,0.49802 0.5,0.49805 h 5.5 v 5.50195 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 3 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -9 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z m -4,4.0039 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 9 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 l 9.00782,0.01 c 0.27689,-3e-5 0.50105,-0.22506 0.5,-0.50195 l -0.008,-3.00586 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 h -5.5 v -5.50196 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z"
- id="path24415-7"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="cccccccccccccccccccccccc" />
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g25815">
- <g
- transform="translate(-230.99644,-1801.0029)"
- id="g24435-3"
- style="display:inline;fill:#ffffff;enable-background:new">
- <path
- sodipodi:nodetypes="ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccacccaccccc"
- inkscape:connector-curvature="0"
- id="rect24419-6"
- transform="translate(230.99644,1801.0029)"
- d="m 447.00391,325.99805 v 2 h 1 v -1 h 1 v -1 z m 4,0 v 1 h 2 v -1 z m 4,0 v 1 h 2 v -1 z m 4,0 v 1 h 1 v 1 h 1 v -2 z m -12,4 v 2 h 1 v -2 z m 13,0 v 2 h 1 v -2 z m -13,4 v 2 h 1 v -2 z m 13,0 v 2 h 1 v -2 z m -13,4 v 2 h 2 v -1 h -1 v -1 z m 13,0 v 1 h -1 v 1 h 2 v -2 z m -9,1 v 1 h 2 v -1 z m 4,0 v 1 h 2 v -1 z"
- style="opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none" />
- </g>
+ <g transform="translate(21,573)" id="g10534">
+ <path inkscape:connector-curvature="0" id="path10530" d="m 216.5,-282 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 6 a 0.50005,0.50005 0 0 0 0.5,0.5 h 7 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -6 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m 0.5,1 h 6 v 5 h -6 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.7;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:markers stroke fill;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
+ <path inkscape:connector-curvature="0" id="path10532" d="m 226.5,-289 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 13 a 0.50005,0.50005 0 0 0 0.5,0.5 h 3 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -13 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m 0.5,1 h 2 v 12 h -2 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:markers stroke fill;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"/>
</g>
- <g
- transform="translate(876,-1690)"
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g24686-1"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Dysk Google\PROJEKTY BIEŻĄCE - Andrzej\BLENDER 2.8 ICONS redesign\MOCKUPS\gizmo icon_1.png"
- inkscape:export-xdpi="96"
- inkscape:export-ydpi="96">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m -419.5,1827 a 0.50005,0.50005 0 1 0 0,1 h 2.79492 l -2.96875,2.9688 c 0.24471,0.2267 0.48032,0.4623 0.70703,0.707 L -416,1828.709 v 2.791 a 0.50005,0.50005 0 1 0 1,0 v -4 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m -2.98438,6.7793 -3.50585,3.5059 C -426.28828,1837.1081 -426.63057,1837 -427,1837 c -1.09865,0 -2,0.9013 -2,2 0,1.0986 0.90135,2 2,2 1.09865,0 2,-0.9014 2,-2 0,-0.3677 -0.10771,-0.7107 -0.2832,-1.0078 l 3.50586,-3.5059 c -0.22252,-0.2491 -0.45807,-0.4843 -0.70704,-0.707 z M -427,1838 c 0.55821,0 1,0.4417 1,1 0,0.5582 -0.44179,1 -1,1 -0.55821,0 -1,-0.4418 -1,-1 0,-0.5583 0.44179,-1 1,-1 z"
- id="path24506-4"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m -428.49556,1829 a 0.4997692,0.49966962 0 1 0 0,0.9993 c 5.80308,0 10.49606,4.6921 10.49606,10.494 a 0.4997692,0.49966962 0 1 0 0.99944,0 c 0,-6.3418 -5.1523,-11.4933 -11.4955,-11.4933 z"
- id="ellipse24510-0"
- inkscape:connector-curvature="0" />
- </g>
- <path
- id="path22885-3-7"
- d="m 537.4922,557 c -0.1299,0 -0.2539,0.055 -0.3457,0.1465 -1.4018,1.4018 -2.9571,1.8535 -5.6465,1.8535 -0.2761,0 -0.5,0.2239 -0.5,0.5 v 3 c 0,2.4627 0.6805,4.0682 1.7871,5.2754 1.1066,1.2072 2.5736,2.0242 4.1777,3.1348 0.084,0.058 0.1832,0.09 0.2852,0.09 h 0.5 c 0.102,-2e-4 0.2015,-0.032 0.2852,-0.09 1.6041,-1.1106 3.0711,-1.9276 4.1777,-3.1348 C 543.3195,566.5682 544,564.9627 544,562.5 v -3 c 0,-0.2761 -0.2239,-0.5 -0.5,-0.5 -2.6894,0 -4.2447,-0.4517 -5.6465,-1.8535 -0.096,-0.096 -0.226,-0.1486 -0.3613,-0.1465 z m 3.4766,3.9902 a 1.0001,1.0001 0 0 1 0.8124,1.6348 l -4,5 a 1.0001,1.0001 0 0 1 -1.4882,0.082 l -2,-2 a 1.0001,1.0001 0 1 1 1.414,-1.414 l 1.209,1.209 3.3028,-4.127 a 1.0001,1.0001 0 0 1 0.75,-0.3848 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 516.49219,557 a 0.50005,0.50005 0 0 0 -0.34571,0.14648 C 514.74469,558.54828 513.18939,559 510.5,559 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 3 c 0,2.46272 0.6805,4.06818 1.78711,5.27539 1.10661,1.20722 2.57356,2.02419 4.17773,3.13477 A 0.50005,0.50005 0 0 0 516.25,571 h 0.5 a 0.50005,0.50005 0 0 0 0.28516,-0.0898 c 1.60417,-1.11058 3.07112,-1.92755 4.17773,-3.13477 C 522.3195,566.56818 523,564.96272 523,562.5 v -3 a 0.50005,0.50005 0 0 0 -0.5,-0.5 c -2.68939,0 -4.24469,-0.45172 -5.64648,-1.85352 A 0.50005,0.50005 0 0 0 516.49219,557 Z m 0.008,1.07031 c 1.42533,1.26825 3.16641,1.79779 5.5,1.86524 V 562.5 c 0,2.28728 -0.5695,3.55682 -1.52539,4.59961 -0.92707,1.01135 -2.30655,1.81425 -3.88867,2.90039 h -0.17188 c -1.58212,-1.08614 -2.9616,-1.88904 -3.88867,-2.90039 C 511.5695,566.05682 511,564.78728 511,562.5 v -2.56445 c 2.33359,-0.0675 4.07467,-0.59699 5.5,-1.86524 z"
- id="path22877-22-0"
- inkscape:connector-curvature="0" />
- <path
- inkscape:connector-curvature="0"
- d="m 511.99933,414.00018 h 9 v 5 h -9 z m -1.5,-2 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 8 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 5.5 v 1 h -2.5 c -0.67616,-0.01 -0.67616,1.00956 0,1 h 6 c 0.6573,-0.009 0.6573,-0.9907 0,-1 h -2.5 v -1 h 5.5 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -8 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z m 0.5,1 h 11 v 7 h -11 z"
- style="opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke"
- id="rect22324-2" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 489.5,412 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 8 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 5.5 v 1 h -2.5 c -0.67616,-0.01 -0.67616,1.00956 0,1 h 6 c 0.6573,-0.009 0.6573,-0.9907 0,-1 H 496 v -1 h 5.5 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -8 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z m 0.5,1 h 11 v 7 h -11 z"
- id="path22338-8"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="cccccccccccccccccccccc" />
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g25476"
- transform="translate(-20)">
- <g
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g25445"
- transform="translate(-218,-111)">
- <path
- sodipodi:nodetypes="ssssccccccccssssccs"
- inkscape:connector-curvature="0"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 301.5,305 c -0.82235,0 -1.5,0.67765 -1.5,1.5 v 5 c 0,0.82235 1,1.5 1.5,1.5 h 0.5 v -3 h -0.5 c -0.67616,0.01 -0.67616,-1.01 0,-1 h 11 c 0.67616,-0.01 0.67616,1.01 0,1 H 312 v 3 h 0.5 c 0.82235,0 1.5,-0.67765 1.5,-1.5 v -5 c 0,-0.82235 -0.67765,-1.5 -1.5,-1.5 H 312 302 Z"
- transform="translate(70,363)"
- id="path25441" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.7;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 135,562 v 8.5 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 7 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 V 562 Z m 6,2 c 0.54636,0 1,0.45364 1,1 0,0.54636 -0.45364,1 -1,1 -0.54636,0 -1,-0.45364 -1,-1 0,-0.54636 0.45364,-1 1,-1 z m -2.50781,2 c 0.16994,-0.003 0.32953,0.0812 0.42383,0.22266 l 2,3 c 0.22142,0.33228 -0.0167,0.77726 -0.41602,0.77734 h -4 c -0.39932,-8e-5 -0.63744,-0.44506 -0.41602,-0.77734 l 2,-3 c 0.0912,-0.13686 0.24381,-0.21966 0.40821,-0.22266 z"
- transform="translate(238,111)"
- id="path25443"
- inkscape:connector-curvature="0" />
- </g>
+ <g style="display:inline;enable-background:new" id="g27713" transform="translate(-80)">
+ <path id="rect27779" style="display:inline;opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;enable-background:new" d="m 618,63 h 1 v 1.999999 h -1 z m -2,0 h 1 v 1.999999 h -1 z m -2,0 h 1 v 1.999999 h -1 z M 613.53711,53 C 612.69436,53 612,53.694362 612,54.537109 v 8 2.925782 C 612,66.305638 612.69436,67 613.53711,67 h 8.92578 c 0.73741,0 1.36143,-0.531036 1.50586,-1.228516 0.0206,-0.09964 0.0312,-0.20325 0.0312,-0.308593 v -2.925782 -8 C 624,53.694362 623.30564,53 622.46289,53 Z m 0,9 h 8.92578 C 622.76894,62 623,62.231065 623,62.537109 v 2.925782 C 623,65.768935 622.76894,66 622.46289,66 h -8.92578 C 613.23106,66 613,65.768935 613,65.462891 V 62.537109 C 613,62.231065 613.23106,62 613.53711,62 Z" inkscape:connector-curvature="0"/>
</g>
- <path
- sodipodi:nodetypes="ccccccscsccccccccccccccccccccccccccccccccc"
- inkscape:connector-curvature="0"
- id="path5256"
- d="m 197.50977,409.99414 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 3 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 1.5039 c 0.0205,0.58311 0.0403,1.03618 -0.0488,1.24805 -0.22838,0.54301 -0.5609,0.82668 -1.00781,1.10937 -0.44691,0.28269 -1.00733,0.53131 -1.53711,0.97461 -0.52977,0.4433 -1.00108,1.10059 -1.22656,2.08789 -0.22548,0.9873 -0.2332,2.29903 0.0625,4.16406 0.0385,0.24311 0.24801,0.42203 0.49414,0.42188 h 8.75586 c 0.30739,1.4e-4 0.54213,-0.2745 0.49414,-0.57812 -0.36883,-2.32606 -0.21493,-3.6368 0.12305,-4.40821 0.33798,-0.7714 0.85304,-1.08606 1.49804,-1.45508 0.645,-0.36901 1.43565,-0.7809 1.90821,-1.70703 0.47255,-0.92613 0.59571,-2.25921 0.21289,-4.4375 C 208.70043,411.17484 208.49284,411.0002 208.25,411 h -7.24023 v -0.50586 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z m 0.5,1 h 2 v 2 h -2 z m 3,1.00586 h 6.78125 c 0.25456,1.74951 0.14487,2.81594 -0.15235,3.39844 -0.3247,0.63637 -0.84774,0.91198 -1.51367,1.29297 -0.66593,0.38098 -1.46183,0.87882 -1.91797,1.91992 -0.41222,0.94085 -0.49675,2.35477 -0.23633,4.38867 h -7.73437 c -0.19264,-1.47462 -0.23076,-2.65205 -0.0684,-3.36328 0.18281,-0.80045 0.49635,-1.21142 0.89258,-1.54297 0.39622,-0.33155 0.90291,-0.56523 1.42968,-0.89844 0.52678,-0.33321 1.07351,-0.7985 1.39649,-1.5664 0.22021,-0.52359 0.17686,-1.05487 0.13867,-1.63477 h 0.48438 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" />
- <path
- inkscape:connector-curvature="0"
- id="path5262"
- d="m 180.5,410 c -2.08712,0 -3.47816,1.04607 -4.39062,2.1875 a 0.50024408,0.50024408 0 0 0 0.78125,0.625 C 177.69049,411.81193 178.73439,411 180.5,411 c 2.09839,0 3.13411,0.87695 3.75195,1.94531 C 184.8698,414.01367 185,415.31651 185,416 h -5.25 c -1.27344,0 -2.44324,0.36418 -3.31445,1.05469 -0.87121,0.69051 -1.42774,1.72791 -1.42774,2.94531 0,1.2174 0.55653,2.2548 1.42774,2.94531 C 177.30676,423.63582 178.47656,424 179.75,424 h 0.75 c 1.75558,0 3.38771,-0.96684 4.53711,-2.0332 0.0781,0.53303 0.28951,1.00434 0.64062,1.35547 C 186.12862,423.77315 186.775,424 187.5,424 a 0.50005,0.50005 0 1 0 0,-1 c -0.525,0 -0.87862,-0.14815 -1.11523,-0.38477 C 186.14815,422.37862 186,422.025 186,421.5 V 416 c 0,-0.79721 -0.12242,-2.24322 -0.88086,-3.55469 C 184.3607,411.13385 182.89646,410 180.5,410 Z m -0.75,7 H 185 v 3.56055 C 184.04582,421.68473 182.18875,423 180.5,423 h -0.75 c -1.08101,0 -2.03187,-0.31555 -2.69336,-0.83984 -0.66149,-0.52429 -1.04883,-1.23676 -1.04883,-2.16016 0,-0.9234 0.38734,-1.63587 1.04883,-2.16016 C 177.71813,417.31555 178.66899,417 179.75,417 Z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" />
- <g
- inkscape:export-ydpi="96"
- inkscape:export-xdpi="96"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- transform="translate(-105,-20.999997)"
- id="g24881"
- style="display:inline;fill:#ffffff;enable-background:new">
- <path
- inkscape:connector-curvature="0"
- id="path24877"
- d="m 183.8125,200.01562 c 2.21359,0.18235 3.97803,1.94071 4.16992,4.1543 0.19189,2.2136 -1.24344,4.25155 -3.39258,4.8125 a 0.5007349,0.5007349 0 1 1 -0.2539,-0.96875 c 1.68376,-0.43948 2.80079,-2.02289 2.65039,-3.75781 -0.1504,-1.73492 -1.52164,-3.10129 -3.25586,-3.24414 -1.73423,-0.14285 -3.31219,0.98104 -3.74414,2.66797 a 0.50005,0.50005 0 1 1 -0.96875,-0.24805 c 0.55114,-2.15241 2.58133,-3.59836 4.79492,-3.41602 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" />
- <g
- id="g24891"
- transform="matrix(-1,0,0,1,356.9996,0)"
- style="fill:#ffffff">
- <path
- inkscape:connector-curvature="0"
- d="M 176.99634,212.50183 A 1.4981741,1.4981725 0 0 1 175.49817,214 a 1.4981741,1.4981725 0 0 1 -1.49818,-1.49817 1.4981741,1.4981725 0 0 1 1.49818,-1.49817 1.4981741,1.4981725 0 0 1 1.49817,1.49817 z m 2.39233,-7.41199 c 0.85602,0.17256 1.66292,0.59211 2.30469,1.23828 1.28353,1.29236 1.66074,3.23682 0.95508,4.91602 -0.70566,1.6792 -2.35829,2.76833 -4.17969,2.75586 a 0.50005,0.50005 0 1 1 0.008,-1 c 1.41921,0.01 2.70016,-0.83611 3.25,-2.14453 0.54985,-1.30842 0.25598,-2.81527 -0.74414,-3.82227 -1.00012,-1.00699 -2.50427,-1.31041 -3.8164,-0.76953 C 175.85388,206.80455 175,208.08075 175,209.5 a 0.50005,0.50005 0 1 1 -1,0 c 0,-1.82144 1.10118,-3.466 2.78516,-4.16016 0.84199,-0.34708 1.7475,-0.42255 2.60351,-0.25 z"
- style="opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke"
- id="ellipse24887" />
+ <g id="g27886" transform="translate(-123,-21)">
+ <g style="display:inline;enable-background:new" id="g28033" transform="translate(21,-21)">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.00157475;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="M 516.03711,33 C 514.91694,33 514,33.916938 514,35.037109 V 36 c -0.0409,0.706384 1.0409,0.706384 1,0 V 35.037109 C 515,34.454485 515.45448,34 516.03711,34 h 4.92578 C 521.54552,34 522,34.454485 522,35.037109 v 5.058594 c -0.58287,0.214917 -1,0.784943 -1,1.441406 v 1.925782 c 3e-5,0.276131 0.22387,0.499972 0.5,0.5 H 522 V 46 h 1 v -2.037109 h 0.5 c 0.27613,-2.8e-5 0.49997,-0.223869 0.5,-0.5 v -1.925782 c 0,-0.656467 -0.41713,-1.22649 -1,-1.441406 V 35.037109 C 523,33.916938 522.08306,33 520.96289,33 Z" transform="translate(102,41)" id="path28027" inkscape:connector-curvature="0"/>
</g>
- </g>
- <path
- inkscape:connector-curvature="0"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 490,307 c -0.55226,6e-5 -0.99994,0.44774 -1,1 v 8 c 6e-5,0.55226 0.44774,0.99994 1,1 h 12 c 0.55226,-6e-5 0.99994,-0.44774 1,-1 v -8 c -6e-5,-0.55226 -0.44774,-0.99994 -1,-1 z m 6,1 a 4,4 0 0 1 4,4 4,4 0 0 1 -4,4 4,4 0 0 1 -4,-4 4,4 0 0 1 4,-4 z"
- id="path25011-0" />
- <g
- transform="translate(1055,731)"
- style="display:inline;opacity:0.6;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;enable-background:new"
- id="g25234-0">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m -580,-424 c -2.7555,0 -5,2.2445 -5,5 0,2.7555 2.2445,5 5,5 2.7555,0 5,-2.2445 5,-5 0,-2.7555 -2.2445,-5 -5,-5 z m 0,1 c 2.21506,0 4,1.78494 4,4 0,2.21506 -1.78494,4 -4,4 -2.21506,0 -4,-1.78494 -4,-4 0,-2.21506 1.78494,-4 4,-4 z m -0.52148,1 a 0.50005,0.50005 0 0 0 -0.084,0.0117 c -1.2099,0.24373 -2.15796,1.187 -2.38476,2.38867 a 0.50005,0.50005 0 1 0 0.98242,0.18555 c 0.15048,-0.79727 0.77874,-1.42839 1.59961,-1.59375 A 0.50005,0.50005 0 0 0 -580.52148,-422 Z"
- id="path25232-0"
- inkscape:connector-curvature="0" />
- </g>
- <path
- inkscape:connector-curvature="0"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 542.77344,306 a 1.0001,1.0001 0 0 0 -0.41211,0.0781 l -4.74024,2 a 1.0004654,1.0004654 0 1 0 0.77735,1.84376 l 1.54883,-0.65235 -2.69532,5.375 -2.78906,-2.30078 a 1.50015,1.50015 0 1 0 -1.9082,2.3125 l 4.24023,3.5 a 1.50015,1.50015 0 0 0 2.29688,-0.48437 l 3.53711,-7.0586 0.41015,1.63086 a 1.0001,1.0001 0 1 0 1.93946,-0.48828 l -1.25977,-5 A 1.0001,1.0001 0 0 0 542.77344,306 Z"
- id="path25427-8" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 521.51367,306 a 0.50005,0.50005 0 0 0 -0.23633,0.0527 l -4,2 a 0.50005,0.50005 0 1 0 0.44532,0.89454 l 2.8164,-1.40821 -4.20508,8.1875 -4.52148,-3.61718 a 0.50024018,0.50024018 0 1 0 -0.625,0.78124 l 5,4 a 0.50005,0.50005 0 0 0 0.75781,-0.1621 l 4.4375,-8.64063 0.63281,2.5332 a 0.50005,0.50005 0 1 0 0.96876,-0.24218 l -1,-4 A 0.50005,0.50005 0 0 0 521.51367,306 Z"
- id="path25488-0"
- inkscape:connector-curvature="0" />
- <g
- id="g5381"
- style="fill:#ffffff">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.75;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.03999233px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 329.97518,350.98014 a 0.52004817,0.52004817 0 0 0 -0.38086,0.19532 l -3.61133,4.51562 -3.09179,-3.5332 a 0.52004817,0.52004817 0 1 0 -0.78321,0.68359 l 3.5,4 a 0.52004817,0.52004817 0 0 0 0.79883,-0.0176 l 3.61133,-4.51367 3.08984,3.53125 a 0.52004817,0.52004817 0 1 0 0.78321,-0.68359 l -3.5,-4 a 0.52004817,0.52004817 0 0 0 -0.41602,-0.17774 z"
- id="path4898"
- inkscape:connector-curvature="0" />
- <path
- inkscape:connector-curvature="0"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.03999233px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="M 321.49219,347.97266 A 0.52004817,0.52004817 0 0 0 320.97852,348.5 v 11 a 0.520505,0.520505 0 0 0 1.04101,0 V 358 h 11.95899 v 1.5 a 0.520505,0.520505 0 0 0 1.04101,0 v -11 a 0.52004817,0.52004817 0 0 0 -0.52734,-0.52734 0.52004817,0.52004817 0 0 0 -0.51367,0.52734 v 1.5 h -11.95899 v -1.5 a 0.52004817,0.52004817 0 0 0 -0.52734,-0.52734 z M 322.01953,351 h 11.95899 v 6 h -11.95899 z"
- id="path4902" />
- </g>
- <g
- transform="translate(166.89495,43.00791)"
- id="g9160-3"
- style="display:inline;fill:#ffffff;enable-background:new" />
- <g
- id="g5375"
- style="fill:#ffffff">
- <path
- inkscape:connector-curvature="0"
- id="path9106-6-2"
- d="m 346.49261,354.99229 a 0.50005,0.50005 0 0 0 -0.49219,0.50781 v 3 c 0,0.725 0.22685,1.37138 0.67773,1.82226 0.45089,0.45089 1.09727,0.67774 1.82227,0.67774 0.725,0 1.37138,-0.22685 1.82226,-0.67774 0.45089,-0.45088 0.67774,-1.09726 0.67774,-1.82226 v -3 a 0.50005,0.50005 0 1 0 -1,0 v 3 c 0,0.525 -0.14815,0.87862 -0.38477,1.11523 -0.23661,0.23661 -0.59023,0.38477 -1.11523,0.38477 -0.525,0 -0.87862,-0.14816 -1.11524,-0.38477 -0.23661,-0.23661 -0.38476,-0.59023 -0.38476,-1.11523 v -3 a 0.50005,0.50005 0 0 0 -0.50781,-0.50781 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.75;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:markers stroke fill;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" />
- <path
- d="m 348.49261,349.99229 a 0.50005,0.50005 0 0 0 -0.49219,0.50781 v 6 a 0.50005,0.50005 0 1 0 1,0 v -6 a 0.50005,0.50005 0 0 0 -0.50781,-0.50781 z m -5.99219,-2.99219 a 0.50005,0.50005 0 1 0 0,1 h 2.5 v 1.75 c 0,0.97222 0.53688,1.82801 1.27539,2.19726 a 0.50005635,0.50005635 0 1 0 0.44726,-0.89453 c -0.26148,-0.13074 -0.72265,-0.77495 -0.72265,-1.30273 v -1.75 h 5 v 1.75 c 0,0.52778 -0.46312,1.17199 -0.72461,1.30273 a 0.50005635,0.50005635 0 1 0 0.44726,0.89453 c 0.73852,-0.36925 1.27735,-1.22504 1.27735,-2.19726 v -1.75 h 2.5 a 0.50005,0.50005 0 1 0 0,-1 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:markers stroke fill;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- id="path9108-6-6"
- inkscape:connector-curvature="0" />
- </g>
- <g
- transform="translate(-40.999997,-42)"
- id="g25194-8-8"
- style="display:inline;fill:#ffffff;enable-background:new">
- <circle
- cx="221"
- cy="285"
- id="circle25190-1-7"
- style="opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:0.99999988;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke"
- r="0" />
- <path
- id="circle25383"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999988;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 221,284 c -0.54636,0 -1,0.45364 -1,1 0,0.54636 0.45364,1 1,1 0.54636,0 1,-0.45364 1,-1 0,-0.54636 -0.45364,-1 -1,-1 z m 3,0 c -0.54636,0 -1,0.45364 -1,1 0,0.54636 0.45364,1 1,1 0.54636,0 1,-0.45364 1,-1 0,-0.54636 -0.45364,-1 -1,-1 z m 3,1 c -0.54636,0 -1,0.45364 -1,1 0,0.54636 0.45364,1 1,1 0.54636,0 1,-0.45364 1,-1 0,-0.54636 -0.45364,-1 -1,-1 z m -5.67188,2.04688 c -0.72617,0.0892 -1.40636,0.31348 -2.02343,0.63867 -1.23415,0.65038 -2.22638,1.68758 -2.94922,2.84375 -0.72284,1.15617 -1.1805,2.43169 -1.32227,3.60742 -0.14176,1.17573 0.0178,2.28295 0.6875,3.0293 0.68189,0.75993 1.69067,0.98063 2.61328,0.6914 C 219.35231,297.53818 220,296.54997 220,295.5 c 0,-0.87561 0.22937,-1.10992 0.64258,-1.29297 C 221.05579,294.02398 221.75437,294 222.5,294 c 0.79276,0 1.56488,-0.14919 2.20703,-0.5332 0.52292,-0.31271 0.89501,-0.8382 1.11524,-1.4668 h 1.13281 a 0.50004994,0.50004994 0 0 0 0.002,0 c 1.02746,0 1.90966,-0.75672 2.0293,-1.76953 0.11964,-1.01284 -0.5686,-1.95303 -1.57031,-2.17969 -0.73109,-0.16542 -1.38414,0.17264 -1.8711,0.68945 -0.49389,-0.69239 -1.0864,-1.29918 -1.91601,-1.52148 -0.80279,-0.21511 -1.57461,-0.26104 -2.30079,-0.17187 z m 0.11915,0.98632 c 0.59872,-0.0738 1.23897,-0.0331 1.92382,0.15039 0.66836,0.17909 1.23082,0.75735 1.69727,1.56446 a 0.50004994,0.50004994 0 0 0 0.90234,-0.0781 c 0.17721,-0.4818 0.69836,-0.76361 1.22461,-0.64453 0.52625,0.11908 0.85819,0.58537 0.79883,1.08789 C 227.93478,290.61583 227.49838,291 226.95703,291 H 225.5 a 0.50004994,0.50004994 0 0 0 -0.49219,0.41406 c -0.10308,0.5846 -0.38181,0.93776 -0.8125,1.19532 C 223.76463,292.86693 223.16312,293 222.5,293 c -0.74508,0 -1.54761,-0.0253 -2.26172,0.29102 C 219.52417,293.60735 219,294.37315 219,295.5 c 0,0.63163 -0.40649,1.2273 -0.96484,1.40234 -0.62221,0.19506 -1.12911,0.0874 -1.57032,-0.40429 -0.37675,-0.41988 -0.55858,-1.23603 -0.4375,-2.24024 0.12109,-1.00421 0.53101,-2.16478 1.17774,-3.19922 0.64673,-1.03443 1.52684,-1.94044 2.5664,-2.48828 0.51979,-0.27392 1.07706,-0.46333 1.67579,-0.53711 z"
- inkscape:connector-curvature="0" />
- </g>
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 90.494141,178.99609 a 0.50005,0.50005 0 0 0 -0.347657,0.85743 l 3,3 C 92.440854,183.71574 91.999993,184.80241 92,186 c 2e-5,1.19757 0.440853,2.28425 1.146484,3.14648 l -3,3 a 0.50005,0.50005 0 1 0 0.707032,0.70704 l 3,-3 C 94.715742,190.55915 95.802428,191 97,191 c 1.197573,0 2.284258,-0.44085 3.14648,-1.14648 l 3,3 a 0.50005,0.50005 0 1 0 0.70704,-0.70704 l -3,-3 C 101.55915,188.28425 101.99998,187.19757 102,186 c 0,-1.19759 -0.44086,-2.28426 -1.14648,-3.14648 l 3,-3 a 0.50005,0.50005 0 0 0 -0.36329,-0.85743 0.50005,0.50005 0 0 0 -0.34375,0.15039 l -3,3 C 99.284255,181.44086 98.197592,181 97,181 c -1.19759,0 -2.284254,0.44086 -3.146484,1.14648 l -3,-3 a 0.50005,0.50005 0 0 0 -0.359375,-0.15039 z M 97,182 c 2.21506,0 4.00001,1.78494 4,4 -4e-5,2.21502 -1.784977,4 -4,4 -2.215019,0 -3.999963,-1.78498 -4,-4 -1.2e-5,-2.21506 1.784946,-4 4,-4 z"
- id="path25165"
- inkscape:connector-curvature="0" />
- <g
- id="g10845">
- <path
- inkscape:connector-curvature="0"
- d="m 473,628 a 1.0001,1.0001 0 1 0 0,2 h 2 a 1.0001,1.0001 0 1 0 0,-2 z m -4.5,-6 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 3 a 0.50005,0.50005 0 0 0 0.5,0.5 h 0.5 v 7.5 a 0.50005,0.50005 0 0 0 0.5,0.5 h 9 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -5 a 0.50005,0.50005 0 1 0 -1,0 v 4.5 h -8 v -7 h 3.5 a 0.50005,0.50005 0 1 0 0,-1 H 469 v -2 h 4.5 a 0.50005,0.50005 0 1 0 0,-1 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- id="path24739-4" />
- <path
- sodipodi:nodetypes="sssssccccccccccccc"
- inkscape:connector-curvature="0"
- id="path27428"
- d="m 478.50003,620.0003 c -1.933,0 -3.5,1.567 -3.5,3.5 0,1.933 1.567,3.5 3.5,3.5 1.933,0 3.5,-1.567 3.5,-3.5 0,-1.933 -1.567,-3.5 -3.5,-3.5 z m -0.5,1 h 1 v 2 h 2 v 1 h -2 v 2 h -1 v -2 h -2 v -1 h 2 z"
- style="display:inline;opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:new" />
- </g>
- <g
- style="display:inline;enable-background:new"
- id="g27418"
- transform="translate(83.999997,-84)">
- <path
- style="display:inline;opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:new"
- d="m 352.50003,305.0003 c -1.933,0 -3.5,1.567 -3.5,3.5 0,1.933 1.567,3.5 3.5,3.5 1.933,0 3.5,-1.567 3.5,-3.5 0,-1.933 -1.567,-3.5 -3.5,-3.5 z m -0.5,1 h 1 v 2 h 2 v 1 h -2 v 2 h -1 v -2 h -2 v -1 h 2 z"
- id="path27589"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="sssssccccccccccccc" />
- <g
- id="g27675-2"
- transform="rotate(90,232.49897,657.49643)"
- style="display:inline;opacity:0.7;enable-background:new">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m -109.99609,533.99609 -0.004,7.11133 c -1.67885,0.25428 -2.99414,1.64686 -2.99414,3.39453 0,1.92568 1.57041,3.49805 3.49609,3.49805 1.92569,0 3.49805,-1.57236 3.49805,-3.49805 0,-1.74925 -1.31894,-3.14219 -3,-3.39453 l 0.004,-7.11133 z m 0.49804,8.00977 c 1.38524,0 2.49805,1.11085 2.49805,2.49609 0,1.38525 -1.1128,2.49805 -2.49805,2.49805 -1.38524,0 -2.49609,-1.11281 -2.49609,-2.49805 0,-1.38523 1.11086,-2.49609 2.49609,-2.49609 z"
- id="path27671-7"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m -108.5,534 v 3 h 1 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -2 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z"
- id="path27673-7"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="ccccccc" />
+ <g style="display:inline;enable-background:new" id="g28053-2">
+ <path inkscape:connector-curvature="0" id="rect28051-4" transform="translate(21,-21)" style="display:inline;opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;enable-background:new" d="m 616,85 h 1 v 0.999999 h -1 z m -2,0 h 1 v 0.999999 h -1 z m -0.46289,-8 C 612.69436,77 612,77.694362 612,78.537109 v 7.925782 C 612,87.305638 612.69436,88 613.53711,88 h 5.92578 c 0.73741,0 1.36143,-0.531036 1.50586,-1.228516 0.0206,-0.09964 0.0312,-0.20325 0.0312,-0.308593 V 78.537109 C 621,77.694362 620.30564,77 619.46289,77 Z m 0,7 h 5.92578 C 619.76894,84 620,84.231065 620,84.537109 v 1.925782 C 620,86.768935 619.76894,87 619.46289,87 h -5.92578 C 613.23106,87 613,86.768935 613,86.462891 V 84.537109 C 613,84.231065 613.23106,84 613.53711,84 Z"/>
</g>
</g>
- <g
- style="display:inline;enable-background:new"
- id="g27444"
- transform="translate(-18.000003,-64)">
- <g
- id="g27675"
- transform="rotate(90,282.99897,687.99643)"
- style="opacity:0.7">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m -109.99609,533.99609 -0.004,7.11133 c -1.67885,0.25428 -2.99414,1.64686 -2.99414,3.39453 0,1.92568 1.57041,3.49805 3.49609,3.49805 1.92569,0 3.49805,-1.57236 3.49805,-3.49805 0,-1.74925 -1.31894,-3.14219 -3,-3.39453 l 0.004,-7.11133 z m 0.49804,8.00977 c 1.38524,0 2.49805,1.11085 2.49805,2.49609 0,1.38525 -1.1128,2.49805 -2.49805,2.49805 -1.38524,0 -2.49609,-1.11281 -2.49609,-2.49805 0,-1.38523 1.11086,-2.49609 2.49609,-2.49609 z"
- id="path27671"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m -108.5,534 v 3 h 1 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -2 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z"
- id="path27673"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="ccccccc" />
+ <g id="g27900" transform="translate(-123,-21)">
+ <g transform="translate(0,-21)" id="g28156">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 543.5,33 c -0.8225,0 -1.5,0.677492 -1.5,1.5 0,0.230167 0.0579,0.446791 0.15234,0.642578 a 0.50005,0.50005 0 0 0 -0.006,0.0039 L 540.29297,37 H 539.5 a 0.50005,0.50005 0 1 0 0,1 h 1 a 0.50005,0.50005 0 0 0 0.35352,-0.146484 l 2,-2 a 0.50005,0.50005 0 0 0 0.004,-0.0059 C 543.05321,35.942094 543.26984,36 543.5,36 c 0.8225,0 1.5,-0.677492 1.5,-1.5 0,-0.822508 -0.6775,-1.5 -1.5,-1.5 z m 0,1 c 0.28206,0 0.5,0.217938 0.5,0.5 0,0.282062 -0.21794,0.5 -0.5,0.5 -0.28206,0 -0.5,-0.217938 -0.5,-0.5 0,-0.282062 0.21794,-0.5 0.5,-0.5 z m 0,5 c -0.64684,0 -1.19777,0.420971 -1.40625,1 H 539.5 a 0.50005,0.50005 0 1 0 0,1 h 2.59375 c 0.20848,0.579029 0.75941,1 1.40625,1 0.8225,0 1.5,-0.677492 1.5,-1.5 0,-0.822508 -0.6775,-1.5 -1.5,-1.5 z m 0,1 c 0.28206,0 0.5,0.217938 0.5,0.5 0,0.282062 -0.21794,0.5 -0.5,0.5 -0.28206,0 -0.5,-0.217938 -0.5,-0.5 0,-0.282062 0.21794,-0.5 0.5,-0.5 z m -4,2.992188 a 0.50005,0.50005 0 1 0 0,1 h 0.79297 l 1.85351,1.853515 a 0.50005,0.50005 0 0 0 0.008,0.0078 C 542.05866,46.050309 542,46.268282 542,46.5 c 0,0.822508 0.6775,1.5 1.5,1.5 0.8225,0 1.5,-0.677492 1.5,-1.5 0,-0.822508 -0.6775,-1.5 -1.5,-1.5 -0.22767,0 -0.44256,0.05591 -0.63672,0.148438 a 0.50005,0.50005 0 0 0 -0.01,-0.0098 l -2,-2 A 0.50005,0.50005 0 0 0 540.5,42.992188 Z M 543.5,46 c 0.28206,0 0.5,0.217938 0.5,0.5 0,0.282062 -0.21794,0.5 -0.5,0.5 -0.28206,0 -0.5,-0.217938 -0.5,-0.5 0,-0.282062 0.21794,-0.5 0.5,-0.5 z" transform="translate(123,41)" id="circle28098" inkscape:connector-curvature="0"/>
</g>
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 430.49414,284.99414 a 0.50005,0.50005 0 0 0 -0.34766,0.85938 l 2.64649,2.64648 -2.64649,2.64648 a 0.50005,0.50005 0 1 0 0.70704,0.70704 l 2.64648,-2.64649 2.64648,2.64649 a 0.50005,0.50005 0 1 0 0.70704,-0.70704 l -2.64649,-2.64648 2.64649,-2.64648 a 0.50005,0.50005 0 1 0 -0.70704,-0.70704 l -2.64648,2.64649 -2.64648,-2.64649 a 0.50005,0.50005 0 0 0 -0.35938,-0.15234 z"
- id="path27679"
- inkscape:connector-curvature="0" />
- </g>
- <g
- transform="translate(4.7134341e-6,4.7134317e-6)"
- style="display:inline;enable-background:new"
- id="g27915">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 180.5,263 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 4 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 1.5 v 0.5 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 1.5 v 1.5 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 3 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -7 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z m 0.5,1 h 6 v 6 h -2 v -1.5 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 H 183 v -0.5 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 H 181 Z"
- id="path27886"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="cccccccccccccccccccccccccc" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.7;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 176.50781,262.99414 a 0.50005,0.50005 0 0 0 -0.45508,0.72852 l 1,2 a 0.50005,0.50005 0 1 0 0.89454,-0.44532 l -1,-2 a 0.50005,0.50005 0 0 0 -0.43946,-0.2832 z m -2.02539,3.00195 a 0.50005,0.50005 0 0 0 -0.20508,0.95118 l 2,1 a 0.50005,0.50005 0 1 0 0.44532,-0.89454 l -2,-1 a 0.50005,0.50005 0 0 0 -0.24024,-0.0566 z m 11,6 a 0.50005,0.50005 0 0 0 -0.20508,0.95118 l 2,1 a 0.50005,0.50005 0 1 0 0.44532,-0.89454 l -2,-1 a 0.50005,0.50005 0 0 0 -0.24024,-0.0566 z m -0.97461,1.99805 a 0.50005,0.50005 0 0 0 -0.45508,0.72852 l 1,2 a 0.50005,0.50005 0 1 0 0.89454,-0.44532 l -1,-2 a 0.50005,0.50005 0 0 0 -0.43946,-0.2832 z"
- id="path27898"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 174.5,269 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 7 a 0.50005,0.50005 0 0 0 0.5,0.5 h 7 a 0.50005,0.50005 0 0 0 0.5,-0.5 l -0.008,-4 a 0.50005,0.50005 0 0 0 -0.5,-0.5 h -1.5 v -1.5 a 0.50005,0.50005 0 0 0 -0.5,-0.5 h -1.4961 L 178,269.50391 A 0.50005,0.50005 0 0 0 177.5,269 Z m 0.5,1 h 1.99609 l -0.004,0.49609 a 0.50005,0.50005 0 0 0 0.5,0.50391 h 1.5 v 1.5 a 0.50005,0.50005 0 0 0 0.5,0.5 h 1.5 l 0.008,3 h -6 z"
- id="path10946"
- inkscape:connector-curvature="0" />
- </g>
- <g
- style="display:inline;enable-background:new"
- id="g27501-8"
- transform="translate(-20.999927,104.99988)">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.85;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 346.54688,478.16016 a 0.50005,0.50005 0 0 0 -0.18165,0.0293 c -1.54898,0.53108 -2.52602,2.0719 -2.34375,3.69922 0.18228,1.62732 1.47542,2.91657 3.10352,3.0918 1.6281,0.17523 3.16703,-0.80811 3.69141,-2.35938 a 0.50005,0.50005 0 1 0 -0.94727,-0.32031 c -0.37611,1.11265 -1.46896,1.81123 -2.63672,1.68555 -1.16775,-0.12568 -2.08606,-1.04179 -2.2168,-2.20899 -0.13073,-1.1672 0.56282,-2.26166 1.67383,-2.64257 a 0.50005,0.50005 0 0 0 -0.14257,-0.97461 z"
- id="path27478-1"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999988;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 346.52148,476.09375 a 0.50004994,0.50004994 0 0 0 -0.0859,0.01 c -2.69151,0.53044 -4.58334,2.97414 -4.42578,5.71289 0.15755,2.73875 2.31815,4.94772 5.05273,5.16601 2.73458,0.21829 5.21856,-1.61975 5.80859,-4.29883 a 0.50004994,0.50004994 0 1 0 -0.97656,-0.21484 c -0.48423,2.19868 -2.50772,3.69672 -4.75195,3.51758 -2.24424,-0.17915 -4.00546,-1.98086 -4.13477,-4.22852 -0.1293,-2.24766 1.41221,-4.2385 3.6211,-4.67383 a 0.50004994,0.50004994 0 0 0 -0.10743,-0.99023 z"
- id="circle27480-1"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 353.49219,473 c -0.12989,0.002 -0.25387,0.0546 -0.34571,0.14648 l -5,5 c -0.0938,0.0938 -0.14646,0.22092 -0.14648,0.35352 v 1.79297 l -0.85352,0.85351 c -0.49023,0.47127 0.23577,1.19727 0.70704,0.70704 L 348.70703,481 H 350.5 c 0.1326,-2e-5 0.25976,-0.0527 0.35352,-0.14648 l 5,-5 c 0.19519,-0.19527 0.19519,-0.51177 0,-0.70704 l -2,-2 c -0.0957,-0.0957 -0.22603,-0.14855 -0.36133,-0.14648 z"
- id="path27485-1"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="cccccccccccccc" />
- </g>
- <path
- sodipodi:nodetypes="cccccccc"
- inkscape:connector-curvature="0"
- id="path27639"
- d="m 29.959614,221.99997 c -0.53618,0.022 -0.95938,0.4634 -0.95898,1 v 10 c 7.2e-4,0.7847 0.8635,1.2629 1.5293,0.8477 l 8,-5 c 0.625909,-0.3918 0.625909,-1.3036 0,-1.6954 l -8,-5 c -0.17045,-0.107 -0.36922,-0.1601 -0.57032,-0.1523 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 185.04038,221.99997 c 0.53618,0.022 0.95938,0.4634 0.95898,1 v 10 c -7.2e-4,0.7847 -0.8635,1.2629 -1.5293,0.8477 l -8,-5 c -0.62591,-0.3918 -0.62591,-1.3036 0,-1.6954 l 8,-5 c 0.17045,-0.107 0.36922,-0.1601 0.57032,-0.1523 z"
- id="path9268"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="cccccccc" />
- <path
- inkscape:connector-curvature="0"
- id="path27528"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 132.5104,224 c -0.27994,-0.01 -0.50979,0.22 -0.50977,0.5 v 7 c -0.001,0.4307 0.5065,0.6613 0.83008,0.377 l 4,-3.5 c 0.22872,-0.1993 0.22872,-0.5547 0,-0.754 l -4,-3.5 c -0.0889,-0.078 -0.20238,-0.1211 -0.32031,-0.123 z m 9.96289,-1 c -0.13302,0.01 -0.25746,0.068 -0.34571,0.168 l -4,4.5 c -0.16816,0.1894 -0.16816,0.4746 0,0.664 l 4,4.5 c 0.19883,0.2227 0.54727,0.2227 0.7461,0 l 4,-4.5 c 0.16816,-0.1894 0.16816,-0.4746 0,-0.664 l -4,-4.5 c -0.10092,-0.114 -0.24831,-0.1759 -0.40039,-0.168 z" />
- <path
- inkscape:connector-curvature="0"
- id="path27544"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 51.506493,224 c -0.27842,0 -0.50585,0.2216 -0.50586,0.5 v 7 c -6.1e-4,0.4051 0.45544,0.6427 0.78711,0.4102 l 5,-3.5 c 0.28542,-0.199 0.28542,-0.6214 0,-0.8204 l -5,-3.5 c -0.0826,-0.058 -0.1806,-0.089 -0.28125,-0.09 z m 6.49414,-1 v 10 h 2 v -10 z" />
- <path
- d="m 124.49003,224 c 0.27994,-0.01 0.50979,0.22 0.50977,0.5 v 7 c 0.001,0.4307 -0.5065,0.6613 -0.83008,0.377 l -4,-3.5 c -0.22872,-0.1993 -0.22872,-0.5547 0,-0.754 l 4,-3.5 c 0.0889,-0.078 0.20238,-0.1211 0.32031,-0.123 z m -9.96289,-1 c 0.13302,0.01 0.25746,0.068 0.34571,0.168 l 4,4.5 c 0.16816,0.1894 0.16816,0.4746 0,0.664 l -4,4.5 c -0.19883,0.2227 -0.54727,0.2227 -0.7461,0 l -4,-4.5 c -0.16816,-0.1894 -0.16816,-0.4746 0,-0.664 l 4,-4.5 c 0.10092,-0.114 0.24831,-0.1759 0.40039,-0.168 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- id="path9201"
- inkscape:connector-curvature="0" />
- <path
- d="m 79.49414,224 c 0.27842,0 0.50585,0.2216 0.50586,0.5 v 7 c 6.1e-4,0.4051 -0.45544,0.6427 -0.78711,0.4102 l -5,-3.5 c -0.28542,-0.199 -0.28542,-0.6214 0,-0.8204 l 5,-3.5 c 0.0826,-0.058 0.1806,-0.089 0.28125,-0.09 z M 73,223 v 10 h -2 v -10 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- id="path9203"
- inkscape:connector-curvature="0" />
- <path
- id="path9205"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 75.50586,203 c -0.27842,0 -0.50585,0.2216 -0.50586,0.5 v 7 c -6.1e-4,0.4051 0.45544,0.6427 0.78711,0.4102 l 5,-3.5 c 0.28542,-0.199 0.28542,-0.6214 0,-0.8204 l -5,-3.5 c -0.0826,-0.058 -0.1806,-0.089 -0.28125,-0.09 z M 71,203 v 8 h 2 v -8 z"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="cccccccccccccc" />
- <path
- d="m 55.49414,203 c 0.27842,0 0.50585,0.2216 0.50586,0.5 v 7 c 6.1e-4,0.4051 -0.45544,0.6427 -0.78711,0.4102 l -5,-3.5 c -0.28542,-0.199 -0.28542,-0.6214 0,-0.8204 l 5,-3.5 c 0.0826,-0.058 0.1806,-0.089 0.28125,-0.09 z m 4.507668,0 v 8 h -2 v -8 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- id="path9208"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="cccccccccccccc" />
- <path
- inkscape:connector-curvature="0"
- id="path9205-9"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 94.50586,623 c -0.27842,0 -0.50585,0.2216 -0.50586,0.5 v 7 c -6.1e-4,0.4051 0.45544,0.6427 0.78711,0.4102 l 5,-3.5 c 0.28542,-0.199 0.28542,-0.6214 0,-0.8204 l -5,-3.5 c -0.0826,-0.058 -0.1806,-0.089 -0.28125,-0.09 z"
- sodipodi:nodetypes="ccccccccc" />
- <path
- sodipodi:nodetypes="ccccccccc"
- d="m 113.9992,624.50586 c 0,-0.27842 0.2216,-0.50584 0.5,-0.50586 h 7 c 0.4051,-6e-4 0.6427,0.45544 0.4102,0.78711 l -3.5,5 c -0.199,0.28542 -0.6214,0.28542 -0.8204,0 l -3.5,-5 c -0.058,-0.0826 -0.089,-0.1806 -0.09,-0.28125 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- id="path9225"
- inkscape:connector-curvature="0" />
- <path
- inkscape:connector-curvature="0"
- id="path9227"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 141.49531,622.99926 c 0.27843,0 0.50584,0.2216 0.50587,0.5 v 7 c 5.9e-4,0.4051 -0.45545,0.6427 -0.78712,0.4102 l -5,-3.5 c -0.28541,-0.199 -0.28541,-0.6214 0,-0.8204 l 5,-3.5 c 0.0826,-0.058 0.1806,-0.089 0.28125,-0.09 z"
- sodipodi:nodetypes="ccccccccc" />
- <path
- inkscape:connector-curvature="0"
- id="path9229"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 156,629.49414 c 0,0.27842 0.2216,0.50584 0.5,0.50586 h 7 c 0.4051,6e-4 0.6427,-0.45544 0.4102,-0.78711 l -3.5,-5 c -0.199,-0.28542 -0.6214,-0.28542 -0.8204,0 l -3.5,5 c -0.058,0.0826 -0.089,0.1806 -0.09,0.28125 z"
- sodipodi:nodetypes="ccccccccc" />
- <path
- inkscape:connector-curvature="0"
- id="path27544-8"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 471.50586,371 c -0.27842,0 -0.50585,0.2216 -0.50586,0.5 v 7 c -6.1e-4,0.4051 0.45544,0.6427 0.78711,0.4102 l 5,-3.5 c 0.28542,-0.199 0.28542,-0.6214 0,-0.8204 l -5,-3.5 c -0.0826,-0.058 -0.1806,-0.089 -0.28125,-0.09 z M 478,371 v 8 h 2 v -8 z"
- sodipodi:nodetypes="cccccccccccccc" />
- <path
- sodipodi:nodetypes="cccccccccccccc"
- d="m 500,371.50586 c 0,-0.27842 -0.2216,-0.50585 -0.5,-0.50586 h -7 c -0.4051,-6.1e-4 -0.6427,0.45544 -0.4102,0.78711 l 3.5,5 c 0.199,0.28542 0.6214,0.28542 0.8204,0 l 3.5,-5 c 0.058,-0.0826 0.089,-0.1806 0.09,-0.28125 z M 500,378 h -8 v 2 h 8 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- id="path9258"
- inkscape:connector-curvature="0" />
- <path
- inkscape:connector-curvature="0"
- id="path9260"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 542,379.49414 c 0,0.27842 -0.2216,0.50585 -0.5,0.50586 h -7 c -0.4051,6.1e-4 -0.6427,-0.45544 -0.4102,-0.78711 l 3.5,-5 c 0.199,-0.28542 0.6214,-0.28542 0.8204,0 l 3.5,5 c 0.058,0.0826 0.089,0.1806 0.09,0.28125 z M 542,373 h -8 v -2 h 8 z"
- sodipodi:nodetypes="cccccccccccccc" />
- <path
- sodipodi:nodetypes="cccccccccccccc"
- d="m 520.49414,371 c 0.27842,0 0.50585,0.2216 0.50586,0.5 v 7 c 6.1e-4,0.4051 -0.45544,0.6427 -0.78711,0.4102 l -5,-3.5 c -0.28542,-0.199 -0.28542,-0.6214 0,-0.8204 l 5,-3.5 c 0.0826,-0.058 0.1806,-0.089 0.28125,-0.09 z M 514,371 v 8 h -2 v -8 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- id="path9264"
- inkscape:connector-curvature="0" />
- <g
- id="g9217">
- <path
- inkscape:connector-curvature="0"
- id="path24965-8"
- d="m 447.5,599 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 10 a 0.50005,0.50005 0 0 0 0.5,0.5 h 13 a 0.50005,0.50005 0 1 0 0,-1 H 448 v -9 h 9 v 7.5 a 0.50005,0.50005 0 1 0 1,0 v -8 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m 9.99219,11.74219 A 0.50005,0.50005 0 0 0 457,611.25 v 1.25 a 0.50005,0.50005 0 1 0 1,0 v -1.25 a 0.50005,0.50005 0 0 0 -0.50781,-0.50781 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
- <path
- inkscape:connector-curvature="0"
- id="path24881-9"
- d="m 455.5,602 c -0.58333,0 -1.08834,0.16632 -1.52734,0.45898 -0.43901,0.29267 -0.82618,0.6875 -1.32618,1.1875 l -1,1 c -0.5,0.5 -0.86283,0.85517 -1.17382,1.0625 C 450.16166,605.91632 449.91667,606 449.5,606 h -1 v 1 h 1 c 0.58333,0 1.08834,-0.16632 1.52734,-0.45898 0.43901,-0.29267 0.82618,-0.6875 1.32618,-1.1875 l 1,-1 c 0.5,-0.5 0.86283,-0.85517 1.17382,-1.0625 C 454.83834,603.08368 455.08333,603 455.5,603 h 1 v -1 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.65;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
- </g>
- <g
- id="g9239">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 468.4999,598.99994 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 3.5 h 1 v -3 h 3 v -1 z m 9.5,0 v 1 h 3 v 3 h 1 v -3.5 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m -10,10 v 3.5 a 0.50005,0.50005 0 0 0 0.5,0.5 h 3.5 v -1 h -3 v -3 z m 13,0 v 3 h -3 v 1 h 3.5 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -3.5 z"
- id="path24895-4"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.65;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 471.4999,601.99994 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 1.5 h 1 v -1 h 1 v -1 z m 2.5,0 v 1 h 2 v -1 z m 3,0 v 1 h 1 v 1 h 1 v -1.5 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m -6,3 v 2 h 1 v -2 z m 7,0 v 2 h 1 v -2 z m -7,3 v 1.5 a 0.50005,0.50005 0 0 0 0.5,0.5 h 1.5 v -1 h -1 v -1 z m 7,0 v 1 h -1 v 1 h 1.5 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -1.5 z m -4,1 v 1 h 2 v -1 z"
- id="path24923-3"
- inkscape:connector-curvature="0" />
- </g>
- <g
- transform="translate(1223,668.01218)"
- style="display:inline;enable-background:new"
- id="g27937-4">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.5;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m -733.49414,-90.007812 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 6.501953 h 1 v -6.001953 h 6 v -1 z m 12.50195,7.001953 v 6 h -6.00195 v 1 h 6.50195 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -6.5 z"
- id="path27667-4-6"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m -724.49219,-90.007812 a 0.50005,0.50005 0 1 0 0,1 h 2.78321 l -4.13868,4.148437 a 0.50005,0.50005 0 1 0 0.70899,0.705078 l 4.14648,-4.15625 v 2.802735 a 0.50005,0.50005 0 1 0 1,0 v -4 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m -4.01172,7.998046 a 0.50005,0.50005 0 0 0 -0.34375,0.150391 l -4.14648,4.136719 v -2.783203 a 0.50005,0.50005 0 1 0 -1,0 v 4 a 0.50005,0.50005 0 0 0 0.5,0.5 h 4 a 0.50005,0.50005 0 1 0 0,-1 h -2.80274 l 4.1543,-4.144532 a 0.50005,0.50005 0 0 0 -0.36133,-0.859375 z"
- id="path27669-6-3"
- inkscape:connector-curvature="0" />
- </g>
- <g
- transform="translate(1223,668.01218)"
- style="display:inline;enable-background:new"
- id="g27941-8">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m -699.50391,-90.009766 a 0.50005,0.50005 0 0 0 -0.34375,0.150391 l -4.14648,4.136719 v -2.783203 a 0.50005,0.50005 0 1 0 -1,0 v 4 a 0.50005,0.50005 0 0 0 0.5,0.5 h 4 a 0.50005,0.50005 0 1 0 0,-1 h -2.80274 l 4.1543,-4.144532 a 0.50005,0.50005 0 0 0 -0.36133,-0.859375 z m -11.98828,8.001954 a 0.50005,0.50005 0 1 0 0,1 h 2.78321 l -4.13868,4.148437 a 0.50005,0.50005 0 1 0 0.70899,0.705078 l 4.14648,-4.15625 v 2.802735 a 0.50005,0.50005 0 1 0 1,0 v -4 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z"
- id="path27716-4-8"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.5;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m -710.49414,-88.007812 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 4.501953 h 1 v -4.001953 h 4 v -1 z m 8.50195,5.001953 v 4 h -4.00195 v 1 h 4.50195 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -4.5 z"
- id="path27721-4-5"
- inkscape:connector-curvature="0" />
- </g>
- <path
- id="path10295"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 61,288 v -2.5 c -2.8e-5,-0.27613 -0.223869,-0.49997 -0.5,-0.5 H 58 v 1 h 2 v 2 z m -13,0 v -2.5 c 2.8e-5,-0.27613 0.223869,-0.49997 0.5,-0.5 H 51 v 1 h -2 v 2 z m 13,7 v 2.5 c -2.8e-5,0.27613 -0.223869,0.49997 -0.5,0.5 H 58 v -1 h 2 v -2 z m -13,0 v 2.5 c 2.8e-5,0.27613 0.223869,0.49997 0.5,0.5 H 51 v -1 h -2 v -2 z"
- inkscape:connector-curvature="0" />
- <g
- id="g10303"
- transform="matrix(-1,0,0,1,68.007122,83.99992)">
- <g
- transform="translate(-0.012711,-83.995405)"
- id="g10299">
- <path
- sodipodi:nodetypes="ccccccccccccccccccccccccccccccccccccccccccc"
- inkscape:connector-curvature="0"
- id="path10297"
- transform="matrix(-1,0,0,1,68.019833,-0.004515)"
- d="m 36.007812,284 v 2 h -1.5 c -0.27613,3e-5 -0.499969,0.22387 -0.5,0.5 v 1.49805 l -3.988281,0.006 c -0.812117,9.2e-4 -1.516225,0.45838 -1.832031,1.12695 -0.315807,0.66858 -0.189691,1.55835 0.478516,2.22656 l 4,4 c 0.413276,0.41327 0.416416,0.77582 0.271484,1.08789 -0.144932,0.31206 -0.483162,0.5586 -0.917969,0.5586 l -4.513672,0.006 c -0.676088,-0.008 -0.674098,1.01079 0.002,1 l 4.511719,-0.006 c 0.815193,0 1.513263,-0.46717 1.824219,-1.13672 0.310955,-0.66954 0.189571,-1.55652 -0.470703,-2.2168 l -4,-4 c -0.426033,-0.42603 -0.426504,-0.78429 -0.28125,-1.0918 0.145253,-0.30751 0.489852,-0.55418 0.927734,-0.55468 L 34,288.99805 c 0.0026,2e-5 0.0052,2e-5 0.0078,0 V 290.5 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 1.5 v 2 h 1 v -2 h 1.5 c 0.27613,-3e-5 0.499971,-0.22387 0.5,-0.5 V 289 h 2 v -1 h -2 v -1.5 c -2.9e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 h -1.5 v -2 z m -1.027343,3 h 3.027343 v 3 h -3.027343 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:7.40000057;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" />
+ <g id="g28053" transform="translate(21)">
+ <path id="rect28051" transform="translate(21,-21)" style="display:inline;opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;enable-background:new" d="m 616,85 h 1 v 0.999999 h -1 z m -2,0 h 1 v 0.999999 h -1 z m -0.46289,-8 C 612.69436,77 612,77.694362 612,78.537109 v 7.925782 C 612,87.305638 612.69436,88 613.53711,88 h 5.92578 c 0.73741,0 1.36143,-0.531036 1.50586,-1.228516 0.0206,-0.09964 0.0312,-0.20325 0.0312,-0.308593 V 78.537109 C 621,77.694362 620.30564,77 619.46289,77 Z m 0,7 h 5.92578 C 619.76894,84 620,84.231065 620,84.537109 v 1.925782 C 620,86.768935 619.76894,87 619.46289,87 h -5.92578 C 613.23106,87 613,86.768935 613,86.462891 V 84.537109 C 613,84.231065 613.23106,84 613.53711,84 Z" inkscape:connector-curvature="0"/>
</g>
</g>
- <g
- id="g10319"
- transform="translate(-21,84)">
- <path
- sodipodi:nodetypes="ccccccccccccccccccccccccccccccccccccccccccccc"
- inkscape:connector-curvature="0"
- d="m 29,207 v 1 h -2 v -1 z m 4,4 h 1 v 3 h -1 z m 0,-10 h 1 v 3 h -1 z m -2.5,4 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 4 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 6 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 V 208 h 0.335938 l 2.61914,1.9043 c 0.08568,0.0623 0.188958,0.0958 0.294922,0.0957 h 0.25 c 0.276131,-3e-5 0.499972,-0.22387 0.5,-0.5 v -4 c -2.8e-5,-0.27613 -0.223869,-0.49997 -0.5,-0.5 h -0.25 c -0.105964,-1.5e-4 -0.209238,0.0334 -0.294922,0.0957 L 37.335938,207 H 37 v -1.5 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z m 0.5,1 h 5.027344 v 3 H 31 Z m 9,0.30078 v 2.39844 L 38.349609,207.5 Z"
- style="display:inline;opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1.20000005;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;enable-background:new"
- id="path10313" />
- <path
- id="path10315"
- transform="translate(21,-84)"
- d="m 54,285 v 2 h 1 v -2 z m -2.5,3 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 6 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 6 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -6 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z m 0.5,1 h 5.027344 v 5 H 52 Z m -4,2 v 1 h 2 v -1 z m 11,0 v 1 h 2 v -1 z m -5,5 v 2 h 1 v -2 z"
- style="display:inline;opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;enable-background:new"
- inkscape:connector-curvature="0" />
- </g>
- <g
- transform="matrix(-0.53033009,-0.53033009,-0.53033009,0.53033009,559.86353,322.75914)"
- style="display:inline;opacity:1;fill:#5fd38d;stroke:#ffffff;stroke-width:1.33333337;stroke-miterlimit:4;stroke-dasharray:none;enable-background:new"
- id="g10335"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- inkscape:export-xdpi="96"
- inkscape:export-ydpi="96">
- <g
- style="fill:#5fd38d;stroke:#ffffff;stroke-width:1.33333337;stroke-miterlimit:4;stroke-dasharray:none"
- id="g10333">
- <g
- id="g10331">
- <path
- inkscape:connector-curvature="0"
- id="path10321-5"
- transform="matrix(-0.94280903,-0.94280903,-0.94280903,0.94280903,832.14463,223.54416)"
- d="m 262.58789,287.02734 a 0.60006001,0.60006001 0 0 0 -0.47266,0.95899 l 2.14844,3.02929 -2.14844,3.0293 a 0.60024527,0.60024527 0 1 0 0.97852,0.69531 l 1.90625,-2.6875 1.90625,2.6875 a 0.60024527,0.60024527 0 1 0 0.97852,-0.69531 l -2.14844,-3.0293 2.14844,-3.02929 a 0.60005997,0.60005997 0 0 0 -0.041,-0.75781 0.60005997,0.60005997 0 0 0 -0.9375,0.0625 l -1.90625,2.6875 -1.90625,-2.6875 a 0.60006001,0.60006001 0 0 0 -0.0645,-0.0781 0.60006001,0.60006001 0 0 0 -0.44141,-0.18555 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.20000005;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
- <path
- inkscape:connector-curvature="0"
- d="m 310.32458,237.24123 a 0.66673335,0.66673335 0 0 0 -0.58971,-0.19749 c -6.22865,0.92525 -11.88001,6.57661 -12.80526,12.80526 a 0.66680952,0.66680952 0 1 0 1.31891,0.19749 c 0.82395,-5.54666 6.1358,-10.85851 11.68246,-11.68246 a 0.66673335,0.66673335 0 0 0 0.3936,-1.1228 z m 8.44938,8.44937 a 0.66673335,0.66673335 0 0 1 0.19749,0.58972 c -0.92525,6.22865 -6.57661,11.88001 -12.80526,12.80526 a 0.66673335,0.66673335 0 1 1 -0.19611,-1.31753 c 5.54665,-0.82395 10.8585,-6.1358 11.68245,-11.68246 a 0.66673335,0.66673335 0 0 1 1.12143,-0.39499 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.33333337px;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- id="path10329-8" />
- </g>
- </g>
+ <path inkscape:connector-curvature="0" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 511.5,452 c -0.8225,0 -1.5,0.6775 -1.5,1.5 0,0.82251 0.6775,1.5 1.5,1.5 0.64684,0 1.19777,-0.42097 1.40625,-1 h 1.1875 c 0.20848,0.57903 0.75941,1 1.40625,1 0.8225,0 1.5,-0.67749 1.5,-1.5 0,-0.8225 -0.6775,-1.5 -1.5,-1.5 -0.64637,0 -1.19742,0.42162 -1.40625,1 h -1.1875 c -0.20883,-0.57838 -0.75988,-1 -1.40625,-1 z m 11,0 c -0.64637,0 -1.19742,0.42162 -1.40625,1 H 520.5 a 0.50005,0.50005 0 0 0 -0.35352,0.14648 L 516.29297,457 h -3.38672 c -0.20883,-0.57838 -0.75988,-1 -1.40625,-1 -0.8225,0 -1.5,0.6775 -1.5,1.5 0,0.82251 0.6775,1.5 1.5,1.5 0.64684,0 1.19777,-0.42097 1.40625,-1 H 516.5 a 0.50005,0.50005 0 0 0 0.35352,-0.14648 L 520.70703,454 h 0.38672 c 0.20848,0.57903 0.75941,1 1.40625,1 0.8225,0 1.5,-0.67749 1.5,-1.5 0,-0.8225 -0.6775,-1.5 -1.5,-1.5 z m -11,1 c 0.27091,0 0.47782,0.20294 0.49414,0.46875 a 0.50005,0.50005 0 0 0 0,0.0625 C 511.97782,453.79707 511.77091,454 511.5,454 c -0.28206,0 -0.5,-0.21793 -0.5,-0.5 0,-0.28206 0.21794,-0.5 0.5,-0.5 z m 4,0 c 0.28206,0 0.5,0.21794 0.5,0.5 0,0.28207 -0.21794,0.5 -0.5,0.5 -0.27091,0 -0.47782,-0.20293 -0.49414,-0.46875 a 0.50005,0.50005 0 0 0 0,-0.0625 C 515.02218,453.20294 515.22909,453 515.5,453 Z m 7,0 c 0.28206,0 0.5,0.21794 0.5,0.5 0,0.28207 -0.21794,0.5 -0.5,0.5 -0.27091,0 -0.47782,-0.20293 -0.49414,-0.46875 a 0.50005,0.50005 0 0 0 0,-0.0625 C 522.02218,453.20294 522.22909,453 522.5,453 Z m 0,3 c -0.64637,0 -1.19742,0.42162 -1.40625,1 H 520.5 a 0.50005,0.50005 0 0 0 -0.35352,0.14648 l -5,5 A 0.50005,0.50005 0 0 0 515,462.5 v 0.59375 c -0.57903,0.20848 -1,0.75941 -1,1.40625 0,0.82251 0.6775,1.5 1.5,1.5 0.8225,0 1.5,-0.67749 1.5,-1.5 0,-0.64684 -0.42097,-1.19777 -1,-1.40625 v -0.38672 L 520.70703,458 h 0.38672 c 0.20848,0.57903 0.75941,1 1.40625,1 0.8225,0 1.5,-0.67749 1.5,-1.5 0,-0.8225 -0.6775,-1.5 -1.5,-1.5 z m -11,1 c 0.28206,0 0.5,0.21794 0.5,0.5 0,0.28207 -0.21794,0.5 -0.5,0.5 -0.28206,0 -0.5,-0.21793 -0.5,-0.5 0,-0.28206 0.21794,-0.5 0.5,-0.5 z m 11,0 c 0.28206,0 0.5,0.21794 0.5,0.5 0,0.28207 -0.21794,0.5 -0.5,0.5 -0.27091,0 -0.47782,-0.20293 -0.49414,-0.46875 a 0.50005,0.50005 0 0 0 0,-0.0625 C 522.02218,457.20294 522.22909,457 522.5,457 Z m -11,3 c -0.8225,0 -1.5,0.6775 -1.5,1.5 0,0.82251 0.6775,1.5 1.5,1.5 0.8225,0 1.5,-0.67749 1.5,-1.5 0,-0.8225 -0.6775,-1.5 -1.5,-1.5 z m 11,0 c -0.8225,0 -1.5,0.6775 -1.5,1.5 0,0.23017 0.0579,0.44679 0.15234,0.64258 a 0.50005,0.50005 0 0 0 -0.006,0.004 l -1,1 a 0.50005,0.50005 0 0 0 -0.004,0.006 C 519.94679,463.05791 519.73016,463 519.5,463 c -0.8225,0 -1.5,0.6775 -1.5,1.5 0,0.82251 0.6775,1.5 1.5,1.5 0.8225,0 1.5,-0.67749 1.5,-1.5 0,-0.23002 -0.058,-0.44493 -0.15234,-0.64062 a 0.50005,0.50005 0 0 0 0.006,-0.006 l 1,-1 a 0.50005,0.50005 0 0 0 0.004,-0.004 c 0.1955,0.0946 0.41225,0.15062 0.64234,0.15062 0.8225,0 1.5,-0.67749 1.5,-1.5 0,-0.8225 -0.6775,-1.5 -1.5,-1.5 z m -11,1 c 0.28206,0 0.5,0.21794 0.5,0.5 0,0.28207 -0.21794,0.5 -0.5,0.5 -0.28206,0 -0.5,-0.21793 -0.5,-0.5 0,-0.28206 0.21794,-0.5 0.5,-0.5 z m 11,0 c 0.28206,0 0.5,0.21794 0.5,0.5 0,0.28207 -0.21794,0.5 -0.5,0.5 -0.28206,0 -0.5,-0.21793 -0.5,-0.5 0,-0.28206 0.21794,-0.5 0.5,-0.5 z m -3,3 c 0.28206,0 0.5,0.21794 0.5,0.5 0,0.28207 -0.21794,0.5 -0.5,0.5 -0.28206,0 -0.5,-0.21793 -0.5,-0.5 0,-0.28206 0.21794,-0.5 0.5,-0.5 z m -4.0293,0.006 a 0.50005,0.50005 0 0 0 0.0371,0 0.50005,0.50005 0 0 0 0.0176,0 c 0.26874,0.0134 0.4746,0.22107 0.4746,0.494 0,0.28207 -0.21794,0.5 -0.5,0.5 -0.28206,0 -0.5,-0.21793 -0.5,-0.5 0,-0.27158 0.20391,-0.47876 0.4707,-0.49414 z" id="circle28282"/>
+ <g id="g27867" transform="translate(41.999996,-83.999998)">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 114.5,97 c -0.27613,2.8e-5 -0.49997,0.223869 -0.5,0.5 v 3 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 10 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -3 c -3e-5,-0.276131 -0.22387,-0.499972 -0.5,-0.5 z m -3,6 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 3 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 10 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -3 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z" id="path27865" inkscape:connector-curvature="0" sodipodi:nodetypes="cccccccccccccccccc"/>
</g>
- <g
- transform="translate(105.00004,2.4e-4)"
- id="g10345">
- <g
- style="opacity:0.7"
- id="g10341">
- <path
- inkscape:connector-curvature="0"
- id="path10337-7"
- d="M 344.49219,287.99219 A 0.50005,0.50005 0 0 0 344,288.5 v 3 a 0.50005,0.50005 0 1 0 1,0 v -3 a 0.50005,0.50005 0 0 0 -0.50781,-0.50781 z m 0,5 A 0.50005,0.50005 0 0 0 344,293.5 v 2 a 0.50005,0.50005 0 0 0 0.5,0.5 h 2 a 0.50005,0.50005 0 1 0 0,-1 H 345 v -1.5 a 0.50005,0.50005 0 0 0 -0.50781,-0.50781 z M 348.5,295 a 0.50005,0.50005 0 1 0 0,1 h 3 a 0.50005,0.50005 0 1 0 0,-1 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
- <path
- inkscape:connector-curvature="0"
- id="rect10339"
- d="m 351.5,293 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 4 a 0.50005,0.50005 0 0 0 0.5,0.5 h 4 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -4 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m 0.5,1 h 3 v 3 h -3 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" />
+ <g id="g28017" transform="translate(-42.000004,-83.999998)">
+ <g inkscape:export-ydpi="96" inkscape:export-xdpi="96" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" style="display:inline;opacity:1;enable-background:new" id="g13408-5" transform="translate(-357.00711,41.992878)">
+ <g style="display:inline;opacity:0.98999999;enable-background:new" transform="translate(378.99999,-439.99995)" id="g12509-8"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 531.49219,52.992188 a 0.50005,0.50005 0 0 0 -0.31641,0.121093 0.50005,0.50005 0 0 0 -0.0195,0.01563 0.50005,0.50005 0 0 0 -0.0176,0.01758 0.50005,0.50005 0 0 0 -0.002,0.0039 0.50005,0.50005 0 0 0 -0.0312,0.0332 0.50005,0.50005 0 0 0 -0.002,0.0039 0.50005,0.50005 0 0 0 -0.0273,0.03711 0.50005,0.50005 0 0 0 -0.002,0.0039 A 0.50005,0.50005 0 0 0 531,53.582031 V 54.5 a 0.50005,0.50005 0 1 0 1,0 V 54 h 0.5 a 0.50005,0.50005 0 1 0 0,-1 h -0.91992 a 0.50005,0.50005 0 0 0 -0.0879,-0.0078 z m 13,0 A 0.50005,0.50005 0 0 0 544.41797,53 H 543.5 a 0.50005,0.50005 0 1 0 0,1 h 0.5 v 0.5 a 0.50005,0.50005 0 1 0 1,0 v -0.919922 a 0.50005,0.50005 0 0 0 -0.11328,-0.404297 0.50005,0.50005 0 0 0 -0.002,-0.0039 0.50005,0.50005 0 0 0 -0.0312,-0.0332 0.50005,0.50005 0 0 0 -0.004,-0.002 0.50005,0.50005 0 0 0 -0.0332,-0.03125 0.50005,0.50005 0 0 0 -0.004,-0.002 0.50005,0.50005 0 0 0 -0.32031,-0.111328 z M 534.5,53 a 0.50005,0.50005 0 1 0 0,1 h 1 a 0.50005,0.50005 0 1 0 0,-1 z m 3,0 a 0.50005,0.50005 0 1 0 0,1 h 1 a 0.50005,0.50005 0 1 0 0,-1 z m 3,0 a 0.50005,0.50005 0 1 0 0,1 h 1 a 0.50005,0.50005 0 1 0 0,-1 z m -9.00781,2.992188 A 0.50005,0.50005 0 0 0 531,56.5 v 1 a 0.50005,0.50005 0 1 0 1,0 v -1 a 0.50005,0.50005 0 0 0 -0.50781,-0.507812 z m 13,0 A 0.50005,0.50005 0 0 0 544,56.5 v 1 a 0.50005,0.50005 0 1 0 1,0 v -1 a 0.50005,0.50005 0 0 0 -0.50781,-0.507812 z m -13,3 A 0.50005,0.50005 0 0 0 531,59.5 v 1 a 0.50005,0.50005 0 1 0 1,0 v -1 a 0.50005,0.50005 0 0 0 -0.50781,-0.507812 z m 13,0 A 0.50005,0.50005 0 0 0 544,59.5 v 1 a 0.50005,0.50005 0 1 0 1,0 v -1 a 0.50005,0.50005 0 0 0 -0.50781,-0.507812 z m -13,3 A 0.50005,0.50005 0 0 0 531,62.5 v 1 a 0.50005,0.50005 0 1 0 1,0 v -1 a 0.50005,0.50005 0 0 0 -0.50781,-0.507812 z m 13,0 A 0.50005,0.50005 0 0 0 544,62.5 v 1 a 0.50005,0.50005 0 1 0 1,0 v -1 a 0.50005,0.50005 0 0 0 -0.50781,-0.507812 z m -13,3 A 0.50005,0.50005 0 0 0 531,65.5 v 0.919922 a 0.50005,0.50005 0 0 0 0.11328,0.404297 0.50005,0.50005 0 0 0 0.0156,0.01953 0.50005,0.50005 0 0 0 0.0176,0.01758 0.50005,0.50005 0 0 0 0.004,0.002 0.50005,0.50005 0 0 0 0.0332,0.03125 0.50005,0.50005 0 0 0 0.004,0.002 A 0.50005,0.50005 0 0 0 531.58203,67 H 532.5 a 0.50005,0.50005 0 1 0 0,-1 H 532 v -0.5 a 0.50005,0.50005 0 0 0 -0.50781,-0.507812 z m 13,0 A 0.50005,0.50005 0 0 0 544,65.5 V 66 h -0.5 a 0.50005,0.50005 0 1 0 0,1 h 0.91992 a 0.50005,0.50005 0 0 0 0.4043,-0.113281 0.50005,0.50005 0 0 0 0.004,-0.002 0.50005,0.50005 0 0 0 0.0332,-0.03125 0.50005,0.50005 0 0 0 0.002,-0.0039 0.50005,0.50005 0 0 0 0.0312,-0.0332 0.50005,0.50005 0 0 0 0.002,-0.0039 A 0.50005,0.50005 0 0 0 545,66.417969 V 65.5 a 0.50005,0.50005 0 0 0 -0.50781,-0.507812 z M 534.5,66 a 0.50005,0.50005 0 1 0 0,1 h 1 a 0.50005,0.50005 0 1 0 0,-1 z m 3,0 a 0.50005,0.50005 0 1 0 0,1 h 1 a 0.50005,0.50005 0 1 0 0,-1 z m 3,0 a 0.50005,0.50005 0 1 0 0,1 h 1 a 0.50005,0.50005 0 1 0 0,-1 z" id="path27987" inkscape:connector-curvature="0"/>
</g>
- <path
- sodipodi:nodetypes="ccccccccc"
- inkscape:connector-curvature="0"
- id="rect10343"
- d="m 342.5,284 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 4 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 4 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -4 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" />
- </g>
- <g
- transform="translate(62.97587,-41.03945)"
- id="g10359"
- style="display:inline;enable-background:new">
- <g
- transform="translate(0,21)"
- id="g10357">
- <path
- style="opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.66666663;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:markers stroke fill"
- d="m 264.02413,311.53945 a 1.5,1.5 0 0 1 -1.5,1.5 1.5,1.5 0 0 1 -1.5,-1.5 1.5,1.5 0 0 1 1.5,-1.5 1.5,1.5 0 0 1 1.5,1.5 z"
- id="path10347-2"
- inkscape:connector-curvature="0" />
- <path
- inkscape:connector-curvature="0"
- id="circle10349"
- d="m 269.02344,314.03906 c -1.09865,0 -2,0.90136 -2,2 0,1.09865 0.90135,2 2,2 1.09864,0 2,-0.90135 2,-2 0,-1.09864 -0.90136,-2 -2,-2 z m 0,1 c 0.5582,0 1,0.4418 1,1 0,0.55821 -0.4418,1 -1,1 -0.55821,0 -1,-0.44179 -1,-1 0,-0.5582 0.44179,-1 1,-1 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:markers stroke fill;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" />
- <path
- inkscape:connector-curvature="0"
- id="path10351-7"
- d="m 258.53125,304.03516 a 0.50005,0.50005 0 1 0 0,1 h 12 a 0.50005,0.50005 0 1 0 0,-1 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:markers stroke fill;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
- <path
- inkscape:connector-curvature="0"
- id="path10355-4"
- d="m 264.79492,304.18164 a 0.60006002,0.60006002 0 0 0 -0.58594,0.4043 l -2.25,6.25 a 0.60006002,0.60006002 0 1 0 1.12891,0.40625 l 2.25,-6.25 a 0.60006002,0.60006002 0 0 0 -0.54297,-0.81055 z m -1.27148,7.75391 a 0.60006002,0.60006002 0 0 0 -0.33594,1.09961 l 4,2.7207 a 0.60006002,0.60006002 0 1 0 0.67383,-0.99219 l -4,-2.7207 a 0.60006002,0.60006002 0 0 0 -0.33789,-0.10742 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.7;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#fbfbfb;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.20000005;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:markers stroke fill;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
+ <g transform="rotate(-180,149.5,102.00001)" id="g27919-7" style="display:inline;enable-background:new">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 117.5,98 c -0.27613,2.8e-5 -0.49997,0.223869 -0.5,0.5 v 2 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 5 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -2 c -3e-5,-0.276131 -0.22387,-0.499972 -0.5,-0.5 z m -4,5 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 2 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 7 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -2 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z" id="path27916-5" inkscape:connector-curvature="0" sodipodi:nodetypes="cccccccccccccccccc"/>
</g>
</g>
- <g
- transform="translate(11,-136)"
- id="g10373">
- <path
- inkscape:connector-curvature="0"
- id="path10361"
- d="m 275.4707,427 c -0.42985,0.004 -0.62994,0.5874 -0.31869,0.87125 0.40897,0.54487 0.81793,1.08974 1.2269,1.63461 -0.43981,0.59662 -0.90116,1.17907 -1.32716,1.78476 -0.21053,0.38613 0.24226,0.86663 0.6402,0.67938 0.28682,-0.15751 0.42097,-0.48416 0.63231,-0.72356 0.22655,-0.3022 0.4531,-0.6044 0.67965,-0.9066 0.3916,0.51133 0.76296,1.03993 1.16735,1.54035 0.31222,0.30974 0.89981,0.009 0.83079,-0.42566 -0.0715,-0.31923 -0.34727,-0.53953 -0.51804,-0.80941 -0.28503,-0.37975 -0.57007,-0.75951 -0.8551,-1.13926 0.43981,-0.59662 0.90116,-1.17907 1.32716,-1.78476 0.21053,-0.38613 -0.24226,-0.86663 -0.6402,-0.67938 -0.28682,0.15751 -0.42097,0.48416 -0.63231,0.72356 -0.22655,0.3022 -0.4531,0.6044 -0.67965,0.9066 -0.39082,-0.51197 -0.76442,-1.03847 -1.1661,-1.54128 -0.0981,-0.0907 -0.23371,-0.13896 -0.36711,-0.1306 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
- <g
- id="g10367"
- transform="translate(115.99999,-73.00002)"
- style="display:inline;opacity:0.6;enable-background:new"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- inkscape:export-xdpi="96"
- inkscape:export-ydpi="96">
- <path
- inkscape:connector-curvature="0"
- id="path10363"
- transform="translate(-378.99999,209.00002)"
- d="m 534.48047,284 a 0.50005,0.50005 0 0 0 -0.38477,0.19727 l -2.92382,2.92578 -0.0254,0.0234 c -4.5e-4,4.6e-4 4.5e-4,0.002 0,0.002 a 0.50005,0.50005 0 0 0 -0.13671,0.25781 c -7.9e-4,0.004 -0.003,0.008 -0.004,0.0117 A 0.50005,0.50005 0 0 0 531,287.50781 V 296.5 a 0.50005,0.50005 0 0 0 0.5,0.5 h 2 a 0.50005,0.50005 0 1 0 0,-1 H 532 v -8 h 2.5 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 V 285 h 6 v 2.5 a 0.50005,0.50005 0 1 0 1,0 v -3 a 0.50005,0.50005 0 0 0 -0.5,-0.5 h -7 a 0.50005,0.50005 0 0 0 -0.0137,0 c -6.7e-4,2e-5 -10e-4,-2e-5 -0.002,0 -10e-4,4e-5 -0.003,-5e-5 -0.004,0 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" />
- </g>
- <path
- inkscape:connector-curvature="0"
- id="path10369"
- d="m 273.50391,425 c -0.46998,0.0749 -0.80823,0.50172 -1.06635,0.87006 -0.4326,0.65782 -0.45638,1.4618 -0.43756,2.22236 0.008,1.23972 -0.0164,2.48035 0.0134,3.71944 0.0716,0.88933 0.54871,1.83354 1.40415,2.18708 0.42463,0.112 0.78249,-0.44168 0.50598,-0.78285 -0.29758,-0.24384 -0.6397,-0.4766 -0.77031,-0.86624 -0.24243,-0.63283 -0.12529,-1.31954 -0.15325,-1.98084 0.006,-1.03207 -0.0114,-2.06474 0.009,-3.09642 0.0299,-0.56822 0.33188,-1.12862 0.8373,-1.40532 0.33744,-0.28816 0.10108,-0.88712 -0.34243,-0.86727 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994px;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" />
- <path
- inkscape:connector-curvature="0"
- id="path10371"
- d="m 280.48828,425 c -0.4389,-0.0149 -0.66492,0.60436 -0.31958,0.87564 0.63959,0.33681 0.88258,1.10168 0.83716,1.78593 -0.006,1.35522 0.0116,2.71106 -0.009,4.06588 -0.029,0.57068 -0.33398,1.12767 -0.83582,1.41135 -0.3334,0.28584 -0.081,0.8949 0.35685,0.86114 0.46399,-0.0793 0.79448,-0.50451 1.05034,-0.86849 0.42617,-0.65052 0.45767,-1.4445 0.43766,-2.19695 -0.008,-1.24867 0.0164,-2.49826 -0.0134,-3.7463 -0.0691,-0.87707 -0.53296,-1.78778 -1.35661,-2.16868 -0.0478,-0.0138 -0.0978,-0.0204 -0.14755,-0.0195 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994px;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" />
- </g>
- <g
- transform="translate(43,63)"
- id="g10379">
- <path
- inkscape:connector-curvature="0"
- id="path10375"
- d="m 471.5,221 a 0.50005,0.50005 0 0 0 -0.35352,0.14648 l -3,3 A 0.50005,0.50005 0 0 0 468,224.5 v 10 a 0.50005,0.50005 0 0 0 0.5,0.5 h 8 a 0.50005,0.50005 0 0 0 0.35352,-0.14648 l 3,-3 A 0.50005,0.50005 0 0 0 480,231.5 v -10 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m 0.20703,1 H 479 v 9.29297 L 476.29297,234 H 469 v -9.29297 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.7;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" />
- <path
- sodipodi:nodetypes="sssss"
- inkscape:connector-curvature="0"
- id="circle10377"
- d="m 474,225.99805 c -1.09907,0 -2,0.90288 -2,2.00195 0,1.09907 0.90093,2 2,2 1.09907,0 2.00195,-0.90093 2.00195,-2 0,-1.09907 -0.90288,-2.00195 -2.00195,-2.00195 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.00157475;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:markers stroke fill;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" />
- </g>
- <g
- transform="translate(0,636)"
- id="g28780">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.7;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:markers stroke fill;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 531.50781,-348.00781 a 0.50005,0.50005 0 0 0 -0.5,0.5 L 531,-338.5 a 0.50005,0.50005 0 0 0 0.5,0.5 l 9.00781,-0.008 a 0.50005,0.50005 0 0 0 0.5,-0.5 c 0,-5.24079 -4.25921,-9.5 -9.5,-9.5 z m 0.5,1.10156 c 4.27858,0.26151 7.63693,3.61986 7.89844,7.89844 L 532,-339 Z"
- id="path10381"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:markers stroke fill;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 542.98047,-351.00977 a 1.0001,1.0001 0 0 0 -0.6875,0.30274 l -3,3 a 1.0001,1.0001 0 1 0 1.41406,1.41406 l 3,-3 a 1.0001,1.0001 0 0 0 -0.72656,-1.7168 z"
- id="path10384-1"
- inkscape:connector-curvature="0" />
- </g>
- <g
- transform="translate(-147,636)"
- id="g10393">
- <path
- sodipodi:nodetypes="sssss"
- inkscape:connector-curvature="0"
- id="ellipse10386"
- d="m 560.99219,-349.49609 c 0,-1.37714 1.12676,-2.50391 2.5039,-2.50391 1.37715,0 2.50391,1.12677 2.50391,2.50391 0,1.37713 -1.12676,2.5039 -2.50391,2.5039 -1.37714,0 -2.5039,-1.12677 -2.5039,-2.5039 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" />
- <path
- inkscape:connector-curvature="0"
- id="ellipse10388"
- d="m 552,-339.99219 c 0,-1.09609 0.89673,-1.99609 1.99219,-1.99609 1.09546,0 1.99414,0.9 1.99414,1.99609 0,1.09609 -0.89868,1.99805 -1.99414,1.99805 -1.09546,0 -1.99219,-0.90196 -1.99219,-1.99805 z m 1,0 c 0,0.55685 0.43837,0.99805 0.99219,0.99805 0.55382,0 0.99414,-0.4412 0.99414,-0.99805 0,-0.55685 -0.44032,-0.99609 -0.99414,-0.99609 -0.55382,0 -0.99219,0.43924 -0.99219,0.99609 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" />
- <path
- d="m 560.36798,-346.98792 a 0.60364676,0.60365756 0 0 0 -0.41654,0.18273 l -0.77413,0.77415 a 0.60366279,0.6036736 0 1 0 0.85273,0.8547 l 0.77609,-0.77611 a 0.60364676,0.60365756 0 0 0 -0.43815,-1.03547 z m -2.99662,2.98989 a 0.61117943,0.61029182 0 0 0 -0.42173,0.18473 l -0.78379,0.78265 a 0.61119567,0.61030804 0 1 0 0.86336,0.8641 l 0.78578,-0.78463 a 0.61117943,0.61029182 0 0 0 -0.44362,-1.04685 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.7;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.19999993;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- id="path28690"
- inkscape:connector-curvature="0" />
- </g>
- <g
- transform="translate(-210,636)"
- id="g10409">
- <path
- sodipodi:nodetypes="sssss"
- inkscape:connector-curvature="0"
- id="ellipse10403"
- d="m 560.99219,-349.49609 c 0,-1.37714 1.12676,-2.50391 2.5039,-2.50391 1.37715,0 2.50391,1.12677 2.50391,2.50391 0,1.37713 -1.12676,2.5039 -2.50391,2.5039 -1.37714,0 -2.5039,-1.12677 -2.5039,-2.5039 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" />
- <path
- inkscape:connector-curvature="0"
- id="ellipse10405"
- d="m 552,-339.99219 c 0,-1.09609 0.89673,-1.99609 1.99219,-1.99609 1.09546,0 1.99414,0.9 1.99414,1.99609 0,1.09609 -0.89868,1.99805 -1.99414,1.99805 -1.09546,0 -1.99219,-0.90196 -1.99219,-1.99805 z m 1,0 c 0,0.55685 0.43837,0.99805 0.99219,0.99805 0.55382,0 0.99414,-0.4412 0.99414,-0.99805 0,-0.55685 -0.44032,-0.99609 -0.99414,-0.99609 -0.55382,0 -0.99219,0.43924 -0.99219,0.99609 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" />
- <path
- inkscape:connector-curvature="0"
- id="path10407-7"
- d="m 563.50195,-343.01367 a 0.50005,0.50005 0 0 0 -0.49414,0.50586 v 4 a 0.50005,0.50005 0 1 0 1,0 v -4 a 0.50005,0.50005 0 0 0 -0.50586,-0.50586 z m -5.99414,2.00586 a 0.50005,0.50005 0 1 0 0,1 h 1 a 0.50005,0.50005 0 1 0 0,-1 z m 3,0 a 0.50005,0.50005 0 1 0 0,1 h 1 a 0.50005,0.50005 0 1 0 0,-1 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.7;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
- </g>
- <g
- transform="translate(42,657)"
- id="g10415">
- <path
- sodipodi:nodetypes="sssss"
- inkscape:connector-curvature="0"
- id="ellipse10411"
- d="m 350.99219,-370.49609 c 0,-1.37714 1.12676,-2.50391 2.5039,-2.50391 1.37715,0 2.50391,1.12677 2.50391,2.50391 0,1.37713 -1.12676,2.5039 -2.50391,2.5039 -1.37714,0 -2.5039,-1.12677 -2.5039,-2.5039 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" />
- <path
- inkscape:connector-curvature="0"
- id="path10413-7"
- d="m 348.4707,-367.9375 c -0.33462,0.0898 -0.64722,0.26623 -0.90039,0.51953 l -4.97851,4.98242 c -0.50693,0.50809 -0.70493,1.24983 -0.51953,1.94336 0.18541,0.69355 0.72692,1.23774 1.41992,1.42383 0.69276,0.18603 1.43437,-0.0128 1.9414,-0.52148 l 4.97852,-4.98047 c 0.50694,-0.50808 0.70495,-1.25177 0.51953,-1.94531 -0.1854,-0.69356 -0.72693,-1.23578 -1.41992,-1.42188 -0.34638,-0.093 -0.70553,-0.09 -1.04102,0 z m 0.78125,0.96484 c 0.34883,0.0937 0.61917,0.3662 0.71289,0.7168 0.0937,0.35062 -0.006,0.72222 -0.26172,0.97852 l -4.97656,4.98046 c -0.25562,0.25646 -0.62555,0.35546 -0.97461,0.26172 -0.3488,-0.0937 -0.62111,-0.36425 -0.71484,-0.71484 -0.0937,-0.35061 0.006,-0.7222 0.26172,-0.97852 l 4.97851,-4.98242 c 0.25563,-0.25646 0.62557,-0.35545 0.97461,-0.26172 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.8;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" />
- </g>
- <g
- transform="translate(0,636)"
- id="g9298">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 306.49219,-348.01172 a 0.50005,0.50005 0 0 0 -0.38867,0.19531 l -1.95704,1.95703 a 0.50005,0.50005 0 1 0 0.70704,0.70704 L 306,-346.29883 v 5.79297 a 0.50005,0.50005 0 0 0 0.5,0.5 h 5.79297 l -1.14649,1.14648 a 0.50005,0.50005 0 1 0 0.70704,0.70704 l 1.95117,-1.94922 a 0.50005,0.50005 0 0 0 0.008,-0.79883 l -1.95898,-1.95899 a 0.50005,0.50005 0 1 0 -0.70704,0.70704 l 1.14649,1.14648 H 307 v -5.29297 l 1.14648,1.14649 a 0.50005,0.50005 0 1 0 0.70704,-0.70704 l -1.96094,-1.96093 -0.006,-0.008 a 0.50005,0.50005 0 0 0 -0.39453,-0.1836 z"
- id="path10419-4"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.8;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 306.44531,-351.99805 c -1.16966,-0.043 -2.35048,0.23548 -3.40039,0.84766 -2.09911,1.22396 -3.28024,3.5522 -3.00586,5.94141 0.27491,2.39372 1.98225,4.44954 4.31055,5.18554 a 0.50004997,0.50004997 0 1 0 0.30078,-0.95312 c -1.94954,-0.61628 -3.38871,-2.3582 -3.61719,-4.34766 -0.22899,-1.99397 0.75092,-3.93196 2.51563,-4.96094 1.76401,-1.02856 3.9738,-0.9382 5.67187,0.20118 0.93801,0.62937 1.92387,1.08398 3.2793,1.08398 h 1 a 0.50004997,0.50004997 0 1 0 0,-1 h -1 c -1.14457,0 -1.85649,-0.33615 -2.7207,-0.91602 -1.00565,-0.67477 -2.16433,-1.03898 -3.33399,-1.08203 z"
- id="path10421-9"
- inkscape:connector-curvature="0" />
- </g>
- <g
- transform="rotate(-180,380.49654,-26.99764)"
- id="g10433">
- <g
- transform="translate(1)"
- id="g10429">
- <path
- inkscape:connector-curvature="0"
- id="path10423-5"
- transform="rotate(180,390.49654,-26.99764)"
- d="m 393.49219,289.00391 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 1.73047 l -2.76953,2.76953 h -1.73047 c -0.27613,2e-5 -0.49997,0.22386 -0.5,0.5 v 1.02929 c 3e-5,0.27613 0.22387,0.47068 0.5,0.47071 h 1 c 0.2725,0 0.5,0.17071 0.5,0.5 v 1 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 1 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -1.73243 l 2.76758,-2.76757 h 1.73242 c 0.27613,-2e-5 0.49997,-0.22386 0.5,-0.5 v -1.02735 c -3e-5,-0.27613 -0.22387,-0.47262 -0.5,-0.47265 h -1 c -0.2725,0 -0.5,-0.17071 -0.5,-0.5 v -1 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999988;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" />
+ <path inkscape:connector-curvature="0" id="path27826" d="m 226.98047,602.99023 a 1.0001,1.0001 0 0 0 -0.6875,0.30274 L 222,607.58594 l -2.29297,-2.29297 a 1.0001,1.0001 0 1 0 -1.41406,1.41406 l 3,3 a 1.0001,1.0001 0 0 0 1.41406,0 l 5,-5 a 1.0001,1.0001 0 0 0 -0.72656,-1.7168 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
+ <g style="fill:#ffffff" id="g28127" transform="translate(-42,21)">
+ <path inkscape:connector-curvature="0" id="rect28073" d="m 468.5,116 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 10 a 0.50005,0.50005 0 0 0 0.5,0.5 h 7 a 0.50005,0.50005 0 1 0 0,-1 H 469 v -9 h 9 v 6.5 a 0.50005,0.50005 0 1 0 1,0 v -7 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
+ <path inkscape:connector-curvature="0" d="M 475.99635,122 A 1.99635,1.99635 0 0 1 474,123.99635 1.99635,1.99635 0 0 1 472.00365,122 1.99635,1.99635 0 0 1 474,120.00365 1.99635,1.99635 0 0 1 475.99635,122 Z m 0.50756,2.01562 c -0.44709,0.002 -0.6672,0.54472 -0.34766,0.85743 l 4.14648,4.14648 L 477.5,129 c -0.67616,-0.01 -0.67616,1.00956 0,1 l 4.00977,0.0195 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 L 482,125.5 c 0.01,-0.67616 -1.00956,-0.67616 -1,0 l 0.01,2.8125 -4.14649,-4.14648 c -0.0945,-0.0966 -0.22417,-0.15091 -0.35937,-0.1504 z" style="display:inline;opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;enable-background:new" id="circle28066"/>
+ </g>
+ <g id="g27914" style="fill:#ffffff" transform="translate(-21)">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 69.5,157.98633 a 0.50005,0.50005 0 0 0 -0.492188,0.50586 v 12.9082 a 0.50005,0.50005 0 0 0 0.08203,0.37695 0.50005,0.50005 0 0 0 0.002,0.004 0.50005,0.50005 0 0 0 0.0293,0.0352 0.50005,0.50005 0 0 0 0.002,0.004 0.50005,0.50005 0 0 0 0.03125,0.0332 0.50005,0.50005 0 0 0 0.02539,0.0215 0.50005,0.50005 0 0 0 0.01172,0.0117 0.50005,0.50005 0 0 0 0.0039,0.002 0.50005,0.50005 0 0 0 0.04102,0.0293 0.50005,0.50005 0 0 0 0.353516,0.0742 h 12.917968 a 0.50005,0.50005 0 1 0 0,-1 h -12.5 v -12.5 A 0.50005,0.50005 0 0 0 69.5,157.98633 Z" id="path15133-4-4" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 72.5,165 c -0.276131,3e-5 -0.499972,0.22387 -0.5,0.5 v 3 c 2.8e-5,0.27613 0.223869,0.49997 0.5,0.5 h 3 c 0.276131,-3e-5 0.499972,-0.22387 0.5,-0.5 v -3 c -2.8e-5,-0.27613 -0.223869,-0.49997 -0.5,-0.5 z" id="path22120-2-1" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccccccc"/>
+ </g>
+ <g id="g27942" style="fill:#ffffff" transform="translate(-21)">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 49.46875,159 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 11 a 0.50005,0.50005 0 0 0 0.5,0.5 h 11 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -11 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m 0.5,1 h 10 v 10 h -10 z" id="path26471-6-1" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 53.5,163 c -0.276131,3e-5 -0.499972,0.22387 -0.5,0.5 v 3 c 2.8e-5,0.27613 0.223869,0.49997 0.5,0.5 h 3 c 0.276131,-3e-5 0.499972,-0.22387 0.5,-0.5 v -3 c -2.8e-5,-0.27613 -0.223869,-0.49997 -0.5,-0.5 z" id="path22120-2-1-2" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccccccc"/>
+ </g>
+ <g inkscape:export-ydpi="96" inkscape:export-xdpi="96" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" transform="translate(-230.99288,-230.99288)" id="g27963" style="display:inline;opacity:1;fill:#ffffff;enable-background:new">
+ <g id="g27959" style="opacity:0.6;fill:#ffffff" transform="translate(126)">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 268.49219,388.99219 c -0.27614,0.004 -0.49651,0.23167 -0.49219,0.50781 v 2.49609 l -2.50586,-0.004 c -0.67605,-0.0108 -0.67808,1.00811 -0.002,1 L 268,392.99609 V 399 h -6.00391 l -0.004,-2.50781 c 0.008,-0.67608 -1.01082,-0.67405 -1,0.002 L 260.99609,399 H 258.5 c -0.67616,-0.01 -0.67616,1.00956 0,1 h 2.49609 l 0.004,2.5 c -0.01,0.67616 1.00956,0.67616 1,0 l -0.004,-2.5 H 268 v 2.5 c -0.01,0.67616 1.00956,0.67616 1,0 V 400 h 2.5 c 0.67616,0.01 0.67616,-1.00956 0,-1 H 269 v -6.00391 l 2.5,0.004 c 0.67616,0.01 0.67616,-1.00956 0,-1 l -2.5,-0.004 V 389.5 c 0.004,-0.28226 -0.22555,-0.51223 -0.50781,-0.50781 z" id="path27957" inkscape:connector-curvature="0" sodipodi:nodetypes="cccccccccccccccccccccccccccccc"/>
</g>
- <path
- inkscape:connector-curvature="0"
- id="path10431-8"
- d="m 395.47852,-349.00391 a 0.50004997,0.50004997 0 0 0 -0.32032,0.86914 c 1.10925,1.04157 1.85525,2.61894 1.8418,4.13086 -0.0174,1.95759 -1.00719,3.50006 -2.74023,4.44727 -1.67823,0.91724 -3.81516,0.64624 -5.48829,-0.40625 l 0.0234,0.0156 C 387.83199,-340.63237 386.68507,-341 385.50781,-341 H 384.5 a 0.50004997,0.50004997 0 1 0 0,1 h 1.00586 0.002 c 0.96887,0 1.91412,0.30361 2.70899,0.86914 l 0.0117,0.008 0.0117,0.008 c 1.93164,1.2151 4.44119,1.56274 6.5,0.4375 2.004,-1.0953 3.23927,-3.01733 3.25977,-5.31836 0.0163,-1.83862 -0.84967,-3.64045 -2.1582,-4.86914 a 0.50004997,0.50004997 0 0 0 -0.36328,-0.13868 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.8;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" />
- </g>
- <g
- transform="translate(20.999997,615)"
- id="g10447">
- <path
- inkscape:connector-curvature="0"
- id="path10443"
- d="m 478.49609,-323.00781 a 0.50005,0.50005 0 0 0 -0.34765,0.85937 l 2.64648,2.64649 -2.64648,2.64648 a 0.50005,0.50005 0 1 0 0.70703,0.70703 l 3,-3 a 0.50005,0.50005 0 0 0 0,-0.70703 l -3,-3 a 0.50005,0.50005 0 0 0 -0.35938,-0.15234 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.7;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:7.40000057;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" />
- <path
- inkscape:connector-curvature="0"
- id="path10445"
- d="m 473.4375,-330.97461 c -0.67078,0.0637 -1.33815,0.24001 -1.97461,0.53711 -2.54627,1.1886 -3.92907,3.99498 -3.32031,6.73828 0.60875,2.7433 3.04739,4.69922 5.85742,4.69922 h 2.29297 l -2.14453,2.14453 a 0.50005,0.50005 0 1 0 0.70703,0.70703 l 3,-3 a 0.50005,0.50005 0 0 0 0,-0.70703 l -3,-3 a 0.50005,0.50005 0 1 0 -0.70703,0.70703 L 476.29688,-320 H 474 c -2.34689,0 -4.37244,-1.62485 -4.88086,-3.91602 -0.50842,-2.29116 0.63902,-4.62253 2.76563,-5.61523 2.12705,-0.99291 4.66398,-0.38512 6.07812,1.48242 l 0.74023,0.97656 C 479.25532,-326.34303 480.1366,-326 481,-326 h 0.5 a 0.50005,0.50005 0 1 0 0,-1 H 481 c -0.59704,0 -1.17055,-0.2407 -1.5,-0.67578 l -0.74023,-0.97656 c -1.27424,-1.68278 -3.30992,-2.51346 -5.32227,-2.32227 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:7.40000057;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
- </g>
- <path
- inkscape:connector-curvature="0"
- id="path10449"
- d="m 391.5,263.00781 c -0.82054,0 -1.49609,0.67557 -1.49609,1.4961 0,0.82054 0.67555,1.49609 1.49609,1.49609 0.82053,0 1.49609,-0.67555 1.49609,-1.49609 0,-0.82053 -0.67556,-1.4961 -1.49609,-1.4961 z M 397,264 c -0.71373,0 -1.37556,0.3819 -1.73242,1 -0.19053,0.33001 -0.2484,0.68266 -0.25586,0.99609 v 0.0117 h -1.54297 C 393.0093,266.6044 392.2975,267 391.5,267 c -0.79751,0 -1.50931,-0.3956 -1.96875,-0.99219 h -0.0195 -5.01563 c -0.67616,-0.01 -0.67616,1.00956 0,1 h 5.01563 0.49805 l -0.0137,3.28711 c -1.65939,1.40974 -3.24134,2.62162 -3.98828,6.10742 -0.17787,0.67446 0.8602,0.89868 0.97657,0.21094 0.67528,-3.15139 1.9234,-4.08819 3.51757,-5.42773 1.58398,1.34059 2.83152,2.27746 3.51953,5.42968 0.13318,0.66658 1.13544,0.44609 0.97657,-0.21484 -0.76273,-3.49457 -2.35105,-4.70351 -4.00196,-6.11719 l 0.0137,-3.27539 h 2.21679 1.78516 v 0.004 c 0.007,0.31344 0.0653,0.66608 0.25586,0.99609 0.35686,0.61811 1.01869,1 1.73242,1 h 0.5 c 0.67616,0.01 0.67616,-1.00956 0,-1 H 397 c -0.35807,0 -0.6862,-0.1899 -0.86523,-0.5 -0.0738,-0.12789 -0.11835,-0.32209 -0.12305,-0.51953 v -0.96875 c 0.005,-0.19744 0.0492,-0.39164 0.12305,-0.51953 0.17903,-0.3101 0.50716,-0.5 0.86523,-0.5 h 0.5 c 0.67616,0.01 0.67616,-1.00956 0,-1 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
- <g
- transform="translate(0,636)"
- id="g28776">
- <path
- inkscape:connector-curvature="0"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 447.50977,297.01172 a 0.50005,0.50005 0 1 0 0,1 h 6.2832 c -0.26437,-0.28877 -0.47061,-0.62726 -0.60742,-1 z m 11.29882,0 c -0.13697,0.37274 -0.34281,0.71123 -0.60742,1 h 2.3086 a 0.50005,0.50005 0 1 0 0,-1 z"
- transform="translate(21,-636)"
- id="path10435" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 476.99609,-342 c 1.09999,0 2.00391,0.90231 2.00391,2.00195 0,1.09965 -0.90392,2 -2.00391,2 -1.09998,0 -2.00195,-0.90035 -2.00195,-2 0,-1.09964 0.90197,-2.00195 2.00195,-2.00195 z"
- id="ellipse10439"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="sssss" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 472.49805,-351.99805 c 1.37513,0 2.50195,1.12557 2.50195,2.5 0,1.37444 -1.12682,2.49805 -2.50195,2.49805 -1.37514,0 -2.5,-1.12361 -2.5,-2.49805 0,-1.37443 1.12486,-2.5 2.5,-2.5 z m 0,1 c -0.83537,0 -1.5,0.66668 -1.5,1.5 0,0.83332 0.66463,1.49805 1.5,1.49805 0.83537,0 1.50195,-0.66473 1.50195,-1.49805 0,-0.83332 -0.66658,-1.5 -1.50195,-1.5 z"
- id="ellipse10441"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.7;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 472.50195,-345.99609 a 0.50005,0.50005 0 0 0 -0.49218,0.50781 v 1 a 0.50005,0.50005 0 1 0 1,0 v -1 a 0.50005,0.50005 0 0 0 -0.50782,-0.50781 z m 0,3 a 0.50005,0.50005 0 0 0 -0.49218,0.50781 v 1 a 0.50005,0.50005 0 1 0 1,0 v -1 a 0.50005,0.50005 0 0 0 -0.50782,-0.50781 z"
- id="path10451"
- inkscape:connector-curvature="0" />
- </g>
- <g
- transform="translate(-126,636)"
- id="g10457">
- <path
- inkscape:connector-curvature="0"
- id="path10453"
- transform="translate(0,-636)"
- d="m 554.5,284 c -1.37479,0 -2.5,1.12521 -2.5,2.5 v 2.00781 c 0,1.37479 1.12521,2.5 2.5,2.5 1.37479,0 2.5,-1.12521 2.5,-2.5 v -0.5 h 1.51172 0.49805 l -0.0137,3.28711 c -1.65939,1.40974 -3.24134,2.62162 -3.98828,6.10742 -0.17787,0.67446 0.86019,0.89868 0.97657,0.21094 0.67528,-3.15139 1.9234,-4.08819 3.51757,-5.42773 1.58398,1.34059 2.83152,2.27746 3.51953,5.42968 0.13318,0.66658 1.13544,0.44609 0.97657,-0.21484 -0.76273,-3.49457 -2.35105,-4.70351 -4.00196,-6.11719 l 0.0137,-3.27539 h 2.21679 3.28516 c 0.6573,-0.009 0.6573,-0.9907 0,-1 h -3.04297 C 562.0093,287.6044 561.2975,288 560.5,288 c -0.79751,0 -1.50931,-0.3956 -1.96875,-0.99219 H 558.51172 557 V 286.5 c 0,-1.37479 -1.12521,-2.5 -2.5,-2.5 z m 6,0.008 c -0.82054,0 -1.49609,0.67557 -1.49609,1.4961 0,0.82054 0.67555,1.49609 1.49609,1.49609 0.82053,0 1.49609,-0.67555 1.49609,-1.49609 0,-0.82053 -0.67556,-1.4961 -1.49609,-1.4961 z m -6,0.992 c 0.83435,0 1.5,0.66565 1.5,1.5 v 2.00781 c 0,0.83435 -0.66565,1.5 -1.5,1.5 -0.83435,0 -1.5,-0.66565 -1.5,-1.5 V 286.5 c 0,-0.83435 0.66565,-1.5 1.5,-1.5 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:7.40000057;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
- </g>
- <g
- transform="translate(-21,615)"
- style="opacity:0.8"
- id="g10464">
- <path
- sodipodi:nodetypes="ccccccccc"
- inkscape:connector-curvature="0"
- id="path10460"
- d="m 237.5,-323 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 4 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 4 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -4 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" />
- <path
- inkscape:connector-curvature="0"
- id="path10462"
- d="m 237.52148,-329 a 0.50005,0.50005 0 0 0 -0.5,0.49805 l -0.0215,4.5 1,0.004 0.0195,-4.00195 H 247 v 9 h -4 v 1 h 4.5 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -10 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.8;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" />
- </g>
- <path
- d="m 230,289 v -2 h -1 v 2 z m 0,-3 v -2 h -1 v 2 z m 0,12 v -2 h -1 v 2 z m 0,-3 v -2 h -1 v 2 z m 0,-3 v -2 h -1 v 2 z"
- style="display:inline;opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:new"
- id="path10466"
- inkscape:connector-curvature="0" />
- <g
- transform="translate(-25,619)"
- id="g10474">
- <path
- sodipodi:nodetypes="ccccccccc"
- inkscape:connector-curvature="0"
- id="path10468"
- d="m 137.5,-326 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 3 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 3 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -3 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" />
- <path
- inkscape:connector-curvature="0"
- id="path10470"
- d="m 137.52148,-331 a 0.50005,0.50005 0 0 0 -0.5,0.49609 l -0.0215,3.5 1,0.008 0.0176,-3.00391 H 145 v 7 h -3 v 1 h 3.5 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -8 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.8;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" />
- <path
- inkscape:connector-curvature="0"
- id="path10472"
- d="m 141.52148,-335 a 0.50005,0.50005 0 0 0 -0.5,0.49609 l -0.0215,2.5 1,0.008 0.0176,-2.00391 H 149 v 7 h -2 v 1 h 2.5 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -8 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" />
- </g>
- <g
- transform="translate(125,-1)"
- id="g10480"
- style="display:inline;opacity:0.8;enable-background:new">
- <path
- inkscape:connector-curvature="0"
- id="path10478"
- d="m 51.492188,285.99219 a 0.50005,0.50005 0 0 0 -0.388672,0.19531 0.50005,0.50005 0 0 0 -0.0039,0.006 l -1.953125,1.95312 a 0.50005,0.50005 0 1 0 0.707032,0.70704 L 51,287.70703 V 295.5 a 0.50005,0.50005 0 0 0 0.5,0.5 h 7.792969 l -1.146485,1.14648 a 0.50005,0.50005 0 1 0 0.707032,0.70704 l 1.957031,-1.95704 a 0.50005,0.50005 0 0 0 0.002,-0.79296 0.50005,0.50005 0 0 0 -0.0059,-0.004 l -1.953125,-1.95313 a 0.50005,0.50005 0 1 0 -0.707032,0.70704 L 59.292969,295 H 52 v -7.29297 l 1.146484,1.14649 a 0.50005,0.50005 0 1 0 0.707032,-0.70704 l -1.957032,-1.95703 a 0.50005,0.50005 0 0 0 -0.404296,-0.19726 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
- </g>
- <path
- id="path10482"
- d="m 197.50977,285.99609 a 0.50005,0.50005 0 0 0 -0.31055,0.10547 c -1.78384,1.33863 -2.5833,3.62488 -2.02149,5.78321 0.56181,2.15833 2.37387,3.7674 4.58399,4.0664 2.05389,0.27788 4.06729,-0.6352 5.23828,-2.31445 V 296.5 a 0.50005,0.50005 0 1 0 1,0 v -4 a 0.50005,0.50005 0 0 0 -0.5,-0.5 h -4 a 0.50005,0.50005 0 1 0 0,1 h 2.72656 c -0.95112,1.41787 -2.62038,2.19029 -4.33008,1.95898 -1.8109,-0.24499 -3.29162,-1.5577 -3.75195,-3.32617 -0.46033,-1.76847 0.19267,-3.63559 1.6543,-4.73242 a 0.50005,0.50005 0 0 0 -0.28906,-0.9043 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.8;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- id="path10484"
- style="display:inline;opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:new"
- d="m 167,289 v -2 h -1 v 2 z m 0,-3 v -2 h -1 v 2 z m 0,12 v -2 h -1 v 2 z m 0,-3 v -2 h -1 v 2 z m 0,-3 v -2 h -1 v 2 z"
- inkscape:connector-curvature="0" />
- <path
- d="m 188,289 v -2 h -1 v 2 z m 0,-3 v -2 h -1 v 2 z m 0,12 v -2 h -1 v 2 z m 0,-3 v -2 h -1 v 2 z m 0,-3 v -2 h -1 v 2 z"
- style="display:inline;opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:new"
- id="path10486"
- inkscape:connector-curvature="0" />
- <path
- inkscape:connector-curvature="0"
- id="path10488"
- style="display:inline;opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:new"
- d="m 209,289 v -2 h -1 v 2 z m 0,-3 v -2 h -1 v 2 z m 0,12 v -2 h -1 v 2 z m 0,-3 v -2 h -1 v 2 z m 0,-3 v -2 h -1 v 2 z" />
- <path
- inkscape:connector-curvature="0"
- id="path10490"
- d="m 160.5,285.99023 a 0.50005,0.50005 0 0 0 -0.34766,0.85743 l 1.14649,1.14648 -6.29297,6.29297 -1.14648,-1.14649 a 0.50005,0.50005 0 1 0 -0.70704,0.70704 l 3,3 a 0.50005,0.50005 0 1 0 0.70704,-0.70704 l -1.14649,-1.14648 6.29297,-6.29297 1.14648,1.14649 a 0.50005,0.50005 0 1 0 0.70704,-0.70704 l -3,-3 A 0.50005,0.50005 0 0 0 160.5,285.99023 Z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.85;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" />
- <g
- id="g10502"
- transform="rotate(180,170.50319,427.50118)">
- <path
- id="path10492"
- transform="rotate(-180,170.50319,427.50118)"
- d="m 138.61719,286.00781 a 0.60006002,0.60006002 0 0 0 -0.47657,0.99024 l 1.61133,2.01953 a 1.5007322,1.5007322 0 0 1 1.2461,1.5625 l 0.92773,1.16211 a 0.60006002,0.60006002 0 0 0 0.4668,0.23242 0.60006002,0.60006002 0 0 0 0.4707,-0.98047 l -1.58789,-1.99023 1.58984,-2.00782 a 0.60006002,0.60006002 0 1 0 -0.9414,-0.74414 l -1.41602,1.78907 -1.42969,-1.79102 a 0.60006002,0.60006002 0 0 0 -0.46093,-0.24219 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.7;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.20000005;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- inkscape:connector-curvature="0" />
- <path
- inkscape:connector-curvature="0"
- id="path10496"
- d="m 201.60938,559.02148 a 0.60006002,0.60006002 0 0 0 -0.47071,0.98243 l 1.59766,2.00195 -1.59766,2.00195 a 0.6002929,0.6002929 0 1 0 0.9375,0.75 l 1.42774,-1.78906 1.42773,1.78906 a 0.6002929,0.6002929 0 1 0 0.9375,-0.75 l -1.59766,-2.00195 1.59766,-2.00195 a 0.6002929,0.6002929 0 1 0 -0.9375,-0.75 l -1.42773,1.78906 -1.42774,-1.78906 a 0.60006002,0.60006002 0 0 0 -0.46679,-0.23243 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.20000005;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
- <path
- inkscape:connector-curvature="0"
- id="path10498"
- d="m 196.50391,561 a 0.50004997,0.50004997 0 0 0 -0.22657,0.0547 c 0,0 -0.3567,0.1843 -0.66796,0.57226 C 195.29811,562.01491 195,562.63889 195,563.5 v 5 c 0,0.86111 0.29839,1.4864 0.60938,1.875 0.31098,0.3886 0.66796,0.57227 0.66796,0.57227 a 0.50004997,0.50004997 0 1 0 0.44532,-0.89454 c 0,0 -0.14302,-0.0665 -0.33204,-0.30273 C 196.20161,569.5138 196,569.13889 196,568.5 v -5 c 0,-0.63889 0.20189,-1.01282 0.39062,-1.24805 0.18874,-0.23523 0.33204,-0.30078 0.33204,-0.30078 A 0.50004997,0.50004997 0 0 0 196.50391,561 Z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.7;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994px;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" />
- <path
- inkscape:connector-curvature="0"
- id="path10500"
- d="m 207.48828,557 a 0.50004997,0.50004997 0 0 0 -0.20508,0.95117 c 0,0 0.14526,0.0655 0.33399,0.30078 0.18873,0.23523 0.38867,0.60916 0.38867,1.24805 v 5 c 0,0.63889 -0.20161,1.0138 -0.39063,1.25 -0.18901,0.2362 -0.33203,0.30273 -0.33203,0.30273 a 0.50006306,0.50006306 0 1 0 0.44727,0.89454 c 0,0 0.35503,-0.18367 0.66601,-0.57227 0.31099,-0.3886 0.60938,-1.01389 0.60938,-1.875 v -5 c 0,-0.86111 -0.29811,-1.48509 -0.60938,-1.87305 -0.31127,-0.38796 -0.66796,-0.57226 -0.66796,-0.57226 A 0.50004997,0.50004997 0 0 0 207.48828,557 Z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994px;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" />
- </g>
- <g
- style="opacity:1"
- id="g10508"
- transform="translate(-21,467)">
- <path
- id="path10504"
- transform="translate(21,-467)"
- d="m 91.347656,288.96484 a 0.51005099,0.51005099 0 0 0 -0.376953,0.20899 c -1.08977,1.44807 -1.289364,3.38767 -0.521484,5.03125 0.76787,1.64358 2.380967,2.72477 4.185547,2.80078 1.781016,0.075 3.455174,-0.8442 4.365234,-2.38086 v 1.875 a 0.50005,0.50005 0 1 0 1,0 v -3 A 0.50005,0.50005 0 0 0 99.5,293 h -3 a 0.50005,0.50005 0 1 0 0,1 h 1.693359 a 0.51006897,0.51006897 0 0 0 -0.03906,0.0586 c -0.71442,1.24711 -2.052293,1.98773 -3.476563,1.92774 -1.42426,-0.06 -2.695887,-0.90979 -3.304687,-2.21289 -0.60881,-1.3031 -0.449088,-2.83939 0.414062,-3.98633 a 0.51005099,0.51005099 0 0 0 -0.388671,-0.82227 0.51005099,0.51005099 0 0 0 -0.05078,0 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:markers stroke fill;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- inkscape:connector-curvature="0" />
- </g>
- <g
- transform="translate(-18,356)"
- id="g10514"
- style="opacity:0.7;vector-effect:none;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke">
- <path
- id="path10510"
- transform="translate(18,-356)"
- d="m 95.398438,282.97461 a 0.50004994,0.50004994 0 0 0 -0.05078,0.002 0.50004994,0.50004994 0 0 0 -0.367187,0.20313 c -1.08755,1.44512 -1.289758,3.38123 -0.523438,5.02148 0.76632,1.64025 2.376885,2.71907 4.177735,2.79492 1.781962,0.0751 3.458632,-0.84789 4.365232,-2.38867 V 290.5 a 0.50004997,0.50004997 0 1 0 1,0 v -3 a 0.50004997,0.50004997 0 0 0 -0.5,-0.5 h -3 a 0.50004997,0.50004997 0 1 0 0,1 h 1.70312 a 0.50004994,0.50004994 0 0 0 -0.0391,0.0645 c -0.71624,1.25031 -2.05833,1.99179 -3.486324,1.93164 -1.42799,-0.0601 -2.704083,-0.91231 -3.314453,-2.21875 -0.61036,-1.30644 -0.449354,-2.8462 0.416016,-3.99609 A 0.50004994,0.50004994 0 0 0 95.3984,282.97466 Z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- inkscape:connector-curvature="0" />
- </g>
- <g
- id="g10528"
- transform="translate(-21,384)">
- <g
- style="display:inline;opacity:0.7;enable-background:new"
- id="g10520"
- transform="translate(46,-388)">
- <path
- inkscape:connector-curvature="0"
- id="path10518"
- d="m 50.492188,287.99219 a 0.50005,0.50005 0 0 0 -0.388672,0.19531 0.50005,0.50005 0 0 0 -0.0039,0.006 l -1.953125,1.95312 a 0.50005,0.50005 0 1 0 0.707032,0.70704 L 50,289.70703 V 295.5 a 0.50005,0.50005 0 0 0 0.5,0.5 h 5.792969 l -1.146485,1.14648 a 0.50005,0.50005 0 1 0 0.707032,0.70704 l 1.957031,-1.95704 a 0.50005,0.50005 0 0 0 0.002,-0.79296 0.50005,0.50005 0 0 0 -0.0059,-0.004 l -1.953125,-1.95313 a 0.50005,0.50005 0 1 0 -0.707032,0.70704 L 56.292969,295 H 51 v -5.29297 l 1.146484,1.14649 a 0.50005,0.50005 0 1 0 0.707032,-0.70704 l -1.957032,-1.95703 a 0.50005,0.50005 0 0 0 -0.404296,-0.19726 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 385.5,390 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 4 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 4 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -4 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z" id="path27961" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccccccc"/>
+ </g>
+ <g id="g28061" style="display:inline;fill:#ffffff;enable-background:new" transform="translate(42,62.999998)">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.7;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.10000002;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 40.433594,95 a 0.55005501,0.55005501 0 0 0 -0.378906,0.166016 l -3.44336,3.445312 a 0.55005501,0.55005501 0 1 0 0.777344,0.777344 l 3.445312,-3.44336 A 0.55005501,0.55005501 0 0 0 40.433594,95 Z m -9.445313,9.44531 a 0.55005501,0.55005501 0 0 0 -0.376953,0.16602 l -3.445312,3.44336 a 0.55104336,0.55104336 0 1 0 0.779296,0.77929 l 3.44336,-3.44531 a 0.55005501,0.55005501 0 0 0 -0.400391,-0.94336 z" id="path27971" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 32.5,100 c -0.276131,3e-5 -0.499972,0.22387 -0.5,0.5 v 3 c 2.8e-5,0.27613 0.223869,0.49997 0.5,0.5 h 3 c 0.276131,-3e-5 0.499972,-0.22387 0.5,-0.5 v -3 c -2.8e-5,-0.27613 -0.223869,-0.49997 -0.5,-0.5 z" id="path27982" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccccccc"/>
+ </g>
+ <g id="g28078-6" transform="rotate(90,48.5,-204.5)" style="fill:#ffffff">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.00000024;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 412.5,-364 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 11 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 2 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -11 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z m 9,0 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 11 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 2 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -11 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z" id="path28076-4" inkscape:connector-curvature="0" sodipodi:nodetypes="cccccccccccccccccc"/>
+ </g>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.00000024;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 175.5,159 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 3 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 3 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -3 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z m 8,0 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 3 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 3 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -3 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z m -8,8 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 3 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 3 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -3 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z m 8,0 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 3 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 3 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -3 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z" id="path28080-3" inkscape:connector-curvature="0" sodipodi:nodetypes="cccccccccccccccccccccccccccccccccccc"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.00000024;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 217.5,159 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 11 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 11 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -11 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z" id="path28082-0" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccccccc"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 241.49219,158.00781 c -0.1326,3e-5 -0.25982,0.0527 -0.35352,0.14649 l -4,4 c -0.094,0.0938 -0.14648,0.22091 -0.14648,0.35351 v 9 c 0,0.27613 0.2239,0.49997 0.5,0.5 h 9 c 0.1326,-3e-5 0.25971,-0.0527 0.35351,-0.14648 l 4,-4 c 0.094,-0.0938 0.14649,-0.22092 0.14649,-0.35352 v -9 c 0,-0.27613 -0.2239,-0.49997 -0.5,-0.5 z m 7.48828,0.98242 a 1.0001,1.0001 0 0 1 0.72656,1.7168 L 247,163.41406 V 170 a 1.0001,1.0001 0 1 1 -2,0 v -6 h -6 a 1.0001,1.0001 0 1 1 0,-2 h 6.58594 l 2.70703,-2.70703 a 1.0001,1.0001 0 0 1 0.6875,-0.30274 z" id="path28084-2" inkscape:connector-curvature="0"/>
+ <g inkscape:export-ydpi="96" inkscape:export-xdpi="96" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" style="display:inline;opacity:1;fill:#ffffff;enable-background:new" id="g28075-6" transform="rotate(-180,339.00356,333)">
+ <g transform="matrix(1,0,0,-1,0,999)" style="opacity:0.7;fill:#ffffff" id="g28071-5">
+ <path inkscape:connector-curvature="0" id="path28067-0" transform="matrix(-1,0,0,1,358.00712,333)" d="m -61.992188,164 v 7 h 1 v -3 h 2 v 1 h 1 v -1 h 2 v 3 h 1 v -3 h 2 v 1 h 1 v -1 h 2 v 3 h 1 v -7 h -1 v 3 h -2 v -1 h -1 v 1 h -2 v -3 h -1 v 3 h -2 v -1 h -1 v 1 h -2 v -3 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
</g>
- <g
- transform="translate(42,-384)"
- id="g10526"
- style="display:inline;opacity:1;enable-background:new">
- <path
- inkscape:connector-curvature="0"
- id="path10524"
- d="m 50.492188,287.99219 a 0.50005,0.50005 0 0 0 -0.388672,0.19531 0.50005,0.50005 0 0 0 -0.0039,0.006 l -1.953125,1.95312 a 0.50005,0.50005 0 1 0 0.707032,0.70704 L 50,289.70703 V 295.5 a 0.50005,0.50005 0 0 0 0.5,0.5 h 5.792969 l -1.146485,1.14648 a 0.50005,0.50005 0 1 0 0.707032,0.70704 l 1.957031,-1.95704 a 0.50005,0.50005 0 0 0 0.002,-0.79296 0.50005,0.50005 0 0 0 -0.0059,-0.004 l -1.953125,-1.95313 a 0.50005,0.50005 0 1 0 -0.707032,0.70704 L 56.292969,295 H 51 v -5.29297 l 1.146484,1.14649 a 0.50005,0.50005 0 1 0 0.707032,-0.70704 l -1.957032,-1.95703 a 0.50005,0.50005 0 0 0 -0.404296,-0.19726 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
+ <path sodipodi:nodetypes="ccccccccc" inkscape:connector-curvature="0" id="path28073-8" d="m 406.5,504 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 3 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 3 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -3 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
+ </g>
+ <g inkscape:export-ydpi="96" inkscape:export-xdpi="96" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" style="display:inline;opacity:1;stroke:#ffffff;enable-background:new" id="g28228" transform="translate(-0.99999996)">
+ <g style="display:inline;opacity:0.98999999;stroke:#ffffff;enable-background:new" transform="translate(338.99999,-439.99995)" id="g28217">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="M 501.49219 52.992188 C 501.21604 52.996495 500.99568 53.223854 501 53.5 L 501 54.5 C 500.99 55.176161 502.00956 55.176161 502 54.5 L 502 53.5 C 502.004 53.217735 501.77446 52.987773 501.49219 52.992188 z M 495.48438 53 C 495.3572 53.004 495.23638 53.056404 495.14648 53.146484 L 490.14648 58.146484 C 490.04522 58.247821 490.01608 58.369975 490.01562 58.492188 L 490 58.507812 L 490 60.5 C 489.99 61.176161 491.00956 61.176161 491 60.5 L 491 59 L 495.5 59 C 495.77613 58.99997 495.99997 58.77613 496 58.5 L 496 54 L 496.5 54 C 497.17616 54.0096 497.17616 52.990437 496.5 53 L 495.5 53 L 495.5 53.001953 C 495.49455 53.001948 495.48986 52.999829 495.48438 53 z M 498.5 53 C 497.82384 52.9904 497.82384 54.009563 498.5 54 L 499.5 54 C 500.17616 54.0096 500.17616 52.990437 499.5 53 L 498.5 53 z M 501.49219 55.992188 C 501.21604 55.996495 500.99568 56.223854 501 56.5 L 501 57.5 C 500.99 58.176161 502.00956 58.176161 502 57.5 L 502 56.5 C 502.004 56.217735 501.77446 55.987773 501.49219 55.992188 z M 501.49219 58.992188 C 501.21604 58.996495 500.99568 59.223854 501 59.5 L 501 60.5 C 500.99 61.176161 502.00956 61.176161 502 60.5 L 502 59.5 C 502.004 59.217735 501.77446 58.987773 501.49219 58.992188 z M 490.49219 61.992188 C 490.21604 61.996495 489.99568 62.223854 490 62.5 L 490 63.5 C 489.99 64.176161 491.00956 64.176161 491 63.5 L 491 62.5 C 491.004 62.217735 490.77446 61.987773 490.49219 61.992188 z M 501.49219 61.992188 C 501.21604 61.996495 500.99568 62.223854 501 62.5 L 501 63.5 C 500.99 64.176161 502.00956 64.176161 502 63.5 L 502 62.5 C 502.004 62.217735 501.77446 61.987773 501.49219 61.992188 z M 490.49219 64.992188 C 490.21604 64.996494 489.99568 65.223854 490 65.5 L 490 66.5 C 489.99 67.176161 491.00956 67.176161 491 66.5 L 491 65.5 C 491.004 65.217735 490.77446 64.987773 490.49219 64.992188 z M 501.49219 64.992188 C 501.21604 64.996494 500.99568 65.223854 501 65.5 L 501 66.5 C 500.99 67.176161 502.00956 67.176161 502 66.5 L 502 65.5 C 502.004 65.217735 501.77446 64.987773 501.49219 64.992188 z M 492.5 66 C 491.82384 65.9904 491.82384 67.009563 492.5 67 L 493.5 67 C 494.17616 67.0096 494.17616 65.990437 493.5 66 L 492.5 66 z M 495.5 66 C 494.82384 65.9904 494.82384 67.009563 495.5 67 L 496.5 67 C 497.17616 67.0096 497.17616 65.990437 496.5 66 L 495.5 66 z M 498.5 66 C 497.82384 65.9904 497.82384 67.009563 498.5 67 L 499.5 67 C 500.17616 67.0096 500.17616 65.990437 499.5 66 L 498.5 66 z " transform="translate(-337.99999,439.99995)" id="path28215"/>
</g>
</g>
- <g
- transform="translate(21,573)"
- id="g10534">
- <path
- inkscape:connector-curvature="0"
- id="path10530"
- d="m 216.5,-282 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 6 a 0.50005,0.50005 0 0 0 0.5,0.5 h 7 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -6 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m 0.5,1 h 6 v 5 h -6 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.7;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:markers stroke fill;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
- <path
- inkscape:connector-curvature="0"
- id="path10532"
- d="m 226.5,-289 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 13 a 0.50005,0.50005 0 0 0 0.5,0.5 h 3 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -13 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m 0.5,1 h 2 v 12 h -2 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:markers stroke fill;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" />
- </g>
- <g
- style="display:inline;enable-background:new"
- id="g27713"
- transform="translate(-80)">
- <path
- id="rect27779"
- style="display:inline;opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;enable-background:new"
- d="m 618,63 h 1 v 1.999999 h -1 z m -2,0 h 1 v 1.999999 h -1 z m -2,0 h 1 v 1.999999 h -1 z M 613.53711,53 C 612.69436,53 612,53.694362 612,54.537109 v 8 2.925782 C 612,66.305638 612.69436,67 613.53711,67 h 8.92578 c 0.73741,0 1.36143,-0.531036 1.50586,-1.228516 0.0206,-0.09964 0.0312,-0.20325 0.0312,-0.308593 v -2.925782 -8 C 624,53.694362 623.30564,53 622.46289,53 Z m 0,9 h 8.92578 C 622.76894,62 623,62.231065 623,62.537109 v 2.925782 C 623,65.768935 622.76894,66 622.46289,66 h -8.92578 C 613.23106,66 613,65.768935 613,65.462891 V 62.537109 C 613,62.231065 613.23106,62 613.53711,62 Z"
- inkscape:connector-curvature="0" />
- </g>
- <path
- id="path27891"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999988;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 489.5,45 a 0.50004994,0.50004994 0 0 0 -0.0996,0.01172 0.50004994,0.50004994 0 0 0 -0.0937,0.03125 0.50004994,0.50004994 0 0 0 -0.0879,0.04883 0.50004994,0.50004994 0 0 0 -0.0391,0.03125 0.50004994,0.50004994 0 0 0 -0.0371,0.0332 0.50004994,0.50004994 0 0 0 -0.0312,0.03906 0.50004994,0.50004994 0 0 0 -0.0293,0.04102 0.50004994,0.50004994 0 0 0 -0.0234,0.04297 0.50004994,0.50004994 0 0 0 -0.0195,0.04687 0.50004994,0.50004994 0 0 0 -0.0156,0.04687 0.50004994,0.50004994 0 0 0 -0.01,0.04883 0.50004994,0.50004994 0 0 0 -0.002,0.150391 0.50004994,0.50004994 0 0 0 0.01,0.04883 0.50004994,0.50004994 0 0 0 0.0156,0.04687 0.50004994,0.50004994 0 0 0 0.0176,0.04687 0.50004994,0.50004994 0 0 0 0.0234,0.04297 0.50004994,0.50004994 0 0 0 0.0293,0.04297 0.50004994,0.50004994 0 0 0 0.0664,0.07227 0.50004994,0.50004994 0 0 0 0.26953,0.123047 A 0.50004994,0.50004994 0 0 0 489.5,46 h 13 a 0.50004994,0.50004994 0 0 0 0.0996,-0.01172 0.50004994,0.50004994 0 0 0 0.0469,-0.01367 0.50004994,0.50004994 0 0 0 0.0469,-0.01758 0.50004994,0.50004994 0 0 0 0.0449,-0.02148 0.50004994,0.50004994 0 0 0 0.082,-0.05859 0.50004994,0.50004994 0 0 0 0.0371,-0.0332 0.50004994,0.50004994 0 0 0 0.0312,-0.03906 0.50004994,0.50004994 0 0 0 0.0723,-0.13086 0.50004994,0.50004994 0 0 0 0.0156,-0.04687 0.50004994,0.50004994 0 0 0 0.0156,-0.09961 0.50004994,0.50004994 0 0 0 0,-0.04883 0.50004994,0.50004994 0 0 0 -0.0137,-0.09961 0.50004994,0.50004994 0 0 0 -0.0156,-0.04687 0.50004994,0.50004994 0 0 0 -0.0176,-0.04687 0.50004994,0.50004994 0 0 0 -0.0527,-0.08594 0.50004994,0.50004994 0 0 0 -0.0312,-0.03711 0.50004994,0.50004994 0 0 0 -0.0742,-0.06641 0.50004994,0.50004994 0 0 0 -0.043,-0.02734 0.50004994,0.50004994 0 0 0 -0.043,-0.02344 0.50004994,0.50004994 0 0 0 -0.0469,-0.01758 0.50004994,0.50004994 0 0 0 -0.0488,-0.01367 0.50004994,0.50004994 0 0 0 -0.0488,-0.0098 A 0.50004994,0.50004994 0 0 0 502.5,45 Z m 4.5,-3.5 c -3e-5,0.276131 -0.22387,0.499972 -0.5,0.5 h -2 c -0.27613,-2.8e-5 -0.49997,-0.223869 -0.5,-0.5 v -2 c 3e-5,-0.276131 0.22387,-0.499972 0.5,-0.5 h 2 c 0.27613,2.8e-5 0.49997,0.223869 0.5,0.5 z M 493,41 v -1 h -1 v 1 z m 5,-3.5 c -3e-5,0.276131 -0.22387,0.499972 -0.5,0.5 h -2 c -0.27613,-2.8e-5 -0.49997,-0.223869 -0.5,-0.5 v -2 c 3e-5,-0.276131 0.22387,-0.499972 0.5,-0.5 h 2 c 0.27613,2.8e-5 0.49997,0.223869 0.5,0.5 z m -4,0 c -3e-5,0.276131 -0.22387,0.499972 -0.5,0.5 h -2 c -0.27613,-2.8e-5 -0.49997,-0.223869 -0.5,-0.5 v -2 c 3e-5,-0.276131 0.22387,-0.499972 0.5,-0.5 h 2 c 0.27613,2.8e-5 0.49997,0.223869 0.5,0.5 z M 489.5,33 a 0.50004997,0.50004997 0 0 0 -0.5,0.5 v 10 a 0.50004997,0.50004997 0 0 0 0.5,0.5 h 13 a 0.50004997,0.50004997 0 0 0 0.5,-0.5 v -10 A 0.50004997,0.50004997 0 0 0 502.5,33 Z m 0.5,1 h 12 v 9 h -12 z"
- inkscape:connector-curvature="0" />
- <g
- id="g27886"
- transform="translate(-123,-21)">
- <g
- style="display:inline;enable-background:new"
- id="g28033"
- transform="translate(21,-21)">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.00157475;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="M 516.03711,33 C 514.91694,33 514,33.916938 514,35.037109 V 36 c -0.0409,0.706384 1.0409,0.706384 1,0 V 35.037109 C 515,34.454485 515.45448,34 516.03711,34 h 4.92578 C 521.54552,34 522,34.454485 522,35.037109 v 5.058594 c -0.58287,0.214917 -1,0.784943 -1,1.441406 v 1.925782 c 3e-5,0.276131 0.22387,0.499972 0.5,0.5 H 522 V 46 h 1 v -2.037109 h 0.5 c 0.27613,-2.8e-5 0.49997,-0.223869 0.5,-0.5 v -1.925782 c 0,-0.656467 -0.41713,-1.22649 -1,-1.441406 V 35.037109 C 523,33.916938 522.08306,33 520.96289,33 Z"
- transform="translate(102,41)"
- id="path28027"
- inkscape:connector-curvature="0" />
+ <g style="display:inline;enable-background:new" id="g28876">
+ <g transform="translate(-336,-84)" id="g28475">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 427.5,348 c -1.37479,0 -2.5,1.12521 -2.5,2.5 0,1.17958 0.69047,1.86035 1.13281,2.33984 0.59193,0.64165 1.20449,1.21721 1.66016,1.66016 l -0.89649,0.89648 c -0.91207,0.91207 -1.15649,2.32468 -0.5625,3.35352 0.56456,0.97783 1.72188,1.4563 2.8125,1.16406 C 430.23711,359.62183 431,358.6291 431,357.5 a 0.50005,0.50005 0 1 0 -1,0 c 0,0.68132 -0.45321,1.27287 -1.11133,1.44922 -0.65811,0.17634 -1.34683,-0.10917 -1.6875,-0.69922 -0.31121,-0.53904 -0.18558,-1.55855 0.40235,-2.14648 l 1.25,-1.25 a 0.50005,0.50005 0 0 0 0,-0.70704 c -0.4316,-0.43159 -1.30799,-1.251 -1.98633,-1.98632 C 426.38701,351.63965 426,351.32042 426,350.5 c 0,-0.83435 0.66565,-1.5 1.5,-1.5 1.16667,0 2.02863,1.23566 2.64648,1.85352 a 0.50005,0.50005 0 1 0 0.70704,-0.70704 C 430.47137,349.76434 429.33333,348 427.5,348 Z" id="path28463" inkscape:connector-curvature="0"/>
+ <path id="path28468" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 437.5,348 c -1.83333,0 -2.97137,1.76434 -3.35352,2.14648 a 0.50005,0.50005 0 1 0 0.70704,0.70704 C 435.47137,350.23566 436.33333,349 437.5,349 c 0.83435,0 1.5,0.66565 1.5,1.5 0,0.82042 -0.38701,1.13965 -0.86719,1.66016 -0.67834,0.73532 -1.55473,1.55473 -1.98633,1.98632 a 0.50005,0.50005 0 0 0 0,0.70704 l 1.25,1.25 c 0.58793,0.58793 0.71356,1.60744 0.40235,2.14648 -0.34067,0.59005 -1.02939,0.87556 -1.6875,0.69922 C 435.45321,358.77287 435,358.18132 435,357.5 a 0.50005,0.50005 0 1 0 -1,0 c 0,1.1291 0.76289,2.12183 1.85352,2.41406 1.09062,0.29224 2.24794,-0.18623 2.8125,-1.16406 0.59399,-1.02884 0.34957,-2.44145 -0.5625,-3.35352 L 437.20703,354.5 c 0.45567,-0.44295 1.06823,-1.01851 1.66016,-1.66016 C 439.30953,352.36035 440,351.67958 440,350.5 c 0,-1.37479 -1.12521,-2.5 -2.5,-2.5 z m -4.5,4.00005 v -2 h -1 v 2 z m 0,-3 v -2 h -1 v 2 z m 0,12 v -2 h -1 v 2 z m 0,-3 v -2 h -1 v 2 z m 0,-3 v -2 h -1 v 2 z"/>
</g>
- <g
- style="display:inline;enable-background:new"
- id="g28053-2">
- <path
- inkscape:connector-curvature="0"
- id="rect28051-4"
- transform="translate(21,-21)"
- style="display:inline;opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;enable-background:new"
- d="m 616,85 h 1 v 0.999999 h -1 z m -2,0 h 1 v 0.999999 h -1 z m -0.46289,-8 C 612.69436,77 612,77.694362 612,78.537109 v 7.925782 C 612,87.305638 612.69436,88 613.53711,88 h 5.92578 c 0.73741,0 1.36143,-0.531036 1.50586,-1.228516 0.0206,-0.09964 0.0312,-0.20325 0.0312,-0.308593 V 78.537109 C 621,77.694362 620.30564,77 619.46289,77 Z m 0,7 h 5.92578 C 619.76894,84 620,84.231065 620,84.537109 v 1.925782 C 620,86.768935 619.76894,87 619.46289,87 h -5.92578 C 613.23106,87 613,86.768935 613,86.462891 V 84.537109 C 613,84.231065 613.23106,84 613.53711,84 Z" />
+ <g inkscape:export-ydpi="96" inkscape:export-xdpi="96" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" transform="translate(-1.031325,-21.999745)" style="display:inline;opacity:1;enable-background:new" id="g8671-6">
+ <path style="display:inline;overflow:visible;visibility:visible;opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.75542808px;marker:none;enable-background:accumulate" d="m 503.5,84 c -0.27613,2.8e-5 -0.49997,0.223869 -0.5,0.5 v 9.640625 c -0.56586,-0.207564 -1.28645,-0.1813 -1.98242,0.07227 -1.35506,0.496297 -2.23748,1.698783 -1.9707,2.685547 0.26594,0.987121 1.58042,1.385047 2.93554,0.888671 1.1076,-0.40637 1.93122,-1.302825 2.00977,-2.1875 L 503.99805,87 H 512 v 6.140625 c -0.56586,-0.207559 -1.28645,-0.181295 -1.98242,0.07227 -1.35507,0.496303 -2.23748,1.698787 -1.9707,2.685547 0.26596,0.987109 1.58042,1.385032 2.93554,0.888671 1.1076,-0.406375 1.93122,-1.302829 2.00977,-2.1875 L 513,84.5 c -3e-5,-0.276131 -0.22387,-0.499972 -0.5,-0.5 z" transform="translate(-8.968675,11.999745)" id="ellipse8665-6" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccccccccccccccc"/>
</g>
- </g>
- <g
- id="g27900"
- transform="translate(-123,-21)">
- <g
- transform="translate(0,-21)"
- id="g28156">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 543.5,33 c -0.8225,0 -1.5,0.677492 -1.5,1.5 0,0.230167 0.0579,0.446791 0.15234,0.642578 a 0.50005,0.50005 0 0 0 -0.006,0.0039 L 540.29297,37 H 539.5 a 0.50005,0.50005 0 1 0 0,1 h 1 a 0.50005,0.50005 0 0 0 0.35352,-0.146484 l 2,-2 a 0.50005,0.50005 0 0 0 0.004,-0.0059 C 543.05321,35.942094 543.26984,36 543.5,36 c 0.8225,0 1.5,-0.677492 1.5,-1.5 0,-0.822508 -0.6775,-1.5 -1.5,-1.5 z m 0,1 c 0.28206,0 0.5,0.217938 0.5,0.5 0,0.282062 -0.21794,0.5 -0.5,0.5 -0.28206,0 -0.5,-0.217938 -0.5,-0.5 0,-0.282062 0.21794,-0.5 0.5,-0.5 z m 0,5 c -0.64684,0 -1.19777,0.420971 -1.40625,1 H 539.5 a 0.50005,0.50005 0 1 0 0,1 h 2.59375 c 0.20848,0.579029 0.75941,1 1.40625,1 0.8225,0 1.5,-0.677492 1.5,-1.5 0,-0.822508 -0.6775,-1.5 -1.5,-1.5 z m 0,1 c 0.28206,0 0.5,0.217938 0.5,0.5 0,0.282062 -0.21794,0.5 -0.5,0.5 -0.28206,0 -0.5,-0.217938 -0.5,-0.5 0,-0.282062 0.21794,-0.5 0.5,-0.5 z m -4,2.992188 a 0.50005,0.50005 0 1 0 0,1 h 0.79297 l 1.85351,1.853515 a 0.50005,0.50005 0 0 0 0.008,0.0078 C 542.05866,46.050309 542,46.268282 542,46.5 c 0,0.822508 0.6775,1.5 1.5,1.5 0.8225,0 1.5,-0.677492 1.5,-1.5 0,-0.822508 -0.6775,-1.5 -1.5,-1.5 -0.22767,0 -0.44256,0.05591 -0.63672,0.148438 a 0.50005,0.50005 0 0 0 -0.01,-0.0098 l -2,-2 A 0.50005,0.50005 0 0 0 540.5,42.992188 Z M 543.5,46 c 0.28206,0 0.5,0.217938 0.5,0.5 0,0.282062 -0.21794,0.5 -0.5,0.5 -0.28206,0 -0.5,-0.217938 -0.5,-0.5 0,-0.282062 0.21794,-0.5 0.5,-0.5 z"
- transform="translate(123,41)"
- id="circle28098"
- inkscape:connector-curvature="0" />
+ <g id="g27905">
+ <path sodipodi:nodetypes="ccccccccc" inkscape:connector-curvature="0" id="path27891-0" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.65;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999988;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 498,37.5 c -3e-5,0.276131 -0.22387,0.499972 -0.5,0.5 h -2 c -0.27613,-2.8e-5 -0.49997,-0.223869 -0.5,-0.5 v -2 c 3e-5,-0.276131 0.22387,-0.499972 0.5,-0.5 h 2 c 0.27613,2.8e-5 0.49997,0.223869 0.5,0.5 z"/>
+ <path sodipodi:nodetypes="cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc" inkscape:connector-curvature="0" d="m 489.5,45 c -0.0335,5.59e-4 -0.0669,0.0045 -0.0996,0.01172 -0.0322,0.0073 -0.0636,0.01777 -0.0937,0.03125 -0.0309,0.01328 -0.0603,0.02964 -0.0879,0.04883 -0.0136,0.0098 -0.0266,0.02019 -0.0391,0.03125 -0.0129,0.01044 -0.0253,0.02152 -0.0371,0.0332 -0.011,0.01249 -0.0215,0.02553 -0.0312,0.03906 -0.0104,0.01317 -0.0202,0.02686 -0.0293,0.04102 -0.009,0.01393 -0.0163,0.02827 -0.0234,0.04297 -0.007,0.01528 -0.0138,0.03093 -0.0195,0.04687 -0.006,0.01536 -0.0112,0.031 -0.0156,0.04687 -0.004,0.0161 -0.007,0.0324 -0.01,0.04883 -0.008,0.04974 -0.009,0.100447 -0.002,0.150391 0.003,0.01643 0.006,0.03273 0.01,0.04883 0.004,0.01587 0.01,0.03151 0.0156,0.04687 0.005,0.01591 0.011,0.03155 0.0176,0.04687 0.007,0.0147 0.0149,0.02904 0.0234,0.04297 0.009,0.01482 0.0188,0.02916 0.0293,0.04297 0.0197,0.02621 0.0419,0.05042 0.0664,0.07227 0.0754,0.0673 0.16932,0.110201 0.26953,0.123047 0.0188,0.0024 0.0377,0.0037 0.0566,0.0039 h 13 c 0.0335,-5.59e-4 0.0669,-0.0045 0.0996,-0.01172 0.0159,-0.0038 0.0315,-0.0084 0.0469,-0.01367 0.0159,-0.0051 0.0316,-0.01094 0.0469,-0.01758 0.0153,-0.0064 0.0303,-0.01358 0.0449,-0.02148 0.0292,-0.01672 0.0567,-0.03635 0.082,-0.05859 0.0129,-0.01044 0.0253,-0.02152 0.0371,-0.0332 0.011,-0.01249 0.0215,-0.02553 0.0312,-0.03906 0.0305,-0.03975 0.0549,-0.08386 0.0723,-0.13086 0.006,-0.01536 0.0112,-0.031 0.0156,-0.04687 0.009,-0.03259 0.0138,-0.06597 0.0156,-0.09961 8e-4,-0.01627 8e-4,-0.03256 0,-0.04883 -10e-4,-0.03358 -0.006,-0.06695 -0.0137,-0.09961 -0.004,-0.01587 -0.01,-0.03151 -0.0156,-0.04687 -0.005,-0.01591 -0.011,-0.03155 -0.0176,-0.04687 -0.0146,-0.03035 -0.0323,-0.05914 -0.0527,-0.08594 -0.01,-0.01287 -0.0202,-0.02525 -0.0312,-0.03711 -0.0225,-0.02455 -0.0473,-0.0468 -0.0742,-0.06641 -0.0139,-0.0098 -0.0282,-0.01896 -0.043,-0.02734 -0.0139,-0.0085 -0.0283,-0.01633 -0.043,-0.02344 -0.0153,-0.0066 -0.031,-0.01251 -0.0469,-0.01758 -0.016,-0.0054 -0.0323,-0.0099 -0.0488,-0.01367 -0.0161,-0.0041 -0.0324,-0.0073 -0.0488,-0.0098 -0.0188,-0.0024 -0.0377,-0.0037 -0.0566,-0.0039 z m 0,-12 c -0.27613,2.8e-5 -0.49997,0.223869 -0.5,0.5 v 10 c 3e-5,0.276131 0.22387,0.499972 0.5,0.5 h 13 c 0.27613,-2.8e-5 0.49997,-0.223869 0.5,-0.5 v -10 c -3e-5,-0.276131 -0.22387,-0.499972 -0.5,-0.5 z m 0.5,1 h 12 v 9 h -12 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999988;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" id="path27901"/>
+ <path d="m 494,41.5 c -3e-5,0.276131 -0.22387,0.499972 -0.5,0.5 h -2 c -0.27613,-2.8e-5 -0.49997,-0.223869 -0.5,-0.5 v -2 c 3e-5,-0.276131 0.22387,-0.499972 0.5,-0.5 h 2 c 0.27613,2.8e-5 0.49997,0.223869 0.5,0.5 z M 493,41 v -1 h -1 v 1 z m 1,-3.5 c -3e-5,0.276131 -0.22387,0.499972 -0.5,0.5 h -2 c -0.27613,-2.8e-5 -0.49997,-0.223869 -0.5,-0.5 v -2 c 3e-5,-0.276131 0.22387,-0.499972 0.5,-0.5 h 2 c 0.27613,2.8e-5 0.49997,0.223869 0.5,0.5 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999988;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" id="path28826" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccccccccccccccccccccc"/>
</g>
- <g
- id="g28053"
- transform="translate(21)">
- <path
- id="rect28051"
- transform="translate(21,-21)"
- style="display:inline;opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;enable-background:new"
- d="m 616,85 h 1 v 0.999999 h -1 z m -2,0 h 1 v 0.999999 h -1 z m -0.46289,-8 C 612.69436,77 612,77.694362 612,78.537109 v 7.925782 C 612,87.305638 612.69436,88 613.53711,88 h 5.92578 c 0.73741,0 1.36143,-0.531036 1.50586,-1.228516 0.0206,-0.09964 0.0312,-0.20325 0.0312,-0.308593 V 78.537109 C 621,77.694362 620.30564,77 619.46289,77 Z m 0,7 h 5.92578 C 619.76894,84 620,84.231065 620,84.537109 v 1.925782 C 620,86.768935 619.76894,87 619.46289,87 h -5.92578 C 613.23106,87 613,86.768935 613,86.462891 V 84.537109 C 613,84.231065 613.23106,84 613.53711,84 Z"
- inkscape:connector-curvature="0" />
+ <g style="fill:#ffffff;fill-opacity:1" transform="translate(0,-20)" id="g28092-2">
+ <path sodipodi:nodetypes="cccccccccc" inkscape:connector-curvature="0" id="path28072-1" d="m 363.5,95 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 V 99 h 14 v -1.5 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 H 368 v -1.5 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 363.5,100 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 7 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 13 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -7 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z" id="rect28074-91" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccccccc"/>
</g>
- </g>
- <path
- inkscape:connector-curvature="0"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 511.5,452 c -0.8225,0 -1.5,0.6775 -1.5,1.5 0,0.82251 0.6775,1.5 1.5,1.5 0.64684,0 1.19777,-0.42097 1.40625,-1 h 1.1875 c 0.20848,0.57903 0.75941,1 1.40625,1 0.8225,0 1.5,-0.67749 1.5,-1.5 0,-0.8225 -0.6775,-1.5 -1.5,-1.5 -0.64637,0 -1.19742,0.42162 -1.40625,1 h -1.1875 c -0.20883,-0.57838 -0.75988,-1 -1.40625,-1 z m 11,0 c -0.64637,0 -1.19742,0.42162 -1.40625,1 H 520.5 a 0.50005,0.50005 0 0 0 -0.35352,0.14648 L 516.29297,457 h -3.38672 c -0.20883,-0.57838 -0.75988,-1 -1.40625,-1 -0.8225,0 -1.5,0.6775 -1.5,1.5 0,0.82251 0.6775,1.5 1.5,1.5 0.64684,0 1.19777,-0.42097 1.40625,-1 H 516.5 a 0.50005,0.50005 0 0 0 0.35352,-0.14648 L 520.70703,454 h 0.38672 c 0.20848,0.57903 0.75941,1 1.40625,1 0.8225,0 1.5,-0.67749 1.5,-1.5 0,-0.8225 -0.6775,-1.5 -1.5,-1.5 z m -11,1 c 0.27091,0 0.47782,0.20294 0.49414,0.46875 a 0.50005,0.50005 0 0 0 0,0.0625 C 511.97782,453.79707 511.77091,454 511.5,454 c -0.28206,0 -0.5,-0.21793 -0.5,-0.5 0,-0.28206 0.21794,-0.5 0.5,-0.5 z m 4,0 c 0.28206,0 0.5,0.21794 0.5,0.5 0,0.28207 -0.21794,0.5 -0.5,0.5 -0.27091,0 -0.47782,-0.20293 -0.49414,-0.46875 a 0.50005,0.50005 0 0 0 0,-0.0625 C 515.02218,453.20294 515.22909,453 515.5,453 Z m 7,0 c 0.28206,0 0.5,0.21794 0.5,0.5 0,0.28207 -0.21794,0.5 -0.5,0.5 -0.27091,0 -0.47782,-0.20293 -0.49414,-0.46875 a 0.50005,0.50005 0 0 0 0,-0.0625 C 522.02218,453.20294 522.22909,453 522.5,453 Z m 0,3 c -0.64637,0 -1.19742,0.42162 -1.40625,1 H 520.5 a 0.50005,0.50005 0 0 0 -0.35352,0.14648 l -5,5 A 0.50005,0.50005 0 0 0 515,462.5 v 0.59375 c -0.57903,0.20848 -1,0.75941 -1,1.40625 0,0.82251 0.6775,1.5 1.5,1.5 0.8225,0 1.5,-0.67749 1.5,-1.5 0,-0.64684 -0.42097,-1.19777 -1,-1.40625 v -0.38672 L 520.70703,458 h 0.38672 c 0.20848,0.57903 0.75941,1 1.40625,1 0.8225,0 1.5,-0.67749 1.5,-1.5 0,-0.8225 -0.6775,-1.5 -1.5,-1.5 z m -11,1 c 0.28206,0 0.5,0.21794 0.5,0.5 0,0.28207 -0.21794,0.5 -0.5,0.5 -0.28206,0 -0.5,-0.21793 -0.5,-0.5 0,-0.28206 0.21794,-0.5 0.5,-0.5 z m 11,0 c 0.28206,0 0.5,0.21794 0.5,0.5 0,0.28207 -0.21794,0.5 -0.5,0.5 -0.27091,0 -0.47782,-0.20293 -0.49414,-0.46875 a 0.50005,0.50005 0 0 0 0,-0.0625 C 522.02218,457.20294 522.22909,457 522.5,457 Z m -11,3 c -0.8225,0 -1.5,0.6775 -1.5,1.5 0,0.82251 0.6775,1.5 1.5,1.5 0.8225,0 1.5,-0.67749 1.5,-1.5 0,-0.8225 -0.6775,-1.5 -1.5,-1.5 z m 11,0 c -0.8225,0 -1.5,0.6775 -1.5,1.5 0,0.23017 0.0579,0.44679 0.15234,0.64258 a 0.50005,0.50005 0 0 0 -0.006,0.004 l -1,1 a 0.50005,0.50005 0 0 0 -0.004,0.006 C 519.94679,463.05791 519.73016,463 519.5,463 c -0.8225,0 -1.5,0.6775 -1.5,1.5 0,0.82251 0.6775,1.5 1.5,1.5 0.8225,0 1.5,-0.67749 1.5,-1.5 0,-0.23002 -0.058,-0.44493 -0.15234,-0.64062 a 0.50005,0.50005 0 0 0 0.006,-0.006 l 1,-1 a 0.50005,0.50005 0 0 0 0.004,-0.004 c 0.1955,0.0946 0.41225,0.15062 0.64234,0.15062 0.8225,0 1.5,-0.67749 1.5,-1.5 0,-0.8225 -0.6775,-1.5 -1.5,-1.5 z m -11,1 c 0.28206,0 0.5,0.21794 0.5,0.5 0,0.28207 -0.21794,0.5 -0.5,0.5 -0.28206,0 -0.5,-0.21793 -0.5,-0.5 0,-0.28206 0.21794,-0.5 0.5,-0.5 z m 11,0 c 0.28206,0 0.5,0.21794 0.5,0.5 0,0.28207 -0.21794,0.5 -0.5,0.5 -0.28206,0 -0.5,-0.21793 -0.5,-0.5 0,-0.28206 0.21794,-0.5 0.5,-0.5 z m -3,3 c 0.28206,0 0.5,0.21794 0.5,0.5 0,0.28207 -0.21794,0.5 -0.5,0.5 -0.28206,0 -0.5,-0.21793 -0.5,-0.5 0,-0.28206 0.21794,-0.5 0.5,-0.5 z m -4.0293,0.006 a 0.50005,0.50005 0 0 0 0.0371,0 0.50005,0.50005 0 0 0 0.0176,0 c 0.26874,0.0134 0.4746,0.22107 0.4746,0.494 0,0.28207 -0.21794,0.5 -0.5,0.5 -0.28206,0 -0.5,-0.21793 -0.5,-0.5 0,-0.27158 0.20391,-0.47876 0.4707,-0.49414 z"
- id="circle28282" />
- <g
- id="g27867"
- transform="translate(41.999996,-83.999998)">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 114.5,97 c -0.27613,2.8e-5 -0.49997,0.223869 -0.5,0.5 v 3 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 10 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -3 c -3e-5,-0.276131 -0.22387,-0.499972 -0.5,-0.5 z m -3,6 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 3 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 10 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -3 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z"
- id="path27865"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="cccccccccccccccccc" />
- </g>
- <g
- id="g28017"
- transform="translate(-42.000004,-83.999998)">
- <g
- inkscape:export-ydpi="96"
- inkscape:export-xdpi="96"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- style="display:inline;opacity:1;enable-background:new"
- id="g13408-5"
- transform="translate(-357.00711,41.992878)">
- <g
- style="display:inline;opacity:0.98999999;enable-background:new"
- transform="translate(378.99999,-439.99995)"
- id="g12509-8" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 531.49219,52.992188 a 0.50005,0.50005 0 0 0 -0.31641,0.121093 0.50005,0.50005 0 0 0 -0.0195,0.01563 0.50005,0.50005 0 0 0 -0.0176,0.01758 0.50005,0.50005 0 0 0 -0.002,0.0039 0.50005,0.50005 0 0 0 -0.0312,0.0332 0.50005,0.50005 0 0 0 -0.002,0.0039 0.50005,0.50005 0 0 0 -0.0273,0.03711 0.50005,0.50005 0 0 0 -0.002,0.0039 A 0.50005,0.50005 0 0 0 531,53.582031 V 54.5 a 0.50005,0.50005 0 1 0 1,0 V 54 h 0.5 a 0.50005,0.50005 0 1 0 0,-1 h -0.91992 a 0.50005,0.50005 0 0 0 -0.0879,-0.0078 z m 13,0 A 0.50005,0.50005 0 0 0 544.41797,53 H 543.5 a 0.50005,0.50005 0 1 0 0,1 h 0.5 v 0.5 a 0.50005,0.50005 0 1 0 1,0 v -0.919922 a 0.50005,0.50005 0 0 0 -0.11328,-0.404297 0.50005,0.50005 0 0 0 -0.002,-0.0039 0.50005,0.50005 0 0 0 -0.0312,-0.0332 0.50005,0.50005 0 0 0 -0.004,-0.002 0.50005,0.50005 0 0 0 -0.0332,-0.03125 0.50005,0.50005 0 0 0 -0.004,-0.002 0.50005,0.50005 0 0 0 -0.32031,-0.111328 z M 534.5,53 a 0.50005,0.50005 0 1 0 0,1 h 1 a 0.50005,0.50005 0 1 0 0,-1 z m 3,0 a 0.50005,0.50005 0 1 0 0,1 h 1 a 0.50005,0.50005 0 1 0 0,-1 z m 3,0 a 0.50005,0.50005 0 1 0 0,1 h 1 a 0.50005,0.50005 0 1 0 0,-1 z m -9.00781,2.992188 A 0.50005,0.50005 0 0 0 531,56.5 v 1 a 0.50005,0.50005 0 1 0 1,0 v -1 a 0.50005,0.50005 0 0 0 -0.50781,-0.507812 z m 13,0 A 0.50005,0.50005 0 0 0 544,56.5 v 1 a 0.50005,0.50005 0 1 0 1,0 v -1 a 0.50005,0.50005 0 0 0 -0.50781,-0.507812 z m -13,3 A 0.50005,0.50005 0 0 0 531,59.5 v 1 a 0.50005,0.50005 0 1 0 1,0 v -1 a 0.50005,0.50005 0 0 0 -0.50781,-0.507812 z m 13,0 A 0.50005,0.50005 0 0 0 544,59.5 v 1 a 0.50005,0.50005 0 1 0 1,0 v -1 a 0.50005,0.50005 0 0 0 -0.50781,-0.507812 z m -13,3 A 0.50005,0.50005 0 0 0 531,62.5 v 1 a 0.50005,0.50005 0 1 0 1,0 v -1 a 0.50005,0.50005 0 0 0 -0.50781,-0.507812 z m 13,0 A 0.50005,0.50005 0 0 0 544,62.5 v 1 a 0.50005,0.50005 0 1 0 1,0 v -1 a 0.50005,0.50005 0 0 0 -0.50781,-0.507812 z m -13,3 A 0.50005,0.50005 0 0 0 531,65.5 v 0.919922 a 0.50005,0.50005 0 0 0 0.11328,0.404297 0.50005,0.50005 0 0 0 0.0156,0.01953 0.50005,0.50005 0 0 0 0.0176,0.01758 0.50005,0.50005 0 0 0 0.004,0.002 0.50005,0.50005 0 0 0 0.0332,0.03125 0.50005,0.50005 0 0 0 0.004,0.002 A 0.50005,0.50005 0 0 0 531.58203,67 H 532.5 a 0.50005,0.50005 0 1 0 0,-1 H 532 v -0.5 a 0.50005,0.50005 0 0 0 -0.50781,-0.507812 z m 13,0 A 0.50005,0.50005 0 0 0 544,65.5 V 66 h -0.5 a 0.50005,0.50005 0 1 0 0,1 h 0.91992 a 0.50005,0.50005 0 0 0 0.4043,-0.113281 0.50005,0.50005 0 0 0 0.004,-0.002 0.50005,0.50005 0 0 0 0.0332,-0.03125 0.50005,0.50005 0 0 0 0.002,-0.0039 0.50005,0.50005 0 0 0 0.0312,-0.0332 0.50005,0.50005 0 0 0 0.002,-0.0039 A 0.50005,0.50005 0 0 0 545,66.417969 V 65.5 a 0.50005,0.50005 0 0 0 -0.50781,-0.507812 z M 534.5,66 a 0.50005,0.50005 0 1 0 0,1 h 1 a 0.50005,0.50005 0 1 0 0,-1 z m 3,0 a 0.50005,0.50005 0 1 0 0,1 h 1 a 0.50005,0.50005 0 1 0 0,-1 z m 3,0 a 0.50005,0.50005 0 1 0 0,1 h 1 a 0.50005,0.50005 0 1 0 0,-1 z"
- id="path27987"
- inkscape:connector-curvature="0" />
+ <g style="display:inline;fill:#ffffff;enable-background:new" transform="translate(-273,442)" id="g28092-0-4">
+ <path sodipodi:nodetypes="cccccccccc" inkscape:connector-curvature="0" id="path28072-2-7" d="m 363.5,95 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 V 99 h 14 v -1.5 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 H 368 v -1.5 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 363.5,100 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 7 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 13 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -7 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z" id="rect28074-9-1" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccccccc"/>
</g>
- <g
- transform="rotate(-180,149.5,102.00001)"
- id="g27919-7"
- style="display:inline;enable-background:new">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 117.5,98 c -0.27613,2.8e-5 -0.49997,0.223869 -0.5,0.5 v 2 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 5 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -2 c -3e-5,-0.276131 -0.22387,-0.499972 -0.5,-0.5 z m -4,5 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 2 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 7 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -2 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z"
- id="path27916-5"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="cccccccccccccccccc" />
+ <g id="g28614" transform="translate(-147,357)">
+ <path inkscape:connector-curvature="0" id="path28606" transform="translate(42)" d="m 263.50391,94.996094 c -0.25245,0 -0.505,0.169732 -0.5,0.507812 L 263,97 h -2.5 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 2.5 l -1.49414,-0.002 c -0.67616,-0.0096 -0.67616,1.01 0,1 L 260,101 v 2 l -1.49414,-0.002 c -0.67616,-0.01 -0.67616,1.01 0,1 L 260,104 v 2.5 a 0.50005,0.50005 0 0 0 0.5,0.5 h 2.5 l 0.004,1.49609 c -0.01,0.67616 1.00956,0.67616 1,0 L 264,107 h 2 l 0.004,1.49609 c -0.01,0.67616 1.00956,0.67616 1,0 L 267,107 h 2.5 a 0.50005,0.50005 0 0 0 0.5,-0.5 V 104 l 1.49805,-0.002 c 0.67616,0.01 0.67616,-1.00956 0,-1 L 270,103 v -2 l 1.49805,-0.002 c 0.67616,0.01 0.67616,-1.009563 0,-1.000003 L 270,100 V 97.5 A 0.50005,0.50005 0 0 0 269.5,97 H 267 l 0.004,-1.496094 c 0.01,-0.67616 -1.01,-0.67616 -1,0 L 266,97 h -2 l 0.004,-1.496094 c 0.005,-0.33808 -0.24756,-0.507812 -0.5,-0.507812 z M 261,98 h 8 v 8 h -8 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
+ <g id="g28608" transform="rotate(180,370.00356,70.5)"/>
+ <path inkscape:connector-curvature="0" id="rect28616" d="m 305.5,100 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 3 a 0.50005,0.50005 0 0 0 0.5,0.5 h 3 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -3 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m 0.5,1 h 2 v 2 h -2 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
</g>
- </g>
- <g
- inkscape:export-ydpi="96"
- inkscape:export-xdpi="96"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- id="g27948"
- transform="translate(62.999996,-19.999998)"
- style="display:inline;opacity:1;enable-background:new">
- <g
- id="g27945"
- transform="translate(1,-1)">
- <g
- id="g27954">
- <path
- id="path27939"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.89999998;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 237.49414,326.05078 c -0.11724,0.001 -0.22936,0.0482 -0.3125,0.13086 l -2,2 c -0.17593,0.17578 -0.17593,0.46094 0,0.63672 l 2,2 c 0.17578,0.17593 0.46094,0.17593 0.63672,0 l 2,-2 c 0.17593,-0.17578 0.17593,-0.46094 0,-0.63672 l -2,-2 c -0.086,-0.0855 -0.20293,-0.13272 -0.32422,-0.13086 z m 11,0 c -0.11724,0.001 -0.22936,0.0482 -0.3125,0.13086 l -2,2 c -0.17593,0.17578 -0.17593,0.46094 0,0.63672 l 2,2 c 0.17578,0.17593 0.46094,0.17593 0.63672,0 l 2,-2 c 0.17593,-0.17578 0.17593,-0.46094 0,-0.63672 l -2,-2 c -0.086,-0.0855 -0.20293,-0.13272 -0.32422,-0.13086 z m -6.02734,6.75 a 0.45004499,0.45004499 0 0 0 -0.29688,0.14453 l -3,3.25 a 0.45004499,0.45004499 0 0 0 0.0117,0.62305 l 3,3 a 0.45004499,0.45004499 0 0 0 0.63672,0 l 3,-3 a 0.45004499,0.45004499 0 0 0 0.0117,-0.62305 l -3,-3.25 a 0.45004499,0.45004499 0 0 0 -0.36328,-0.14453 z m 0.0332,1.11133 2.37695,2.57617 -2.37695,2.375 -2.37695,-2.37695 z"
- inkscape:connector-curvature="0" />
- <path
- sodipodi:nodetypes="ccccccccc"
- inkscape:connector-curvature="0"
- id="path27943"
- d="m 239.12109,326 1.43946,1.43945 c 0.58556,0.5858 0.58556,1.5353 0,2.1211 L 239.12109,331 h 7.75782 l -1.43946,-1.43945 c -0.58556,-0.5858 -0.58556,-1.5353 0,-2.1211 L 246.87891,326 Z"
- style="opacity:0.5;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke" />
+ <path sodipodi:nodetypes="cccccccccccccccccccccccc" inkscape:connector-curvature="0" id="path28780" d="m 495.98438,95 c -0.25978,0.004 -0.50774,0.10921 -0.69141,0.29297 l -6,6 C 489.08739,101.49869 488.99817,101.75204 489,102 v 0.5 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 0.5 v 5.5 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 3.5 v -5.5 c 3e-5,-0.27613 0.22387,-0.49997 0.5,-0.5 h 3 c 0.27613,3e-5 0.49997,0.22387 0.5,0.5 v 5.5 h 3.5 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 V 103 h 0.5 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 V 102 c 0.004,-0.25043 -0.0852,-0.49916 -0.29297,-0.70703 l -6,-6 C 496.51571,95.10156 496.25496,94.99586 495.98438,95 Z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.00000024;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"/>
+ <g transform="translate(63,-21)" id="g29117">
+ <g id="g29100" transform="translate(294.99999,-377.99995)" style="display:inline;opacity:1;stroke:#ffffff;enable-background:new" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" inkscape:export-xdpi="96" inkscape:export-ydpi="96">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 152.00001,498.99995 v 4.5 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 9 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -9 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 h -4.5 v 5" id="path29096" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccccccc"/>
+ <path sodipodi:nodetypes="cccc" style="display:inline;opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;enable-background:new" d="m 152.50001,497.49995 h 3 v -3 z" id="path29098" inkscape:connector-curvature="0"/>
+ </g>
+ <path inkscape:connector-curvature="0" inkscape:export-ydpi="90" inkscape:export-xdpi="90" inkscape:export-filename="C:\Documents and Settings\Tata\Pulpit\4.png" id="path29102" d="m 460,120.50004 0.5,2e-5 v 9 h -9 L 451.49999,129" style="display:inline;opacity:1;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;enable-background:new" sodipodi:nodetypes="ccccc"/>
+ <path sodipodi:nodetypes="ccccc" style="display:inline;opacity:1;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;enable-background:new" d="m 458,118.50004 0.5,2e-5 v 9 h -9 L 449.49999,127" id="path29110" inkscape:export-filename="C:\Documents and Settings\Tata\Pulpit\4.png" inkscape:export-xdpi="90" inkscape:export-ydpi="90" inkscape:connector-curvature="0"/>
+ </g>
+ <g transform="translate(-21)" id="g28437">
+ <path sodipodi:nodetypes="ccccccccccccccccc" inkscape:connector-curvature="0" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 300.5,76 c -0.27613,2.8e-5 -0.49997,0.223869 -0.5,0.5 v 11 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 12 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -5.558594 c -0.31959,0.108004 -0.65516,0.175732 -1,0.212891 V 87 h -11 v -7 c 2.01109,0.01725 4.25811,0.0051 6.54102,0 -0.37613,-0.591554 -0.61026,-1.271947 -0.68946,-2 H 304 v -1.5 c -3e-5,-0.276131 -0.22387,-0.499972 -0.5,-0.5 z" id="path28389"/>
+ <path style="display:inline;opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.80000001;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:new" d="m 311.5,74 c -1.933,0 -3.5,1.567 -3.5,3.5 0,1.933 1.567,3.5 3.5,3.5 1.933,0 3.5,-1.567 3.5,-3.5 0,-1.933 -1.567,-3.5 -3.5,-3.5 z m -0.5,1 h 1 v 2 h 2 v 1 h -2 v 2 h -1 v -2 h -2 v -1 h 2 z" id="path28385" inkscape:connector-curvature="0" sodipodi:nodetypes="sssssccccccccccccc"/>
+ </g>
+ <g transform="translate(0.99995,117.99644)" id="g28591-2" style="display:inline;enable-background:new">
+ <g id="g28589-6">
+ <path inkscape:connector-curvature="0" d="m 411,-65 h 1 v 3 h -1 z m -1,3 h 1 v 3 h -1 z" style="display:inline;opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;enable-background:new" id="path28575-1"/>
+ <path sodipodi:nodetypes="cscccc" inkscape:connector-curvature="0" id="path28581-2" d="m 408.50004,-53.446439 c 0,1.0803 -0.892,1.95 -2,1.95 -1.108,0 -2,-0.8697 -2,-1.95 l 10e-6,-2.05 h 4 z" style="display:inline;opacity:1;vector-effect:none;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;enable-background:new"/>
+ <path sodipodi:nodetypes="ccccc" inkscape:connector-curvature="0" id="path28583-6" d="m 404.50005,-58.496439 h 4 v 3 h -4 z" style="opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke"/>
+ <path style="opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke" d="m 408.50005,-63.496439 h -2 -1 -1 v 3 h 4 z" id="path28587-6" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccccc"/>
+ <path id="path28596-5" style="display:inline;opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;enable-background:new" d="m 414,-65 h 1 v 3 h -1 z m -1,3 h 1 v 3 h -1 z" inkscape:connector-curvature="0"/>
+ <path inkscape:connector-curvature="0" d="m 417,-65 h 1 v 3 h -1 z m -1,3 h 1 v 3 h -1 z" style="display:inline;opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;enable-background:new" id="path28601-3"/>
</g>
</g>
- </g>
- <path
- inkscape:connector-curvature="0"
- id="path27826"
- d="m 226.98047,602.99023 a 1.0001,1.0001 0 0 0 -0.6875,0.30274 L 222,607.58594 l -2.29297,-2.29297 a 1.0001,1.0001 0 1 0 -1.41406,1.41406 l 3,3 a 1.0001,1.0001 0 0 0 1.41406,0 l 5,-5 a 1.0001,1.0001 0 0 0 -0.72656,-1.7168 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
- <g
- style="fill:#ffffff"
- id="g28127"
- transform="translate(-42,21)">
- <path
- inkscape:connector-curvature="0"
- id="rect28073"
- d="m 468.5,116 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 10 a 0.50005,0.50005 0 0 0 0.5,0.5 h 7 a 0.50005,0.50005 0 1 0 0,-1 H 469 v -9 h 9 v 6.5 a 0.50005,0.50005 0 1 0 1,0 v -7 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
- <path
- inkscape:connector-curvature="0"
- d="M 475.99635,122 A 1.99635,1.99635 0 0 1 474,123.99635 1.99635,1.99635 0 0 1 472.00365,122 1.99635,1.99635 0 0 1 474,120.00365 1.99635,1.99635 0 0 1 475.99635,122 Z m 0.50756,2.01562 c -0.44709,0.002 -0.6672,0.54472 -0.34766,0.85743 l 4.14648,4.14648 L 477.5,129 c -0.67616,-0.01 -0.67616,1.00956 0,1 l 4.00977,0.0195 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 L 482,125.5 c 0.01,-0.67616 -1.00956,-0.67616 -1,0 l 0.01,2.8125 -4.14649,-4.14648 c -0.0945,-0.0966 -0.22417,-0.15091 -0.35937,-0.1504 z"
- style="display:inline;opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;enable-background:new"
- id="circle28066" />
- </g>
- <g
- id="g28092"
- transform="translate(0,-20)"
- style="fill:#ffffff">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.8;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 363.5,95 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 V 99 h 14 v -1.5 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 H 368 v -1.5 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z"
- id="path28072"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="cccccccccc" />
- <path
- sodipodi:nodetypes="ccccccccc"
- inkscape:connector-curvature="0"
- id="rect28074"
- d="m 363.5,100 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 7 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 13 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -7 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
- </g>
- <g
- id="g28092-0"
- transform="translate(-273,442)"
- style="display:inline;fill:#ffffff;enable-background:new">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.8;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 363.5,95 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 V 99 h 14 v -1.5 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 H 368 v -1.5 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z"
- id="path28072-2"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="cccccccccc" />
- <path
- sodipodi:nodetypes="ccccccccc"
- inkscape:connector-curvature="0"
- id="rect28074-9"
- d="m 363.5,100 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 7 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 13 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -7 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
- </g>
- <g
- transform="translate(-63,-21)"
- id="g36486"
- style="display:inline;fill:#ffffff;enable-background:new">
- <g
- inkscape:export-ydpi="96"
- inkscape:export-xdpi="96"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- style="display:inline;opacity:1;fill:#ffffff;enable-background:new"
- id="g36382"
- transform="translate(-342.99706,-162.50454)">
- <path
- sodipodi:nodetypes="sssssccccccccccccc"
- inkscape:connector-curvature="0"
- id="path36380"
- d="m 695.49706,256.50454 c -1.933,0 -3.5,1.567 -3.5,3.5 0,1.933 1.567,3.5 3.5,3.5 1.933,0 3.5,-1.567 3.5,-3.5 0,-1.933 -1.567,-3.5 -3.5,-3.5 z m -0.5,1 h 1 v 2 h 2 v 1 h -2 v 2 h -1 v -2 h -2 v -1 h 2 z"
- style="display:inline;opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.80000001;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:new" />
- </g>
- <g
- transform="translate(-587.00005,105)"
- style="display:inline;fill:#ffffff;enable-background:new"
- id="g36393">
- <path
- sodipodi:nodetypes="ccccccccccccccccccccccccccc"
- inkscape:connector-curvature="0"
- id="path36378"
- transform="translate(650.00005,-84)"
- d="m 279.5,77 c -0.27613,2.8e-5 -0.49997,0.223869 -0.5,0.5 V 80 h 1 v -2 h 2 v 0.5 c 3e-5,0.276131 0.22387,0.499972 0.5,0.5 h 3.26562 c -0.20665,-0.306775 -0.36146,-0.646717 -0.48828,-1 H 283 v -0.5 c -3e-5,-0.276131 -0.22387,-0.499972 -0.5,-0.5 z m -0.5,4 v 6.5 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 11 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -6 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z m 1,1 h 10 v 5 h -10 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
+ <g transform="translate(63,42)" id="g28683">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 483.5,84 c -1.37106,-1e-5 -2.49465,1.119188 -2.5,2.490234 -10e-6,0.0039 -10e-6,0.0078 0,0.01172 10e-4,0.275368 0.22463,0.498022 0.5,0.498047 h 3 c 0.28206,0 0.5,0.217938 0.5,0.5 0,0.282062 -0.21794,0.5 -0.5,0.5 l -3.5,-0.0039 c -0.12499,0 -0.85445,-0.01071 -1.57617,0.36914 C 478.70211,88.745078 478,89.596094 478,90.996094 v 0.996094 c 0,1.40001 0.70038,2.249949 1.42188,2.630859 0.72147,0.38091 1.45054,0.373047 1.57812,0.373047 v 0.507812 c -10e-6,0.0032 -10e-6,0.0065 0,0.0098 0.005,1.371211 1.12894,2.490244 2.5,2.490234 h 3 c 1.37479,0 2.5,-1.125211 2.5,-2.5 v -0.507812 c 0.1276,0 0.85475,0.0079 1.57617,-0.373047 0.72142,-0.380914 1.42358,-1.23089 1.42383,-2.630859 v -0.994141 c 2e-5,-1.567832 -0.66959,-2.346488 -1.13672,-2.841797 -0.0911,-0.09952 -0.21863,-0.157986 -0.35351,-0.162109 -0.45031,-0.01416 -0.68821,0.527665 -0.37305,0.849609 0.47073,0.499131 0.8633,0.831529 0.86328,2.154297 v 0.994141 c -1.9e-4,1.100029 -0.42466,1.502011 -0.89062,1.748046 -0.46599,0.246036 -0.98698,0.25586 -1.10938,0.25586 L 485.5,94 c -0.67616,-0.0096 -0.67616,1.009563 0,1 l 2.5,-0.002 v 0.505859 c 0,0.834349 -0.66565,1.5 -1.5,1.5 h -3 c -0.832,6e-6 -1.49698,-0.662318 -1.5,-1.49414 V 93 c 0,-0.63889 0.20453,-1.122504 0.54102,-1.458984 C 482.8775,91.204526 483.36111,91 484,91 h 2.5 c 0.725,0 1.37138,-0.226854 1.82227,-0.677734 C 488.77315,89.871376 489,89.225 489,88.5 v -2 c 0,-1.374789 -1.12521,-2.5 -2.5,-2.5 z" transform="translate(-73,-52)" id="path28624" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccsscccsscccccssccccccccccccccssccccsscsssc"/>
+ </g>
+ <g inkscape:export-ydpi="96" inkscape:export-xdpi="96" inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png" transform="translate(47.999998,90)" id="g28884" style="display:inline;opacity:1;enable-background:new">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m 521.5,84 c -0.6573,0.0093 -0.6573,0.990704 0,1 h 0.25 c 0.75,0 1.25,0.5 1.25,1.25 v 9.500004 c 0,0.75 -0.5,1.25 -1.25,1.25 h -0.25 c -0.6573,0.0093 -0.6573,0.990704 0,1 h 0.25 5.5 0.25 c 0.6573,-0.0093 0.6573,-0.990704 0,-1 h -0.25 C 526.5,97 526,96.5 526,95.75 V 91 h 2.5 c 0.0833,0 0.22505,0.05708 0.33398,0.166016 C 528.94291,91.274947 529,91.416667 529,91.5 c 0.009,0.657305 0.9907,0.657305 1,0 v -2 c -0.004,-0.281658 -0.24005,-0.504291 -0.52148,-0.492188 -0.26471,0.01138 -0.4746,0.22726 -0.47852,0.492188 0,0.08333 -0.0571,0.225053 -0.16602,0.333984 C 528.72505,89.942915 528.58333,90 528.5,90 H 526 v -5 h 4.75004 c 0.0104,-0.294737 0.61631,0.167956 0.86328,0.433594 C 531.86021,85.699231 532,86.054282 532,86.25 v 0.25 c 0.009,0.657305 0.9907,0.657305 1,0 v -2 c -3e-5,-0.276131 -0.22387,-0.499972 -0.5,-0.5 h -1.75 -9 z" transform="translate(-57.999998,-100)" id="path28882" inkscape:connector-curvature="0" sodipodi:nodetypes="ccsccsccccccsscscccccccsccccsccccccc"/>
+ </g>
+ <g transform="translate(84,-21)" id="g29069">
+ <g id="g29057">
+ <path d="m 454,117 a 6,6 0 0 1 6,6 6,6 0 0 1 -6,6" sodipodi:open="true" sodipodi:end="1.5707963" sodipodi:start="4.712389" sodipodi:ry="6" sodipodi:rx="6" sodipodi:cy="123" sodipodi:cx="454" sodipodi:type="arc" id="path28993" style="opacity:1;vector-effect:none;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:1.99999988;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke"/>
+ <g id="g29030">
+ <circle style="opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke" id="path29001" cx="448" cy="123" r="1"/>
+ <circle r="1" cy="120" cx="448.80383" id="circle29003" style="opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke"/>
+ <circle style="opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke" id="circle29005" cx="451" cy="117.80385" r="1"/>
+ <circle style="opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke" id="circle29014" cx="448.80383" cy="-126" r="1" transform="scale(1,-1)"/>
+ <circle r="1" cy="-128.19615" cx="451" id="circle29016" style="opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke" transform="scale(1,-1)"/>
+ </g>
+ </g>
+ <path id="path16341-3-5" style="display:inline;opacity:0.98999999;fill:none;stroke:#ffffff;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;enable-background:new" d="m 456.5,123.5 -3,-4e-5 V 120.5" inkscape:connector-curvature="0" sodipodi:nodetypes="ccc"/>
</g>
- </g>
- <g
- id="g27914"
- style="fill:#ffffff"
- transform="translate(-21)">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 69.5,157.98633 a 0.50005,0.50005 0 0 0 -0.492188,0.50586 v 12.9082 a 0.50005,0.50005 0 0 0 0.08203,0.37695 0.50005,0.50005 0 0 0 0.002,0.004 0.50005,0.50005 0 0 0 0.0293,0.0352 0.50005,0.50005 0 0 0 0.002,0.004 0.50005,0.50005 0 0 0 0.03125,0.0332 0.50005,0.50005 0 0 0 0.02539,0.0215 0.50005,0.50005 0 0 0 0.01172,0.0117 0.50005,0.50005 0 0 0 0.0039,0.002 0.50005,0.50005 0 0 0 0.04102,0.0293 0.50005,0.50005 0 0 0 0.353516,0.0742 h 12.917968 a 0.50005,0.50005 0 1 0 0,-1 h -12.5 v -12.5 A 0.50005,0.50005 0 0 0 69.5,157.98633 Z"
- id="path15133-4-4"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 72.5,165 c -0.276131,3e-5 -0.499972,0.22387 -0.5,0.5 v 3 c 2.8e-5,0.27613 0.223869,0.49997 0.5,0.5 h 3 c 0.276131,-3e-5 0.499972,-0.22387 0.5,-0.5 v -3 c -2.8e-5,-0.27613 -0.223869,-0.49997 -0.5,-0.5 z"
- id="path22120-2-1"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="ccccccccc" />
- </g>
- <g
- id="g27942"
- style="fill:#ffffff"
- transform="translate(-21)">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.6;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 49.46875,159 a 0.50005,0.50005 0 0 0 -0.5,0.5 v 11 a 0.50005,0.50005 0 0 0 0.5,0.5 h 11 a 0.50005,0.50005 0 0 0 0.5,-0.5 v -11 a 0.50005,0.50005 0 0 0 -0.5,-0.5 z m 0.5,1 h 10 v 10 h -10 z"
- id="path26471-6-1"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 53.5,163 c -0.276131,3e-5 -0.499972,0.22387 -0.5,0.5 v 3 c 2.8e-5,0.27613 0.223869,0.49997 0.5,0.5 h 3 c 0.276131,-3e-5 0.499972,-0.22387 0.5,-0.5 v -3 c -2.8e-5,-0.27613 -0.223869,-0.49997 -0.5,-0.5 z"
- id="path22120-2-1-2"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="ccccccccc" />
- </g>
- <g
- inkscape:export-ydpi="96"
- inkscape:export-xdpi="96"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- transform="translate(-230.99288,-230.99288)"
- id="g27963"
- style="display:inline;opacity:1;fill:#ffffff;enable-background:new">
- <g
- id="g27959"
- style="opacity:0.6;fill:#ffffff"
- transform="translate(126)">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 268.49219,388.99219 c -0.27614,0.004 -0.49651,0.23167 -0.49219,0.50781 v 2.49609 l -2.50586,-0.004 c -0.67605,-0.0108 -0.67808,1.00811 -0.002,1 L 268,392.99609 V 399 h -6.00391 l -0.004,-2.50781 c 0.008,-0.67608 -1.01082,-0.67405 -1,0.002 L 260.99609,399 H 258.5 c -0.67616,-0.01 -0.67616,1.00956 0,1 h 2.49609 l 0.004,2.5 c -0.01,0.67616 1.00956,0.67616 1,0 l -0.004,-2.5 H 268 v 2.5 c -0.01,0.67616 1.00956,0.67616 1,0 V 400 h 2.5 c 0.67616,0.01 0.67616,-1.00956 0,-1 H 269 v -6.00391 l 2.5,0.004 c 0.67616,0.01 0.67616,-1.00956 0,-1 l -2.5,-0.004 V 389.5 c 0.004,-0.28226 -0.22555,-0.51223 -0.50781,-0.50781 z"
- id="path27957"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="cccccccccccccccccccccccccccccc" />
+ <g transform="translate(539.9929,-999)" id="g36643-9" style="display:inline;enable-background:new">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.7;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m -359.5,1474 a 0.50005,0.50005 0 1 0 0,1 h 7 a 0.50005,0.50005 0 1 0 0,-1 z m 0,5 a 0.50005,0.50005 0 1 0 0,1 h 7 a 0.50005,0.50005 0 1 0 0,-1 z m 0,5 a 0.50005,0.50005 0 1 0 0,1 h 7 a 0.50005,0.50005 0 1 0 0,-1 z" id="path36414-1" inkscape:connector-curvature="0"/>
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m -364.5,1473 c -0.8225,0 -1.5,0.6775 -1.5,1.5 0,0.8225 0.6775,1.5 1.5,1.5 0.8225,0 1.5,-0.6775 1.5,-1.5 0,-0.8225 -0.6775,-1.5 -1.5,-1.5 z m 0,5 c -0.8225,0 -1.5,0.6775 -1.5,1.5 0,0.8225 0.6775,1.5 1.5,1.5 0.8225,0 1.5,-0.6775 1.5,-1.5 0,-0.8225 -0.6775,-1.5 -1.5,-1.5 z m 0,5 c -0.8225,0 -1.5,0.6775 -1.5,1.5 0,0.8225 0.6775,1.5 1.5,1.5 0.8225,0 1.5,-0.6775 1.5,-1.5 0,-0.8225 -0.6775,-1.5 -1.5,-1.5 z" id="circle36422-1" inkscape:connector-curvature="0" sodipodi:nodetypes="sssssssssssssss"/>
</g>
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 385.5,390 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 4 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 4 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -4 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z"
- id="path27961"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="ccccccccc" />
- </g>
- <g
- id="g28061"
- style="display:inline;fill:#ffffff;enable-background:new"
- transform="translate(42,62.999998)">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.7;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.10000002;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 40.433594,95 a 0.55005501,0.55005501 0 0 0 -0.378906,0.166016 l -3.44336,3.445312 a 0.55005501,0.55005501 0 1 0 0.777344,0.777344 l 3.445312,-3.44336 A 0.55005501,0.55005501 0 0 0 40.433594,95 Z m -9.445313,9.44531 a 0.55005501,0.55005501 0 0 0 -0.376953,0.16602 l -3.445312,3.44336 a 0.55104336,0.55104336 0 1 0 0.779296,0.77929 l 3.44336,-3.44531 a 0.55005501,0.55005501 0 0 0 -0.400391,-0.94336 z"
- id="path27971"
- inkscape:connector-curvature="0" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 32.5,100 c -0.276131,3e-5 -0.499972,0.22387 -0.5,0.5 v 3 c 2.8e-5,0.27613 0.223869,0.49997 0.5,0.5 h 3 c 0.276131,-3e-5 0.499972,-0.22387 0.5,-0.5 v -3 c -2.8e-5,-0.27613 -0.223869,-0.49997 -0.5,-0.5 z"
- id="path27982"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="ccccccccc" />
- </g>
- <g
- id="g28078-6"
- transform="rotate(90,48.5,-204.5)"
- style="fill:#ffffff">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.00000024;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 412.5,-364 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 11 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 2 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -11 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z m 9,0 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 11 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 2 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -11 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z"
- id="path28076-4"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="cccccccccccccccccc" />
- </g>
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.00000024;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 175.5,159 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 3 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 3 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -3 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z m 8,0 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 3 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 3 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -3 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z m -8,8 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 3 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 3 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -3 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z m 8,0 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 3 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 3 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -3 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z"
- id="path28080-3"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="cccccccccccccccccccccccccccccccccccc" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.00000024;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 217.5,159 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 11 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 11 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -11 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z"
- id="path28082-0"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="ccccccccc" />
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- d="m 241.49219,158.00781 c -0.1326,3e-5 -0.25982,0.0527 -0.35352,0.14649 l -4,4 c -0.094,0.0938 -0.14648,0.22091 -0.14648,0.35351 v 9 c 0,0.27613 0.2239,0.49997 0.5,0.5 h 9 c 0.1326,-3e-5 0.25971,-0.0527 0.35351,-0.14648 l 4,-4 c 0.094,-0.0938 0.14649,-0.22092 0.14649,-0.35352 v -9 c 0,-0.27613 -0.2239,-0.49997 -0.5,-0.5 z m 7.48828,0.98242 a 1.0001,1.0001 0 0 1 0.72656,1.7168 L 247,163.41406 V 170 a 1.0001,1.0001 0 1 1 -2,0 v -6 h -6 a 1.0001,1.0001 0 1 1 0,-2 h 6.58594 l 2.70703,-2.70703 a 1.0001,1.0001 0 0 1 0.6875,-0.30274 z"
- id="path28084-2"
- inkscape:connector-curvature="0" />
- <g
- inkscape:export-ydpi="96"
- inkscape:export-xdpi="96"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- style="display:inline;opacity:1;fill:#ffffff;enable-background:new"
- id="g28075-6"
- transform="rotate(-180,339.00356,333)">
- <g
- transform="matrix(1,0,0,-1,0,999)"
- style="opacity:0.7;fill:#ffffff"
- id="g28071-5">
- <path
- inkscape:connector-curvature="0"
- id="path28067-0"
- transform="matrix(-1,0,0,1,358.00712,333)"
- d="m -61.992188,164 v 7 h 1 v -3 h 2 v 1 h 1 v -1 h 2 v 3 h 1 v -3 h 2 v 1 h 1 v -1 h 2 v 3 h 1 v -7 h -1 v 3 h -2 v -1 h -1 v 1 h -2 v -3 h -1 v 3 h -2 v -1 h -1 v 1 h -2 v -3 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
+ <g id="g36632-6" transform="translate(771.00702,-831)" style="display:inline;enable-background:new">
+ <g id="g36628-4">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new" d="m -272.5,1452 c -0.8225,0 -1.5,0.6775 -1.5,1.5 0,0.8225 0.6775,1.5 1.5,1.5 0.8225,0 1.5,-0.6775 1.5,-1.5 0,-0.8225 -0.6775,-1.5 -1.5,-1.5 z m -5,5 c -0.8225,0 -1.5,0.6775 -1.5,1.5 0,0.8225 0.6775,1.5 1.5,1.5 0.8225,0 1.5,-0.6775 1.5,-1.5 0,-0.8225 -0.6775,-1.5 -1.5,-1.5 z m 3,5 c -0.8225,0 -1.5,0.6775 -1.5,1.5 0,0.8225 0.6775,1.5 1.5,1.5 0.8225,0 1.5,-0.6775 1.5,-1.5 0,-0.8225 -0.6775,-1.5 -1.5,-1.5 z" id="circle36626-0" inkscape:connector-curvature="0" sodipodi:nodetypes="sssssssssssssss"/>
+ </g>
+ <path id="path9540" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.7;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m -268.5,1463 c 0.6573,0.01 0.6573,0.9907 0,1 h -3.5 v -1 z m -8.50781,0 v 1 h -4.5 c -0.6573,-0.01 -0.6573,-0.9907 0,-1 z m -4.5,-10 c -0.6573,0.01 -0.6573,0.9907 0,1 h 6.5 v -1 z M -270,1453 v 1 h 1.5 c 0.6573,-0.01 0.6573,-0.9907 0,-1 z m -11.50781,5 c -0.6573,0.01 -0.6573,0.9907 0,1 h 1.5 v -1 z m 6.50781,0 v 1 h 6.5 c 0.6573,-0.01 0.6573,-0.9907 0,-1 z" inkscape:connector-curvature="0"/>
</g>
- <path
- sodipodi:nodetypes="ccccccccc"
- inkscape:connector-curvature="0"
- id="path28073-8"
- d="m 406.5,504 c -0.27613,3e-5 -0.49997,0.22387 -0.5,0.5 v 3 c 3e-5,0.27613 0.22387,0.49997 0.5,0.5 h 3 c 0.27613,-3e-5 0.49997,-0.22387 0.5,-0.5 v -3 c -3e-5,-0.27613 -0.22387,-0.49997 -0.5,-0.5 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
- </g>
- <g
- transform="translate(31.00018,129.00007)"
- id="g28194"
- style="display:inline;fill:#ffffff;enable-background:new">
- <path
- inkscape:connector-curvature="0"
- id="path28192"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="m 384.49023,-72.003906 a 0.50005,0.50005 0 0 0 -0.34375,0.15039 l -2,2 a 0.50005,0.50005 0 1 0 0.70704,0.707032 l 2,-2 a 0.50005,0.50005 0 0 0 -0.36329,-0.857422 z m -3.03909,1.003895 c -0.65376,0 -1.30797,0.247425 -1.80469,0.744141 l -3.90234,3.902343 c -0.99343,0.993436 -0.99342,2.615944 0,3.609375 0.99343,0.993439 2.61594,0.993433 3.60938,0 l 3.90234,-3.902343 c 0.59653,-0.596538 0.82886,-1.419487 0.70898,-2.197266 l -0.40429,0.404297 a 1.50015,1.50015 0 1 1 -2.1211,-2.121094 l 0.40235,-0.402344 c -0.12952,-0.01981 -0.25989,-0.03711 -0.39063,-0.03711 z m -3.92969,4.970703 a 1.5291373,1.5291373 0 0 1 1.06055,0.447266 1.5291373,1.5291373 0 0 1 0,2.164062 1.5291373,1.5291373 0 0 1 -2.16406,0 1.5291373,1.5291373 0 0 1 0,-2.164062 1.5291373,1.5291373 0 0 1 1.10351,-0.447266 z m 6.97071,-9.970703 a 0.50005006,0.50005006 0 0 0 -0.34571,0.146484 l -1.85351,1.853516 h -1.79297 a 0.50005006,0.50005006 0 0 0 -0.0156,0 c -1.20241,0.03739 -2.21615,0.567689 -2.82618,1.425781 -0.61003,0.858093 -0.81106,2.015517 -0.53906,3.257813 0.01,0.04516 0.0301,0.08787 0.041,0.132812 l 0.86914,-0.86914 c -0.07,-0.784044 0.0959,-1.449869 0.44531,-1.941407 0.42534,-0.598307 1.10488,-0.976749 2.04101,-1.005859 h 1.98438 a 0.50005006,0.50005006 0 0 0 0.35352,-0.146484 l 1.64648,-1.646485 3.29297,3.292969 -1.64649,1.646484 a 0.50005006,0.50005006 0 0 0 -0.14648,0.353516 v 1.984375 c -0.0276,0.936587 -0.40343,1.616407 -1,2.041016 -0.49129,0.349673 -1.16015,0.516006 -1.94727,0.445312 l -0.86718,0.867188 c 0.0475,0.01158 0.0928,0.03258 0.14062,0.04297 1.24206,0.269931 2.39721,0.06874 3.25391,-0.541015 0.85669,-0.609757 1.38451,-1.621806 1.41992,-2.824219 a 0.50005006,0.50005006 0 0 0 0,-0.01563 v -1.792969 l 1.85352,-1.853515 a 0.50005006,0.50005006 0 0 0 0,-0.707032 l -4,-4 a 0.50005006,0.50005006 0 0 0 -0.36133,-0.146484 z" />
- </g>
- <g
- inkscape:export-ydpi="96"
- inkscape:export-xdpi="96"
- inkscape:export-filename="C:\Users\Andrzej Ambroż\Desktop\mtrx.png"
- style="display:inline;opacity:1;stroke:#ffffff;enable-background:new"
- id="g28228"
- transform="translate(-0.99999996)">
- <g
- style="display:inline;opacity:0.98999999;stroke:#ffffff;enable-background:new"
- transform="translate(338.99999,-439.99995)"
- id="g28217">
- <path
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
- d="M 501.49219 52.992188 C 501.21604 52.996495 500.99568 53.223854 501 53.5 L 501 54.5 C 500.99 55.176161 502.00956 55.176161 502 54.5 L 502 53.5 C 502.004 53.217735 501.77446 52.987773 501.49219 52.992188 z M 495.48438 53 C 495.3572 53.004 495.23638 53.056404 495.14648 53.146484 L 490.14648 58.146484 C 490.04522 58.247821 490.01608 58.369975 490.01562 58.492188 L 490 58.507812 L 490 60.5 C 489.99 61.176161 491.00956 61.176161 491 60.5 L 491 59 L 495.5 59 C 495.77613 58.99997 495.99997 58.77613 496 58.5 L 496 54 L 496.5 54 C 497.17616 54.0096 497.17616 52.990437 496.5 53 L 495.5 53 L 495.5 53.001953 C 495.49455 53.001948 495.48986 52.999829 495.48438 53 z M 498.5 53 C 497.82384 52.9904 497.82384 54.009563 498.5 54 L 499.5 54 C 500.17616 54.0096 500.17616 52.990437 499.5 53 L 498.5 53 z M 501.49219 55.992188 C 501.21604 55.996495 500.99568 56.223854 501 56.5 L 501 57.5 C 500.99 58.176161 502.00956 58.176161 502 57.5 L 502 56.5 C 502.004 56.217735 501.77446 55.987773 501.49219 55.992188 z M 501.49219 58.992188 C 501.21604 58.996495 500.99568 59.223854 501 59.5 L 501 60.5 C 500.99 61.176161 502.00956 61.176161 502 60.5 L 502 59.5 C 502.004 59.217735 501.77446 58.987773 501.49219 58.992188 z M 490.49219 61.992188 C 490.21604 61.996495 489.99568 62.223854 490 62.5 L 490 63.5 C 489.99 64.176161 491.00956 64.176161 491 63.5 L 491 62.5 C 491.004 62.217735 490.77446 61.987773 490.49219 61.992188 z M 501.49219 61.992188 C 501.21604 61.996495 500.99568 62.223854 501 62.5 L 501 63.5 C 500.99 64.176161 502.00956 64.176161 502 63.5 L 502 62.5 C 502.004 62.217735 501.77446 61.987773 501.49219 61.992188 z M 490.49219 64.992188 C 490.21604 64.996494 489.99568 65.223854 490 65.5 L 490 66.5 C 489.99 67.176161 491.00956 67.176161 491 66.5 L 491 65.5 C 491.004 65.217735 490.77446 64.987773 490.49219 64.992188 z M 501.49219 64.992188 C 501.21604 64.996494 500.99568 65.223854 501 65.5 L 501 66.5 C 500.99 67.176161 502.00956 67.176161 502 66.5 L 502 65.5 C 502.004 65.217735 501.77446 64.987773 501.49219 64.992188 z M 492.5 66 C 491.82384 65.9904 491.82384 67.009563 492.5 67 L 493.5 67 C 494.17616 67.0096 494.17616 65.990437 493.5 66 L 492.5 66 z M 495.5 66 C 494.82384 65.9904 494.82384 67.009563 495.5 67 L 496.5 67 C 497.17616 67.0096 497.17616 65.990437 496.5 66 L 495.5 66 z M 498.5 66 C 497.82384 65.9904 497.82384 67.009563 498.5 67 L 499.5 67 C 500.17616 67.0096 500.17616 65.990437 499.5 66 L 498.5 66 z "
- transform="translate(-337.99999,439.99995)"
- id="path28215" />
+ <path id="path29048-2" d="m 475,32 c -3.86007,0 -7,3.1399 -7,7 0,3.8601 3.13993,7 7,7 3.86007,0 7,-3.1399 7,-7 0,-3.8601 -3.13993,-7 -7,-7 z m 3.48047,2.2344 a 0.50005,0.50005 0 0 1 0.31836,0.125 c 1.24012,1.0149 2.02325,2.4828 2.17383,4.0781 a 0.50005,0.50005 0 0 1 -0.49219,0.5547 0.50005,0.50005 0 0 1 -0.50195,-0.461 c -0.12552,-1.3298 -0.77879,-2.5525 -1.8125,-3.3984 a 0.50005,0.50005 0 0 1 0.31445,-0.8984 z m -1.00977,1.7832 a 0.50005,0.50005 0 0 1 0.35742,0.1543 c 0.60661,0.6066 1.00291,1.3916 1.12891,2.2402 a 0.50005,0.50005 0 0 1 -0.46289,0.5801 0.50005,0.50005 0 0 1 -0.52734,-0.4336 c -0.0945,-0.6365 -0.39067,-1.2247 -0.84571,-1.6797 a 0.50005,0.50005 0 0 1 0.34961,-0.8613 z M 475,37 c 1.09865,0 2,0.9014 2,2 0,1.0986 -0.90135,2 -2,2 -1.09865,0 -2,-0.9014 -2,-2 0,-1.0986 0.90135,-2 2,-2 z m -5.51367,1.9902 a 0.50005,0.50005 0 0 1 0.0508,0 0.50005,0.50005 0 0 1 0.48437,0.4805 c 0.12552,1.3298 0.77879,2.5525 1.8125,3.3984 a 0.50005,0.50005 0 0 1 -0.31054,0.8926 0.50005,0.50005 0 0 1 -0.32227,-0.1191 c -1.24012,-1.0149 -2.02325,-2.4828 -2.17383,-4.0781 a 0.50005,0.50005 0 0 1 0.45899,-0.5743 z m 2.06445,0.024 a 0.50050417,0.50050417 0 0 1 0.48242,0.4277 c 0.0945,0.6365 0.39067,1.2247 0.84571,1.6797 a 0.50005,0.50005 0 0 1 -0.34766,0.8594 0.50005,0.50005 0 0 1 -0.35937,-0.1524 c -0.60661,-0.6066 -1.00291,-1.3916 -1.12891,-2.2402 a 0.50050417,0.50050417 0 0 1 0.50781,-0.5742 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" inkscape:connector-curvature="0"/>
+ <g style="display:inline;enable-background:new" id="g28812" transform="rotate(-180,328.00001,312.49999)">
+ <path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 319.49219,315 a 0.50005,0.50005 0 0 0 -0.34571,0.14648 l -4,4 a 0.50005,0.50005 0 0 0 0,0.70704 l 4,4 a 0.50005,0.50005 0 0 0 0.36133,0.14648 0.50005,0.50005 0 0 0 0.34571,-0.14648 l 4,-4 a 0.50005,0.50005 0 0 0 0,-0.70704 l -0.18164,-0.18164 -3.81836,-3.81836 A 0.50005,0.50005 0 0 0 319.49219,315 Z M 319.5,316.20703 322.79297,319.5 319.5,322.79297 316.20703,319.5 Z M 311,319 v 1 h 1 v -1 z m 2,0 v 1 h 1 v -1 z m 0.5,4 c -0.12794,0 -0.25588,0.0489 -0.35352,0.14648 l -3,3 c -0.19519,0.19527 -0.19519,0.51177 0,0.70704 l 3,3 c 0.0957,0.0957 0.22603,0.14855 0.36133,0.14648 0.12989,-0.002 0.25387,-0.0546 0.34571,-0.14648 l 3,-3 c 0.19519,-0.19527 0.19519,-0.51177 0,-0.70704 l -3,-3 C 313.75588,323.04889 313.62794,323 313.5,323 Z m 4.5,3 v 1 h 1 v -1 z m 2,0 v 1 h 1 v -1 z m 2,0 v 1 h 1 v -1 z" transform="rotate(180,333.00001,317.49999)" id="path28715" inkscape:connector-curvature="0"/>
</g>
</g>
+ <g style="display:inline;enable-background:new" id="g28909-7" transform="rotate(-180,535.5,631.5)">
+ <path style="opacity:0.6;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke" d="m 7,654 v 8 c 0,0.54532 0.45468,1 1,1 h 12 c 0.54532,0 1,-0.45468 1,-1 v -8 h -1 v 8 H 8 v -8 z" transform="translate(540,1)" id="path28905-8" inkscape:connector-curvature="0" sodipodi:nodetypes="csssscccccc"/>
+ <path sodipodi:nodetypes="cssssccccccccc" inkscape:connector-curvature="0" style="opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke" d="m 27,680 v 3 c 0,0.54532 0.45468,1 1,1 h 12 c 0.54532,0 1,-0.45468 1,-1 v -3 H 40 28 Z m 1,1 h 2 v 2 h -2 z" transform="matrix(1,0,0,-1,520,1334)" id="path28907-4"/>
+ </g>
+ <g style="display:inline;enable-background:new" transform="translate(-58,-51)" id="g28915-2">
+ <path sodipodi:nodetypes="csssscccccc" inkscape:connector-curvature="0" id="path28911-6" transform="translate(540,1)" d="m 7,654 v 8 c 0,0.54532 0.45468,1 1,1 h 12 c 0.54532,0 1,-0.45468 1,-1 v -8 h -1 v 8 H 8 v -8 z" style="opacity:0.6;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke"/>
+ <path sodipodi:nodetypes="ssccccsssccccc" inkscape:connector-curvature="0" style="opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke" d="m 8,670 c -0.54532,0 -1,0.45468 -1,1 v 3 h 1 12 1 v -3 c 0,-0.54532 -0.45468,-1 -1,-1 z m 0,1 h 2 v 2 H 8 Z" transform="translate(540,-20)" id="path28913-4"/>
+ </g>
</g>
- <g
- inkscape:groupmode="layer"
- id="layer2"
- inkscape:label="EMPTY ICON TRACKING"
- style="display:none">
- <g
- id="g16331"
- style="fill:#ffcc00">
- <text
- id="text16071"
- y="25"
- x="280.8446"
- style="font-style:normal;font-weight:normal;font-size:19.20428658px;line-height:0;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffcc00;fill-opacity:1;stroke:none;stroke-width:0.99999994"
- xml:space="preserve"><tspan
- style="fill:#ffcc00;stroke-width:0.99999994"
- y="25"
- x="280.8446"
- id="tspan16069"
- sodipodi:role="line">1</tspan></text>
- <text
- xml:space="preserve"
- style="font-style:normal;font-weight:normal;font-size:18.86315727px;line-height:0;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffcc00;fill-opacity:1;stroke:none;stroke-width:0.99999988"
- x="133.86958"
- y="67"
- id="text16075"><tspan
- sodipodi:role="line"
- id="tspan16073"
- x="133.86958"
- y="67"
- style="fill:#ffcc00;stroke-width:0.99999988">2</tspan></text>
- <text
- id="text16079"
- y="67"
- x="154.86958"
- style="font-style:normal;font-weight:normal;font-size:18.86315727px;line-height:0;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffcc00;fill-opacity:1;stroke:none;stroke-width:0.99999988"
- xml:space="preserve"><tspan
- style="fill:#ffcc00;stroke-width:0.99999988"
- y="67"
- x="154.86958"
- id="tspan16077"
- sodipodi:role="line">3</tspan></text>
- <text
- xml:space="preserve"
- style="font-style:normal;font-weight:normal;font-size:18.86315727px;line-height:0;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffcc00;fill-opacity:1;stroke:none;stroke-width:0.99999988"
- x="133.86958"
- y="88"
- id="text16087"><tspan
- sodipodi:role="line"
- id="tspan16085"
- x="133.86958"
- y="88"
- style="fill:#ffcc00;stroke-width:0.99999988">4</tspan></text>
- <text
- inkscape:transform-center-y="3.1243423"
- inkscape:transform-center-x="3.1988381"
- id="text16091"
- y="88"
- x="175.86958"
- style="font-style:normal;font-weight:normal;font-size:18.86315727px;line-height:0;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffcc00;fill-opacity:1;stroke:none;stroke-width:0.99999988"
- xml:space="preserve"><tspan
- style="fill:#ffcc00;stroke-width:0.99999988"
- y="88"
- x="175.86958"
- id="tspan16089"
- sodipodi:role="line">5</tspan></text>
- <text
- xml:space="preserve"
- style="font-style:normal;font-weight:normal;font-size:18.86315727px;line-height:0;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffcc00;fill-opacity:1;stroke:none;stroke-width:0.99999988"
- x="196.86958"
- y="88"
- id="text16095"
- inkscape:transform-center-x="3.1988381"
- inkscape:transform-center-y="3.1243423"><tspan
- sodipodi:role="line"
- id="tspan16093"
- x="196.86958"
- y="88"
- style="fill:#ffcc00;stroke-width:0.99999988">6</tspan></text>
- <text
- inkscape:transform-center-y="3.1243423"
- inkscape:transform-center-x="3.1988381"
- id="text16099"
- y="88"
- x="301.86957"
- style="font-style:normal;font-weight:normal;font-size:18.86315727px;line-height:0;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffcc00;fill-opacity:1;stroke:none;stroke-width:0.99999988"
- xml:space="preserve"><tspan
- style="fill:#ffcc00;stroke-width:0.99999988"
- y="88"
- x="301.86957"
- id="tspan16097"
- sodipodi:role="line">7</tspan></text>
- <text
- xml:space="preserve"
- style="font-style:normal;font-weight:normal;font-size:18.86315727px;line-height:0;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffcc00;fill-opacity:1;stroke:none;stroke-width:0.99999988"
- x="237.86957"
- y="151"
- id="text16103"
- inkscape:transform-center-x="3.1988381"
- inkscape:transform-center-y="3.1243423"><tspan
- sodipodi:role="line"
- id="tspan16101"
- x="237.86957"
- y="151"
- style="fill:#ffcc00;stroke-width:0.99999988">8</tspan></text>
- <text
- inkscape:transform-center-y="3.1243423"
- inkscape:transform-center-x="3.1988381"
- id="text16107"
- y="172"
- x="7.8695679"
- style="font-style:normal;font-weight:normal;font-size:18.86315727px;line-height:0;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffcc00;fill-opacity:1;stroke:none;stroke-width:0.99999988"
- xml:space="preserve"><tspan
- style="fill:#ffcc00;stroke-width:0.99999988"
- y="172"
- x="7.8695679"
- id="tspan16105"
- sodipodi:role="line">9</tspan></text>
- <text
- xml:space="preserve"
- style="font-style:normal;font-weight:normal;font-size:18.86315727px;line-height:0;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffcc00;fill-opacity:1;stroke:none;stroke-width:0.99999988"
- x="27.869568"
- y="172"
- id="text16111"
- inkscape:transform-center-x="3.1988381"
- inkscape:transform-center-y="3.1243423"><tspan
- sodipodi:role="line"
- id="tspan16109"
- x="27.869568"
- y="172"
- style="fill:#ffcc00;stroke-width:0.99999988">A</tspan></text>
- <text
- inkscape:transform-center-y="3.1243423"
- inkscape:transform-center-x="3.1988381"
- id="text16115"
- y="172"
- x="49.869568"
- style="font-style:normal;font-weight:normal;font-size:18.86315727px;line-height:0;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffcc00;fill-opacity:1;stroke:none;stroke-width:0.99999988"
- xml:space="preserve"><tspan
- style="fill:#ffcc00;stroke-width:0.99999988"
- y="172"
- x="49.869568"
- id="tspan16113"
- sodipodi:role="line">B</tspan></text>
- <text
- xml:space="preserve"
- style="font-style:normal;font-weight:normal;font-size:18.86315727px;line-height:0;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffcc00;fill-opacity:1;stroke:none;stroke-width:0.99999988"
- x="69.869568"
- y="172"
- id="text16119"
- inkscape:transform-center-x="3.1988381"
- inkscape:transform-center-y="3.1243423"><tspan
- sodipodi:role="line"
- id="tspan16117"
- x="69.869568"
- y="172"
- style="fill:#ffcc00;stroke-width:0.99999988">C</tspan></text>
- <text
- inkscape:transform-center-y="3.1243423"
- inkscape:transform-center-x="3.1988381"
- id="text16123"
- y="340"
- x="5.8695679"
- style="font-style:normal;font-weight:normal;font-size:18.86315727px;line-height:0;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffcc00;fill-opacity:1;stroke:none;stroke-width:0.99999988"
- xml:space="preserve"><tspan
- style="fill:#ffcc00;stroke-width:0.99999988"
- y="340"
- x="5.8695679"
- id="tspan16121"
- sodipodi:role="line">D</tspan></text>
- <text
- xml:space="preserve"
- style="font-style:normal;font-weight:normal;font-size:18.86315727px;line-height:0;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffcc00;fill-opacity:1;stroke:none;stroke-width:0.99999988"
- x="26.869568"
- y="340"
- id="text16127"
- inkscape:transform-center-x="3.1988381"
- inkscape:transform-center-y="3.1243423"><tspan
- sodipodi:role="line"
- id="tspan16125"
- x="26.869568"
- y="340"
- style="fill:#ffcc00;stroke-width:0.99999988">E</tspan></text>
- <text
- inkscape:transform-center-y="3.1243423"
- inkscape:transform-center-x="3.1988381"
- id="text16131"
- y="340"
- x="49.869568"
- style="font-style:normal;font-weight:normal;font-size:18.86315727px;line-height:0;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffcc00;fill-opacity:1;stroke:none;stroke-width:0.99999988"
- xml:space="preserve"><tspan
- style="fill:#ffcc00;stroke-width:0.99999988"
- y="340"
- x="49.869568"
- id="tspan16129"
- sodipodi:role="line">F</tspan></text>
- <text
- inkscape:transform-center-x="3.1988381"
- inkscape:transform-center-y="3.1243423"
- id="text16155"
- y="529"
- x="194.86957"
- style="font-style:normal;font-weight:normal;font-size:18.86315727px;line-height:0;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffcc00;fill-opacity:1;stroke:none;stroke-width:0.99999988"
- xml:space="preserve"><tspan
- style="fill:#ffcc00;stroke-width:0.99999988"
- y="529"
- x="194.86957"
- id="tspan16153"
- sodipodi:role="line">N</tspan></text>
- <text
- xml:space="preserve"
- style="font-style:normal;font-weight:normal;font-size:18.86315727px;line-height:0;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffcc00;fill-opacity:1;stroke:none;stroke-width:0.99999988"
- x="215.86957"
- y="529"
- id="text16159"
- inkscape:transform-center-y="3.1243423"
- inkscape:transform-center-x="3.1988381"><tspan
- sodipodi:role="line"
- id="tspan16157"
- x="215.86957"
- y="529"
- style="fill:#ffcc00;stroke-width:0.99999988">O</tspan></text>
- <text
- inkscape:transform-center-x="3.1988381"
- inkscape:transform-center-y="3.1243423"
- id="text16167"
- y="550"
- x="194.86957"
- style="font-style:normal;font-weight:normal;font-size:18.86315727px;line-height:0;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffcc00;fill-opacity:1;stroke:none;stroke-width:0.99999988"
- xml:space="preserve"><tspan
- style="fill:#ffcc00;stroke-width:0.99999988"
- y="550"
- x="194.86957"
- id="tspan16165"
- sodipodi:role="line">P</tspan></text>
- <text
- transform="scale(1.0088573,0.99122046)"
- xml:space="preserve"
- style="font-style:normal;font-weight:normal;font-size:16.21410179px;line-height:0;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffcc00;fill-opacity:1;stroke:none;stroke-width:0.99999988"
- x="339.99878"
- y="553.21686"
- id="text16171"
- inkscape:transform-center-y="2.6620037"
- inkscape:transform-center-x="2.773985"><tspan
- sodipodi:role="line"
- id="tspan16169"
- x="339.99878"
- y="553.21686"
- style="fill:#ffcc00;stroke-width:0.99999988">Q</tspan><tspan
- id="tspan16173"
- sodipodi:role="line"
- x="339.99878"
- y="553.21686"
- style="fill:#ffcc00;stroke-width:0.99999988" /></text>
- <text
- xml:space="preserve"
- style="font-style:normal;font-weight:normal;font-size:18.86315727px;line-height:0;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffcc00;fill-opacity:1;stroke:none;stroke-width:0.99999988"
- x="384.86957"
- y="550"
- id="text16177"
- inkscape:transform-center-y="3.1243423"
- inkscape:transform-center-x="3.1988381"><tspan
- sodipodi:role="line"
- id="tspan16175"
- x="384.86957"
- y="550"
- style="fill:#ffcc00;stroke-width:0.99999988">R</tspan></text>
- <text
- xml:space="preserve"
- style="font-style:normal;font-weight:normal;font-size:18.86315727px;line-height:0;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffcc00;fill-opacity:1;stroke:none;stroke-width:0.99999988"
- x="154.86957"
- y="571"
- id="text16185"
- inkscape:transform-center-y="3.1243423"
- inkscape:transform-center-x="3.1988381"><tspan
- sodipodi:role="line"
- id="tspan16183"
- x="154.86957"
- y="571"
- style="fill:#ffcc00;stroke-width:0.99999988">T</tspan></text>
- <text
- inkscape:transform-center-x="3.1988381"
- inkscape:transform-center-y="3.1243423"
- id="text16189"
- y="571"
- x="174.86957"
- style="font-style:normal;font-weight:normal;font-size:18.86315727px;line-height:0;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffcc00;fill-opacity:1;stroke:none;stroke-width:0.99999988"
- xml:space="preserve"><tspan
- style="fill:#ffcc00;stroke-width:0.99999988"
- y="571"
- x="174.86957"
- id="tspan16187"
- sodipodi:role="line">U</tspan></text>
- <text
- xml:space="preserve"
- style="font-style:normal;font-weight:normal;font-size:18.86315727px;line-height:0;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffcc00;fill-opacity:1;stroke:none;stroke-width:0.99999988"
- x="279.86957"
- y="571"
- id="text16193"
- inkscape:transform-center-y="3.1243423"
- inkscape:transform-center-x="3.1988381"><tspan
- sodipodi:role="line"
- id="tspan16191"
- x="279.86957"
- y="571"
- style="fill:#ffcc00;stroke-width:0.99999988">V</tspan></text>
- <text
- transform="scale(0.89679029,1.1150879)"
- inkscape:transform-center-x="2.5726168"
- inkscape:transform-center-y="3.1243143"
- id="text16197"
- y="549.73242"
- x="239.73518"
- style="font-style:normal;font-weight:normal;font-size:16.91629601px;line-height:0;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffcc00;fill-opacity:1;stroke:none;stroke-width:0.99999988"
- xml:space="preserve"><tspan
- style="fill:#ffcc00;stroke-width:0.99999988"
- y="549.73242"
- x="239.73518"
- id="tspan16195"
- sodipodi:role="line">W</tspan></text>
- <text
- inkscape:transform-center-x="3.1988381"
- inkscape:transform-center-y="3.1243423"
- id="text16215"
- y="613"
- x="447.86957"
- style="font-style:normal;font-weight:normal;font-size:18.86315727px;line-height:0;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffcc00;fill-opacity:1;stroke:none;stroke-width:0.99999988"
- xml:space="preserve"><tspan
- style="fill:#ffcc00;stroke-width:0.99999988"
- y="613"
- x="447.86957"
- id="tspan16213"
- sodipodi:role="line">X</tspan></text>
- <text
- xml:space="preserve"
- style="font-style:normal;font-weight:normal;font-size:18.86315727px;line-height:0;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffcc00;fill-opacity:1;stroke:none;stroke-width:0.99999988"
- x="467.86957"
- y="613"
- id="text16219"
- inkscape:transform-center-y="3.1243423"
- inkscape:transform-center-x="3.1988381"><tspan
- sodipodi:role="line"
- id="tspan16217"
- x="467.86957"
- y="613"
- style="fill:#ffcc00;stroke-width:0.99999988">Y</tspan></text>
- <text
- inkscape:transform-center-x="3.1988381"
- inkscape:transform-center-y="3.1243423"
- id="text16223"
- y="613"
- x="489.86957"
- style="font-style:normal;font-weight:normal;font-size:18.86315727px;line-height:0;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffcc00;fill-opacity:1;stroke:none;stroke-width:0.99999988"
- xml:space="preserve"><tspan
- style="fill:#ffcc00;stroke-width:0.99999988"
- y="613"
- x="489.86957"
- id="tspan16221"
- sodipodi:role="line">Z</tspan></text>
- <text
- xml:space="preserve"
- style="font-style:normal;font-weight:normal;font-size:18.67848969px;line-height:0;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffcc00;fill-opacity:1;stroke:none;stroke-width:0.99999994"
- x="507.88174"
- y="612.0321"
- id="text16227"
- inkscape:transform-center-y="3.0937591"
- inkscape:transform-center-x="3.1675179"><tspan
- sodipodi:role="line"
- id="tspan16225"
- x="507.88174"
- y="612.0321"
- style="fill:#ffcc00;stroke-width:0.99999994">@</tspan></text>
- <text
- inkscape:transform-center-x="2.8268697"
- inkscape:transform-center-y="2.7610486"
- id="text16239"
- y="633.06055"
- x="467.99258"
- style="font-style:normal;font-weight:normal;font-size:16.66976738px;line-height:0;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffcc00;fill-opacity:1;stroke:none;stroke-width:0.99999988"
- xml:space="preserve"><tspan
- style="fill:#ffcc00;stroke-width:0.99999988"
- y="633.06055"
- x="467.99258"
- id="tspan16237"
- sodipodi:role="line">%</tspan></text>
- <text
- xml:space="preserve"
- style="font-style:normal;font-weight:normal;font-size:18.86315918px;line-height:0;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffcc00;fill-opacity:1;stroke:none;stroke-width:0.99999994"
- x="491.83517"
- y="634.06061"
- id="text16243"
- inkscape:transform-center-y="3.124405"
- inkscape:transform-center-x="3.1987998"><tspan
- sodipodi:role="line"
- id="tspan16241"
- x="491.83517"
- y="634.06061"
- style="fill:#ffcc00;stroke-width:0.99999994">?</tspan></text>
+ <g inkscape:groupmode="layer" id="layer2" inkscape:label="EMPTY ICON TRACKING" style="display:none">
+ <g id="g16331" style="fill:#ffcc00">
+ <text id="text16071" y="25" x="280.8446" style="font-style:normal;font-weight:normal;font-size:19.20428658px;line-height:0;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffcc00;fill-opacity:1;stroke:none;stroke-width:0.99999994" xml:space="preserve"><tspan style="fill:#ffcc00;stroke-width:0.99999994" y="25" x="280.8446" id="tspan16069" sodipodi:role="line">1</tspan></text>
+ <text xml:space="preserve" style="font-style:normal;font-weight:normal;font-size:18.86315727px;line-height:0;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffcc00;fill-opacity:1;stroke:none;stroke-width:0.99999988" x="133.86958" y="67" id="text16075"><tspan sodipodi:role="line" id="tspan16073" x="133.86958" y="67" style="fill:#ffcc00;stroke-width:0.99999988">2</tspan></text>
+ <text id="text16079" y="67" x="154.86958" style="font-style:normal;font-weight:normal;font-size:18.86315727px;line-height:0;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffcc00;fill-opacity:1;stroke:none;stroke-width:0.99999988" xml:space="preserve"><tspan style="fill:#ffcc00;stroke-width:0.99999988" y="67" x="154.86958" id="tspan16077" sodipodi:role="line">3</tspan></text>
+ <text xml:space="preserve" style="font-style:normal;font-weight:normal;font-size:18.86315727px;line-height:0;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffcc00;fill-opacity:1;stroke:none;stroke-width:0.99999988" x="133.86958" y="88" id="text16087"><tspan sodipodi:role="line" id="tspan16085" x="133.86958" y="88" style="fill:#ffcc00;stroke-width:0.99999988">4</tspan></text>
+ <text inkscape:transform-center-y="3.1243423" inkscape:transform-center-x="3.1988381" id="text16091" y="88" x="175.86958" style="font-style:normal;font-weight:normal;font-size:18.86315727px;line-height:0;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffcc00;fill-opacity:1;stroke:none;stroke-width:0.99999988" xml:space="preserve"><tspan style="fill:#ffcc00;stroke-width:0.99999988" y="88" x="175.86958" id="tspan16089" sodipodi:role="line">5</tspan></text>
+ <text xml:space="preserve" style="font-style:normal;font-weight:normal;font-size:18.86315727px;line-height:0;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffcc00;fill-opacity:1;stroke:none;stroke-width:0.99999988" x="196.86958" y="88" id="text16095" inkscape:transform-center-x="3.1988381" inkscape:transform-center-y="3.1243423"><tspan sodipodi:role="line" id="tspan16093" x="196.86958" y="88" style="fill:#ffcc00;stroke-width:0.99999988">6</tspan></text>
+ <text inkscape:transform-center-y="3.1243423" inkscape:transform-center-x="3.1988381" id="text16099" y="88" x="301.86957" style="font-style:normal;font-weight:normal;font-size:18.86315727px;line-height:0;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffcc00;fill-opacity:1;stroke:none;stroke-width:0.99999988" xml:space="preserve"><tspan style="fill:#ffcc00;stroke-width:0.99999988" y="88" x="301.86957" id="tspan16097" sodipodi:role="line">7</tspan></text>
+ <text xml:space="preserve" style="font-style:normal;font-weight:normal;font-size:18.86315727px;line-height:0;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffcc00;fill-opacity:1;stroke:none;stroke-width:0.99999988" x="237.86957" y="151" id="text16103" inkscape:transform-center-x="3.1988381" inkscape:transform-center-y="3.1243423"><tspan sodipodi:role="line" id="tspan16101" x="237.86957" y="151" style="fill:#ffcc00;stroke-width:0.99999988">8</tspan></text>
+ <text inkscape:transform-center-y="3.1243423" inkscape:transform-center-x="3.1988381" id="text16107" y="172" x="7.8695679" style="font-style:normal;font-weight:normal;font-size:18.86315727px;line-height:0;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffcc00;fill-opacity:1;stroke:none;stroke-width:0.99999988" xml:space="preserve"><tspan style="fill:#ffcc00;stroke-width:0.99999988" y="172" x="7.8695679" id="tspan16105" sodipodi:role="line">9</tspan></text>
+ <text xml:space="preserve" style="font-style:normal;font-weight:normal;font-size:18.86315727px;line-height:0;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffcc00;fill-opacity:1;stroke:none;stroke-width:0.99999988" x="27.869568" y="172" id="text16111" inkscape:transform-center-x="3.1988381" inkscape:transform-center-y="3.1243423"><tspan sodipodi:role="line" id="tspan16109" x="27.869568" y="172" style="fill:#ffcc00;stroke-width:0.99999988">A</tspan></text>
+ <text inkscape:transform-center-y="3.1243423" inkscape:transform-center-x="3.1988381" id="text16115" y="172" x="49.869568" style="font-style:normal;font-weight:normal;font-size:18.86315727px;line-height:0;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffcc00;fill-opacity:1;stroke:none;stroke-width:0.99999988" xml:space="preserve"><tspan style="fill:#ffcc00;stroke-width:0.99999988" y="172" x="49.869568" id="tspan16113" sodipodi:role="line">B</tspan></text>
+ <text xml:space="preserve" style="font-style:normal;font-weight:normal;font-size:18.86315727px;line-height:0;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffcc00;fill-opacity:1;stroke:none;stroke-width:0.99999988" x="69.869568" y="172" id="text16119" inkscape:transform-center-x="3.1988381" inkscape:transform-center-y="3.1243423"><tspan sodipodi:role="line" id="tspan16117" x="69.869568" y="172" style="fill:#ffcc00;stroke-width:0.99999988">C</tspan></text>
+ <text inkscape:transform-center-y="3.1243423" inkscape:transform-center-x="3.1988381" id="text16123" y="340" x="5.8695679" style="font-style:normal;font-weight:normal;font-size:18.86315727px;line-height:0;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffcc00;fill-opacity:1;stroke:none;stroke-width:0.99999988" xml:space="preserve"><tspan style="fill:#ffcc00;stroke-width:0.99999988" y="340" x="5.8695679" id="tspan16121" sodipodi:role="line">D</tspan></text>
+ <text xml:space="preserve" style="font-style:normal;font-weight:normal;font-size:18.86315727px;line-height:0;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffcc00;fill-opacity:1;stroke:none;stroke-width:0.99999988" x="26.869568" y="340" id="text16127" inkscape:transform-center-x="3.1988381" inkscape:transform-center-y="3.1243423"><tspan sodipodi:role="line" id="tspan16125" x="26.869568" y="340" style="fill:#ffcc00;stroke-width:0.99999988">E</tspan></text>
+ <text inkscape:transform-center-y="3.1243423" inkscape:transform-center-x="3.1988381" id="text16131" y="340" x="49.869568" style="font-style:normal;font-weight:normal;font-size:18.86315727px;line-height:0;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffcc00;fill-opacity:1;stroke:none;stroke-width:0.99999988" xml:space="preserve"><tspan style="fill:#ffcc00;stroke-width:0.99999988" y="340" x="49.869568" id="tspan16129" sodipodi:role="line">F</tspan></text>
+ <text inkscape:transform-center-x="3.1988381" inkscape:transform-center-y="3.1243423" id="text16155" y="529" x="194.86957" style="font-style:normal;font-weight:normal;font-size:18.86315727px;line-height:0;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffcc00;fill-opacity:1;stroke:none;stroke-width:0.99999988" xml:space="preserve"><tspan style="fill:#ffcc00;stroke-width:0.99999988" y="529" x="194.86957" id="tspan16153" sodipodi:role="line">N</tspan></text>
+ <text xml:space="preserve" style="font-style:normal;font-weight:normal;font-size:18.86315727px;line-height:0;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffcc00;fill-opacity:1;stroke:none;stroke-width:0.99999988" x="215.86957" y="529" id="text16159" inkscape:transform-center-y="3.1243423" inkscape:transform-center-x="3.1988381"><tspan sodipodi:role="line" id="tspan16157" x="215.86957" y="529" style="fill:#ffcc00;stroke-width:0.99999988">O</tspan></text>
+ <text inkscape:transform-center-x="3.1988381" inkscape:transform-center-y="3.1243423" id="text16167" y="550" x="194.86957" style="font-style:normal;font-weight:normal;font-size:18.86315727px;line-height:0;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffcc00;fill-opacity:1;stroke:none;stroke-width:0.99999988" xml:space="preserve"><tspan style="fill:#ffcc00;stroke-width:0.99999988" y="550" x="194.86957" id="tspan16165" sodipodi:role="line">P</tspan></text>
+ <text transform="scale(1.0088573,0.99122046)" xml:space="preserve" style="font-style:normal;font-weight:normal;font-size:16.21410179px;line-height:0;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffcc00;fill-opacity:1;stroke:none;stroke-width:0.99999988" x="339.99878" y="553.21686" id="text16171" inkscape:transform-center-y="2.6620037" inkscape:transform-center-x="2.773985"><tspan sodipodi:role="line" id="tspan16169" x="339.99878" y="553.21686" style="fill:#ffcc00;stroke-width:0.99999988">Q</tspan><tspan id="tspan16173" sodipodi:role="line" x="339.99878" y="553.21686" style="fill:#ffcc00;stroke-width:0.99999988"/></text>
+ <text xml:space="preserve" style="font-style:normal;font-weight:normal;font-size:18.86315727px;line-height:0;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffcc00;fill-opacity:1;stroke:none;stroke-width:0.99999988" x="384.86957" y="550" id="text16177" inkscape:transform-center-y="3.1243423" inkscape:transform-center-x="3.1988381"><tspan sodipodi:role="line" id="tspan16175" x="384.86957" y="550" style="fill:#ffcc00;stroke-width:0.99999988">R</tspan></text>
+ <text xml:space="preserve" style="font-style:normal;font-weight:normal;font-size:18.86315727px;line-height:0;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffcc00;fill-opacity:1;stroke:none;stroke-width:0.99999988" x="154.86957" y="571" id="text16185" inkscape:transform-center-y="3.1243423" inkscape:transform-center-x="3.1988381"><tspan sodipodi:role="line" id="tspan16183" x="154.86957" y="571" style="fill:#ffcc00;stroke-width:0.99999988">T</tspan></text>
+ <text inkscape:transform-center-x="3.1988381" inkscape:transform-center-y="3.1243423" id="text16189" y="571" x="174.86957" style="font-style:normal;font-weight:normal;font-size:18.86315727px;line-height:0;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffcc00;fill-opacity:1;stroke:none;stroke-width:0.99999988" xml:space="preserve"><tspan style="fill:#ffcc00;stroke-width:0.99999988" y="571" x="174.86957" id="tspan16187" sodipodi:role="line">U</tspan></text>
+ <text xml:space="preserve" style="font-style:normal;font-weight:normal;font-size:18.86315727px;line-height:0;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffcc00;fill-opacity:1;stroke:none;stroke-width:0.99999988" x="279.86957" y="571" id="text16193" inkscape:transform-center-y="3.1243423" inkscape:transform-center-x="3.1988381"><tspan sodipodi:role="line" id="tspan16191" x="279.86957" y="571" style="fill:#ffcc00;stroke-width:0.99999988">V</tspan></text>
+ <text transform="scale(0.89679029,1.1150879)" inkscape:transform-center-x="2.5726168" inkscape:transform-center-y="3.1243143" id="text16197" y="549.73242" x="239.73518" style="font-style:normal;font-weight:normal;font-size:16.91629601px;line-height:0;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffcc00;fill-opacity:1;stroke:none;stroke-width:0.99999988" xml:space="preserve"><tspan style="fill:#ffcc00;stroke-width:0.99999988" y="549.73242" x="239.73518" id="tspan16195" sodipodi:role="line">W</tspan></text>
+ <text inkscape:transform-center-x="3.1988381" inkscape:transform-center-y="3.1243423" id="text16215" y="613" x="447.86957" style="font-style:normal;font-weight:normal;font-size:18.86315727px;line-height:0;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffcc00;fill-opacity:1;stroke:none;stroke-width:0.99999988" xml:space="preserve"><tspan style="fill:#ffcc00;stroke-width:0.99999988" y="613" x="447.86957" id="tspan16213" sodipodi:role="line">X</tspan></text>
+ <text xml:space="preserve" style="font-style:normal;font-weight:normal;font-size:18.86315727px;line-height:0;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffcc00;fill-opacity:1;stroke:none;stroke-width:0.99999988" x="467.86957" y="613" id="text16219" inkscape:transform-center-y="3.1243423" inkscape:transform-center-x="3.1988381"><tspan sodipodi:role="line" id="tspan16217" x="467.86957" y="613" style="fill:#ffcc00;stroke-width:0.99999988">Y</tspan></text>
+ <text inkscape:transform-center-x="3.1988381" inkscape:transform-center-y="3.1243423" id="text16223" y="613" x="489.86957" style="font-style:normal;font-weight:normal;font-size:18.86315727px;line-height:0;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffcc00;fill-opacity:1;stroke:none;stroke-width:0.99999988" xml:space="preserve"><tspan style="fill:#ffcc00;stroke-width:0.99999988" y="613" x="489.86957" id="tspan16221" sodipodi:role="line">Z</tspan></text>
+ <text xml:space="preserve" style="font-style:normal;font-weight:normal;font-size:18.67848969px;line-height:0;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffcc00;fill-opacity:1;stroke:none;stroke-width:0.99999994" x="507.88174" y="612.0321" id="text16227" inkscape:transform-center-y="3.0937591" inkscape:transform-center-x="3.1675179"><tspan sodipodi:role="line" id="tspan16225" x="507.88174" y="612.0321" style="fill:#ffcc00;stroke-width:0.99999994">@</tspan></text>
+ <text inkscape:transform-center-x="2.8268697" inkscape:transform-center-y="2.7610486" id="text16239" y="633.06055" x="467.99258" style="font-style:normal;font-weight:normal;font-size:16.66976738px;line-height:0;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffcc00;fill-opacity:1;stroke:none;stroke-width:0.99999988" xml:space="preserve"><tspan style="fill:#ffcc00;stroke-width:0.99999988" y="633.06055" x="467.99258" id="tspan16237" sodipodi:role="line">%</tspan></text>
+ <text xml:space="preserve" style="font-style:normal;font-weight:normal;font-size:18.86315918px;line-height:0;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffcc00;fill-opacity:1;stroke:none;stroke-width:0.99999994" x="491.83517" y="634.06061" id="text16243" inkscape:transform-center-y="3.124405" inkscape:transform-center-x="3.1987998"><tspan sodipodi:role="line" id="tspan16241" x="491.83517" y="634.06061" style="fill:#ffcc00;stroke-width:0.99999994">?</tspan></text>
</g>
</g>
</svg>
diff --git a/release/datafiles/blender_icons16/icon16_con_action.dat b/release/datafiles/blender_icons16/icon16_con_action.dat
index 48484dea517..20608dcd514 100644
--- a/release/datafiles/blender_icons16/icon16_con_action.dat
+++ b/release/datafiles/blender_icons16/icon16_con_action.dat
Binary files differ
diff --git a/release/datafiles/blender_icons16/icon16_desktop.dat b/release/datafiles/blender_icons16/icon16_desktop.dat
index 4a08daed9a9..91847211d34 100644
--- a/release/datafiles/blender_icons16/icon16_desktop.dat
+++ b/release/datafiles/blender_icons16/icon16_desktop.dat
Binary files differ
diff --git a/release/datafiles/blender_icons16/icon16_disk.dat b/release/datafiles/blender_icons16/icon16_disk.dat
new file mode 100644
index 00000000000..26325c272b2
--- /dev/null
+++ b/release/datafiles/blender_icons16/icon16_disk.dat
Binary files differ
diff --git a/release/datafiles/blender_icons16/icon16_documents.dat b/release/datafiles/blender_icons16/icon16_documents.dat
new file mode 100644
index 00000000000..1db0f7502d5
--- /dev/null
+++ b/release/datafiles/blender_icons16/icon16_documents.dat
Binary files differ
diff --git a/release/datafiles/blender_icons16/icon16_file_archive.dat b/release/datafiles/blender_icons16/icon16_file_archive.dat
index 39b322c6d1d..e61a30fde7d 100644
--- a/release/datafiles/blender_icons16/icon16_file_archive.dat
+++ b/release/datafiles/blender_icons16/icon16_file_archive.dat
Binary files differ
diff --git a/release/datafiles/blender_icons16/icon16_file_folder.dat b/release/datafiles/blender_icons16/icon16_file_folder.dat
index fa31dce044c..a951084a71e 100644
--- a/release/datafiles/blender_icons16/icon16_file_folder.dat
+++ b/release/datafiles/blender_icons16/icon16_file_folder.dat
Binary files differ
diff --git a/release/datafiles/blender_icons16/icon16_file_font.dat b/release/datafiles/blender_icons16/icon16_file_font.dat
index b533b99b034..e77535c36d7 100644
--- a/release/datafiles/blender_icons16/icon16_file_font.dat
+++ b/release/datafiles/blender_icons16/icon16_file_font.dat
Binary files differ
diff --git a/release/datafiles/blender_icons16/icon16_file_script.dat b/release/datafiles/blender_icons16/icon16_file_script.dat
index fdeda4aa67b..4f40b33b712 100644
--- a/release/datafiles/blender_icons16/icon16_file_script.dat
+++ b/release/datafiles/blender_icons16/icon16_file_script.dat
Binary files differ
diff --git a/release/datafiles/blender_icons16/icon16_file_sound.dat b/release/datafiles/blender_icons16/icon16_file_sound.dat
index 49b6af84b5b..d90bd2af8f8 100644
--- a/release/datafiles/blender_icons16/icon16_file_sound.dat
+++ b/release/datafiles/blender_icons16/icon16_file_sound.dat
Binary files differ
diff --git a/release/datafiles/blender_icons16/icon16_filebrowser.dat b/release/datafiles/blender_icons16/icon16_filebrowser.dat
index 2bc6608eb5b..359bea3999a 100644
--- a/release/datafiles/blender_icons16/icon16_filebrowser.dat
+++ b/release/datafiles/blender_icons16/icon16_filebrowser.dat
Binary files differ
diff --git a/release/datafiles/blender_icons16/icon16_home.dat b/release/datafiles/blender_icons16/icon16_home.dat
new file mode 100644
index 00000000000..fd917370616
--- /dev/null
+++ b/release/datafiles/blender_icons16/icon16_home.dat
Binary files differ
diff --git a/release/datafiles/blender_icons16/icon16_memory.dat b/release/datafiles/blender_icons16/icon16_memory.dat
new file mode 100644
index 00000000000..84aff1c3836
--- /dev/null
+++ b/release/datafiles/blender_icons16/icon16_memory.dat
Binary files differ
diff --git a/release/datafiles/blender_icons16/icon16_mod_mirror.dat b/release/datafiles/blender_icons16/icon16_mod_mirror.dat
index 665a0eb68fc..e8bd88d1d83 100644
--- a/release/datafiles/blender_icons16/icon16_mod_mirror.dat
+++ b/release/datafiles/blender_icons16/icon16_mod_mirror.dat
Binary files differ
diff --git a/release/datafiles/blender_icons16/icon16_newfolder.dat b/release/datafiles/blender_icons16/icon16_newfolder.dat
index c097b1372f6..e5691085d7e 100644
--- a/release/datafiles/blender_icons16/icon16_newfolder.dat
+++ b/release/datafiles/blender_icons16/icon16_newfolder.dat
Binary files differ
diff --git a/release/datafiles/blender_icons16/icon16_options.dat b/release/datafiles/blender_icons16/icon16_options.dat
new file mode 100644
index 00000000000..eb02cde772e
--- /dev/null
+++ b/release/datafiles/blender_icons16/icon16_options.dat
Binary files differ
diff --git a/release/datafiles/blender_icons16/icon16_plugin.dat b/release/datafiles/blender_icons16/icon16_plugin.dat
index 6d3d38206c9..e94847b6f62 100644
--- a/release/datafiles/blender_icons16/icon16_plugin.dat
+++ b/release/datafiles/blender_icons16/icon16_plugin.dat
Binary files differ
diff --git a/release/datafiles/blender_icons16/icon16_preset.dat b/release/datafiles/blender_icons16/icon16_preset.dat
index e9f137c59da..f5aa6e0f2c9 100644
--- a/release/datafiles/blender_icons16/icon16_preset.dat
+++ b/release/datafiles/blender_icons16/icon16_preset.dat
Binary files differ
diff --git a/release/datafiles/blender_icons16/icon16_select_intersect.dat b/release/datafiles/blender_icons16/icon16_select_intersect.dat
index c078bbcaa10..19a508436f2 100644
--- a/release/datafiles/blender_icons16/icon16_select_intersect.dat
+++ b/release/datafiles/blender_icons16/icon16_select_intersect.dat
Binary files differ
diff --git a/release/datafiles/blender_icons16/icon16_statusbar.dat b/release/datafiles/blender_icons16/icon16_statusbar.dat
new file mode 100644
index 00000000000..8f9b046e13a
--- /dev/null
+++ b/release/datafiles/blender_icons16/icon16_statusbar.dat
Binary files differ
diff --git a/release/datafiles/blender_icons16/icon16_temp.dat b/release/datafiles/blender_icons16/icon16_temp.dat
new file mode 100644
index 00000000000..0c3a0bd5deb
--- /dev/null
+++ b/release/datafiles/blender_icons16/icon16_temp.dat
Binary files differ
diff --git a/release/datafiles/blender_icons16/icon16_topbar.dat b/release/datafiles/blender_icons16/icon16_topbar.dat
new file mode 100644
index 00000000000..926718c90ba
--- /dev/null
+++ b/release/datafiles/blender_icons16/icon16_topbar.dat
Binary files differ
diff --git a/release/datafiles/blender_icons32/icon32_con_action.dat b/release/datafiles/blender_icons32/icon32_con_action.dat
index 3166e5a7f37..59dcbd708e8 100644
--- a/release/datafiles/blender_icons32/icon32_con_action.dat
+++ b/release/datafiles/blender_icons32/icon32_con_action.dat
Binary files differ
diff --git a/release/datafiles/blender_icons32/icon32_desktop.dat b/release/datafiles/blender_icons32/icon32_desktop.dat
index 1400d07381d..2775586518d 100644
--- a/release/datafiles/blender_icons32/icon32_desktop.dat
+++ b/release/datafiles/blender_icons32/icon32_desktop.dat
Binary files differ
diff --git a/release/datafiles/blender_icons32/icon32_disk.dat b/release/datafiles/blender_icons32/icon32_disk.dat
new file mode 100644
index 00000000000..e0181bb7a8e
--- /dev/null
+++ b/release/datafiles/blender_icons32/icon32_disk.dat
Binary files differ
diff --git a/release/datafiles/blender_icons32/icon32_documents.dat b/release/datafiles/blender_icons32/icon32_documents.dat
new file mode 100644
index 00000000000..df1b43ba52a
--- /dev/null
+++ b/release/datafiles/blender_icons32/icon32_documents.dat
Binary files differ
diff --git a/release/datafiles/blender_icons32/icon32_file_archive.dat b/release/datafiles/blender_icons32/icon32_file_archive.dat
index aac33e53e13..19ba0442de3 100644
--- a/release/datafiles/blender_icons32/icon32_file_archive.dat
+++ b/release/datafiles/blender_icons32/icon32_file_archive.dat
Binary files differ
diff --git a/release/datafiles/blender_icons32/icon32_file_folder.dat b/release/datafiles/blender_icons32/icon32_file_folder.dat
index 89d0058fae3..ada4c31eb86 100644
--- a/release/datafiles/blender_icons32/icon32_file_folder.dat
+++ b/release/datafiles/blender_icons32/icon32_file_folder.dat
Binary files differ
diff --git a/release/datafiles/blender_icons32/icon32_file_font.dat b/release/datafiles/blender_icons32/icon32_file_font.dat
index 71cd42f4d34..fda83840ca0 100644
--- a/release/datafiles/blender_icons32/icon32_file_font.dat
+++ b/release/datafiles/blender_icons32/icon32_file_font.dat
Binary files differ
diff --git a/release/datafiles/blender_icons32/icon32_file_script.dat b/release/datafiles/blender_icons32/icon32_file_script.dat
index 17e622f424d..572fb731add 100644
--- a/release/datafiles/blender_icons32/icon32_file_script.dat
+++ b/release/datafiles/blender_icons32/icon32_file_script.dat
Binary files differ
diff --git a/release/datafiles/blender_icons32/icon32_file_sound.dat b/release/datafiles/blender_icons32/icon32_file_sound.dat
index 1245abae2e1..5f41e3754e7 100644
--- a/release/datafiles/blender_icons32/icon32_file_sound.dat
+++ b/release/datafiles/blender_icons32/icon32_file_sound.dat
Binary files differ
diff --git a/release/datafiles/blender_icons32/icon32_filebrowser.dat b/release/datafiles/blender_icons32/icon32_filebrowser.dat
index 52d9c74503f..54315ee4575 100644
--- a/release/datafiles/blender_icons32/icon32_filebrowser.dat
+++ b/release/datafiles/blender_icons32/icon32_filebrowser.dat
Binary files differ
diff --git a/release/datafiles/blender_icons32/icon32_home.dat b/release/datafiles/blender_icons32/icon32_home.dat
new file mode 100644
index 00000000000..841f1144f98
--- /dev/null
+++ b/release/datafiles/blender_icons32/icon32_home.dat
Binary files differ
diff --git a/release/datafiles/blender_icons32/icon32_memory.dat b/release/datafiles/blender_icons32/icon32_memory.dat
new file mode 100644
index 00000000000..8a74dae3888
--- /dev/null
+++ b/release/datafiles/blender_icons32/icon32_memory.dat
Binary files differ
diff --git a/release/datafiles/blender_icons32/icon32_mod_mirror.dat b/release/datafiles/blender_icons32/icon32_mod_mirror.dat
index f981305f960..bf4fda6fec7 100644
--- a/release/datafiles/blender_icons32/icon32_mod_mirror.dat
+++ b/release/datafiles/blender_icons32/icon32_mod_mirror.dat
Binary files differ
diff --git a/release/datafiles/blender_icons32/icon32_newfolder.dat b/release/datafiles/blender_icons32/icon32_newfolder.dat
index d2762e1e878..e69f46edaff 100644
--- a/release/datafiles/blender_icons32/icon32_newfolder.dat
+++ b/release/datafiles/blender_icons32/icon32_newfolder.dat
Binary files differ
diff --git a/release/datafiles/blender_icons32/icon32_options.dat b/release/datafiles/blender_icons32/icon32_options.dat
new file mode 100644
index 00000000000..fe41ed00b44
--- /dev/null
+++ b/release/datafiles/blender_icons32/icon32_options.dat
Binary files differ
diff --git a/release/datafiles/blender_icons32/icon32_plugin.dat b/release/datafiles/blender_icons32/icon32_plugin.dat
index f9047ff9578..db0f5d409d7 100644
--- a/release/datafiles/blender_icons32/icon32_plugin.dat
+++ b/release/datafiles/blender_icons32/icon32_plugin.dat
Binary files differ
diff --git a/release/datafiles/blender_icons32/icon32_preset.dat b/release/datafiles/blender_icons32/icon32_preset.dat
index 6620104a51e..43e6f3fdbe2 100644
--- a/release/datafiles/blender_icons32/icon32_preset.dat
+++ b/release/datafiles/blender_icons32/icon32_preset.dat
Binary files differ
diff --git a/release/datafiles/blender_icons32/icon32_select_intersect.dat b/release/datafiles/blender_icons32/icon32_select_intersect.dat
index 62ef4184762..9f0d156b6a0 100644
--- a/release/datafiles/blender_icons32/icon32_select_intersect.dat
+++ b/release/datafiles/blender_icons32/icon32_select_intersect.dat
Binary files differ
diff --git a/release/datafiles/blender_icons32/icon32_statusbar.dat b/release/datafiles/blender_icons32/icon32_statusbar.dat
new file mode 100644
index 00000000000..428d3e7e259
--- /dev/null
+++ b/release/datafiles/blender_icons32/icon32_statusbar.dat
Binary files differ
diff --git a/release/datafiles/blender_icons32/icon32_temp.dat b/release/datafiles/blender_icons32/icon32_temp.dat
new file mode 100644
index 00000000000..645206e8560
--- /dev/null
+++ b/release/datafiles/blender_icons32/icon32_temp.dat
Binary files differ
diff --git a/release/datafiles/blender_icons32/icon32_topbar.dat b/release/datafiles/blender_icons32/icon32_topbar.dat
new file mode 100644
index 00000000000..50d0acc5e6b
--- /dev/null
+++ b/release/datafiles/blender_icons32/icon32_topbar.dat
Binary files differ
diff --git a/release/datafiles/icons/brush.sculpt.pinch.dat b/release/datafiles/icons/brush.sculpt.pinch.dat
index d101c5cc558..4a76c725561 100644
--- a/release/datafiles/icons/brush.sculpt.pinch.dat
+++ b/release/datafiles/icons/brush.sculpt.pinch.dat
Binary files differ
diff --git a/release/datafiles/icons/brush.sculpt.pose.dat b/release/datafiles/icons/brush.sculpt.pose.dat
index a8093702317..6183583ea27 100644
--- a/release/datafiles/icons/brush.sculpt.pose.dat
+++ b/release/datafiles/icons/brush.sculpt.pose.dat
Binary files differ
diff --git a/release/datafiles/icons/brush.sculpt.snake_hook.dat b/release/datafiles/icons/brush.sculpt.snake_hook.dat
index 3b0a8b47bd8..64256d93702 100644
--- a/release/datafiles/icons/brush.sculpt.snake_hook.dat
+++ b/release/datafiles/icons/brush.sculpt.snake_hook.dat
Binary files differ
diff --git a/release/datafiles/icons/ops.gpencil.primitive_polyline.dat b/release/datafiles/icons/ops.gpencil.primitive_polyline.dat
new file mode 100644
index 00000000000..35a869661b2
--- /dev/null
+++ b/release/datafiles/icons/ops.gpencil.primitive_polyline.dat
Binary files differ
diff --git a/release/datafiles/icons/ops.paint.eyedropper_add.dat b/release/datafiles/icons/ops.paint.eyedropper_add.dat
new file mode 100644
index 00000000000..135cbbb4a9d
--- /dev/null
+++ b/release/datafiles/icons/ops.paint.eyedropper_add.dat
Binary files differ
diff --git a/release/datafiles/locale b/release/datafiles/locale
-Subproject 7327a198a4221814d478dddb23088d54c96b486
+Subproject 8a05b618f031582c006c6f62b9e60619ab3eef8
diff --git a/release/datafiles/prvicons.png b/release/datafiles/prvicons.png
index 7c78507a539..4b7b23aa006 100644
--- a/release/datafiles/prvicons.png
+++ b/release/datafiles/prvicons.png
Binary files differ
diff --git a/release/datafiles/prvicons.svg b/release/datafiles/prvicons.svg
index 6c81c0c16b7..371ee040186 100644
--- a/release/datafiles/prvicons.svg
+++ b/release/datafiles/prvicons.svg
@@ -16,10 +16,10 @@
sodipodi:version="0.32"
inkscape:version="0.92.3 (2405546, 2018-03-11)"
version="1.0"
- sodipodi:docname="prvicons.svg"
+ sodipodi:docname="blender_icons 2.82 - w CD.svg"
inkscape:output_extension="org.inkscape.output.svg.inkscape"
style="display:inline;enable-background:new"
- inkscape:export-filename="D:\blender-2.8-git\blender\release\datafiles\prvicons.png"
+ inkscape:export-filename="prvicons.png"
inkscape:export-xdpi="96"
inkscape:export-ydpi="96">
<metadata
@@ -52,9 +52,9 @@
inkscape:bbox-nodes="true"
inkscape:snap-bbox-edge-midpoints="true"
inkscape:snap-bbox-midpoints="true"
- inkscape:zoom="1"
- inkscape:cx="755.9435"
- inkscape:cy="49.285986"
+ inkscape:zoom="0.70710678"
+ inkscape:cx="859.51647"
+ inkscape:cy="82.570257"
inkscape:window-x="1912"
inkscape:window-y="-8"
inkscape:window-maximized="1"
@@ -17235,25 +17235,6 @@
id="path13917" />
</g>
<g
- id="g7323"
- style="display:inline;opacity:0.6;enable-background:new"
- transform="matrix(1.4894891,0,0,1.4922753,-112.65937,307.51188)">
- <path
- id="path7473"
- transform="translate(756,-312)"
- d="m 80,-136.5 -40.5,40.5 0.0078,1.345703 c 1.453885,-2.021331 3.879556,-3.1306 6.552027,-3.1306 h 30.211702 c 1.09262,-1.2e-4 2.013913,-0.924983 2.014113,-2.010353 v -30.15529 c 0,-3.35059 1.0361,-5.08351 3.054202,-6.53774 z"
- style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="cccsccccc" />
- <path
- sodipodi:nodetypes="ccccccccccc"
- inkscape:connector-curvature="0"
- d="m -449.99998,886.9875 c -3e-5,0.5523 0.44769,1 0.99998,1.0015 L -325,888 c 0.55581,0 1.00353,-0.4477 1,-1 v -92.0036 c 0.004,-0.5558 -0.44419,-1.0036 -1,-1 L -403,794 c -2.38695,0 -4.67613,0.94821 -6.36396,2.63604 l -38,38 C -449.05179,836.32387 -450,838.61305 -450,841 Z"
- style="opacity:1;vector-effect:none;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:2.6667285;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke"
- transform="matrix(0,1,1,0,0,0)"
- id="path7495" />
- </g>
- <g
style="display:inline;opacity:1;stroke-width:4;stroke-miterlimit:4;stroke-dasharray:none;enable-background:new"
transform="matrix(1.5,0,0,1.5,-192.5,-37.5)"
id="g13907">
@@ -17289,5 +17270,46 @@
inkscape:connector-curvature="0"
sodipodi:nodetypes="ssssssssscccccccsccsccccccc" />
</g>
+ <g
+ style="display:inline;enable-background:new"
+ id="g7400"
+ transform="matrix(1.5737698,0,0,1.582578,-2042.1626,89.707952)">
+ <path
+ inkscape:connector-curvature="0"
+ style="display:inline;opacity:0.8;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke;enable-background:new"
+ d="m 2022,-287.00004 a 60,60 0 0 0 -60,60 60,60 0 0 0 60,60 60,60 0 0 0 60,-60 60,60 0 0 0 -60,-60 z m 13.9336,7.80665 a 1.0005267,1.0005267 0 0 1 0.2969,0.0312 c 14.0857,3.70434 26.1,12.75063 33.3965,25.1543 a 1.0001,1.0001 0 0 1 -0.8067,1.51953 1.0001,1.0001 0 0 1 -0.916,-0.50391 c -7.0254,-11.9429 -18.5999,-20.66258 -32.1816,-24.23437 a 1.0005267,1.0005267 0 0 1 0.2109,-1.9668 z m -2.0703,7.71875 a 1.0001,1.0001 0 0 1 0.2969,0.041 c 12.0356,3.15482 22.303,10.85945 28.539,21.42579 a 1.0001,1.0001 0 0 1 -0.8066,1.51953 1.0001,1.0001 0 0 1 -0.916,-0.50391 c -5.964,-10.10524 -15.7913,-17.48475 -27.3243,-20.50781 a 1.0001,1.0001 0 0 1 0.211,-1.97461 z m -2.0723,7.73633 a 1.000286,1.000286 0 0 1 0.2969,0.0312 c 9.9852,2.6051 18.5057,8.96814 23.6816,17.69726 a 1.0001,1.0001 0 0 1 -0.8027,1.52149 1.0001,1.0001 0 0 1 -0.918,-0.50195 c -4.9022,-8.26754 -12.9824,-14.3068 -22.4668,-16.78125 a 1.000286,1.000286 0 0 1 0.209,-1.9668 z m -2.3242,7.7207 a 1.0001,1.0001 0 0 1 0.2969,0.0391 c 7.685,2.05923 14.2388,7.08834 18.2168,13.97852 a 1.0001,1.0001 0 0 1 -0.8203,1.51172 1.0001,1.0001 0 0 1 -0.9122,-0.51176 c -3.7131,-6.43148 -9.8285,-11.12475 -17.0019,-13.04688 a 1.0001,1.0001 0 0 1 0.2207,-1.97069 z m -7.4668,7.01758 a 21.999998,21.999998 0 0 1 22,22 21.999998,21.999998 0 0 1 -22,22 21.999998,21.999998 0 0 1 -22,-22 21.999998,21.999998 0 0 1 22,-22 z m -25.0664,35.5 a 1.0001945,1.0001945 0 0 1 0.8184,0.5 c 3.7131,6.43148 9.8285,11.12475 17.0019,13.04688 a 1.0001,1.0001 0 0 1 -0.2227,1.96875 1.0001,1.0001 0 0 1 -0.2949,-0.0371 c -7.685,-2.05922 -14.2388,-7.08833 -18.2168,-13.97852 a 1.0001945,1.0001945 0 0 1 0.9141,-1.5 z m -7.8008,3.99023 a 1.0001,1.0001 0 0 1 0.8184,0.5 c 4.9022,8.26754 12.9824,14.3068 22.4668,16.78125 a 1.0001,1.0001 0 0 1 -0.209,1.97071 1.0001,1.0001 0 0 1 -0.2969,-0.0352 c -9.9852,-2.6051 -18.5057,-8.96816 -23.6816,-17.69726 a 1.0001,1.0001 0 0 1 0.9023,-1.51955 z m -7.0215,3.99219 a 1.0001,1.0001 0 0 1 0.9121,0.50977 c 5.964,10.10524 15.7913,17.48475 27.3243,20.50781 a 1.0001,1.0001 0 0 1 -0.211,1.9707 1.0001,1.0001 0 0 1 -0.2969,-0.0371 c -12.0356,-3.15483 -22.303,-10.85945 -28.539,-21.42579 a 1.0001,1.0001 0 0 1 0.8105,-1.52538 z m -6.9297,4.00196 a 1.0001,1.0001 0 0 1 0.9141,0.50781 c 7.0254,11.9429 18.5999,20.66258 32.1816,24.23436 a 1.0001,1.0001 0 0 1 -0.2109,1.97071 1.0001,1.0001 0 0 1 -0.2969,-0.0352 c -14.0857,-3.7043 -26.1,-12.7506 -33.3965,-25.15426 a 1.0001,1.0001 0 0 1 0.8086,-1.52344 z"
+ id="circle7394" />
+ <path
+ style="opacity:0;vector-effect:none;fill:#ff0000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke"
+ id="path7394"
+ sodipodi:type="arc"
+ sodipodi:cx="2030.5343"
+ sodipodi:cy="-254.88087"
+ sodipodi:rx="1.0281707"
+ sodipodi:ry="0.13086873"
+ sodipodi:start="4.9741884"
+ sodipodi:end="5.7595865"
+ sodipodi:open="true"
+ d="m 2030.8004,-255.00728 a 1.0281707,0.13086873 0 0 1 0.6243,0.061" />
+ <path
+ inkscape:connector-curvature="0"
+ style="opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke"
+ d="m 1286,24 c -33.6775,0 -61,27.32247 -61,61 0,33.67753 27.3225,61 61,61 33.6775,0 61,-27.32247 61,-61 0,-33.67753 -27.3225,-61 -61,-61 z m 0,2 c 16.2983,0 31.0492,6.599971 41.7246,17.275391 l -3.2031,3.203125 c 3.5177,3.390854 6.5961,7.247903 9.1055,11.513672 0.7143,1.157887 -1.0554,2.201256 -1.7227,1.015624 -2.4225,-4.118218 -5.3967,-7.84244 -8.7969,-11.115234 l -4.2422,4.242188 c 3.0278,2.900102 5.6771,6.202769 7.834,9.857422 0.7182,1.158771 -1.0563,2.205026 -1.7226,1.015624 -2.0702,-3.507567 -4.6146,-6.67641 -7.5254,-9.458984 l -4.2422,4.242188 c 2.5377,2.409015 4.7561,5.156126 6.5605,8.199218 0.7012,1.152579 -1.0466,2.18818 -1.7207,1.019532 -1.7176,-2.896759 -3.8323,-5.512525 -6.2539,-7.804688 l -4.5879,4.587891 c 1.8384,1.838284 3.4512,3.916789 4.7735,6.207031 0.6667,1.155 -1.0658,2.155 -1.7325,1 -1.2342,-2.137734 -2.7394,-4.07724 -4.455,-5.792969 l -3.5332,3.533203 C 1298.0961,64.576572 1292.3454,62 1286,62 c -12.6907,0 -23,10.3093 -23,23 h -36 c 0,-32.59664 26.4034,-59 59,-59 z m 0,38 c 11.6098,0 21,9.39018 21,21 0,11.60982 -9.3902,21 -21,21 -11.6098,0 -21,-9.39018 -21,-21 0,-11.60982 9.3902,-21 21,-21 z m 23,21 h 36 c 0,32.59664 -26.4034,59 -59,59 -16.2983,0 -31.0492,-6.59997 -41.7246,-17.27539 l 3.2031,-3.20313 c -3.5177,-3.39085 -6.5961,-7.2479 -9.1055,-11.51367 -0.3953,-0.64851 0.048,-1.48365 0.8067,-1.51953 0.3758,-0.0177 0.7298,0.17702 0.916,0.50391 2.4225,4.11822 5.3967,7.84244 8.7969,11.11523 l 4.2422,-4.24219 c -3.0278,-2.9001 -5.6771,-6.20277 -7.834,-9.85742 -0.3953,-0.64847 0.048,-1.48358 0.8066,-1.51953 0.3758,-0.0177 0.7298,0.17702 0.916,0.50391 2.0702,3.50756 4.6146,6.67641 7.5254,9.45898 l 4.2422,-4.24219 c -2.5377,-2.40901 -4.7561,-5.15613 -6.5605,-8.19921 -0.3968,-0.64743 0.044,-1.48355 0.8027,-1.52149 0.3761,-0.0189 0.7309,0.17515 0.918,0.50195 1.7176,2.89676 3.8323,5.51253 6.2539,7.80469 l 4.5879,-4.58789 c -1.8384,-1.83828 -3.4512,-3.91679 -4.7735,-6.20703 -0.3889,-0.651921 0.062,-1.482432 0.8203,-1.511719 0.3761,-0.01469 0.7287,0.183068 0.9122,0.511719 1.2342,2.13773 2.7394,4.07753 4.455,5.79297 l 3.5332,-3.5332 C 1273.9039,105.42343 1279.6546,108 1286,108 c 12.6907,0 23,-10.3093 23,-23 z"
+ transform="translate(736,-312)"
+ id="path7396" />
+ <path
+ d="m -2013.1996,198.99276 a 1.0281707,0.13086873 0 0 1 0.6243,0.061"
+ sodipodi:open="true"
+ sodipodi:end="5.7595865"
+ sodipodi:start="4.9741884"
+ sodipodi:ry="0.13086873"
+ sodipodi:rx="1.0281707"
+ sodipodi:cy="199.11917"
+ sodipodi:cx="-2013.4657"
+ sodipodi:type="arc"
+ id="path7398"
+ style="opacity:0;vector-effect:none;fill:#ff0000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:fill markers stroke"
+ transform="scale(-1)" />
+ </g>
</g>
</svg>
diff --git a/release/datafiles/userdef/userdef_default.c b/release/datafiles/userdef/userdef_default.c
index 1b14e8920c9..d8b87480f29 100644
--- a/release/datafiles/userdef/userdef_default.c
+++ b/release/datafiles/userdef/userdef_default.c
@@ -21,6 +21,8 @@
#include "DNA_userdef_types.h"
#include "DNA_curve_types.h"
+#include "DNA_space_types.h"
+#include "DNA_anim_types.h"
#include "BLI_math_rotation.h"
@@ -137,6 +139,7 @@ const UserDef U_default = {
.glreslimit = 0,
.curssize = 0,
.color_picker_type = USER_CP_CIRCLE_HSV,
+ .auto_smoothing_new = FCURVE_SMOOTH_CONT_ACCEL,
.ipo_new = BEZT_IPO_BEZ,
.keyhandles_new = HD_AUTO_ANIM,
.view_frame_type = ZOOM_FRAME_MODE_KEEP_RANGE,
@@ -203,6 +206,19 @@ const UserDef U_default = {
.section_active = USER_SECTION_INTERFACE,
},
+ .file_space_data =
+ {
+ .display_type = FILE_VERTICALDISPLAY,
+ .thumbnail_size = 128,
+ .sort_type = FILE_SORT_ALPHA,
+ .details_flags = FILE_DETAILS_SIZE | FILE_DETAILS_DATETIME,
+ .flag = FILE_HIDE_DOT,
+ .filter_id = FILTER_ID_ALL,
+
+ .temp_win_sizex = 1020,
+ .temp_win_sizey = 600,
+ },
+
.runtime =
{
.is_dirty = 0,
diff --git a/release/datafiles/userdef/userdef_default_theme.c b/release/datafiles/userdef/userdef_default_theme.c
index 80bed03debf..8fb2237c9aa 100644
--- a/release/datafiles/userdef/userdef_default_theme.c
+++ b/release/datafiles/userdef/userdef_default_theme.c
@@ -585,6 +585,7 @@ const bTheme U_theme_default = {
.anim_preview_range = RGBA(0xa14d0066),
.nla_tweaking = RGBA(0x4df31a4d),
.nla_tweakdupli = RGBA(0xd90000ff),
+ .nla_track = RGBA(0x424242ff),
.nla_transition = RGBA(0x1c2630ff),
.nla_transition_sel = RGBA(0x2e75dbff),
.nla_meta = RGBA(0x332642ff),
@@ -633,6 +634,7 @@ const bTheme U_theme_default = {
.text_strip = RGBA(0xa29700ff),
.gp_vertex_size = 3,
.gp_vertex_select = RGBA(0xff8500ff),
+ .anim_preview_range = RGBA(0xa14d0066),
.metadatatext = RGBA(0xffffffff),
},
.space_image = {
@@ -746,12 +748,12 @@ const bTheme U_theme_default = {
.back = RGBA(0x333333b3),
.sub_back = RGBA(0x0000003e),
},
+ .active = RGBA(0x3b5689ff),
.vertex_size = 3,
.outline_width = 1,
.facedot_size = 4,
.match = RGBA(0x337f334c),
.selected_highlight = RGBA(0x223a5bff),
- .active = RGBA(0x3b5689ff),
.selected_object = RGBA(0xe96a00ff),
.active_object = RGBA(0xffaf29ff),
.edited_object = RGBA(0x00806266),
diff --git a/release/freedesktop/org.blender.Blender.appdata.xml b/release/freedesktop/org.blender.Blender.appdata.xml
index 1287c9eea5d..984b5b3b15e 100644
--- a/release/freedesktop/org.blender.Blender.appdata.xml
+++ b/release/freedesktop/org.blender.Blender.appdata.xml
@@ -40,6 +40,27 @@
</screenshot>
</screenshots>
<releases>
+ <release version="2.81" date="2019-11-14">
+ <description>
+ <p>New features:</p>
+ <ul>
+ <li>Many sculpt tools and poly build tool for retopology</li>
+ <li>Voxel remesh and quad remesh</li>
+ <li>Transform origins, new snapping, mirroring and auto merge options</li>
+ <li>Revamped shaders for texturing</li>
+ <li>Cycles denoising with OpenImageDenoise and NVIDIA RTX support</li>
+ <li>Library overrides to make local overrides to linked characters and other data</li>
+ <li>
+ </ul>
+ <ul>
+ <p>Enhancements:</p>
+ <li>Eevee shadows, transparency and bump mapping redesigned</li>
+ <li>Viewport options for look development with Cycles and Eevee</li>
+ <li>Finer control over rotations and scale in bones, constraints and drivers</li>
+ <li>Outliner improvements, new file browser and batch rename</li>
+ </ul>
+ </description>
+ </release>
<release version="2.80" date="2019-07-30">
<description>
<p>New features:</p>
diff --git a/release/scripts/addons_contrib b/release/scripts/addons_contrib
-Subproject b4fce25e94ec139554e821f58bbada3384b13af
+Subproject ef6ef414d22c2578fad99327743b925ab640a99
diff --git a/release/scripts/modules/bl_i18n_utils/settings.py b/release/scripts/modules/bl_i18n_utils/settings.py
index a6c7940f5c8..c81558db587 100644
--- a/release/scripts/modules/bl_i18n_utils/settings.py
+++ b/release/scripts/modules/bl_i18n_utils/settings.py
@@ -94,6 +94,7 @@ LANGUAGES = (
(44, "Kazakh (қазақша)", "kk_KZ"),
(45, "Abkhaz (Аԥсуа бызшәа)", "ab"),
(46, "Thai (ภาษาไทย)", "th_TH"),
+ (47, "Slovak (Slovenčina)", "sk_SK"),
)
# Default context, in py!
diff --git a/release/scripts/modules/bl_keymap_utils/keymap_from_toolbar.py b/release/scripts/modules/bl_keymap_utils/keymap_from_toolbar.py
index bedad638dbe..da4a47783ad 100644
--- a/release/scripts/modules/bl_keymap_utils/keymap_from_toolbar.py
+++ b/release/scripts/modules/bl_keymap_utils/keymap_from_toolbar.py
@@ -25,7 +25,7 @@ __all__ = (
"generate",
)
-def generate(context, space_type):
+def generate(context, space_type, use_fallback_keys=True, use_reset=True):
"""
Keymap for popup toolbar, currently generated each time.
"""
@@ -66,7 +66,7 @@ def generate(context, space_type):
# to 'drop' currently active tools (it's basically a 'none' tool).
# so this allows us to quickly go back to a state that allows
# a shortcut based workflow (before the tool system was added).
- use_tap_reset = True
+ use_tap_reset = use_reset
# TODO: support other tools for modes which don't use this tool.
tap_reset_tool = "builtin.cursor"
# Check the tool is available in the current context.
@@ -76,11 +76,11 @@ def generate(context, space_type):
from bl_operators.wm import use_toolbar_release_hack
# Pie-menu style release to activate.
- use_release_confirm = True
+ use_release_confirm = use_reset
# Generate items when no keys are mapped.
use_auto_keymap_alpha = False # Map manually in the default key-map.
- use_auto_keymap_num = True
+ use_auto_keymap_num = use_fallback_keys
# Temporary, only create so we can pass 'properties' to find_item_from_operator.
use_hack_properties = True
diff --git a/release/scripts/modules/bpy/path.py b/release/scripts/modules/bpy/path.py
index 845475b9180..3860445233d 100644
--- a/release/scripts/modules/bpy/path.py
+++ b/release/scripts/modules/bpy/path.py
@@ -352,7 +352,8 @@ def module_names(path, recursive=False):
elif filename.endswith(".py") and filename != "__init__.py":
fullpath = join(path, filename)
modules.append((filename[0:-3], fullpath))
- elif "." not in filename:
+ elif not filename.startswith("."):
+ # Skip hidden files since they are used by for version control.
directory = join(path, filename)
fullpath = join(directory, "__init__.py")
if isfile(fullpath):
diff --git a/release/scripts/modules/bpy/utils/__init__.py b/release/scripts/modules/bpy/utils/__init__.py
index 04aaa7bd69d..abe33b0e8ea 100644
--- a/release/scripts/modules/bpy/utils/__init__.py
+++ b/release/scripts/modules/bpy/utils/__init__.py
@@ -457,6 +457,41 @@ def preset_paths(subdir):
return dirs
+def is_path_builtin(path):
+ """
+ Returns True if the path is one of the built-in paths used by Blender.
+
+ :arg path: Path you want to check if it is in the built-in settings directory
+ :type path: str
+ :rtype: bool
+ """
+ # Note that this function is is not optimized for speed,
+ # it's intended to be used to check if it's OK to remove presets.
+ #
+ # If this is used in a draw-loop for example, we could cache some of the values.
+ user_path = resource_path('USER')
+
+ for res in ('SYSTEM', 'LOCAL'):
+ parent_path = resource_path(res)
+ if not parent_path or parent_path == user_path:
+ # Make sure that the current path is not empty string and that it is
+ # not the same as the user config path. IE "~/.config/blender" on Linux
+ # This can happen on portable installs.
+ continue
+
+ try:
+ if _os.path.samefile(
+ _os.path.commonpath([parent_path]),
+ _os.path.commonpath([parent_path, path])
+ ):
+ return True
+ except FileNotFoundError:
+ #The path we tried to look up doesn't exist
+ pass
+
+ return False
+
+
def smpte_from_seconds(time, fps=None, fps_base=None):
"""
Returns an SMPTE formatted string from the *time*:
diff --git a/release/scripts/modules/bpy_extras/mesh_utils.py b/release/scripts/modules/bpy_extras/mesh_utils.py
index 1576947b8b4..f70f1eacead 100644
--- a/release/scripts/modules/bpy_extras/mesh_utils.py
+++ b/release/scripts/modules/bpy_extras/mesh_utils.py
@@ -265,7 +265,7 @@ def ngon_tessellate(from_data, indices, fix_loops=True, debug_print=True):
return []
def mlen(co):
- # manhatten length of a vector, faster then length
+ # Manhatten length of a vector, faster then length.
return abs(co[0]) + abs(co[1]) + abs(co[2])
def vert_treplet(v, i):
@@ -278,9 +278,8 @@ def ngon_tessellate(from_data, indices, fix_loops=True, debug_print=True):
return v1[1], v2[1]
if not fix_loops:
- """
- Normal single concave loop filling
- """
+ # Normal single concave loop filling.
+
if type(from_data) in {tuple, list}:
verts = [Vector(from_data[i]) for ii, i in enumerate(indices)]
else:
@@ -294,17 +293,19 @@ def ngon_tessellate(from_data, indices, fix_loops=True, debug_print=True):
fill = tessellate_polygon([verts])
else:
- """
- Separate this loop into multiple loops be finding edges that are
- used twice. This is used by lightwave LWO files a lot
- """
+ # Separate this loop into multiple loops be finding edges that are
+ # used twice. This is used by Light-Wave LWO files a lot.
if type(from_data) in {tuple, list}:
- verts = [vert_treplet(Vector(from_data[i]), ii)
- for ii, i in enumerate(indices)]
+ verts = [
+ vert_treplet(Vector(from_data[i]), ii)
+ for ii, i in enumerate(indices)
+ ]
else:
- verts = [vert_treplet(from_data.vertices[i].co, ii)
- for ii, i in enumerate(indices)]
+ verts = [
+ vert_treplet(from_data.vertices[i].co, ii)
+ for ii, i in enumerate(indices)
+ ]
edges = [(i, i - 1) for i in range(len(verts))]
if edges:
@@ -354,7 +355,7 @@ def ngon_tessellate(from_data, indices, fix_loops=True, debug_print=True):
else:
return False
- # If were stuill here s1 and s2 are 2 segments in the same polyline
+ # If were still here s1 and s2 are 2 segments in the same poly-line.
s1.pop() # remove the last vert from s1
s1.extend(s2) # add segment 2 to segment 1
@@ -402,14 +403,14 @@ def ngon_tessellate(from_data, indices, fix_loops=True, debug_print=True):
# draw_loops(loop_list)
#raise Exception("done loop")
# map to original indices
- fill = [[vert_map[i] for i in reversed(f)] for f in fill]
+ fill = [[vert_map[i] for i in f] for f in fill]
if not fill:
if debug_print:
print('Warning Cannot scanfill, fallback on a triangle fan.')
fill = [[0, i - 1, i] for i in range(2, len(indices))]
else:
- # Use real scanfill.
+ # Use real scan-fill.
# See if its flipped the wrong way.
flip = None
for fi in fill:
diff --git a/release/scripts/modules/bpy_extras/node_shader_utils.py b/release/scripts/modules/bpy_extras/node_shader_utils.py
index 4ca3e675c37..ce5edde5adf 100644
--- a/release/scripts/modules/bpy_extras/node_shader_utils.py
+++ b/release/scripts/modules/bpy_extras/node_shader_utils.py
@@ -336,6 +336,7 @@ class PrincipledBSDFWrapper(ShaderWrapper):
self, self.node_principled_bsdf,
self.node_principled_bsdf.inputs["Specular"],
grid_row_diff=0,
+ colorspace_name='Non-Color',
)
specular_texture = property(specular_texture_get)
@@ -367,6 +368,7 @@ class PrincipledBSDFWrapper(ShaderWrapper):
self, self.node_principled_bsdf,
self.node_principled_bsdf.inputs["Roughness"],
grid_row_diff=0,
+ colorspace_name='Non-Color',
)
roughness_texture = property(roughness_texture_get)
@@ -398,6 +400,7 @@ class PrincipledBSDFWrapper(ShaderWrapper):
self, self.node_principled_bsdf,
self.node_principled_bsdf.inputs["Metallic"],
grid_row_diff=0,
+ colorspace_name='Non-Color',
)
metallic_texture = property(metallic_texture_get)
@@ -428,6 +431,7 @@ class PrincipledBSDFWrapper(ShaderWrapper):
self, self.node_principled_bsdf,
self.node_principled_bsdf.inputs["IOR"],
grid_row_diff=-1,
+ colorspace_name='Non-Color',
)
ior_texture = property(ior_texture_get)
@@ -455,6 +459,7 @@ class PrincipledBSDFWrapper(ShaderWrapper):
self, self.node_principled_bsdf,
self.node_principled_bsdf.inputs["Transmission"],
grid_row_diff=-1,
+ colorspace_name='Non-Color',
)
transmission_texture = property(transmission_texture_get)
@@ -482,11 +487,41 @@ class PrincipledBSDFWrapper(ShaderWrapper):
self, self.node_principled_bsdf,
self.node_principled_bsdf.inputs["Alpha"],
grid_row_diff=-1,
+ colorspace_name='Non-Color',
)
alpha_texture = property(alpha_texture_get)
+ # --------------------------------------------------------------------
+ # Emission color.
+
+ def emission_color_get(self):
+ if not self.use_nodes or self.node_principled_bsdf is None:
+ return Color((0.0, 0.0, 0.0))
+ return rgba_to_rgb(self.node_principled_bsdf.inputs["Emission"].default_value)
+
+ @_set_check
+ def emission_color_set(self, color):
+ if self.use_nodes and self.node_principled_bsdf is not None:
+ color = values_clamp(color, 0.0, 1.0)
+ color = rgb_to_rgba(color)
+ self.node_principled_bsdf.inputs["Emission"].default_value = color
+
+ emission_color = property(emission_color_get, emission_color_set)
+
+
+ def emission_color_texture_get(self):
+ if not self.use_nodes or self.node_principled_bsdf is None:
+ return None
+ return ShaderImageTextureWrapper(
+ self, self.node_principled_bsdf,
+ self.node_principled_bsdf.inputs["Emission"],
+ grid_row_diff=1,
+ )
+
+ emission_color_texture = property(emission_color_texture_get)
+
# --------------------------------------------------------------------
# Normal map.
@@ -539,6 +574,7 @@ class ShaderImageTextureWrapper():
"grid_row_diff",
"use_alpha",
"colorspace_is_data",
+ "colorspace_name",
*NODES_LIST,
)
@@ -551,7 +587,7 @@ class ShaderImageTextureWrapper():
return instance
def __init__(self, owner_shader: ShaderWrapper, node_dst, socket_dst, grid_row_diff=0,
- use_alpha=False, colorspace_is_data=...):
+ use_alpha=False, colorspace_is_data=..., colorspace_name=...):
self.owner_shader = owner_shader
self.is_readonly = owner_shader.is_readonly
self.node_dst = node_dst
@@ -559,6 +595,7 @@ class ShaderImageTextureWrapper():
self.grid_row_diff = grid_row_diff
self.use_alpha = use_alpha
self.colorspace_is_data = colorspace_is_data
+ self.colorspace_name = colorspace_name
self._node_image = ...
self._node_mapping = ...
@@ -656,7 +693,13 @@ class ShaderImageTextureWrapper():
@_set_check
def image_set(self, image):
if self.colorspace_is_data is not ...:
+ if image.colorspace_settings.is_data != self.colorspace_is_data and image.users >= 1:
+ image = image.copy()
image.colorspace_settings.is_data = self.colorspace_is_data
+ if self.colorspace_name is not ...:
+ if image.colorspace_settings.is_data != self.colorspace_is_data and image.users >= 1:
+ image = image.copy()
+ image.colorspace_settings.name = self.colorspace_name
self.node_image.image = image
image = property(image_get, image_set)
@@ -771,7 +814,7 @@ class ShaderImageTextureWrapper():
def scale_get(self):
if self.node_mapping is None:
- return Vector((0.0, 0.0, 0.0))
+ return Vector((1.0, 1.0, 1.0))
return self.node_mapping.inputs['Scale'].default_value
@_set_check
diff --git a/release/scripts/modules/bpy_extras/object_utils.py b/release/scripts/modules/bpy_extras/object_utils.py
index 151cfa84f85..9db86782d02 100644
--- a/release/scripts/modules/bpy_extras/object_utils.py
+++ b/release/scripts/modules/bpy_extras/object_utils.py
@@ -24,7 +24,6 @@ __all__ = (
"AddObjectHelper",
"object_add_grid_scale",
"object_add_grid_scale_apply_operator",
- "object_image_guess",
"world_to_camera_view",
)
@@ -225,46 +224,6 @@ def object_add_grid_scale_apply_operator(operator, context):
getattr(operator, prop_id) * grid_scale)
-def object_image_guess(obj, bm=None):
- """
- Return a single image used by the object,
- first checking the texture-faces, then the material.
- """
- # TODO, cycles/nodes materials
- me = obj.data
- if bm is None:
- if obj.mode == 'EDIT':
- import bmesh
- bm = bmesh.from_edit_mesh(me)
-
- if bm is not None:
- tex_layer = bm.faces.layers.tex.active
- if tex_layer is not None:
- for f in bm.faces:
- image = f[tex_layer].image
- if image is not None:
- return image
- else:
- tex_layer = me.uv_textures.active
- if tex_layer is not None:
- for tf in tex_layer.data:
- image = tf.image
- if image is not None:
- return image
-
- for m in obj.data.materials:
- if m is not None:
- # backwards so topmost are highest priority
- for mtex in reversed(m.texture_slots):
- if mtex and mtex.use_map_color_diffuse:
- texture = mtex.texture
- if texture and texture.type == 'IMAGE':
- image = texture.image
- if image is not None:
- return image
- return None
-
-
def world_to_camera_view(scene, obj, coord):
"""
Returns the camera space coords for a 3d point.
diff --git a/release/scripts/modules/bpy_types.py b/release/scripts/modules/bpy_types.py
index 29470895079..43ee785438b 100644
--- a/release/scripts/modules/bpy_types.py
+++ b/release/scripts/modules/bpy_types.py
@@ -184,6 +184,27 @@ class WindowManager(bpy_types.ID):
self.piemenu_end__internal(pie)
+class WorkSpace(bpy_types.ID):
+ __slots__ = ()
+
+ def status_text_set(self, text):
+ """
+ Set the status text or None to clear,
+ When text is a function, this will be called with the (header, context) arguments.
+ """
+ from bl_ui.space_statusbar import STATUSBAR_HT_header
+ draw_fn = getattr(STATUSBAR_HT_header, "_draw_orig", None)
+ if draw_fn is None:
+ draw_fn = STATUSBAR_HT_header._draw_orig = STATUSBAR_HT_header.draw
+
+ if not (text is None or isinstance(text, str)):
+ draw_fn = text
+ text = None
+
+ self.status_text_set_internal(text)
+ STATUSBAR_HT_header.draw = draw_fn
+
+
class _GenericBone:
"""
functions for bones, common between Armature/Pose/Edit bones.
@@ -418,6 +439,8 @@ class Mesh(bpy_types.ID):
int pairs, each pair contains two indices to the
*vertices* argument. eg: [(1, 2), ...]
+ When an empty iterable is passed in, the edges are inferred from the polygons.
+
:type edges: iterable object
:arg faces:
@@ -453,11 +476,15 @@ class Mesh(bpy_types.ID):
self.polygons.foreach_set("loop_start", loop_starts)
self.polygons.foreach_set("vertices", vertex_indices)
- # if no edges - calculate them
- if faces and (not edges):
- self.update(calc_edges=True)
- elif edges:
- self.update(calc_edges_loose=True)
+ if edges or faces:
+ self.update(
+ # Needed to either:
+ # - Calculate edges that don't exist for polygons.
+ # - Assign edges to polygon loops.
+ calc_edges=bool(faces),
+ # Flag loose edges.
+ calc_edges_loose=bool(edges),
+ )
@property
def edge_keys(self):
@@ -612,17 +639,27 @@ class Gizmo(StructRNA):
if select_id is not None:
gpu.select.load_id(select_id)
+ use_blend = False
else:
if self.is_highlight:
color = (*self.color_highlight, self.alpha_highlight)
else:
color = (*self.color, self.alpha)
shader.uniform_float("color", color)
+ use_blend = color[3] < 1.0
+
+ if use_blend:
+ # TODO: wrap GPU_blend from GPU state.
+ from bgl import glEnable, glDisable, GL_BLEND
+ glEnable(GL_BLEND)
with gpu.matrix.push_pop():
gpu.matrix.multiply_matrix(matrix)
batch.draw()
+ if use_blend:
+ glDisable(GL_BLEND)
+
@staticmethod
def new_custom_shape(type, verts):
"""
diff --git a/release/scripts/modules/console/intellisense.py b/release/scripts/modules/console/intellisense.py
index 84d4bff281d..6dd858f4bdf 100644
--- a/release/scripts/modules/console/intellisense.py
+++ b/release/scripts/modules/console/intellisense.py
@@ -35,20 +35,20 @@ import re
# regular expressions to find out which completer we need
# line which starts with an import statement
-RE_MODULE = re.compile('^import(\s|$)|from.+')
+RE_MODULE = re.compile(r'''^import(\s|$)|from.+''')
# The following regular expression means an 'unquoted' word
RE_UNQUOTED_WORD = re.compile(
# don't start with a quote
- '''(?:^|[^"'a-zA-Z0-9_])'''
+ r'''(?:^|[^"'a-zA-Z0-9_])'''
# start with a \w = [a-zA-Z0-9_]
- '''((?:\w+'''
+ r'''((?:\w+'''
# allow also dots and closed bracket pairs []
- '''(?:\w|[.]|\[.+?\])*'''
+ r'''(?:\w|[.]|\[.+?\])*'''
# allow empty string
- '''|)'''
+ r'''|)'''
# allow an unfinished index at the end (including quotes)
- '''(?:\[[^\]]*$)?)$''',
+ r'''(?:\[[^\]]*$)?)$''',
# allow unicode as theoretically this is possible
re.UNICODE)
diff --git a/release/scripts/modules/rna_manual_reference.py b/release/scripts/modules/rna_manual_reference.py
index e2f5c2c240a..1f01523534f 100644
--- a/release/scripts/modules/rna_manual_reference.py
+++ b/release/scripts/modules/rna_manual_reference.py
@@ -37,15 +37,19 @@ if LANG is not None:
url_manual_mapping = (
("bpy.types.cyclesobjectsettings.use_adaptive_subdivision*", "render/cycles/object_settings/adaptive_subdiv.html#bpy-types-cyclesobjectsettings-use-adaptive-subdivision"),
+ ("bpy.types.rendersettings_simplify_gpencil_view_modifier*", "render/cycles/render_settings/simplify.html#bpy-types-rendersettings-simplify-gpencil-view-modifier"),
("bpy.types.brushgpencilsettings.use_settings_stabilizer*", "grease_pencil/modes/draw/tool_settings/brushes/draw_brush.html#bpy-types-brushgpencilsettings-use-settings-stabilizer"),
("bpy.types.gpencilsculptsettings.use_multiframe_falloff*", "grease_pencil/multiframe.html#bpy-types-gpencilsculptsettings-use-multiframe-falloff"),
- ("bpy.types.toolsettings.use_transform_pivot_point_align*", "scene_layout/object/editing/transform/control/pivot_point/index.html#bpy-types-toolsettings-use-transform-pivot-point-align"),
+ ("bpy.types.rendersettings_simplify_gpencil_remove_lines*", "render/cycles/render_settings/simplify.html#bpy-types-rendersettings-simplify-gpencil-remove-lines"),
+ ("bpy.types.toolsettings.use_transform_pivot_point_align*", "scene_layout/object/editing/transform/control/options.html#bpy-types-toolsettings-use-transform-pivot-point-align"),
("bpy.types.cyclesrendersettings.offscreen_dicing_scale*", "render/cycles/render_settings/subdivision.html#bpy-types-cyclesrendersettings-offscreen-dicing-scale"),
("bpy.types.linestylegeometrymodifier_backbonestretcher*", "render/freestyle/parameter_editor/line_style/modifiers/geometry/backbone_stretcher.html#bpy-types-linestylegeometrymodifier-backbonestretcher"),
("bpy.types.linestylegeometrymodifier_sinusdisplacement*", "render/freestyle/parameter_editor/line_style/modifiers/geometry/sinus_displacement.html#bpy-types-linestylegeometrymodifier-sinusdisplacement"),
("bpy.types.linestylegeometrymodifier_polygonalization*", "render/freestyle/parameter_editor/line_style/modifiers/geometry/polygonization.html#bpy-types-linestylegeometrymodifier-polygonalization"),
("bpy.types.cyclesrendersettings.distance_cull_margin*", "render/cycles/render_settings/simplify.html#bpy-types-cyclesrendersettings-distance-cull-margin"),
("bpy.types.materialgpencilstyle.use_fill_texture_mix*", "grease_pencil/materials/grease_pencil_shader.html#bpy-types-materialgpencilstyle-use-fill-texture-mix"),
+ ("bpy.types.rendersettings_simplify_gpencil_shader_fx*", "render/cycles/render_settings/simplify.html#bpy-types-rendersettings-simplify-gpencil-shader-fx"),
+ ("bpy.types.rendersettings_simplify_gpencil_view_fill*", "render/cycles/render_settings/simplify.html#bpy-types-rendersettings-simplify-gpencil-view-fill"),
("bpy.types.brushgpencilsettings.use_jitter_pressure*", "grease_pencil/modes/draw/tool_settings/brushes/draw_brush.html#bpy-types-brushgpencilsettings-use-jitter-pressure"),
("bpy.types.brushgpencilsettings.use_settings_random*", "grease_pencil/modes/draw/tool_settings/brushes/draw_brush.html#bpy-types-brushgpencilsettings-use-settings-random"),
("bpy.types.linestylegeometrymodifier_simplification*", "render/freestyle/parameter_editor/line_style/modifiers/geometry/simplification.html#bpy-types-linestylegeometrymodifier-simplification"),
@@ -59,16 +63,19 @@ url_manual_mapping = (
("bpy.types.linestylegeometrymodifier_guidinglines*", "render/freestyle/parameter_editor/line_style/modifiers/geometry/guiding_lines.html#bpy-types-linestylegeometrymodifier-guidinglines"),
("bpy.types.linestylegeometrymodifier_spatialnoise*", "render/freestyle/parameter_editor/line_style/modifiers/geometry/spatial_noise.html#bpy-types-linestylegeometrymodifier-spatialnoise"),
("bpy.types.linestylethicknessmodifier_calligraphy*", "render/freestyle/parameter_editor/line_style/modifiers/thickness/calligraphy.html#bpy-types-linestylethicknessmodifier-calligraphy"),
+ ("bpy.types.rendersettings_simplify_gpencil_onplay*", "render/cycles/render_settings/simplify.html#bpy-types-rendersettings-simplify-gpencil-onplay"),
("bpy.types.toolsettings.use_gpencil_draw_additive*", "grease_pencil/modes/draw/introduction.html#bpy-types-toolsettings-use-gpencil-draw-additive"),
- ("bpy.types.toolsettings.use_transform_data_origin*", "scene_layout/object/editing/transform/control/pivot_point/index.html#bpy-types-toolsettings-use-transform-data-origin"),
+ ("bpy.types.toolsettings.use_transform_data_origin*", "scene_layout/object/editing/transform/control/options.html#bpy-types-toolsettings-use-transform-data-origin"),
("bpy.types.cyclesrendersettings.max_subdivisions*", "render/cycles/render_settings/subdivision.html#bpy-types-cyclesrendersettings-max-subdivisions"),
("bpy.types.linestyle*modifier_distancefromcamera*", "render/freestyle/parameter_editor/line_style/modifiers/color/distance_from_camera.html#bpy-types-linestyle-modifier-distancefromcamera"),
("bpy.types.linestyle*modifier_distancefromobject*", "render/freestyle/parameter_editor/line_style/modifiers/color/distance_from_object.html#bpy-types-linestyle-modifier-distancefromobject"),
("bpy.types.linestylegeometrymodifier_2dtransform*", "render/freestyle/parameter_editor/line_style/modifiers/geometry/2d_transform.html#bpy-types-linestylegeometrymodifier-2dtransform"),
("bpy.types.linestylegeometrymodifier_beziercurve*", "render/freestyle/parameter_editor/line_style/modifiers/geometry/bezier_curve.html#bpy-types-linestylegeometrymodifier-beziercurve"),
+ ("bpy.types.rendersettings_simplify_gpencil_blend*", "render/cycles/render_settings/simplify.html#bpy-types-rendersettings-simplify-gpencil-blend"),
("bpy.types.toolsettings.gpencil_stroke_placement*", "grease_pencil/modes/draw/stroke_placement.html#bpy-types-toolsettings-gpencil-stroke-placement"),
("bpy.types.cyclesrendersettings.use_camera_cull*", "render/cycles/render_settings/simplify.html#bpy-types-cyclesrendersettings-use-camera-cull"),
("bpy.types.linestylegeometrymodifier_tipremover*", "render/freestyle/parameter_editor/line_style/modifiers/geometry/tip_remover.html#bpy-types-linestylegeometrymodifier-tipremover"),
+ ("bpy.types.rendersettings_simplify_gpencil_tint*", "render/cycles/render_settings/simplify.html#bpy-types-rendersettings-simplify-gpencil-tint"),
("bpy.types.toolsettings.use_gpencil_draw_onback*", "grease_pencil/modes/draw/introduction.html#bpy-types-toolsettings-use-gpencil-draw-onback"),
("bpy.types.cyclesmaterialsettings.displacement*", "render/cycles/material_settings.html#bpy-types-cyclesmaterialsettings-displacement"),
("bpy.types.linestylegeometrymodifier_blueprint*", "render/freestyle/parameter_editor/line_style/modifiers/geometry/blueprint.html#bpy-types-linestylegeometrymodifier-blueprint"),
@@ -101,11 +108,12 @@ url_manual_mapping = (
("bpy.types.materialgpencilstyle.fill_style*", "grease_pencil/materials/grease_pencil_shader.html#bpy-types-materialgpencilstyle-fill-style"),
("bpy.types.materialgpencilstyle.mix_factor*", "grease_pencil/materials/grease_pencil_shader.html#bpy-types-materialgpencilstyle-mix-factor"),
("bpy.types.rendersettings.use_render_cache*", "render/output/settings.html#bpy-types-rendersettings-use-render-cache"),
+ ("bpy.types.rendersettings_simplify_gpencil*", "render/cycles/render_settings/simplify.html#bpy-types-rendersettings-simplify-gpencil"),
("bpy.types.sceneeevee.use_taa_reprojection*", "render/eevee/render_settings/sampling.html#bpy-types-sceneeevee-use-taa-reprojection"),
("bpy.types.sequenceeditor.use_overlay_lock*", "video_editing/preview/properties.html#bpy-types-sequenceeditor-use-overlay-lock"),
("bpy.types.toolsettings.gpencil_selectmode*", "grease_pencil/selecting.html#bpy-types-toolsettings-gpencil-selectmode"),
- ("bpy.ops.gpencil.active_frames_delete_all*", "grease_pencil/modes/edit/grease_pencil.html#bpy-ops-gpencil-active-frames-delete-all"),
- ("bpy.ops.gpencil.stroke_merge_by_distance*", "grease_pencil/modes/edit/grease_pencil.html#bpy-ops-gpencil-stroke-merge-by-distance"),
+ ("bpy.ops.gpencil.active_frames_delete_all*", "grease_pencil/animation/tools.html#bpy-ops-gpencil-active-frames-delete-all"),
+ ("bpy.ops.gpencil.stroke_merge_by_distance*", "grease_pencil/modes/edit/grease_pencil_menu.html#bpy-ops-gpencil-stroke-merge-by-distance"),
("bpy.ops.object.anim_transforms_to_deltas*", "scene_layout/object/editing/transform/clear_apply.html#bpy-ops-object-anim-transforms-to-deltas"),
("bpy.types.brushgpencilsettings.uv_random*", "grease_pencil/modes/draw/tool_settings/brushes/draw_brush.html#bpy-types-brushgpencilsettings-uv-random"),
("bpy.types.compositornodeplanetrackdeform*", "compositing/types/distort/plane_track_deform.html#bpy-types-compositornodeplanetrackdeform"),
@@ -177,6 +185,7 @@ url_manual_mapping = (
("bpy.types.shadernodevolumeprincipled*", "render/shader_nodes/shader/volume_principled.html#bpy-types-shadernodevolumeprincipled"),
("bpy.types.toolsettings.use_uv_sculpt*", "modeling/meshes/editing/uv/uv_sculpt.html#bpy-types-toolsettings-use-uv-sculpt"),
("bpy.ops.gpencil.interpolate_reverse*", "grease_pencil/animation/interpolation.html#bpy-ops-gpencil-interpolate-reverse"),
+ ("bpy.ops.gpencil.set_active_material*", "grease_pencil/modes/edit/stroke_menu.html#bpy-ops-gpencil-set-active-material"),
("bpy.ops.gpencil.stroke_change_color*", "grease_pencil/modes/edit/stroke_menu.html#bpy-ops-gpencil-stroke-change-color"),
("bpy.ops.gpencil.stroke_cyclical_set*", "grease_pencil/modes/edit/stroke_menu.html#bpy-ops-gpencil-stroke-cyclical-set"),
("bpy.ops.mesh.set_normals_from_faces*", "modeling/meshes/editing/normals.html#bpy-ops-mesh-set-normals-from-faces"),
@@ -240,7 +249,7 @@ url_manual_mapping = (
("bpy.types.vertexweighteditmodifier*", "modeling/modifiers/modify/weight_edit.html#bpy-types-vertexweighteditmodifier"),
("bpy.ops.curve.match_texture_space*", "editors/uv/generated_uvs.html#bpy-ops-curve-match-texture-space"),
("bpy.ops.font.text_paste_from_file*", "modeling/texts/selecting_editing.html#bpy-ops-font-text-paste-from-file"),
- ("bpy.ops.gpencil.frame_clean_loose*", "grease_pencil/modes/edit/grease_pencil.html#bpy-ops-gpencil-frame-clean-loose"),
+ ("bpy.ops.gpencil.frame_clean_loose*", "grease_pencil/modes/edit/grease_pencil_menu.html#bpy-ops-gpencil-frame-clean-loose"),
("bpy.ops.object.vertex_group_clean*", "sculpt_paint/weight_paint/editing.html#bpy-ops-object-vertex-group-clean"),
("bpy.ops.render.play-rendered-anim*", "render/output/animation_player.html#bpy-ops-render-play-rendered-anim"),
("bpy.types.armaturegpencilmodifier*", "grease_pencil/modifiers/deform/armature.html#bpy-types-armaturegpencilmodifier"),
@@ -275,7 +284,7 @@ url_manual_mapping = (
("bpy.types.simplifygpencilmodifier*", "grease_pencil/modifiers/generate/simplify.html#bpy-types-simplifygpencilmodifier"),
("bpy.types.spacegrapheditor.cursor*", "editors/graph_editor/introduction.html#bpy-types-spacegrapheditor-cursor"),
("bpy.types.vertexweightmixmodifier*", "modeling/modifiers/modify/weight_mix.html#bpy-types-vertexweightmixmodifier"),
- ("bpy.ops.gpencil.frame_clean_fill*", "grease_pencil/modes/edit/grease_pencil.html#bpy-ops-gpencil-frame-clean-fill"),
+ ("bpy.ops.gpencil.frame_clean_fill*", "grease_pencil/modes/edit/grease_pencil_menu.html#bpy-ops-gpencil-frame-clean-fill"),
("bpy.ops.gpencil.stroke_subdivide*", "grease_pencil/modes/edit/stroke_menu.html#bpy-ops-gpencil-stroke-subdivide"),
("bpy.ops.object.constraints_clear*", "animation/constraints/interface/adding_removing.html#bpy-ops-object-constraints-clear"),
("bpy.ops.object.vertex_group_copy*", "modeling/meshes/properties/vertex_groups/vertex_groups.html#bpy-ops-object-vertex-group-copy"),
@@ -319,7 +328,7 @@ url_manual_mapping = (
("bpy.ops.gpencil.blank_frame_add*", "grease_pencil/animation/tools.html#bpy-ops-gpencil-blank-frame-add"),
("bpy.ops.gpencil.frame_duplicate*", "grease_pencil/animation/tools.html#bpy-ops-gpencil-frame-duplicate"),
("bpy.ops.gpencil.stroke_caps_set*", "grease_pencil/modes/edit/stroke_menu.html#bpy-ops-gpencil-stroke-caps-set"),
- ("bpy.ops.gpencil.stroke_separate*", "grease_pencil/modes/edit/grease_pencil.html#bpy-ops-gpencil-stroke-separate"),
+ ("bpy.ops.gpencil.stroke_separate*", "grease_pencil/modes/edit/grease_pencil_menu.html#bpy-ops-gpencil-stroke-separate"),
("bpy.ops.gpencil.stroke_simplify*", "grease_pencil/modes/edit/stroke_menu.html#bpy-ops-gpencil-stroke-simplify"),
("bpy.ops.object.constraints_copy*", "animation/constraints/interface/adding_removing.html#bpy-ops-object-constraints-copy"),
("bpy.ops.object.gpencil_modifier*", "grease_pencil/modifiers/index.html#bpy-ops-object-gpencil-modifier"),
@@ -365,7 +374,7 @@ url_manual_mapping = (
("bpy.types.spline.use_endpoint_u*", "modeling/curves/properties/active_spline.html#bpy-types-spline-use-endpoint-u"),
("bpy.types.userpreferencessystem*", "editors/preferences/system.html#bpy-types-userpreferencessystem"),
("bpy.ops.curve.switch_direction*", "modeling/curves/editing/segments.html#bpy-ops-curve-switch-direction"),
- ("bpy.ops.gpencil.duplicate_move*", "grease_pencil/modes/edit/grease_pencil.html#bpy-ops-gpencil-duplicate-move"),
+ ("bpy.ops.gpencil.duplicate_move*", "grease_pencil/modes/edit/grease_pencil_menu.html#bpy-ops-gpencil-duplicate-move"),
("bpy.ops.gpencil.stroke_arrange*", "grease_pencil/modes/edit/stroke_menu.html#bpy-ops-gpencil-stroke-arrange"),
("bpy.ops.mesh.bridge-edge-loops*", "modeling/meshes/editing/edges.html#bpy-ops-mesh-bridge-edge-loops"),
("bpy.ops.object.paths_calculate*", "animation/motion_paths.html#bpy-ops-object-paths-calculate"),
@@ -424,7 +433,7 @@ url_manual_mapping = (
("bpy.ops.curve.spline_type_set*", "modeling/curves/editing/curve.html#bpy-ops-curve-spline-type-set"),
("bpy.ops.gpencil.move_to_layer*", "grease_pencil/modes/edit/stroke_menu.html#bpy-ops-gpencil-move-to-layer"),
("bpy.ops.gpencil.stroke_sample*", "grease_pencil/modes/edit/stroke_menu.html#bpy-ops-gpencil-stroke-sample"),
- ("bpy.ops.gpencil.stroke_smooth*", "grease_pencil/modes/edit/point.html#bpy-ops-gpencil-stroke-smooth"),
+ ("bpy.ops.gpencil.stroke_smooth*", "grease_pencil/modes/edit/point_menu.html#bpy-ops-gpencil-stroke-smooth"),
("bpy.ops.mesh.smoothen_normals*", "modeling/meshes/editing/normals.html#bpy-ops-mesh-smoothen-normals"),
("bpy.ops.object.duplicate_move*", "scene_layout/object/editing/duplication.html#bpy-ops-object-duplicate-move"),
("bpy.ops.object.hook_add_selob*", "modeling/meshes/editing/vertices.html#bpy-ops-object-hook-add-selob"),
@@ -489,9 +498,9 @@ url_manual_mapping = (
("bpy.ops.console.autocomplete*", "editors/python_console.html#bpy-ops-console-autocomplete"),
("bpy.ops.curve.dissolve_verts*", "modeling/curves/editing/curve.html#bpy-ops-curve-dissolve-verts"),
("bpy.ops.curve.duplicate_move*", "modeling/curves/editing/curve.html#bpy-ops-curve-duplicate-move"),
- ("bpy.ops.gpencil.extrude_move*", "grease_pencil/modes/edit/point.html#bpy-ops-gpencil-extrude-move"),
- ("bpy.ops.gpencil.stroke_merge*", "grease_pencil/modes/edit/point.html#bpy-ops-gpencil-stroke-merge"),
- ("bpy.ops.gpencil.stroke_split*", "grease_pencil/modes/edit/grease_pencil.html#bpy-ops-gpencil-stroke-split"),
+ ("bpy.ops.gpencil.extrude_move*", "grease_pencil/modes/edit/point_menu.html#bpy-ops-gpencil-extrude-move"),
+ ("bpy.ops.gpencil.stroke_merge*", "grease_pencil/modes/edit/point_menu.html#bpy-ops-gpencil-stroke-merge"),
+ ("bpy.ops.gpencil.stroke_split*", "grease_pencil/modes/edit/grease_pencil_menu.html#bpy-ops-gpencil-stroke-split"),
("bpy.ops.mesh.average_normals*", "modeling/meshes/editing/normals.html#bpy-ops-mesh-average-normals"),
("bpy.ops.mesh.vertices_smooth*", "modeling/meshes/editing/transform/smooth.html#bpy-ops-mesh-vertices-smooth"),
("bpy.ops.node.read_viewlayers*", "interface/controls/nodes/editing.html#bpy-ops-node-read-viewlayers"),
@@ -536,6 +545,7 @@ url_manual_mapping = (
("bpy.types.shadernodeemission*", "render/shader_nodes/shader/emission.html#bpy-types-shadernodeemission"),
("bpy.types.shadernodegeometry*", "render/shader_nodes/input/geometry.html#bpy-types-shadernodegeometry"),
("bpy.types.shadernodehairinfo*", "render/shader_nodes/input/hair_info.html#bpy-types-shadernodehairinfo"),
+ ("bpy.types.shadernodemaprange*", "render/shader_nodes/converter/map_range.html#bpy-types-shadernodemaprange"),
("bpy.types.shadernodergbcurve*", "render/shader_nodes/color/rgb_curves.html#bpy-types-shadernodergbcurve"),
("bpy.types.shadernodeseparate*", "render/shader_nodes/converter/combine_separate.html#bpy-types-shadernodeseparate"),
("bpy.types.shadernodetexbrick*", "render/shader_nodes/textures/brick.html#bpy-types-shadernodetexbrick"),
@@ -660,7 +670,7 @@ url_manual_mapping = (
("bpy.types.texturenodegroup*", "editors/texture_node/types/groups.html#bpy-types-texturenodegroup"),
("bpy.types.texturenodeimage*", "editors/texture_node/types/input/image.html#bpy-types-texturenodeimage"),
("bpy.ops.curve.smooth_tilt*", "modeling/curves/editing/control_points.html#bpy-ops-curve-smooth-tilt"),
- ("bpy.ops.gpencil.reproject*", "grease_pencil/modes/edit/grease_pencil.html#bpy-ops-gpencil-reproject"),
+ ("bpy.ops.gpencil.reproject*", "grease_pencil/modes/edit/grease_pencil_menu.html#bpy-ops-gpencil-reproject"),
("bpy.ops.mesh.flip_normals*", "modeling/meshes/editing/normals.html#bpy-ops-mesh-flip-normals"),
("bpy.ops.object.lightprobe*", "render/eevee/lightprobes/index.html#bpy-ops-object-lightprobe"),
("bpy.ops.object.make_links*", "scene_layout/object/editing/duplication.html#bpy-ops-object-make-links"),
@@ -694,6 +704,7 @@ url_manual_mapping = (
("bpy.types.rigidbodyobject*", "physics/rigid_body/index.html#bpy-types-rigidbodyobject"),
("bpy.types.sceneeevee.gtao*", "render/eevee/render_settings/ambient_occlusion.html#bpy-types-sceneeevee-gtao"),
("bpy.types.shadernodebevel*", "render/shader_nodes/input/bevel.html#bpy-types-shadernodebevel"),
+ ("bpy.types.shadernodeclamp*", "render/shader_nodes/converter/clamp.html#bpy-types-shadernodeclamp"),
("bpy.types.shadernodegamma*", "render/shader_nodes/color/gamma.html#bpy-types-shadernodegamma"),
("bpy.types.shadernodegroup*", "render/shader_nodes/groups.html#bpy-types-shadernodegroup"),
("bpy.types.shadernodeuvmap*", "render/shader_nodes/input/uv_map.html#bpy-types-shadernodeuvmap"),
@@ -707,7 +718,7 @@ url_manual_mapping = (
("bpy.ops.curve.select_row*", "modeling/surfaces/selecting.html#bpy-ops-curve-select-row"),
("bpy.ops.curve.tilt_clear*", "modeling/curves/editing/control_points.html#bpy-ops-curve-tilt-clear"),
("bpy.ops.curve.vertex_add*", "modeling/curves/editing/other.html#bpy-ops-curve-vertex-add"),
- ("bpy.ops.gpencil.dissolve*", "grease_pencil/modes/edit/grease_pencil.html#bpy-ops-gpencil-dissolve"),
+ ("bpy.ops.gpencil.dissolve*", "grease_pencil/modes/edit/grease_pencil_menu.html#bpy-ops-gpencil-dissolve"),
("bpy.ops.graph.frame_jump*", "editors/graph_editor/fcurves/properties.html#bpy-ops-graph-frame-jump"),
("bpy.ops.mesh.edge_rotate*", "modeling/meshes/editing/edges.html#bpy-ops-mesh-edge-rotate"),
("bpy.ops.object.hide_view*", "scene_layout/object/editing/introduction.html#bpy-ops-object-hide-view"),
@@ -755,6 +766,7 @@ url_manual_mapping = (
("bpy.ops.uv.cube_project*", "modeling/meshes/editing/uv/unwrapping/mapping_types.html#bpy-ops-uv-cube-project"),
("bpy.ops.uv.pack_islands*", "modeling/meshes/editing/uv/layout.html#bpy-ops-uv-pack-islands"),
("bpy.ops.wm.app_template*", "advanced/app_templates.html#bpy-ops-wm-app-template"),
+ ("bpy.ops.wm.batch_rename*", "files/blend/rename.html#bpy-ops-wm-batch-rename"),
("bpy.ops.wm.redraw_timer*", "advanced/operators.html#bpy-ops-wm-redraw-timer"),
("bpy.types.*light.shadow*", "render/eevee/lighting.html#bpy-types-light-shadow"),
("bpy.types.armaturebones*", "animation/armatures/bones/index.html#bpy-types-armaturebones"),
@@ -795,7 +807,7 @@ url_manual_mapping = (
("bpy.ops.*.select_lasso*", "interface/selecting.html#bpy-ops-select-lasso"),
("bpy.ops.curve.decimate*", "modeling/curves/editing/curve.html#bpy-ops-curve-decimate"),
("bpy.ops.curve.separate*", "modeling/curves/editing/curve.html#bpy-ops-curve-separate"),
- ("bpy.ops.gpencil.delete*", "grease_pencil/modes/edit/grease_pencil.html#bpy-ops-gpencil-delete"),
+ ("bpy.ops.gpencil.delete*", "grease_pencil/modes/edit/grease_pencil_menu.html#bpy-ops-gpencil-delete"),
("bpy.ops.gpencil.select*", "grease_pencil/selecting.html#bpy-ops-gpencil-select"),
("bpy.ops.mesh.mark_seam*", "modeling/meshes/editing/edges.html#bpy-ops-mesh-mark-seam"),
("bpy.ops.mesh.subdivide*", "modeling/meshes/editing/subdividing/subdivide.html#bpy-ops-mesh-subdivide"),
@@ -836,7 +848,7 @@ url_manual_mapping = (
("bpy.types.warpmodifier*", "modeling/modifiers/deform/warp.html#bpy-types-warpmodifier"),
("bpy.types.wavemodifier*", "modeling/modifiers/deform/wave.html#bpy-types-wavemodifier"),
("bpy.types.wipesequence*", "video_editing/sequencer/strips/transitions/wipe.html#bpy-types-wipesequence"),
- ("bpy.ops.gpencil.paste*", "grease_pencil/modes/edit/grease_pencil.html#bpy-ops-gpencil-paste"),
+ ("bpy.ops.gpencil.paste*", "grease_pencil/modes/edit/grease_pencil_menu.html#bpy-ops-gpencil-paste"),
("bpy.ops.image.project*", "sculpt_paint/texture_paint/tool_settings/options.html#bpy-ops-image-project"),
("bpy.ops.mesh.decimate*", "modeling/meshes/editing/cleanup.html#bpy-ops-mesh-decimate"),
("bpy.ops.object.*clear*", "scene_layout/object/editing/transform/clear_apply.html#bpy-ops-object-clear"),
@@ -864,7 +876,7 @@ url_manual_mapping = (
("bpy.ops.curve.delete*", "modeling/curves/editing/curve.html#bpy-ops-curve-delete"),
("bpy.ops.curve.reveal*", "modeling/curves/editing/curve.html#bpy-ops-curve-reveal"),
("bpy.ops.curve.smooth*", "modeling/curves/editing/control_points.html#bpy-ops-curve-smooth"),
- ("bpy.ops.gpencil.copy*", "grease_pencil/modes/edit/grease_pencil.html#bpy-ops-gpencil-copy"),
+ ("bpy.ops.gpencil.copy*", "grease_pencil/modes/edit/grease_pencil_menu.html#bpy-ops-gpencil-copy"),
("bpy.ops.object.align*", "scene_layout/object/editing/transform/tools.html#bpy-ops-object-align"),
("bpy.ops.object.empty*", "modeling/empties.html#bpy-ops-object-empty"),
("bpy.ops.object.quick*", "physics/introduction.html#bpy-ops-object-quick"),
diff --git a/release/scripts/presets/keyconfig/blender.py b/release/scripts/presets/keyconfig/blender.py
index 8a7689d6d60..596b17d734f 100644
--- a/release/scripts/presets/keyconfig/blender.py
+++ b/release/scripts/presets/keyconfig/blender.py
@@ -169,7 +169,10 @@ def load():
keyconfig_data = blender_default.generate_keymaps(
blender_default.Params(
select_mouse=kc_prefs.select_mouse,
- use_mouse_emulate_3_button=prefs.inputs.use_mouse_emulate_3_button,
+ use_mouse_emulate_3_button=(
+ prefs.inputs.use_mouse_emulate_3_button and
+ prefs.inputs.mouse_emulate_3_button_modifier == 'ALT'
+ ),
spacebar_action=kc_prefs.spacebar_action,
v3d_tilde_action=kc_prefs.v3d_tilde_action,
use_select_all_toggle=kc_prefs.use_select_all_toggle,
diff --git a/release/scripts/presets/keyconfig/blender_27x.py b/release/scripts/presets/keyconfig/blender_27x.py
index 4ce77f46213..8d50d449494 100644
--- a/release/scripts/presets/keyconfig/blender_27x.py
+++ b/release/scripts/presets/keyconfig/blender_27x.py
@@ -53,7 +53,10 @@ def load():
keyconfig_data = blender_default.generate_keymaps(
blender_default.Params(
select_mouse=kc_prefs.select_mouse,
- use_mouse_emulate_3_button=prefs.inputs.use_mouse_emulate_3_button,
+ use_mouse_emulate_3_button=(
+ prefs.inputs.use_mouse_emulate_3_button and
+ prefs.inputs.mouse_emulate_3_button_modifier == 'ALT'
+ ),
spacebar_action='SEARCH',
use_select_all_toggle=True,
use_gizmo_drag=False,
diff --git a/release/scripts/presets/keyconfig/keymap_data/blender_default.py b/release/scripts/presets/keyconfig/keymap_data/blender_default.py
index 9dc23aaf22e..c196acfcebf 100644
--- a/release/scripts/presets/keyconfig/keymap_data/blender_default.py
+++ b/release/scripts/presets/keyconfig/keymap_data/blender_default.py
@@ -409,9 +409,12 @@ def km_window(params):
items.extend([
("wm.doc_view_manual_ui_context", {"type": 'F1', "value": 'PRESS'}, None),
op_panel("TOPBAR_PT_name", {"type": 'F2', "value": 'PRESS'}, [("keep_open", False)]),
- ("wm.batch_rename", {"type": 'F2', "value": 'PRESS', "alt": True}, None),
+ ("wm.batch_rename", {"type": 'F2', "value": 'PRESS', "ctrl": True}, None),
("wm.search_menu", {"type": 'F3', "value": 'PRESS'}, None),
op_menu("TOPBAR_MT_file_context_menu", {"type": 'F4', "value": 'PRESS'}),
+ # Alt as "Leader-Key".
+ ("wm.toolbar_prompt", {"type": 'LEFT_ALT', "value": 'CLICK'}, None),
+ ("wm.toolbar_prompt", {"type": 'RIGHT_ALT', "value": 'CLICK'}, None),
])
if params.spacebar_action == 'TOOL':
@@ -1448,7 +1451,6 @@ def km_graph_editor(params):
("graph.bake", {"type": 'C', "value": 'PRESS', "alt": True}, None),
op_menu("GRAPH_MT_delete", {"type": 'X', "value": 'PRESS'}),
op_menu("GRAPH_MT_delete", {"type": 'DEL', "value": 'PRESS'}),
- op_menu("GRAPH_MT_context_menu", params.context_menu_event),
("graph.duplicate_move", {"type": 'D', "value": 'PRESS', "shift": True}, None),
("graph.keyframe_insert", {"type": 'I', "value": 'PRESS'}, None),
("graph.click_insert", {"type": params.action_mouse, "value": 'CLICK', "ctrl": True},
@@ -1479,6 +1481,7 @@ def km_graph_editor(params):
op_menu_pie("GRAPH_MT_pivot_pie", {"type": 'PERIOD', "value": 'PRESS'}),
("marker.add", {"type": 'M', "value": 'PRESS'}, None),
("marker.rename", {"type": 'M', "value": 'PRESS', "ctrl": True}, None),
+ op_menu("GRAPH_MT_context_menu", params.context_menu_event),
])
if params.select_mouse == 'LEFTMOUSE' and not params.legacy:
@@ -1582,11 +1585,16 @@ def km_image(params):
)
),
op_menu_pie("IMAGE_MT_pivot_pie", {"type": 'PERIOD', "value": 'PRESS'}),
- op_menu("IMAGE_MT_mask_context_menu", params.context_menu_event),
("image.render_border", {"type": 'B', "value": 'PRESS', "ctrl": True}, None),
("image.clear_render_border", {"type": 'B', "value": 'PRESS', "ctrl": True, "alt": True}, None),
+ op_menu("IMAGE_MT_mask_context_menu", params.context_menu_event),
])
+ if params.legacy:
+ items.extend([
+ ("image.view_center_cursor", {"type": 'HOME', "value": 'PRESS', "alt": True}, None),
+ ])
+
return keymap
@@ -1666,7 +1674,6 @@ def km_node_editor(params):
{"properties": [("factor", 1.2)]}),
("node.backimage_fit", {"type": 'HOME', "value": 'PRESS', "alt": True}, None),
("node.backimage_sample", {"type": params.action_mouse, "value": 'PRESS', "alt": True}, None),
- op_menu("NODE_MT_context_menu", params.context_menu_event),
("node.link_make", {"type": 'F', "value": 'PRESS'},
{"properties": [("replace", False)]}),
("node.link_make", {"type": 'F', "value": 'PRESS', "shift": True},
@@ -1732,6 +1739,7 @@ def km_node_editor(params):
{"properties": [("data_path", 'tool_settings.use_snap')]}),
("wm.context_menu_enum", {"type": 'TAB', "value": 'PRESS', "shift": True, "ctrl": True},
{"properties": [("data_path", 'tool_settings.snap_node_element')]}),
+ op_menu("NODE_MT_context_menu", params.context_menu_event),
])
return keymap
@@ -1786,7 +1794,11 @@ def km_file_browser(params):
("file.next", {"type": 'BACK_SPACE', "value": 'PRESS', "shift": True}, None),
("wm.context_toggle", {"type": 'H', "value": 'PRESS'},
{"properties": [("data_path", 'space_data.params.show_hidden')]}),
- ("file.directory_new", {"type": 'I', "value": 'PRESS'}, None),
+ ("file.directory_new", {"type": 'I', "value": 'PRESS'},
+ {"properties": [("confirm", False)]}),
+ ("file.rename", {"type": 'F2', "value": 'PRESS'}, None),
+ ("file.delete", {"type": 'X', "value": 'PRESS'}, None),
+ ("file.delete", {"type": 'DEL', "value": 'PRESS'}, None),
("file.smoothscroll", {"type": 'TIMER1', "value": 'ANY', "any": True}, None),
("file.bookmark_add", {"type": 'B', "value": 'PRESS', "ctrl": True}, None),
("file.filenum", {"type": 'NUMPAD_PLUS', "value": 'PRESS'},
@@ -1825,7 +1837,7 @@ def km_file_browser_main(params):
("file.select", {"type": 'LEFTMOUSE', "value": 'CLICK', "ctrl": True},
{"properties": [("extend", True)]}),
("file.select", {"type": 'LEFTMOUSE', "value": 'CLICK', "shift": True},
- {"properties": [("extend", True), ("fill", True)]}),
+ {"properties": [("extend", True), ("fill", True), ("open", False)]}),
("file.select_walk", {"type": 'UP_ARROW', "value": 'PRESS'},
{"properties": [("direction", 'UP')]}),
("file.select_walk", {"type": 'UP_ARROW', "value": 'PRESS', "shift": True},
@@ -1977,7 +1989,6 @@ def km_dopesheet(params):
("action.interpolation_type", {"type": 'T', "value": 'PRESS'}, None),
("action.extrapolation_type", {"type": 'E', "value": 'PRESS', "shift": True}, None),
("action.keyframe_type", {"type": 'R', "value": 'PRESS'}, None),
- op_menu("DOPESHEET_MT_context_menu", params.context_menu_event),
("action.sample", {"type": 'O', "value": 'PRESS', "shift": True, "alt": True}, None),
op_menu("DOPESHEET_MT_delete", {"type": 'X', "value": 'PRESS'}),
op_menu("DOPESHEET_MT_delete", {"type": 'DEL', "value": 'PRESS'}),
@@ -2009,6 +2020,7 @@ def km_dopesheet(params):
op_menu_pie("VIEW3D_MT_proportional_editing_falloff_pie", {"type": 'O', "value": 'PRESS', "shift": True}),
("marker.add", {"type": 'M', "value": 'PRESS'}, None),
("marker.rename", {"type": 'M', "value": 'PRESS', "ctrl": True}, None),
+ op_menu("DOPESHEET_MT_context_menu", params.context_menu_event),
])
return keymap
@@ -2122,7 +2134,6 @@ def km_nla_editor(params):
("nla.apply_scale", {"type": 'A', "value": 'PRESS', "ctrl": True}, None),
("nla.clear_scale", {"type": 'S', "value": 'PRESS', "alt": True}, None),
op_menu_pie("NLA_MT_snap_pie", {"type": 'S', "value": 'PRESS', "shift": True}),
- op_menu("NLA_MT_context_menu", params.context_menu_event),
("nla.fmodifier_add", {"type": 'M', "value": 'PRESS', "shift": True, "ctrl": True}, None),
("transform.transform", {"type": 'G', "value": 'PRESS'},
{"properties": [("mode", 'TRANSLATION')]}),
@@ -2134,6 +2145,7 @@ def km_nla_editor(params):
{"properties": [("mode", 'TIME_SCALE')]}),
("marker.add", {"type": 'M', "value": 'PRESS'}, None),
("marker.rename", {"type": 'M', "value": 'PRESS', "ctrl": True}, None),
+ op_menu("NLA_MT_context_menu", params.context_menu_event),
])
return keymap
@@ -2293,9 +2305,9 @@ def km_text(params):
{"properties": [("lines", 1)]}),
("text.line_break", {"type": 'RET', "value": 'PRESS'}, None),
("text.line_break", {"type": 'NUMPAD_ENTER', "value": 'PRESS'}, None),
- op_menu("TEXT_MT_context_menu", {"type": 'RIGHTMOUSE', "value": 'PRESS'}),
("text.autocomplete", {"type": 'SPACE', "value": 'PRESS', "ctrl": True}, None),
("text.line_number", {"type": 'TEXTINPUT', "value": 'ANY', "any": True}, None),
+ op_menu("TEXT_MT_context_menu", {"type": 'RIGHTMOUSE', "value": 'PRESS'}),
("text.insert", {"type": 'TEXTINPUT', "value": 'ANY', "any": True}, None),
])
@@ -2423,7 +2435,6 @@ def km_sequencer(params):
("sequencer.select_grouped", {"type": 'G', "value": 'PRESS', "shift": True}, None),
op_menu("SEQUENCER_MT_add", {"type": 'A', "value": 'PRESS', "shift": True}),
op_menu("SEQUENCER_MT_change", {"type": 'C', "value": 'PRESS'}),
- op_menu("SEQUENCER_MT_context_menu", params.context_menu_event),
("sequencer.slip", {"type": 'S', "value": 'PRESS'}, None),
("wm.context_set_int", {"type": 'O', "value": 'PRESS'},
{"properties": [("data_path", 'scene.sequence_editor.overlay_frame'), ("value", 0)]}),
@@ -2437,6 +2448,7 @@ def km_sequencer(params):
{"properties": [("left_right", 'LEFT'), ("linked_time", True)]}),
("sequencer.select", {"type": 'RIGHT_BRACKET', "value": 'PRESS'},
{"properties": [("left_right", 'RIGHT'), ("linked_time", True)]}),
+ op_menu("SEQUENCER_MT_context_menu", params.context_menu_event),
])
return keymap
@@ -2533,8 +2545,8 @@ def km_console(params):
{"properties": [("text", '\t')]}),
("console.indent", {"type": 'TAB', "value": 'PRESS'}, None),
("console.unindent", {"type": 'TAB', "value": 'PRESS', "shift": True}, None),
+ op_menu("CONSOLE_MT_context_menu", {"type": 'RIGHTMOUSE', "value": 'PRESS'}),
("console.insert", {"type": 'TEXTINPUT', "value": 'ANY', "any": True}, None),
- op_menu("CONSOLE_MT_context_menu", params.context_menu_event),
])
return keymap
@@ -2657,11 +2669,10 @@ def km_clip_editor(params):
("clip.hide_tracks", {"type": 'H', "value": 'PRESS', "shift": True},
{"properties": [("unselected", True)]}),
("clip.hide_tracks_clear", {"type": 'H', "value": 'PRESS', "alt": True}, None),
- ("clip.slide_plane_marker", {"type": params.action_mouse, "value": 'PRESS'}, None),
+ ("clip.slide_plane_marker", {"type": 'LEFTMOUSE', "value": 'CLICK_DRAG'}, None),
("clip.keyframe_insert", {"type": 'I', "value": 'PRESS'}, None),
("clip.keyframe_delete", {"type": 'I', "value": 'PRESS', "alt": True}, None),
("clip.join_tracks", {"type": 'J', "value": 'PRESS', "ctrl": True}, None),
- op_menu("CLIP_MT_tracking_context_menu", params.context_menu_event),
("clip.lock_selection_toggle", {"type": 'L', "value": 'PRESS'}, None),
("wm.context_toggle", {"type": 'D', "value": 'PRESS', "alt": True},
{"properties": [("data_path", 'space_data.show_disabled')]}),
@@ -2683,8 +2694,14 @@ def km_clip_editor(params):
op_menu_pie("CLIP_MT_pivot_pie", {"type": 'PERIOD', "value": 'PRESS'}),
("clip.copy_tracks", {"type": 'C', "value": 'PRESS', "ctrl": True}, None),
("clip.paste_tracks", {"type": 'V', "value": 'PRESS', "ctrl": True}, None),
+ op_menu("CLIP_MT_tracking_context_menu", params.context_menu_event),
])
+ if params.legacy:
+ items.extend([
+ ("clip.view_center_cursor", {"type": 'HOME', "value": 'PRESS', "alt": True}, None),
+ ])
+
return keymap
@@ -2842,6 +2859,17 @@ def km_animation(params):
{"items": items},
)
+ if not params.legacy:
+ items.extend([
+ ("anim.start_frame_set", {"type": 'HOME', "value": 'PRESS', "ctrl": True}, None),
+ ("anim.end_frame_set", {"type": 'END', "value": 'PRESS', "ctrl": True}, None),
+ ])
+ else:
+ items.extend([
+ ("anim.start_frame_set", {"type": 'S', "value": 'PRESS'}, None),
+ ("anim.end_frame_set", {"type": 'E', "value": 'PRESS'}, None),
+ ])
+
items.extend([
# Frame management.
("wm.context_toggle", {"type": 'T', "value": 'PRESS', "ctrl": True},
@@ -2849,8 +2877,6 @@ def km_animation(params):
# Preview range.
("anim.previewrange_set", {"type": 'P', "value": 'PRESS'}, None),
("anim.previewrange_clear", {"type": 'P', "value": 'PRESS', "alt": True}, None),
- ("anim.start_frame_set", {"type": 'HOME', "value": 'PRESS', "ctrl": True}, None),
- ("anim.end_frame_set", {"type": 'END', "value": 'PRESS', "ctrl": True}, None),
])
if params.select_mouse == 'LEFTMOUSE' and not params.legacy:
@@ -3038,8 +3064,6 @@ def km_grease_pencil_stroke_edit_mode(params):
("gpencil.blank_frame_add", {"type": 'I', "value": 'PRESS', "shift": True}, None),
("gpencil.active_frames_delete_all", {"type": 'X', "value": 'PRESS', "shift": True}, None),
("gpencil.active_frames_delete_all", {"type": 'DEL', "value": 'PRESS', "shift": True}, None),
- # Context menu
- op_menu("VIEW3D_MT_gpencil_edit_context_menu", params.context_menu_event),
# Separate
("gpencil.stroke_separate", {"type": 'P', "value": 'PRESS'}, None),
# Split and joint strokes
@@ -3094,6 +3118,8 @@ def km_grease_pencil_stroke_edit_mode(params):
{"properties": [("mode", 1)]}),
("gpencil.selectmode_toggle", {"type": 'THREE', "value": 'PRESS'},
{"properties": [("mode", 2)]}),
+ # Context menu
+ op_menu("VIEW3D_MT_gpencil_edit_context_menu", params.context_menu_event),
])
if params.legacy:
@@ -3120,8 +3146,6 @@ def km_grease_pencil_stroke_paint_mode(params):
# Brush size
("wm.radial_control", {"type": 'F', "value": 'PRESS'},
{"properties": [("data_path_primary", 'tool_settings.gpencil_paint.brush.size')]}),
- # Draw context menu
- op_panel("VIEW3D_PT_gpencil_draw_context_menu", params.context_menu_event),
# Draw delete menu
op_menu("GPENCIL_MT_gpencil_draw_delete", {"type": 'X', "value": 'PRESS'}),
# Animation menu
@@ -3137,6 +3161,8 @@ def km_grease_pencil_stroke_paint_mode(params):
{"properties": [("unselected", False)]}),
("gpencil.hide", {"type": 'H', "value": 'PRESS', "shift": True},
{"properties": [("unselected", True)]}),
+ # Draw context menu
+ op_panel("VIEW3D_PT_gpencil_draw_context_menu", params.context_menu_event),
])
return keymap
@@ -3159,9 +3185,6 @@ def km_grease_pencil_stroke_paint_draw_brush(params):
# Draw - straight lines
("gpencil.draw", {"type": 'LEFTMOUSE', "value": 'PRESS', "alt": True},
{"properties": [("mode", 'DRAW_STRAIGHT'), ("wait_for_input", False)]}),
- # Draw - poly lines
- ("gpencil.draw", {"type": 'LEFTMOUSE', "value": 'PRESS', "shift": True, "alt": True},
- {"properties": [("mode", 'DRAW_POLY'), ("wait_for_input", False)]}),
# Erase
("gpencil.draw", {"type": 'LEFTMOUSE', "value": 'PRESS', "ctrl": True},
{"properties": [("mode", 'ERASER'), ("wait_for_input", False)]}),
@@ -3267,12 +3290,12 @@ def km_grease_pencil_stroke_sculpt_mode(params):
# Brush size
("wm.radial_control", {"type": 'F', "value": 'PRESS'},
{"properties": [("data_path_primary", 'tool_settings.gpencil_sculpt.brush.size')]}),
- # Context menu
- op_panel("VIEW3D_PT_gpencil_sculpt_context_menu", params.context_menu_event),
# Copy
("gpencil.copy", {"type": 'C', "value": 'PRESS', "ctrl": True}, None),
# Display
*_grease_pencil_display(),
+ # Context menu
+ op_panel("VIEW3D_PT_gpencil_sculpt_context_menu", params.context_menu_event),
])
return keymap
@@ -3414,7 +3437,6 @@ def km_pose(params):
("pose.push", {"type": 'E', "value": 'PRESS', "ctrl": True}, None),
("pose.relax", {"type": 'E', "value": 'PRESS', "alt": True}, None),
("pose.breakdown", {"type": 'E', "value": 'PRESS', "shift": True}, None),
- op_menu("VIEW3D_MT_pose_context_menu", params.context_menu_event),
op_menu("VIEW3D_MT_pose_propagate", {"type": 'P', "value": 'PRESS', "alt": True}),
*(
(("object.hide_collection",
@@ -3423,6 +3445,7 @@ def km_pose(params):
for i in range(10)
)
),
+ op_menu("VIEW3D_MT_pose_context_menu", params.context_menu_event),
])
return keymap
@@ -3485,7 +3508,6 @@ def km_object_mode(params):
("collection.objects_remove_all", {"type": 'G', "value": 'PRESS', "shift": True, "ctrl": True, "alt": True}, None),
("collection.objects_add_active", {"type": 'G', "value": 'PRESS', "shift": True, "ctrl": True}, None),
("collection.objects_remove_active", {"type": 'G', "value": 'PRESS', "shift": True, "alt": True}, None),
- op_menu("VIEW3D_MT_object_context_menu", params.context_menu_event),
*_template_items_object_subdivision_set(),
("object.move_to_collection", {"type": 'M', "value": 'PRESS'}, None),
("object.link_to_collection", {"type": 'M', "value": 'PRESS', "shift": True}, None),
@@ -3502,6 +3524,7 @@ def km_object_mode(params):
for i in range(10)
)
),
+ op_menu("VIEW3D_MT_object_context_menu", params.context_menu_event),
])
if params.legacy:
@@ -3602,9 +3625,9 @@ def km_curve(params):
{"properties": [("unselected", True)]}),
("curve.normals_make_consistent", {"type": 'N', "value": 'PRESS', "ctrl" if params.legacy else "shift": True}, None),
("object.vertex_parent_set", {"type": 'P', "value": 'PRESS', "ctrl": True}, None),
- op_menu("VIEW3D_MT_edit_curve_context_menu", params.context_menu_event),
op_menu("VIEW3D_MT_hook", {"type": 'H', "value": 'PRESS', "ctrl": True}),
*_template_items_proportional_editing(connected=True),
+ op_menu("VIEW3D_MT_edit_curve_context_menu", params.context_menu_event),
])
return keymap
@@ -3855,6 +3878,9 @@ def km_sculpt(params):
# Dynamic topology
("sculpt.dynamic_topology_toggle", {"type": 'D', "value": 'PRESS', "ctrl": True}, None),
("sculpt.set_detail_size", {"type": 'D', "value": 'PRESS', "shift": True}, None),
+ # Remesh
+ ("object.voxel_remesh", {"type": 'R', "value": 'PRESS', "ctrl": True}, None),
+ ("object.quadriflow_remesh", {"type": 'R', "value": 'PRESS', "ctrl": True, "alt": True}, None),
# Brush properties
("brush.scale_size", {"type": 'LEFT_BRACKET', "value": 'PRESS'},
{"properties": [("scalar", 0.9)]}),
@@ -3903,8 +3929,8 @@ def km_sculpt(params):
("wm.context_toggle", {"type": 'S', "value": 'PRESS', "shift": True},
{"properties": [("data_path", 'tool_settings.sculpt.brush.use_smooth_stroke')]}),
op_menu("VIEW3D_MT_angle_control", {"type": 'R', "value": 'PRESS'}),
+ op_menu_pie("VIEW3D_MT_sculpt_mask_edit_pie", {"type" : 'A', "value": 'PRESS'}),
op_panel("VIEW3D_PT_sculpt_context_menu", params.context_menu_event),
- op_menu_pie("VIEW3D_MT_sculpt_mask_edit_pie", {"type" : 'A', "value": 'PRESS'})
])
if params.legacy:
@@ -4008,7 +4034,6 @@ def km_mesh(params):
{"properties": [("use_occlude_geometry", True), ("only_selected", False)]}),
("object.vertex_parent_set", {"type": 'P', "value": 'PRESS', "ctrl": True}, None),
# Menus.
- op_menu("VIEW3D_MT_edit_mesh_context_menu", params.context_menu_event),
op_menu("VIEW3D_MT_edit_mesh_faces", {"type": 'F', "value": 'PRESS', "ctrl": True}),
op_menu("VIEW3D_MT_edit_mesh_edges", {"type": 'E', "value": 'PRESS', "ctrl": True}),
op_menu("VIEW3D_MT_edit_mesh_vertices", {"type": 'V', "value": 'PRESS', "ctrl": True}),
@@ -4018,6 +4043,7 @@ def km_mesh(params):
op_menu("VIEW3D_MT_edit_mesh_normals", {"type": 'N', "value": 'PRESS', "alt" : True}),
("object.vertex_group_remove_from", {"type": 'G', "value": 'PRESS', "ctrl": True, "alt": True}, None),
*_template_items_proportional_editing(connected=True),
+ op_menu("VIEW3D_MT_edit_mesh_context_menu", params.context_menu_event),
])
if params.use_mouse_emulate_3_button and params.select_mouse == 'LEFTMOUSE':
@@ -4174,8 +4200,8 @@ def km_lattice(params):
("object.vertex_parent_set", {"type": 'P', "value": 'PRESS', "ctrl": True}, None),
("lattice.flip", {"type": 'F', "value": 'PRESS', "alt": True}, None),
op_menu("VIEW3D_MT_hook", {"type": 'H', "value": 'PRESS', "ctrl": True}),
- op_menu("VIEW3D_MT_edit_lattice_context_menu", params.context_menu_event),
*_template_items_proportional_editing(connected=False),
+ op_menu("VIEW3D_MT_edit_lattice_context_menu", params.context_menu_event),
])
return keymap
@@ -4211,7 +4237,6 @@ def km_particle(params):
{"properties": [("data_path_primary", 'tool_settings.particle_edit.brush.size')]}),
("wm.radial_control", {"type": 'F', "value": 'PRESS', "shift": True},
{"properties": [("data_path_primary", 'tool_settings.particle_edit.brush.strength')]}),
- op_menu("VIEW3D_MT_particle_context_menu", params.context_menu_event),
("particle.weight_set", {"type": 'K', "value": 'PRESS', "shift": True}, None),
*(
(("wm.context_set_enum",
@@ -4221,6 +4246,7 @@ def km_particle(params):
)
),
*_template_items_proportional_editing(connected=False),
+ op_menu("VIEW3D_MT_particle_context_menu", params.context_menu_event),
])
return keymap
@@ -4935,6 +4961,7 @@ def km_popup_toolbar(_params):
"Toolbar Popup",
{"space_type": 'EMPTY', "region_type": 'TEMPORARY'},
{"items": [
+ op_tool("builtin.cursor", {"type": 'SPACE', "value": 'PRESS'}),
op_tool("builtin.select", {"type": 'W', "value": 'PRESS'}),
op_tool("builtin.select_lasso", {"type": 'L', "value": 'PRESS'}),
op_tool("builtin.transform", {"type": 'T', "value": 'PRESS'}),
@@ -5779,6 +5806,19 @@ def km_3d_view_tool_paint_gpencil_line(params):
]},
)
+def km_3d_view_tool_paint_gpencil_polyline(params):
+ return (
+ "3D View Tool: Paint Gpencil, Polyline",
+ {"space_type": 'VIEW_3D', "region_type": 'WINDOW'},
+ {"items": [
+ ("gpencil.primitive", {"type": params.tool_tweak, "value": 'ANY'},
+ {"properties": [("type", 'POLYLINE'), ("wait_for_input", False)]}),
+ ("gpencil.primitive", {"type": 'LEFTMOUSE', "value": 'PRESS', "shift": True},
+ {"properties": [("type", 'POLYLINE'), ("wait_for_input", False)]}),
+ # Lasso select
+ ("gpencil.select_lasso", {"type": params.action_tweak, "value": 'ANY', "ctrl": True, "alt": True}, None),
+ ]},
+ )
def km_3d_view_tool_paint_gpencil_box(params):
return (
@@ -5856,6 +5896,18 @@ def km_3d_view_tool_paint_gpencil_cutter(params):
)
+def km_3d_view_tool_paint_gpencil_eyedropper(params):
+ return (
+ "3D View Tool: Paint Gpencil, Eyedropper",
+ {"space_type": 'VIEW_3D', "region_type": 'WINDOW'},
+ {"items": [
+ ("ui.eyedropper_gpencil_color", {"type": params.tool_mouse, "value": 'PRESS'}, None),
+ ("ui.eyedropper_gpencil_color", {"type": params.tool_mouse, "value": 'PRESS', "shift": True}, None),
+ ("ui.eyedropper_gpencil_color", {"type": params.tool_mouse, "value": 'PRESS', "shift": True, "ctrl": True}, None),
+ ]},
+ )
+
+
def km_3d_view_tool_edit_gpencil_select(params):
return (
"3D View Tool: Edit Gpencil, Tweak",
@@ -5891,6 +5943,16 @@ def km_3d_view_tool_edit_gpencil_select_lasso(params):
)
+def km_3d_view_tool_edit_gpencil_extrude(params):
+ return (
+ "3D View Tool: Edit Gpencil, Extrude",
+ {"space_type": 'VIEW_3D', "region_type": 'WINDOW'},
+ {"items": [
+ ("gpencil.extrude_move", {"type": params.tool_tweak, "value": 'ANY'}, None),
+ ]},
+ )
+
+
def km_3d_view_tool_edit_gpencil_radius(params):
return (
"3D View Tool: Edit Gpencil, Radius",
@@ -6178,15 +6240,18 @@ def generate_keymaps(params=None):
km_3d_view_tool_paint_weight_sample_vertex_group(params),
km_3d_view_tool_paint_weight_gradient(params),
km_3d_view_tool_paint_gpencil_line(params),
+ km_3d_view_tool_paint_gpencil_polyline(params),
km_3d_view_tool_paint_gpencil_box(params),
km_3d_view_tool_paint_gpencil_circle(params),
km_3d_view_tool_paint_gpencil_arc(params),
km_3d_view_tool_paint_gpencil_curve(params),
km_3d_view_tool_paint_gpencil_cutter(params),
+ km_3d_view_tool_paint_gpencil_eyedropper(params),
km_3d_view_tool_edit_gpencil_select(params),
km_3d_view_tool_edit_gpencil_select_box(params),
km_3d_view_tool_edit_gpencil_select_circle(params),
km_3d_view_tool_edit_gpencil_select_lasso(params),
+ km_3d_view_tool_edit_gpencil_extrude(params),
km_3d_view_tool_edit_gpencil_radius(params),
km_3d_view_tool_edit_gpencil_bend(params),
km_3d_view_tool_edit_gpencil_shear(params),
diff --git a/release/scripts/presets/keyconfig/keymap_data/industry_compatible_data.py b/release/scripts/presets/keyconfig/keymap_data/industry_compatible_data.py
index 258ea44532b..49a394b478d 100644
--- a/release/scripts/presets/keyconfig/keymap_data/industry_compatible_data.py
+++ b/release/scripts/presets/keyconfig/keymap_data/industry_compatible_data.py
@@ -1177,9 +1177,14 @@ def km_file_browser(params):
("file.next", {"type": 'RIGHT_ARROW', "value": 'PRESS', "alt": True}, None),
("file.next", {"type": 'RIGHT_ARROW', "value": 'PRESS', "ctrl": True}, None),
("file.refresh", {"type": 'R', "value": 'PRESS', "ctrl": True}, None),
+ ("file.previous", {"type": 'BACK_SPACE', "value": 'PRESS'}, None),
+ ("file.next", {"type": 'BACK_SPACE', "value": 'PRESS', "shift": True}, None),
("wm.context_toggle", {"type": 'H', "value": 'PRESS'},
{"properties": [("data_path", 'space_data.params.show_hidden')]}),
- ("file.directory_new", {"type": 'I', "value": 'PRESS'}, None),
+ ("file.directory_new", {"type": 'I', "value": 'PRESS'},
+ {"properties": [("confirm", False)]}),
+ ("file.rename", {"type": 'F2', "value": 'PRESS'}, None),
+ ("file.delete", {"type": 'DEL', "value": 'PRESS'}, None),
("file.smoothscroll", {"type": 'TIMER1', "value": 'ANY', "any": True}, None),
("wm.context_toggle", {"type": 'T', "value": 'PRESS'},
{"properties": [("data_path", 'space_data.show_region_toolbar')]}),
@@ -1220,7 +1225,7 @@ def km_file_browser_main(params):
("file.select", {"type": 'LEFTMOUSE', "value": 'CLICK', "ctrl": True},
{"properties": [("extend", True)]}),
("file.select", {"type": 'LEFTMOUSE', "value": 'CLICK', "shift": True,},
- {"properties": [("extend", True), ("fill", True)]}),
+ {"properties": [("extend", True), ("fill", True), ("open", False)]}),
("file.select", {"type": 'RIGHTMOUSE', "value": 'CLICK', "shift": True},
{"properties": [("extend", True), ("open", False)]}),
("file.select", {"type": 'RIGHTMOUSE', "value": 'CLICK', "alt": True},
diff --git a/release/scripts/startup/bl_operators/add_mesh_torus.py b/release/scripts/startup/bl_operators/add_mesh_torus.py
index 0f95371d4c5..3ce06647cdc 100644
--- a/release/scripts/startup/bl_operators/add_mesh_torus.py
+++ b/release/scripts/startup/bl_operators/add_mesh_torus.py
@@ -22,6 +22,7 @@ from bpy.types import Operator
from bpy.props import (
BoolProperty,
+ EnumProperty,
FloatProperty,
IntProperty,
)
@@ -147,7 +148,7 @@ class AddTorus(Operator, object_utils.AddObjectHelper):
min=3, max=256,
default=12,
)
- mode: bpy.props.EnumProperty(
+ mode: EnumProperty(
name="Torus Dimensions",
items=(
('MAJOR_MINOR', "Major/Minor",
diff --git a/release/scripts/startup/bl_operators/clip.py b/release/scripts/startup/bl_operators/clip.py
index fcde95a48fe..15ff08e0719 100644
--- a/release/scripts/startup/bl_operators/clip.py
+++ b/release/scripts/startup/bl_operators/clip.py
@@ -387,9 +387,12 @@ class CLIP_OT_delete_proxy(Operator):
self._rmproxy(d + "_undistorted")
self._rmproxy(os.path.join(absproxy, "proxy_%d.avi" % x))
- tc = ("free_run.blen_tc",
- "interp_free_run.blen_tc",
- "record_run.blen_tc")
+ tc = (
+ "free_run.blen_tc",
+ "interp_free_run.blen_tc",
+ "record_run.blen_tc",
+ "record_run_no_gaps.blen_tc",
+ )
for x in tc:
self._rmproxy(os.path.join(absproxy, x))
diff --git a/release/scripts/startup/bl_operators/presets.py b/release/scripts/startup/bl_operators/presets.py
index c6e5d9f0d10..bb04488812d 100644
--- a/release/scripts/startup/bl_operators/presets.py
+++ b/release/scripts/startup/bl_operators/presets.py
@@ -84,6 +84,7 @@ class AddPresetBase:
def execute(self, context):
import os
+ from bpy.utils import is_path_builtin
if hasattr(self, "pre_cb"):
self.pre_cb(context)
@@ -190,6 +191,11 @@ class AddPresetBase:
if not filepath:
return {'CANCELLED'}
+ # Do not remove bundled presets
+ if is_path_builtin(filepath):
+ self.report({'WARNING'}, "You can't remove the default presets")
+ return {'CANCELLED'}
+
try:
if hasattr(self, "remove"):
self.remove(context, filepath)
diff --git a/release/scripts/startup/bl_operators/rigidbody.py b/release/scripts/startup/bl_operators/rigidbody.py
index 4c014ff7ac4..97149133dec 100644
--- a/release/scripts/startup/bl_operators/rigidbody.py
+++ b/release/scripts/startup/bl_operators/rigidbody.py
@@ -147,8 +147,8 @@ class BakeToKeyframes(Operator):
scene.frame_set(f)
for j, obj in enumerate(objects):
mat = bake[i][j]
- # convert world space transform to parent space, so parented objects don't get offset after baking
- if (obj.parent):
+ # Convert world space transform to parent space, so parented objects don't get offset after baking.
+ if obj.parent:
mat = obj.matrix_parent_inverse.inverted() @ obj.parent.matrix_world.inverted() @ mat
obj.location = mat.to_translation()
diff --git a/release/scripts/startup/bl_operators/sequencer.py b/release/scripts/startup/bl_operators/sequencer.py
index ab87dc47075..9a0028d1f14 100644
--- a/release/scripts/startup/bl_operators/sequencer.py
+++ b/release/scripts/startup/bl_operators/sequencer.py
@@ -21,7 +21,11 @@
import bpy
from bpy.types import Operator
-from bpy.props import IntProperty
+from bpy.props import (
+ EnumProperty,
+ FloatProperty,
+ IntProperty,
+)
class SequencerCrossfadeSounds(Operator):
@@ -170,12 +174,12 @@ class SequencerFadesAdd(Operator):
bl_label = "Add Fades"
bl_options = {'REGISTER', 'UNDO'}
- duration_seconds: bpy.props.FloatProperty(
+ duration_seconds: FloatProperty(
name="Fade Duration",
description="Duration of the fade in seconds",
default=1.0,
min=0.01)
- type: bpy.props.EnumProperty(
+ type: EnumProperty(
items=(
('IN_OUT', 'Fade In And Out', 'Fade selected strips in and out'),
('IN', 'Fade In', 'Fade in selected strips'),
diff --git a/release/scripts/startup/bl_operators/userpref.py b/release/scripts/startup/bl_operators/userpref.py
index b052f333d2a..4c5c269955a 100644
--- a/release/scripts/startup/bl_operators/userpref.py
+++ b/release/scripts/startup/bl_operators/userpref.py
@@ -114,7 +114,8 @@ class PREFERENCES_OT_copy_prev(Operator):
shutil.copytree(self._old_path(), self._new_path(), symlinks=True)
- # reload recent-files.txt
+ # reload preferences and recent-files.txt
+ bpy.ops.wm.read_userpref()
bpy.ops.wm.read_history()
# don't loose users work if they open the splash later.
@@ -1031,7 +1032,7 @@ class PREFERENCES_OT_studiolight_uninstall(Operator):
"""Delete Studio Light"""
bl_idname = "preferences.studiolight_uninstall"
bl_label = "Uninstall Studio Light"
- index: bpy.props.IntProperty()
+ index: IntProperty()
def execute(self, context):
import os
@@ -1054,7 +1055,7 @@ class PREFERENCES_OT_studiolight_copy_settings(Operator):
"""Copy Studio Light settings to the Studio light editor"""
bl_idname = "preferences.studiolight_copy_settings"
bl_label = "Copy Studio Light settings"
- index: bpy.props.IntProperty()
+ index: IntProperty()
def execute(self, context):
prefs = context.preferences
diff --git a/release/scripts/startup/bl_operators/uvcalc_follow_active.py b/release/scripts/startup/bl_operators/uvcalc_follow_active.py
index 7b25491764b..83d451fbc89 100644
--- a/release/scripts/startup/bl_operators/uvcalc_follow_active.py
+++ b/release/scripts/startup/bl_operators/uvcalc_follow_active.py
@@ -24,6 +24,9 @@
import bpy
from bpy.types import Operator
+from bpy.props import (
+ EnumProperty,
+)
STATUS_OK = (1 << 0)
STATUS_ERR_ACTIVE_FACE = (1 << 1)
@@ -253,7 +256,7 @@ class FollowActiveQuads(Operator):
bl_label = "Follow Active Quads"
bl_options = {'REGISTER', 'UNDO'}
- mode: bpy.props.EnumProperty(
+ mode: EnumProperty(
name="Edge Length Mode",
description="Method to space UV edge loops",
items=(
diff --git a/release/scripts/startup/bl_operators/uvcalc_lightmap.py b/release/scripts/startup/bl_operators/uvcalc_lightmap.py
index 2b20754a995..2befb7c73e2 100644
--- a/release/scripts/startup/bl_operators/uvcalc_lightmap.py
+++ b/release/scripts/startup/bl_operators/uvcalc_lightmap.py
@@ -565,7 +565,12 @@ def unwrap(operator, context, **kwargs):
bpy.ops.object.mode_set(mode='OBJECT', toggle=False)
# define list of meshes
- meshes = list({me for obj in context.selected_objects if obj.type == 'MESH' for me in (obj.data,) if me.polygons and me.library is None})
+ meshes = list({
+ me for obj in context.selected_objects
+ if obj.type == 'MESH'
+ for me in (obj.data,)
+ if me.polygons and me.library is None
+ })
if not meshes:
operator.report({'ERROR'}, "No mesh object")
diff --git a/release/scripts/startup/bl_operators/wm.py b/release/scripts/startup/bl_operators/wm.py
index cb9af88f45f..63aaf1d319a 100644
--- a/release/scripts/startup/bl_operators/wm.py
+++ b/release/scripts/startup/bl_operators/wm.py
@@ -80,10 +80,6 @@ rna_module_prop = StringProperty(
def context_path_validate(context, data_path):
- # Silently ignore invalid data paths created by T65397.
- if "(null)" in data_path:
- return Ellipsis
-
try:
value = eval("context.%s" % data_path) if data_path else Ellipsis
except AttributeError as ex:
@@ -1107,7 +1103,7 @@ class WM_OT_doc_view(Operator):
bl_label = "View Documentation"
doc_id: doc_id
- if bpy.app.version_cycle in {"release", "rc"}:
+ if bpy.app.version_cycle in {"release", "rc", "beta"}:
_prefix = ("https://docs.blender.org/api/%d.%d%s" %
(bpy.app.version[0], bpy.app.version[1], bpy.app.version_char))
else:
@@ -1748,27 +1744,153 @@ class WM_OT_toolbar(Operator):
WM_OT_toolbar._key_held = event.type
return self.execute(context)
- def execute(self, context):
+ @staticmethod
+ def keymap_from_toolbar(context, space_type, use_fallback_keys=True, use_reset=True):
from bl_ui.space_toolsystem_common import ToolSelectPanelHelper
from bl_keymap_utils import keymap_from_toolbar
- space_type = context.space_data.type
cls = ToolSelectPanelHelper._tool_class_from_space_type(space_type)
if cls is None:
- return {'CANCELLED'}
+ return None, None
- wm = context.window_manager
- keymap = keymap_from_toolbar.generate(context, space_type)
+ return cls, keymap_from_toolbar.generate(
+ context,
+ space_type,
+ use_fallback_keys=use_fallback_keys,
+ use_reset=use_reset,
+ )
+
+ def execute(self, context):
+ space_type = context.space_data.type
+ cls, keymap = self.keymap_from_toolbar(context, space_type)
+ if keymap is None:
+ return {'CANCELLED'}
def draw_menu(popover, context):
layout = popover.layout
layout.operator_context = 'INVOKE_REGION_WIN'
cls.draw_cls(layout, context, detect_layout=False, scale_y=1.0)
+ wm = context.window_manager
wm.popover(draw_menu, ui_units_x=8, keymap=keymap)
return {'FINISHED'}
+class WM_OT_toolbar_prompt(Operator):
+ """Leader key like functionality for accessing tools"""
+ bl_idname = "wm.toolbar_prompt"
+ bl_label = "Toolbar Prompt"
+
+ @staticmethod
+ def _status_items_generate(cls, keymap, context):
+ from bl_ui.space_toolsystem_common import ToolSelectPanelHelper
+
+ # The keymap doesn't have the same order the tools are declared in,
+ # while we could support this, it's simpler to apply order here.
+ tool_map_id_to_order = {}
+ # Map the
+ tool_map_id_to_label = {}
+ for item in ToolSelectPanelHelper._tools_flatten(cls.tools_from_context(context)):
+ if item is not None:
+ tool_map_id_to_label[item.idname] = item.label
+ tool_map_id_to_order[item.idname] = len(tool_map_id_to_order)
+
+ status_items = []
+
+ for item in keymap.keymap_items:
+ name = item.name
+ key_str = item.to_string()
+ # These are duplicated from regular numbers.
+ if key_str.startswith("Numpad "):
+ continue
+ properties = item.properties
+ idname = item.idname
+ if idname == "wm.tool_set_by_id":
+ tool_idname = properties["name"]
+ name = tool_map_id_to_label[tool_idname]
+ name = name.replace("Annotate ", "")
+ else:
+ continue
+
+ status_items.append((tool_idname, name, item))
+
+ status_items.sort(
+ key=lambda a: tool_map_id_to_order[a[0]]
+ )
+ return status_items
+
+ def modal(self, context, event):
+ event_type = event.type
+ event_value = event.value
+
+ if event_type in {
+ 'LEFTMOUSE', 'RIGHTMOUSE', 'MIDDLEMOUSE',
+ 'WHEELDOWNMOUSE', 'WHEELUPMOUSE', 'WHEELINMOUSE', 'WHEELOUTMOUSE',
+ 'ESC',
+ }:
+ context.workspace.status_text_set(None)
+ return {'CANCELLED', 'PASS_THROUGH'}
+
+ keymap = self._keymap
+ item = keymap.keymap_items.match_event(event)
+ if item is not None:
+ idname = item.idname
+ properties = item.properties
+ if idname == "wm.tool_set_by_id":
+ tool_idname = properties["name"]
+ bpy.ops.wm.tool_set_by_id(name=tool_idname)
+
+ context.workspace.status_text_set(None)
+ return {'FINISHED'}
+
+ return {'RUNNING_MODAL'}
+
+ def invoke(self, context, event):
+ space_data = context.space_data
+ if space_data is None:
+ return {'CANCELLED'}
+
+ space_type = space_data.type
+ cls, keymap = WM_OT_toolbar.keymap_from_toolbar(
+ context,
+ space_type,
+ use_fallback_keys=False,
+ use_reset=False,
+ )
+ if (keymap is None) or (not keymap.keymap_items):
+ return {'CANCELLED'}
+
+ self._init_event_type = event.type
+
+ # Strip Left/Right, since "Left Alt" isn't especially useful.
+ init_event_type_as_text = self._init_event_type.title().split("_")
+ if init_event_type_as_text[0] in {"Left", "Right"}:
+ del init_event_type_as_text[0]
+ init_event_type_as_text = " ".join(init_event_type_as_text)
+
+ status_items = self._status_items_generate(cls, keymap, context)
+
+ def status_text_fn(self, context):
+
+ layout = self.layout
+ if True:
+ box = layout.row(align=True).box()
+ box.scale_x = 0.8
+ box.label(text=init_event_type_as_text)
+
+ flow = layout.grid_flow(columns=len(status_items), align=True, row_major=True)
+ for _, name, item in status_items:
+ row = flow.row(align=True)
+ row.template_event_from_keymap_item(item, text=name)
+
+ self._keymap = keymap
+
+ context.workspace.status_text_set(status_text_fn)
+
+ context.window_manager.modal_handler_add(self)
+ return {'RUNNING_MODAL'}
+
+
class BatchRenameAction(bpy.types.PropertyGroup):
# category: StringProperty()
type: EnumProperty(
@@ -1927,7 +2049,7 @@ class WM_OT_batch_rename(Operator):
data = (
[pchan.bone for pchan in context.selected_pose_bones]
if only_selected else
- [pchan.bone for ob in context.objects_in_mode_unique_data for pbone in ob.pose.bones],
+ [pbone.bone for ob in context.objects_in_mode_unique_data for pbone in ob.pose.bones],
"name",
"Bone(s)",
)
@@ -1999,7 +2121,6 @@ class WM_OT_batch_rename(Operator):
descr,
)
-
return data
@staticmethod
@@ -2042,10 +2163,10 @@ class WM_OT_batch_rename(Operator):
if action.use_replace_regex_dst:
replace_dst = action.replace_dst
else:
- replace_dst = re.escape(action.replace_dst)
+ replace_dst = action.replace_dst.replace("\\", "\\\\")
else:
replace_src = re.escape(action.replace_src)
- replace_dst = re.escape(action.replace_dst)
+ replace_dst = action.replace_dst.replace("\\", "\\\\")
name = re.sub(
replace_src,
replace_dst,
@@ -2435,6 +2556,7 @@ classes = (
WM_OT_tool_set_by_id,
WM_OT_tool_set_by_index,
WM_OT_toolbar,
+ WM_OT_toolbar_prompt,
BatchRenameAction,
WM_OT_batch_rename,
WM_MT_splash,
diff --git a/release/scripts/startup/bl_ui/properties_constraint.py b/release/scripts/startup/bl_ui/properties_constraint.py
index dce2d2f2758..b75d67b5350 100644
--- a/release/scripts/startup/bl_ui/properties_constraint.py
+++ b/release/scripts/startup/bl_ui/properties_constraint.py
@@ -543,11 +543,14 @@ class ConstraintButtonsPanel:
col.active = con.use_bulge_min or con.use_bulge_max
col.prop(con, "bulge_smooth", text="Smooth")
- row = layout.row()
- row.label(text="Volume:")
+ split = layout.split(factor=0.3)
+ split.label(text="Volume:")
+ row = split.row()
row.prop(con, "volume", expand=True)
- row.label(text="Plane:")
+ split = layout.split(factor=0.3)
+ split.label(text="Rotation:")
+ row = split.row()
row.prop(con, "keep_axis", expand=True)
def FLOOR(self, _context, layout, con):
diff --git a/release/scripts/startup/bl_ui/properties_data_curve.py b/release/scripts/startup/bl_ui/properties_data_curve.py
index b589f780c24..d1975919d7e 100644
--- a/release/scripts/startup/bl_ui/properties_data_curve.py
+++ b/release/scripts/startup/bl_ui/properties_data_curve.py
@@ -332,7 +332,8 @@ class DATA_PT_font(CurveButtonsPanelText, Panel):
layout = self.layout
text = context.curve
- char = context.curve.edit_format
+ char = text.edit_format
+ mode = context.mode
row = layout.split(factor=0.25)
row.label(text="Regular")
@@ -347,13 +348,14 @@ class DATA_PT_font(CurveButtonsPanelText, Panel):
row.label(text="Bold & Italic")
row.template_ID(text, "font_bold_italic", open="font.open", unlink="font.unlink")
- layout.separator()
+ if mode == 'EDIT_TEXT':
+ layout.separator()
- row = layout.row(align=True)
- row.prop(char, "use_bold", toggle=True)
- row.prop(char, "use_italic", toggle=True)
- row.prop(char, "use_underline", toggle=True)
- row.prop(char, "use_small_caps", toggle=True)
+ row = layout.row(align=True)
+ row.prop(char, "use_bold", toggle=True)
+ row.prop(char, "use_italic", toggle=True)
+ row.prop(char, "use_underline", toggle=True)
+ row.prop(char, "use_small_caps", toggle=True)
class DATA_PT_font_transform(CurveButtonsPanelText, Panel):
diff --git a/release/scripts/startup/bl_ui/properties_data_lattice.py b/release/scripts/startup/bl_ui/properties_data_lattice.py
index 330844440d0..2193fbb9ffd 100644
--- a/release/scripts/startup/bl_ui/properties_data_lattice.py
+++ b/release/scripts/startup/bl_ui/properties_data_lattice.py
@@ -43,13 +43,10 @@ class DATA_PT_context_lattice(DataButtonsPanel, Panel):
lat = context.lattice
space = context.space_data
- split = layout.split(factor=0.65)
if ob:
- split.template_ID(ob, "data")
- split.separator()
+ layout.template_ID(ob, "data")
elif lat:
- split.template_ID(space, "pin_id")
- split.separator()
+ layout.template_ID(space, "pin_id")
class DATA_PT_lattice(DataButtonsPanel, Panel):
diff --git a/release/scripts/startup/bl_ui/properties_data_mesh.py b/release/scripts/startup/bl_ui/properties_data_mesh.py
index 0794c3a1039..581b6be886c 100644
--- a/release/scripts/startup/bl_ui/properties_data_mesh.py
+++ b/release/scripts/startup/bl_ui/properties_data_mesh.py
@@ -46,7 +46,11 @@ class MESH_MT_vertex_group_context_menu(Menu):
layout.operator("object.vertex_group_mirror", icon='ARROW_LEFTRIGHT').use_topology = False
layout.operator("object.vertex_group_mirror", text="Mirror Vertex Group (Topology)").use_topology = True
layout.separator()
- layout.operator("object.vertex_group_remove_from", icon='X', text="Remove from All Groups").use_all_groups = True
+ layout.operator(
+ "object.vertex_group_remove_from",
+ icon='X',
+ text="Remove from All Groups",
+ ).use_all_groups = True
layout.operator("object.vertex_group_remove_from", text="Clear Active Group").use_all_verts = True
layout.operator("object.vertex_group_remove", text="Delete All Unlocked Groups").all_unlocked = True
layout.operator("object.vertex_group_remove", text="Delete All Groups").all = True
@@ -474,14 +478,18 @@ class DATA_PT_remesh(MeshButtonsPanel, Panel):
mesh = context.mesh
row.prop(mesh, "remesh_mode", text="Mode", expand=True)
col = layout.column()
- if (mesh.remesh_mode == 'VOXEL'):
+ if mesh.remesh_mode == 'VOXEL':
col.prop(mesh, "remesh_voxel_size")
- col.prop(mesh, "remesh_smooth_normals")
- col.prop(mesh, "remesh_preserve_paint_mask")
+ col.prop(mesh, "remesh_voxel_adaptivity")
+ col.prop(mesh, "use_remesh_fix_poles")
+ col.prop(mesh, "use_remesh_smooth_normals")
+ col.prop(mesh, "use_remesh_preserve_volume")
+ col.prop(mesh, "use_remesh_preserve_paint_mask")
col.operator("object.voxel_remesh", text="Voxel Remesh")
else:
col.operator("object.quadriflow_remesh", text="QuadriFlow Remesh")
+
class DATA_PT_customdata(MeshButtonsPanel, Panel):
bl_label = "Geometry Data"
bl_options = {'DEFAULT_CLOSED'}
diff --git a/release/scripts/startup/bl_ui/properties_data_modifier.py b/release/scripts/startup/bl_ui/properties_data_modifier.py
index 191018486ff..b1f4f1e6f59 100644
--- a/release/scripts/startup/bl_ui/properties_data_modifier.py
+++ b/release/scripts/startup/bl_ui/properties_data_modifier.py
@@ -954,11 +954,23 @@ class DATA_PT_modifiers(ModifierButtonsPanel, Panel):
layout.label(text="Settings are inside the Physics tab")
def SOLIDIFY(self, layout, ob, md):
+
+ layout.row().prop(md, "solidify_mode")
+
+ solidify_mode = md.solidify_mode
+
+ if solidify_mode == 'NON_MANIFOLD':
+ layout.prop(md, "nonmanifold_thickness_mode")
+ layout.prop(md, "nonmanifold_boundary_mode")
+
split = layout.split()
col = split.column()
col.prop(md, "thickness")
col.prop(md, "thickness_clamp")
+ row = col.row()
+ row.active = md.thickness_clamp > 0.0
+ row.prop(md, "use_thickness_angle_clamp")
col.separator()
@@ -972,18 +984,22 @@ class DATA_PT_modifiers(ModifierButtonsPanel, Panel):
sub.active = bool(md.vertex_group)
sub.prop(md, "thickness_vertex_group", text="Factor")
- col.label(text="Crease:")
- col.prop(md, "edge_crease_inner", text="Inner")
- col.prop(md, "edge_crease_outer", text="Outer")
- col.prop(md, "edge_crease_rim", text="Rim")
+ if solidify_mode == 'EXTRUDE':
+ col.label(text="Crease:")
+ col.prop(md, "edge_crease_inner", text="Inner")
+ col.prop(md, "edge_crease_outer", text="Outer")
+ col.prop(md, "edge_crease_rim", text="Rim")
col = split.column()
col.prop(md, "offset")
+
col.prop(md, "use_flip_normals")
- col.prop(md, "use_even_offset")
- col.prop(md, "use_quality_normals")
+ if solidify_mode == 'EXTRUDE':
+ col.prop(md, "use_even_offset")
+ col.prop(md, "use_quality_normals")
+
col.prop(md, "use_rim")
col_rim = col.column()
col_rim.active = md.use_rim
diff --git a/release/scripts/startup/bl_ui/properties_freestyle.py b/release/scripts/startup/bl_ui/properties_freestyle.py
index 7ddfb298a1b..5fc03e59f9d 100644
--- a/release/scripts/startup/bl_ui/properties_freestyle.py
+++ b/release/scripts/startup/bl_ui/properties_freestyle.py
@@ -57,7 +57,7 @@ class RENDER_PT_freestyle(RenderFreestyleButtonsPanel, Panel):
layout.prop(rd, "line_thickness_mode", expand=True)
- if (rd.line_thickness_mode == 'ABSOLUTE'):
+ if rd.line_thickness_mode == 'ABSOLUTE':
layout.prop(rd, "line_thickness")
diff --git a/release/scripts/startup/bl_ui/properties_grease_pencil_common.py b/release/scripts/startup/bl_ui/properties_grease_pencil_common.py
index ca9c518f443..b6db3cf0b97 100644
--- a/release/scripts/startup/bl_ui/properties_grease_pencil_common.py
+++ b/release/scripts/startup/bl_ui/properties_grease_pencil_common.py
@@ -892,7 +892,7 @@ class GreasePencilMaterialsPanel:
if is_view3d and brush is not None:
gp_settings = brush.gpencil_settings
if gp_settings.use_material_pin is False:
- if ob.active_material_index > 0:
+ if ob.active_material_index >= 0:
ma = ob.material_slots[ob.active_material_index].material
else:
ma = gp_settings.material
@@ -950,6 +950,7 @@ class GPENCIL_UL_layer(UIList):
icon_value=icon,
)
+
class GreasePencilSimplifyPanel:
def draw_header(self, context):
@@ -977,6 +978,7 @@ class GreasePencilSimplifyPanel:
sub.active = rd.simplify_gpencil_view_fill
sub.prop(rd, "simplify_gpencil_remove_lines", text="Lines")
+
classes = (
GPENCIL_MT_pie_tool_palette,
GPENCIL_MT_pie_settings_palette,
diff --git a/release/scripts/startup/bl_ui/properties_object.py b/release/scripts/startup/bl_ui/properties_object.py
index d2ba047e07e..bb020084b03 100644
--- a/release/scripts/startup/bl_ui/properties_object.py
+++ b/release/scripts/startup/bl_ui/properties_object.py
@@ -105,7 +105,6 @@ class OBJECT_PT_delta_transform(ObjectButtonsPanel, Panel):
def draw(self, context):
layout = self.layout
layout.use_property_split = True
- flow = layout.grid_flow(row_major=True, columns=0, even_columns=True, even_rows=True, align=False)
ob = context.object
diff --git a/release/scripts/startup/bl_ui/properties_paint_common.py b/release/scripts/startup/bl_ui/properties_paint_common.py
index 23b2556eddb..98e812cf02d 100644
--- a/release/scripts/startup/bl_ui/properties_paint_common.py
+++ b/release/scripts/startup/bl_ui/properties_paint_common.py
@@ -108,9 +108,7 @@ class VIEW3D_MT_tools_projectpaint_clone(Menu):
props.value = i
-def brush_texpaint_common(panel, context, layout, brush, _settings, projpaint=False):
- capabilities = brush.image_paint_capabilities
-
+def brush_texpaint_common(panel, context, layout, brush, _settings, *, projpaint=False):
col = layout.column()
if brush.image_tool == 'FILL' and not projpaint:
@@ -134,7 +132,7 @@ def brush_texpaint_common(panel, context, layout, brush, _settings, projpaint=Fa
brush_basic_texpaint_settings(col, context, brush)
-def brush_texpaint_common_clone(_panel, context, layout, _brush, settings, projpaint=False):
+def brush_texpaint_common_clone(_panel, context, layout, _brush, settings, *, projpaint=False):
ob = context.active_object
col = layout.column()
@@ -162,7 +160,7 @@ def brush_texpaint_common_clone(_panel, context, layout, _brush, settings, projp
col.menu("VIEW3D_MT_tools_projectpaint_clone", text=clone_text, translate=False)
-def brush_texpaint_common_color(_panel, context, layout, brush, _settings, projpaint=False):
+def brush_texpaint_common_color(_panel, context, layout, brush, _settings, *, projpaint=False):
UnifiedPaintPanel.prop_unified_color_picker(layout, context, brush, "color", value_slider=True)
row = layout.row(align=True)
@@ -172,7 +170,7 @@ def brush_texpaint_common_color(_panel, context, layout, brush, _settings, projp
row.operator("paint.brush_colors_flip", icon='FILE_REFRESH', text="", emboss=False)
-def brush_texpaint_common_gradient(_panel, context, layout, brush, _settings, projpaint=False):
+def brush_texpaint_common_gradient(_panel, context, layout, brush, _settings, *, projpaint=False):
layout.template_color_ramp(brush, "gradient", expand=True)
layout.use_property_split = True
@@ -188,7 +186,7 @@ def brush_texpaint_common_gradient(_panel, context, layout, brush, _settings, pr
col.prop(brush, "gradient_fill_mode")
-def brush_texpaint_common_options(_panel, _context, layout, brush, _settings, projpaint=False):
+def brush_texpaint_common_options(_panel, _context, layout, brush, _settings, *, projpaint=False):
capabilities = brush.image_paint_capabilities
col = layout.column()
@@ -201,6 +199,8 @@ def brush_texpaint_common_options(_panel, _context, layout, brush, _settings, pr
if projpaint:
col.prop(brush, "use_alpha")
+ else:
+ col.prop(brush, "use_paint_antialiasing")
# Used in both the View3D toolbar and texture properties
@@ -367,7 +367,7 @@ def brush_basic_sculpt_settings(layout, context, brush, *, compact=False):
layout.row().prop(brush, "direction", expand=True, **({"text": ""} if compact else {}))
-def brush_basic_gpencil_paint_settings(layout, _context, brush, *, compact=True):
+def brush_basic_gpencil_paint_settings(layout, _context, brush, tool, *, compact=True, is_toolbar=False):
gp_settings = brush.gpencil_settings
# Brush details
@@ -395,6 +395,23 @@ def brush_basic_gpencil_paint_settings(layout, _context, brush, *, compact=True)
row = layout.row(align=True)
row.prop(gp_settings, "fill_draw_mode", text="Boundary")
row.prop(gp_settings, "show_fill_boundary", text="", icon='GRID')
+ # Fill options
+ if is_toolbar:
+ settings = _context.tool_settings.gpencil_sculpt
+ row = layout.row(align=True)
+ sub = row.row(align=True)
+ sub.popover(
+ panel="TOPBAR_PT_gpencil_fill",
+ text="Fill Options",
+ )
+ else:
+ row = layout.row(align=True)
+ row.prop(gp_settings, "fill_factor", text="Resolution")
+ if gp_settings.fill_draw_mode != 'STROKE':
+ row = layout.row(align=True)
+ row.prop(gp_settings, "show_fill", text="Ignore Transparent Strokes")
+ row = layout.row(align=True)
+ row.prop(gp_settings, "fill_threshold", text="Threshold")
else: # brush.gpencil_tool == 'DRAW':
row = layout.row(align=True)
row.prop(brush, "size", text="Radius")
@@ -403,6 +420,33 @@ def brush_basic_gpencil_paint_settings(layout, _context, brush, *, compact=True)
row.prop(gp_settings, "pen_strength", slider=True)
row.prop(gp_settings, "use_strength_pressure", text="", icon='STYLUS_PRESSURE')
+ # FIXME: tools must use their own UI drawing!
+ if tool.idname in {
+ "builtin.arc",
+ "builtin.curve",
+ "builtin.line",
+ "builtin.box",
+ "builtin.circle",
+ "builtin.polyline",
+ }:
+ settings = _context.tool_settings.gpencil_sculpt
+ if is_toolbar:
+ row = layout.row(align=True)
+ row.prop(settings, "use_thickness_curve", text="", icon='CURVE_DATA')
+ sub = row.row(align=True)
+ sub.active = settings.use_thickness_curve
+ sub.popover(
+ panel="TOPBAR_PT_gpencil_primitive",
+ text="Thickness Profile",
+ )
+ else:
+ row = layout.row(align=True)
+ row.prop(settings, "use_thickness_curve", text="Use Thickness Profile")
+ sub = row.row(align=True)
+ if settings.use_thickness_curve:
+ # Curve
+ layout.template_curve_mapping(settings, "thickness_primitive_curve", brush=True)
+
def brush_basic_gpencil_sculpt_settings(layout, context, brush, *, compact=False):
tool_settings = context.tool_settings
diff --git a/release/scripts/startup/bl_ui/properties_particle.py b/release/scripts/startup/bl_ui/properties_particle.py
index 239c8aca758..4214888f230 100644
--- a/release/scripts/startup/bl_ui/properties_particle.py
+++ b/release/scripts/startup/bl_ui/properties_particle.py
@@ -1091,14 +1091,13 @@ class PARTICLE_PT_physics_integration(ParticleButtonsPanel, Panel):
col.prop(part, "integrator")
col.prop(part, "timestep")
- sub = col.row()
- sub.prop(part, "subframes")
- supports_courant = part.physics_type == 'FLUID'
- subsub = sub.row()
- subsub.enabled = supports_courant
- subsub.prop(part, "use_adaptive_subframes", text="")
- if supports_courant and part.use_adaptive_subframes:
- col.prop(part, "courant_target", text="Threshold")
+ col.prop(part, "subframes")
+
+ if part.physics_type == 'FLUID':
+ col.prop(part, "use_adaptive_subframes", text="Adaptive")
+ sub = col.row()
+ sub.enabled = part.use_adaptive_subframes
+ sub.prop(part, "courant_target", text="Threshold")
class PARTICLE_PT_boidbrain(ParticleButtonsPanel, Panel):
@@ -1122,33 +1121,28 @@ class PARTICLE_PT_boidbrain(ParticleButtonsPanel, Panel):
def draw(self, context):
layout = self.layout
+ layout.use_property_split = True
+ layout.use_property_decorate = False
boids = particle_get_settings(context).boids
layout.enabled = particle_panel_enabled(context, context.particle_system)
# Currently boids can only use the first state so these are commented out for now.
- #row = layout.row()
+ # row = layout.row()
# row.template_list("UI_UL_list", "particle_boids", boids, "states",
- # boids, "active_boid_state_index", compact="True")
- #col = row.row()
- #sub = col.row(align=True)
- #sub.operator("boid.state_add", icon='ADD', text="")
- #sub.operator("boid.state_del", icon='REMOVE', text="")
- #sub = row.row(align=True)
- #sub.operator("boid.state_move_up", icon='TRIA_UP', text="")
- #sub.operator("boid.state_move_down", icon='TRIA_DOWN', text="")
+ # boids, "active_boid_state_index", compact="True")
+ # col = row.row()
+ # sub = col.row(align=True)
+ # sub.operator("boid.state_add", icon='ADD', text="")
+ # sub.operator("boid.state_del", icon='REMOVE', text="")
+ # sub = row.row(align=True)
+ # sub.operator("boid.state_move_up", icon='TRIA_UP', text="")
+ # sub.operator("boid.state_move_down", icon='TRIA_DOWN', text="")
state = boids.active_boid_state
- #layout.prop(state, "name", text="State name")
-
- row = layout.row()
- row.prop(state, "ruleset_type")
- if state.ruleset_type == 'FUZZY':
- row.prop(state, "rule_fuzzy", slider=True)
- else:
- row.label(text="")
+ # layout.prop(state, "name", text="State name")
row = layout.row()
row.template_list("UI_UL_list", "particle_boids_rules", state,
@@ -1164,47 +1158,46 @@ class PARTICLE_PT_boidbrain(ParticleButtonsPanel, Panel):
subsub.operator("boid.rule_move_up", icon='TRIA_UP', text="")
subsub.operator("boid.rule_move_down", icon='TRIA_DOWN', text="")
+ layout.prop(state, "ruleset_type")
+ if state.ruleset_type == 'FUZZY':
+ layout.prop(state, "rule_fuzzy", slider=True)
+
rule = state.active_boid_rule
if rule:
- row = layout.row()
- row.prop(rule, "name", text="")
- # somebody make nice icons for boids here please! -jahka
- row.prop(rule, "use_in_air", icon='TRIA_UP', text="")
- row.prop(rule, "use_on_land", icon='TRIA_DOWN', text="")
+ col = layout.column(align=True)
+ col.prop(rule, "use_in_air")
+ col.prop(rule, "use_on_land")
- row = layout.row()
+ col = layout.column()
if rule.type == 'GOAL':
- row.prop(rule, "object")
- row = layout.row()
- row.prop(rule, "use_predict")
+ col.prop(rule, "object")
+ col.prop(rule, "use_predict")
elif rule.type == 'AVOID':
- row.prop(rule, "object")
- row = layout.row()
- row.prop(rule, "use_predict")
- row.prop(rule, "fear_factor")
+ col.prop(rule, "object")
+ col.prop(rule, "use_predict")
+ col.prop(rule, "fear_factor")
elif rule.type == 'FOLLOW_PATH':
- row.label(text="Not yet functional")
+ col.label(text="Not yet functional")
elif rule.type == 'AVOID_COLLISION':
- row.prop(rule, "use_avoid")
- row.prop(rule, "use_avoid_collision")
- row.prop(rule, "look_ahead")
+ col.prop(rule, "use_avoid")
+ col.prop(rule, "use_avoid_collision")
+ col.prop(rule, "look_ahead")
elif rule.type == 'FOLLOW_LEADER':
- row.prop(rule, "object", text="")
- row.prop(rule, "distance")
- row = layout.row()
- row.prop(rule, "use_line")
- sub = row.row()
+ col.prop(rule, "object")
+ col.prop(rule, "distance")
+ col.prop(rule, "use_line")
+ sub = col.row()
sub.active = rule.use_line
sub.prop(rule, "queue_count")
elif rule.type == 'AVERAGE_SPEED':
- row.prop(rule, "speed", slider=True)
- row.prop(rule, "wander", slider=True)
- row.prop(rule, "level", slider=True)
+ col.prop(rule, "speed", slider=True)
+ col.prop(rule, "wander", slider=True)
+ col.prop(rule, "level", slider=True)
elif rule.type == 'FIGHT':
- row.prop(rule, "distance")
- row.prop(rule, "flee_distance")
+ col.prop(rule, "distance")
+ col.prop(rule, "flee_distance")
class PARTICLE_PT_render(ParticleButtonsPanel, Panel):
diff --git a/release/scripts/startup/bl_ui/space_clip.py b/release/scripts/startup/bl_ui/space_clip.py
index e58d5117bc3..b5154e72de6 100644
--- a/release/scripts/startup/bl_ui/space_clip.py
+++ b/release/scripts/startup/bl_ui/space_clip.py
@@ -1255,6 +1255,7 @@ class CLIP_MT_view(Menu):
layout.operator("clip.view_selected")
layout.operator("clip.view_all")
layout.operator("clip.view_all", text="View Fit").fit_view = True
+ layout.operator("clip.view_center_cursor")
layout.separator()
diff --git a/release/scripts/startup/bl_ui/space_dopesheet.py b/release/scripts/startup/bl_ui/space_dopesheet.py
index cb0dcb86ce4..fac8ff238c0 100644
--- a/release/scripts/startup/bl_ui/space_dopesheet.py
+++ b/release/scripts/startup/bl_ui/space_dopesheet.py
@@ -86,7 +86,7 @@ class DopesheetFilterPopoverBase:
row = col.row(align=True)
row.prop(dopesheet, "filter_text", text="")
- if (not generic_filters_only) and (bpy.data.collections):
+ if (not generic_filters_only) and bpy.data.collections:
col = layout.column(align=True)
col.prop(dopesheet, "filter_collection", text="")
diff --git a/release/scripts/startup/bl_ui/space_filebrowser.py b/release/scripts/startup/bl_ui/space_filebrowser.py
index c0d954261f6..958052c8f25 100644
--- a/release/scripts/startup/bl_ui/space_filebrowser.py
+++ b/release/scripts/startup/bl_ui/space_filebrowser.py
@@ -27,7 +27,6 @@ class FILEBROWSER_HT_header(Header):
layout = self.layout
st = context.space_data
- params = st.params
if st.active_operator is None:
layout.template_header()
@@ -57,7 +56,6 @@ class FILEBROWSER_PT_display(Panel):
space = context.space_data
params = space.params
- is_lib_browser = params.use_library_browsing
layout.label(text="Display as")
layout.column().prop(params, "display_type", expand=True)
@@ -158,7 +156,8 @@ class FILEBROWSER_PT_filter(Panel):
def panel_poll_is_upper_region(region):
- # The upper region is left-aligned, the lower is split into it then. Note that after "Flip Regions" it's right-aligned.
+ # The upper region is left-aligned, the lower is split into it then.
+ # Note that after "Flip Regions" it's right-aligned.
return region.alignment in {'LEFT', 'RIGHT'}
@@ -361,33 +360,37 @@ class FILEBROWSER_PT_directory_path(Panel):
layout.scale_y = 1.3
row = layout.row()
+ flow = row.grid_flow(row_major=True, columns=0, even_columns=False, even_rows=False, align=False)
- subrow = row.row(align=True)
- subrow.operator("file.previous", text="", icon='BACK')
- subrow.operator("file.next", text="", icon='FORWARD')
- subrow.operator("file.parent", text="", icon='FILE_PARENT')
- subrow.operator("file.refresh", text="", icon='FILE_REFRESH')
+ subrow = flow.row()
- subrow = row.row()
- subrow.operator_context = 'EXEC_DEFAULT'
- subrow.operator("file.directory_new", icon='NEWFOLDER', text="")
+ subsubrow = subrow.row(align=True)
+ subsubrow.operator("file.previous", text="", icon='BACK')
+ subsubrow.operator("file.next", text="", icon='FORWARD')
+ subsubrow.operator("file.parent", text="", icon='FILE_PARENT')
+ subsubrow.operator("file.refresh", text="", icon='FILE_REFRESH')
+
+ subsubrow = subrow.row()
+ subsubrow.operator_context = 'EXEC_DEFAULT'
+ subsubrow.operator("file.directory_new", icon='NEWFOLDER', text="")
- subrow = row.row()
subrow.template_file_select_path(params)
- subrow = row.row()
- subrow.scale_x = 0.5
- subrow.prop(params, "filter_search", text="", icon='VIEWZOOM')
+ subrow = flow.row()
+
+ subsubrow = subrow.row()
+ subsubrow.scale_x = 0.6
+ subsubrow.prop(params, "filter_search", text="", icon='VIEWZOOM')
# Uses prop_with_popover() as popover() only adds the triangle icon in headers.
- row.prop_with_popover(
+ subrow.prop_with_popover(
params,
"display_type",
panel="FILEBROWSER_PT_display",
text="",
icon_only=True,
)
- row.prop_with_popover(
+ subrow.prop_with_popover(
params,
"display_type",
panel="FILEBROWSER_PT_filter",
@@ -397,7 +400,7 @@ class FILEBROWSER_PT_directory_path(Panel):
)
if space.active_operator:
- row.operator(
+ subrow.operator(
"screen.region_toggle",
text="",
icon='PREFERENCES',
@@ -429,9 +432,8 @@ class FILEBROWSER_MT_view(Menu):
class FILEBROWSER_MT_select(Menu):
bl_label = "Select"
- def draw(self, context):
+ def draw(self, _context):
layout = self.layout
- st = context.space_data
layout.operator("file.select_all", text="All").action = 'SELECT'
layout.operator("file.select_all", text="None").action = 'DESELECT'
@@ -465,7 +467,12 @@ class FILEBROWSER_MT_context_menu(Menu):
layout.separator()
layout.operator("file.rename", text="Rename")
- # layout.operator("file.delete")
+ sub = layout.row()
+ sub.operator_context = 'EXEC_DEFAULT'
+ sub.operator("file.delete", text="Delete")
+
+ layout.separator()
+
sub = layout.row()
sub.operator_context = 'EXEC_DEFAULT'
sub.operator("file.directory_new", text="New Folder")
@@ -499,5 +506,6 @@ classes = (
if __name__ == "__main__": # only for live edit.
from bpy.utils import register_class
+
for cls in classes:
register_class(cls)
diff --git a/release/scripts/startup/bl_ui/space_image.py b/release/scripts/startup/bl_ui/space_image.py
index 5e05c49b567..8de12f759fc 100644
--- a/release/scripts/startup/bl_ui/space_image.py
+++ b/release/scripts/startup/bl_ui/space_image.py
@@ -113,6 +113,8 @@ class IMAGE_MT_view(Menu):
layout.operator("image.view_all", text="Frame All")
layout.operator("image.view_all", text="Frame All Fit").fit_view = True
+ layout.operator("image.view_center_cursor", text="Center View to Cursor")
+
layout.separator()
if show_render:
@@ -238,6 +240,7 @@ class IMAGE_MT_image(Menu):
layout.separator()
layout.menu("IMAGE_MT_image_invert")
+ layout.operator("image.resize", text="Resize")
if ima and not show_render:
if ima.packed_file:
@@ -664,7 +667,13 @@ class IMAGE_HT_header(Header):
row.prop(tool_settings, "use_proportional_edit", icon_only=True)
sub = row.row(align=True)
sub.active = tool_settings.use_proportional_edit
- sub.prop(tool_settings, "proportional_edit_falloff", icon_only=True)
+ sub.prop_with_popover(
+ tool_settings,
+ "proportional_edit_falloff",
+ text="",
+ icon_only=True,
+ panel="IMAGE_PT_proportional_edit",
+ )
def draw(self, context):
layout = self.layout
@@ -886,6 +895,23 @@ class IMAGE_PT_snapping(Panel):
row.prop(tool_settings, "use_snap_scale", text="Scale", toggle=True)
+class IMAGE_PT_proportional_edit(Panel):
+ bl_space_type = 'IMAGE_EDITOR'
+ bl_region_type = 'HEADER'
+ bl_label = "Proportional Editing"
+ bl_ui_units_x = 8
+
+ def draw(self, context):
+ layout = self.layout
+ tool_settings = context.tool_settings
+ col = layout.column()
+
+ col.prop(tool_settings, "use_proportional_connected")
+ col.separator()
+
+ col.prop(tool_settings, "proportional_edit_falloff", expand=True)
+
+
class IMAGE_PT_image_properties(Panel):
bl_space_type = 'IMAGE_EDITOR'
bl_region_type = 'UI'
@@ -1080,9 +1106,9 @@ class IMAGE_PT_paint_color(Panel, ImagePaintPanel):
layout.prop(brush, "color_type", expand=True)
if brush.color_type == 'COLOR':
- brush_texpaint_common_color(self, context, layout, brush, settings, True)
+ brush_texpaint_common_color(self, context, layout, brush, settings)
elif brush.color_type == 'GRADIENT':
- brush_texpaint_common_gradient(self, context, layout, brush, settings, True)
+ brush_texpaint_common_gradient(self, context, layout, brush, settings)
class IMAGE_PT_paint_swatches(Panel, ImagePaintPanel):
@@ -1134,7 +1160,7 @@ class IMAGE_PT_paint_clone(Panel, ImagePaintPanel):
layout.active = settings.use_clone_layer
- brush_texpaint_common_clone(self, context, layout, brush, settings, True)
+ brush_texpaint_common_clone(self, context, layout, brush, settings)
class IMAGE_PT_paint_options(Panel, ImagePaintPanel):
@@ -1160,7 +1186,7 @@ class IMAGE_PT_paint_options(Panel, ImagePaintPanel):
layout.use_property_split = True
layout.use_property_decorate = False # No animation.
- brush_texpaint_common_options(self, context, layout, brush, settings, True)
+ brush_texpaint_common_options(self, context, layout, brush, settings)
class IMAGE_PT_tools_brush_display(BrushButtonsPanel, Panel):
@@ -1702,6 +1728,7 @@ classes = (
IMAGE_PT_active_mask_spline,
IMAGE_PT_active_mask_point,
IMAGE_PT_snapping,
+ IMAGE_PT_proportional_edit,
IMAGE_PT_image_properties,
IMAGE_UL_render_slots,
IMAGE_PT_render_slots,
diff --git a/release/scripts/startup/bl_ui/space_node.py b/release/scripts/startup/bl_ui/space_node.py
index 0f926e596de..2ce81ba8359 100644
--- a/release/scripts/startup/bl_ui/space_node.py
+++ b/release/scripts/startup/bl_ui/space_node.py
@@ -373,6 +373,12 @@ class NODE_PT_material_slots(Panel):
col.operator("object.material_slot_move", icon='TRIA_UP', text="").direction = 'UP'
col.operator("object.material_slot_move", icon='TRIA_DOWN', text="").direction = 'DOWN'
+ if ob.mode == 'EDIT':
+ row = layout.row(align=True)
+ row.operator("object.material_slot_assign", text="Assign")
+ row.operator("object.material_slot_select", text="Select")
+ row.operator("object.material_slot_deselect", text="Deselect")
+
class NODE_PT_node_color_presets(PresetPanel, Panel):
"""Predefined node color"""
@@ -412,6 +418,9 @@ class NODE_MT_context_menu(Menu):
# If something is selected
layout.operator_context = 'INVOKE_DEFAULT'
layout.operator("node.duplicate_move")
+ props = layout.operator("wm.call_panel", text="Rename...")
+ props.name = "TOPBAR_PT_name"
+ props.keep_open = False
layout.operator("node.delete")
layout.operator("node.clipboard_copy", text="Copy")
layout.operator("node.clipboard_paste", text="Paste")
diff --git a/release/scripts/startup/bl_ui/space_sequencer.py b/release/scripts/startup/bl_ui/space_sequencer.py
index 397355f1f23..4d9a4646f5f 100644
--- a/release/scripts/startup/bl_ui/space_sequencer.py
+++ b/release/scripts/startup/bl_ui/space_sequencer.py
@@ -176,12 +176,14 @@ class SEQUENCER_MT_range(Menu):
layout = self.layout
layout.operator("anim.previewrange_set", text="Set Preview Range")
+ layout.operator("sequencer.set_range_to_strips", text="Set Preview Range to Strips").preview = True
layout.operator("anim.previewrange_clear", text="Clear Preview Range")
layout.separator()
layout.operator("anim.start_frame_set", text="Set Start Frame")
layout.operator("anim.end_frame_set", text="Set End Frame")
+ layout.operator("sequencer.set_range_to_strips", text="Set Frame Range to Strips")
class SEQUENCER_MT_preview_zoom(Menu):
@@ -264,6 +266,7 @@ class SEQUENCER_MT_view(Menu):
layout.separator()
layout.operator_context = 'INVOKE_DEFAULT'
+ layout.prop(st, "show_seconds")
layout.prop(st, "show_strip_offset")
layout.prop(st, "show_marker_lines")
@@ -315,8 +318,10 @@ class SEQUENCER_MT_select_channel(Menu):
def draw(self, _context):
layout = self.layout
- layout.operator("sequencer.select_active_side", text="Left").side = 'LEFT'
- layout.operator("sequencer.select_active_side", text="Right").side = 'RIGHT'
+ layout.operator("sequencer.select_side", text="Left").side = 'LEFT'
+ layout.operator("sequencer.select_side", text="Right").side = 'RIGHT'
+ layout.separator()
+ layout.operator("sequencer.select_side", text="Both Sides").side = 'BOTH'
class SEQUENCER_MT_select_linked(Menu):
@@ -741,6 +746,9 @@ class SEQUENCER_MT_context_menu(Menu):
layout.operator("sequencer.copy", text="Copy", icon='COPYDOWN')
layout.operator("sequencer.paste", text="Paste", icon='PASTEDOWN')
layout.operator("sequencer.duplicate_move")
+ props = layout.operator("wm.call_panel", text="Rename...")
+ props.name = "TOPBAR_PT_name"
+ props.keep_open = False
layout.operator("sequencer.delete", text="Delete...")
layout.separator()
@@ -750,6 +758,10 @@ class SEQUENCER_MT_context_menu(Menu):
layout.separator()
+ layout.operator("sequencer.set_range_to_strips", text="Set Preview Range to Strips").preview = True
+
+ layout.separator()
+
layout.operator("sequencer.gap_remove").all = False
layout.operator("sequencer.gap_insert")
@@ -1002,10 +1014,8 @@ class SEQUENCER_PT_effect(SequencerButtonsPanel, Panel):
flow.prop(strip, "clamp", slider=True)
flow.prop(strip, "boost_factor")
flow.prop(strip, "blur_radius")
-
- row = layout.row()
- row.prop(strip, "quality", slider=True)
- row.prop(strip, "use_only_boost")
+ flow.prop(strip, "quality", slider=True)
+ flow.prop(strip, "use_only_boost")
elif strip_type == 'SPEED':
layout.prop(strip, "use_default_fade", text="Stretch to input strip length")
@@ -1571,10 +1581,13 @@ class SEQUENCER_PT_adjust_sound(SequencerButtonsPanel, Panel):
col.prop(strip, "volume", text="Volume")
col.prop(strip, "pitch")
+
+ col = layout.column()
col.prop(strip, "pan")
+ col.enabled = sound is not None and sound.use_mono
if sound is not None:
-
+ col = layout.column()
if st.waveform_display_type == 'DEFAULT_WAVEFORMS':
col.prop(strip, "show_waveform")
col.prop(sound, "use_mono")
diff --git a/release/scripts/startup/bl_ui/space_text.py b/release/scripts/startup/bl_ui/space_text.py
index e82c6bc5dc7..81ccc9216a1 100644
--- a/release/scripts/startup/bl_ui/space_text.py
+++ b/release/scripts/startup/bl_ui/space_text.py
@@ -57,7 +57,8 @@ class TEXT_HT_header(Header):
syntax.prop(st, "show_syntax_highlight", text="")
if text:
- is_osl = text.name.endswith((".osl", ".osl"))
+ text_name = text.name
+ is_osl = text_name.endswith((".osl", ".oso"))
row = layout.row()
if is_osl:
@@ -65,7 +66,7 @@ class TEXT_HT_header(Header):
row.operator("node.shader_script_update")
else:
row = layout.row()
- row.active = text.name.endswith(".py")
+ row.active = text_name.endswith(".py")
row.prop(text, "use_module")
row = layout.row()
@@ -193,11 +194,9 @@ class TEXT_PT_find(Panel):
class TEXT_MT_view_navigation(Menu):
bl_label = "Navigation"
- def draw(self, context):
+ def draw(self, _context):
layout = self.layout
- st = context.space_data
-
layout.operator("text.move", text="Top").type = 'FILE_TOP'
layout.operator("text.move", text="Bottom").type = 'FILE_BOTTOM'
@@ -384,9 +383,8 @@ class TEXT_MT_edit(Menu):
def poll(cls, context):
return context.space_data.text is not None
- def draw(self, context):
+ def draw(self, _context):
layout = self.layout
- st = context.space_data
layout.operator("ed.undo")
layout.operator("ed.redo")
diff --git a/release/scripts/startup/bl_ui/space_toolsystem_common.py b/release/scripts/startup/bl_ui/space_toolsystem_common.py
index 5a1398d0582..7c7825403a9 100644
--- a/release/scripts/startup/bl_ui/space_toolsystem_common.py
+++ b/release/scripts/startup/bl_ui/space_toolsystem_common.py
@@ -717,7 +717,7 @@ def _activate_by_item(context, space_type, item, index):
handle_map = _activate_by_item._cursor_draw_handle
handle = handle_map.pop(space_type, None)
- if (handle is not None):
+ if handle is not None:
WindowManager.draw_cursor_remove(handle)
if item.draw_cursor is not None:
def handle_fn(context, item, tool, xy):
diff --git a/release/scripts/startup/bl_ui/space_toolsystem_toolbar.py b/release/scripts/startup/bl_ui/space_toolsystem_toolbar.py
index a232146c82d..7d6ca5c9557 100644
--- a/release/scripts/startup/bl_ui/space_toolsystem_toolbar.py
+++ b/release/scripts/startup/bl_ui/space_toolsystem_toolbar.py
@@ -35,9 +35,6 @@ from bl_ui.space_toolsystem_common import (
from bpy.app.translations import pgettext_tip as tip_
-I18N_CTX_OPERATOR = bpy.app.translations.contexts_C_to_py['BLT_I18NCONTEXT_OPERATOR_DEFAULT']
-
-
def kmi_to_string_or_none(kmi):
return kmi.to_string() if kmi else "<none>"
@@ -48,6 +45,7 @@ def generate_from_enum_ex(
icon_prefix,
type,
attr,
+ cursor='DEFAULT',
tooldef_keywords={},
):
tool_defs = []
@@ -60,6 +58,7 @@ def generate_from_enum_ex(
idname=idname_prefix + name,
label=name,
icon=icon_prefix + idname.lower(),
+ cursor=cursor,
data_block=idname,
**tooldef_keywords,
)
@@ -199,7 +198,7 @@ class _defs_annotate:
idname="builtin.annotate_line",
label="Annotate Line",
icon="ops.gpencil.draw.line",
- cursor='CROSSHAIR',
+ cursor='PAINT_BRUSH',
keymap="Generic Tool: Annotate Line",
draw_settings=draw_settings,
)
@@ -210,7 +209,7 @@ class _defs_annotate:
idname="builtin.annotate_polygon",
label="Annotate Polygon",
icon="ops.gpencil.draw.poly",
- cursor='CROSSHAIR',
+ cursor='PAINT_BRUSH',
keymap="Generic Tool: Annotate Polygon",
draw_settings=draw_settings,
)
@@ -225,7 +224,7 @@ class _defs_annotate:
idname="builtin.annotate_eraser",
label="Annotate Eraser",
icon="ops.gpencil.draw.eraser",
- cursor='CROSSHAIR', # XXX: Always show brush circle when enabled
+ cursor='ERASER',
keymap="Generic Tool: Annotate Eraser",
draw_settings=draw_settings,
)
@@ -722,8 +721,8 @@ class _defs_edit_mesh:
@ToolDef.from_fn
def shear():
- def draw_settings(context, layout, tool):
- props = tool.operator_properties("transform.shear")
+ def draw_settings(context, layout, _tool):
+ # props = tool.operator_properties("transform.shear")
_template_widget.VIEW3D_GGT_xform_gizmo.draw_settings_with_index(context, layout, 2)
return dict(
idname="builtin.shear",
@@ -1318,6 +1317,7 @@ class _defs_gpencil_paint:
icon_prefix="brush.gpencil_draw.",
type=bpy.types.Brush,
attr="gpencil_tool",
+ cursor='DOT',
tooldef_keywords=dict(
operator="gpencil.draw",
),
@@ -1346,6 +1346,17 @@ class _defs_gpencil_paint:
)
@ToolDef.from_fn
+ def polyline():
+ return dict(
+ idname="builtin.polyline",
+ label="Polyline",
+ icon="ops.gpencil.primitive_polyline",
+ cursor='CROSSHAIR',
+ widget=None,
+ keymap=(),
+ )
+
+ @ToolDef.from_fn
def box():
return dict(
idname="builtin.box",
@@ -1389,6 +1400,17 @@ class _defs_gpencil_paint:
keymap=(),
)
+ @ToolDef.from_fn
+ def eyedropper():
+ return dict(
+ idname="builtin.eyedropper",
+ label="Eyedropper",
+ icon="ops.paint.eyedropper_add",
+ cursor='EYEDROPPER',
+ widget=None,
+ keymap=(),
+ )
+
class _defs_gpencil_edit:
@ToolDef.from_fn
@@ -2041,7 +2063,10 @@ class VIEW3D_PT_tools_active(ToolSelectPanelHelper, Panel):
_defs_gpencil_paint.generate_from_brushes,
_defs_gpencil_paint.cutter,
None,
+ _defs_gpencil_paint.eyedropper,
+ None,
_defs_gpencil_paint.line,
+ _defs_gpencil_paint.polyline,
_defs_gpencil_paint.arc,
_defs_gpencil_paint.curve,
_defs_gpencil_paint.box,
diff --git a/release/scripts/startup/bl_ui/space_userpref.py b/release/scripts/startup/bl_ui/space_userpref.py
index 2384cd0fe38..e5c65ac0905 100644
--- a/release/scripts/startup/bl_ui/space_userpref.py
+++ b/release/scripts/startup/bl_ui/space_userpref.py
@@ -383,7 +383,7 @@ class USERPREF_PT_edit_objects_duplicate_data(PreferencePanel, Panel):
col.prop(edit, "use_duplicate_action", text="Action")
col.prop(edit, "use_duplicate_armature", text="Armature")
col.prop(edit, "use_duplicate_curve", text="Curve")
- # col.prop(edit, "use_duplicate_fcurve", text="F-Curve")
+ # col.prop(edit, "use_duplicate_fcurve", text="F-Curve") # Not implemented.
col.prop(edit, "use_duplicate_light", text="Light")
col.prop(edit, "use_duplicate_lightprobe", text="Light Probe")
col = flow.column()
@@ -394,7 +394,7 @@ class USERPREF_PT_edit_objects_duplicate_data(PreferencePanel, Panel):
col = flow.column()
col.prop(edit, "use_duplicate_surface", text="Surface")
col.prop(edit, "use_duplicate_text", text="Text")
- col.prop(edit, "use_duplicate_texture", text="Texture")
+ # col.prop(edit, "use_duplicate_texture", text="Texture") # Not implemented.
col.prop(edit, "use_duplicate_grease_pencil", text="Grease Pencil")
@@ -569,6 +569,7 @@ class USERPREF_PT_animation_fcurves(PreferencePanel, Panel):
flow = layout.grid_flow(row_major=False, columns=0, even_columns=True, even_rows=False, align=False)
flow.prop(edit, "fcurve_unselected_alpha", text="F-Curve Visibility")
+ flow.prop(edit, "fcurve_new_auto_smoothing", text="Default Smoothing Mode")
flow.prop(edit, "keyframe_new_interpolation_type", text="Default Interpolation")
flow.prop(edit, "keyframe_new_handle_type", text="Default Handles")
flow.prop(edit, "use_insertkey_xyz_to_rgb", text="XYZ to RGB")
@@ -1405,7 +1406,6 @@ class USERPREF_PT_saveload_file_browser(PreferencePanel, Panel):
flow.prop(paths, "show_hidden_files_datablocks")
flow.prop(paths, "hide_recent_locations")
flow.prop(paths, "hide_system_bookmarks")
- flow.prop(paths, "show_thumbnails")
class USERPREF_MT_ndof_settings(Menu):
@@ -1480,12 +1480,17 @@ class USERPREF_PT_input_mouse(PreferencePanel, Panel):
return (prefs.active_section == 'INPUT')
def draw_props(self, context, layout):
+ import sys
prefs = context.preferences
inputs = prefs.inputs
flow = layout.grid_flow(row_major=False, columns=0, even_columns=True, even_rows=False, align=False)
flow.prop(inputs, "use_mouse_emulate_3_button")
+ if sys.platform[:3] != "win":
+ rowsub = flow.row()
+ rowsub.active = inputs.use_mouse_emulate_3_button
+ rowsub.prop(inputs, "mouse_emulate_3_button_modifier")
flow.prop(inputs, "use_mouse_continuous")
flow.prop(inputs, "use_drag_immediately")
flow.prop(inputs, "mouse_double_click_time", text="Double Click Speed")
@@ -2127,6 +2132,67 @@ class USERPREF_PT_studiolight_light_editor(Panel):
layout.prop(system, "light_ambient")
+class ExperimentalPanel:
+ bl_space_type = 'PREFERENCES'
+ bl_region_type = 'WINDOW'
+
+ @classmethod
+ def poll(cls, context):
+ prefs = context.preferences
+ return (prefs.active_section == 'EXPERIMENTAL')
+
+ def draw(self, context):
+ layout = self.layout
+
+ layout.use_property_split = True
+ layout.use_property_decorate = False
+
+ self.draw_props(context, layout)
+
+
+class USERPREF_PT_experimental_all(ExperimentalPanel, Panel):
+ bl_label = "All"
+ bl_options = {'HIDE_HEADER'}
+
+ def draw_props(self, context, layout):
+ prefs = context.preferences
+ experimental = prefs.experimental
+
+ col = layout.column()
+ col.prop(experimental, "use_experimental_all")
+
+ # For the other settings create new panels
+ # and make sure they are disabled if use_experimental_all is True
+
+
+"""
+# Example panel, leave it here so we always have a template to follow even
+# after the features are gone from the experimental panel.
+
+class USERPREF_PT_experimental_virtual_reality(ExperimentalPanel, Panel):
+ bl_label = "Virtual Reality"
+
+ def draw_props(self, context, layout):
+ prefs = context.preferences
+ experimental = prefs.experimental
+ layout.active = not experimental.use_experimental_all
+
+ task = "T71347"
+ split = layout.split(factor=0.66)
+ col = split.split()
+ col.prop(experimental, "use_virtual_reality_scene_inspection", text="Scene Inspection")
+ col = split.split()
+ col.operator("wm.url_open", text=task, icon='URL').url = "https://developer.blender.org/" + task
+
+ task = "T71348"
+ split = layout.split(factor=0.66)
+ col = split.column()
+ col.prop(experimental, "use_virtual_reality_immersive_drawing", text="Continuous Immersive Drawing")
+ col = split.column()
+ col.operator("wm.url_open", text=task, icon='URL').url = "https://developer.blender.org/" + task
+"""
+
+
# Order of registration defines order in UI,
# so dynamically generated classes are 'injected' in the intended order.
classes = (
@@ -2209,6 +2275,8 @@ classes = (
USERPREF_PT_studiolight_matcaps,
USERPREF_PT_studiolight_world,
+ USERPREF_PT_experimental_all,
+
# Add dynamically generated editor theme panels last,
# so they show up last in the theme section.
*ThemeGenericClassGenerator.generate_panel_classes_from_theme_areas(),
diff --git a/release/scripts/startup/bl_ui/space_view3d.py b/release/scripts/startup/bl_ui/space_view3d.py
index aafaf4816a0..8cbae22782a 100644
--- a/release/scripts/startup/bl_ui/space_view3d.py
+++ b/release/scripts/startup/bl_ui/space_view3d.py
@@ -298,7 +298,14 @@ class _draw_tool_settings_context_mode:
# is_paint = True
# FIXME: tools must use their own UI drawing!
- if tool.idname in {"builtin.line", "builtin.box", "builtin.circle", "builtin.arc", "builtin.curve"}:
+ if tool.idname in {
+ "builtin.line",
+ "builtin.box",
+ "builtin.circle",
+ "builtin.arc",
+ "builtin.curve",
+ "builtin.polyline",
+ }:
# is_paint = False
pass
elif tool.idname == "Cutter":
@@ -351,28 +358,7 @@ class _draw_tool_settings_context_mode:
from bl_ui.properties_paint_common import (
brush_basic_gpencil_paint_settings,
)
- brush_basic_gpencil_paint_settings(layout, context, brush, compact=True)
-
- # FIXME: tools must use their own UI drawing!
- if tool.idname in {"builtin.arc", "builtin.curve", "builtin.line", "builtin.box", "builtin.circle"}:
- settings = context.tool_settings.gpencil_sculpt
- row = layout.row(align=True)
- row.prop(settings, "use_thickness_curve", text="", icon='CURVE_DATA')
- sub = row.row(align=True)
- sub.active = settings.use_thickness_curve
- sub.popover(
- panel="TOPBAR_PT_gpencil_primitive",
- text="Thickness Profile",
- )
-
- if brush.gpencil_tool == 'FILL':
- settings = context.tool_settings.gpencil_sculpt
- row = layout.row(align=True)
- sub = row.row(align=True)
- sub.popover(
- panel="TOPBAR_PT_gpencil_fill",
- text="Fill Options",
- )
+ brush_basic_gpencil_paint_settings(layout, context, brush, tool, compact=True, is_toolbar=True)
@staticmethod
def SCULPT_GPENCIL(context, layout, tool):
@@ -467,13 +453,7 @@ class VIEW3D_HT_header(Header):
# Pivot
if object_mode in {'OBJECT', 'EDIT', 'EDIT_GPENCIL', 'SCULPT_GPENCIL'} or has_pose_mode:
- layout.prop_with_popover(
- tool_settings,
- "transform_pivot_point",
- text="",
- icon_only=True,
- panel="VIEW3D_PT_pivot_point",
- )
+ layout.prop(tool_settings, "transform_pivot_point", text="", icon_only=True)
# Snap
show_snap = False
@@ -707,10 +687,18 @@ class VIEW3D_HT_header(Header):
row = layout.row()
row.active = (object_mode == 'EDIT') or (shading.type in {'WIREFRAME', 'SOLID'})
- if shading.type == 'WIREFRAME':
- row.prop(shading, "show_xray_wireframe", text="", icon='XRAY')
- else:
- row.prop(shading, "show_xray", text="", icon='XRAY')
+ # While exposing 'shading.show_xray(_wireframe)' is correct.
+ # this hides the key shortcut from users: T70433.
+ row.operator(
+ "view3d.toggle_xray",
+ text="",
+ icon='XRAY',
+ depress=getattr(
+ shading,
+ "show_xray_wireframe" if shading.type == 'WIREFRAME' else
+ "show_xray"
+ ),
+ )
row = layout.row(align=True)
row.prop(shading, "type", text="", expand=True)
@@ -794,6 +782,8 @@ class VIEW3D_MT_editor_menus(Menu):
elif obj:
if mode_string != 'PAINT_TEXTURE':
layout.menu("VIEW3D_MT_%s" % mode_string.lower())
+ if mode_string == 'SCULPT':
+ layout.menu("VIEW3D_MT_mask")
else:
layout.menu("VIEW3D_MT_object")
@@ -2345,8 +2335,8 @@ class VIEW3D_MT_object_context_menu(Menu):
elif obj.type == 'GPENCIL':
layout.operator("gpencil.convert", text="Convert to Path").type = 'PATH'
- layout.operator("gpencil.convert", text="Convert to Bezier Curves").type = 'CURVE'
- layout.operator("gpencil.convert", text="Convert to Mesh").type = 'POLY'
+ layout.operator("gpencil.convert", text="Convert to Bezier Curve").type = 'CURVE'
+ layout.operator("gpencil.convert", text="Convert to Polygon Curve").type = 'POLY'
layout.operator_menu_enum("object.origin_set", text="Set Origin", property="type")
@@ -2526,11 +2516,18 @@ class VIEW3D_MT_object_parent(Menu):
def draw(self, _context):
layout = self.layout
+ operator_context_default = layout.operator_context
layout.operator_enum("object.parent_set", "type")
layout.separator()
+ layout.operator_context = 'EXEC_DEFAULT'
+ layout.operator("object.parent_no_inverse_set")
+ layout.operator_context = operator_context_default
+
+ layout.separator()
+
layout.operator_enum("object.parent_clear", "type")
@@ -2822,20 +2819,29 @@ class VIEW3D_MT_sculpt(Menu):
props.action = 'SHOW'
props.area = 'ALL'
- props = layout.operator("paint.hide_show", text="Hide Bounding Box")
- props.action = 'HIDE'
- props.area = 'INSIDE'
-
props = layout.operator("paint.hide_show", text="Show Bounding Box")
props.action = 'SHOW'
props.area = 'INSIDE'
+ props = layout.operator("paint.hide_show", text="Hide Bounding Box")
+ props.action = 'HIDE'
+ props.area = 'INSIDE'
+
props = layout.operator("paint.hide_show", text="Hide Masked")
props.action = 'HIDE'
props.area = 'MASKED'
layout.separator()
+ layout.menu("VIEW3D_MT_sculpt_set_pivot", text="Set Pivot")
+
+
+class VIEW3D_MT_mask(Menu):
+ bl_label = "Mask"
+
+ def draw(self, _context):
+ layout = self.layout
+
props = layout.operator("paint.mask_flood_fill", text="Invert Mask")
props.mode = 'INVERT'
@@ -2899,6 +2905,28 @@ class VIEW3D_MT_sculpt(Menu):
props = layout.operator("sculpt.dirty_mask", text='Dirty Mask')
+class VIEW3D_MT_sculpt_set_pivot(Menu):
+ bl_label = "Sculpt Set Pivot"
+
+ def draw(self, _context):
+ layout = self.layout
+
+ props = layout.operator("sculpt.set_pivot_position", text="Pivot to Origin")
+ props.mode = 'ORIGIN'
+
+ props = layout.operator("sculpt.set_pivot_position", text="Pivot to Unmasked")
+ props.mode = 'UNMASKED'
+
+ props = layout.operator("sculpt.set_pivot_position", text="Pivot to Mask Border")
+ props.mode = 'BORDER'
+
+ props = layout.operator("sculpt.set_pivot_position", text="Pivot to Active Vertex")
+ props.mode = 'ACTIVE'
+
+ props = layout.operator("sculpt.set_pivot_position", text="Pivot to Surface Under Cursor")
+ props.mode = 'SURFACE'
+
+
class VIEW3D_MT_particle(Menu):
bl_label = "Particle"
@@ -4471,11 +4499,13 @@ class VIEW3D_MT_assign_material(Menu):
def draw(self, context):
layout = self.layout
ob = context.active_object
+ mat_active = ob.active_material
for slot in ob.material_slots:
mat = slot.material
if mat:
- layout.operator("gpencil.stroke_change_color", text=mat.name).material = mat.name
+ layout.operator("gpencil.stroke_change_color", text=mat.name,
+ icon='LAYER_ACTIVE' if mat == mat_active else 'BLANK1').material = mat.name
class VIEW3D_MT_gpencil_copy_layer(Menu):
@@ -5045,11 +5075,8 @@ class VIEW3D_PT_collections(Panel):
if not use_local_collections:
subrow.active = collection.is_visible # Parent collection runtime visibility
subrow.prop(child, "hide_viewport", text="", emboss=False)
- elif not child.is_visible:
- subrow.active = False
- subrow.label(text="", icon='REMOVE')
else:
- subrow.active = collection.visible_get() # Parent collection runtime visibility
+ subrow.active = collection.visible_get() # Parent collection runtime visibility
icon = 'HIDE_OFF' if child.visible_get() else 'HIDE_ON'
props = subrow.operator("object.hide_collection", text="", icon=icon, emboss=False)
props.collection_index = index
@@ -6009,23 +6036,6 @@ class VIEW3D_PT_overlay_weight_paint(Panel):
col.prop(overlay, "show_paint_wire")
-class VIEW3D_PT_pivot_point(Panel):
- bl_space_type = 'VIEW_3D'
- bl_region_type = 'HEADER'
- bl_label = "Pivot Point"
- bl_ui_units_x = 8
-
- def draw(self, context):
- tool_settings = context.tool_settings
- obj = context.active_object
- mode = context.mode
-
- layout = self.layout
- col = layout.column()
- col.label(text="Pivot Point")
- col.prop(tool_settings, "transform_pivot_point", expand=True)
-
-
class VIEW3D_PT_snapping(Panel):
bl_space_type = 'VIEW_3D'
bl_region_type = 'HEADER'
@@ -6051,6 +6061,8 @@ class VIEW3D_PT_snapping(Panel):
row = col.row(align=True)
row.prop(tool_settings, "snap_target", expand=True)
+ col.prop(tool_settings, "use_snap_backface_culling")
+
if obj:
if object_mode == 'EDIT':
col.prop(tool_settings, "use_snap_self")
@@ -6415,8 +6427,6 @@ class VIEW3D_MT_gpencil_edit_context_menu(Menu):
is_stroke_mode = context.tool_settings.gpencil_selectmode_edit == 'STROKE'
is_segment_mode = context.tool_settings.gpencil_selectmode_edit == 'SEGMENT'
- is_3d_view = context.space_data.type == 'VIEW_3D'
-
layout = self.layout
layout.operator_context = 'INVOKE_REGION_WIN'
@@ -6782,6 +6792,8 @@ classes = (
VIEW3D_MT_gpencil_vertex_group,
VIEW3D_MT_paint_weight,
VIEW3D_MT_sculpt,
+ VIEW3D_MT_sculpt_set_pivot,
+ VIEW3D_MT_mask,
VIEW3D_MT_particle,
VIEW3D_MT_particle_context_menu,
VIEW3D_MT_particle_showhide,
@@ -6899,7 +6911,6 @@ classes = (
VIEW3D_PT_overlay_weight_paint,
VIEW3D_PT_overlay_pose,
VIEW3D_PT_overlay_sculpt,
- VIEW3D_PT_pivot_point,
VIEW3D_PT_snapping,
VIEW3D_PT_proportional_edit,
VIEW3D_PT_gpencil_origin,
diff --git a/release/scripts/startup/bl_ui/space_view3d_toolbar.py b/release/scripts/startup/bl_ui/space_view3d_toolbar.py
index 2fa9c26b776..d99c7ae65b0 100644
--- a/release/scripts/startup/bl_ui/space_view3d_toolbar.py
+++ b/release/scripts/startup/bl_ui/space_view3d_toolbar.py
@@ -43,7 +43,6 @@ class VIEW3D_MT_brush_context_menu(Menu):
def draw(self, context):
layout = self.layout
- tool_settings = context.tool_settings
settings = UnifiedPaintPanel.paint_settings(context)
brush = getattr(settings, "brush", None)
@@ -424,12 +423,10 @@ class VIEW3D_PT_tools_brush(Panel, View3DPaintPanel):
row.prop(brush, "elastic_deform_type")
row = col.row()
row.prop(brush, "elastic_deform_volume_preservation", slider=True)
-
- col.separator()
- row = col.row()
- row.prop(brush, "use_automasking_topology")
-
- if brush.sculpt_tool == 'GRAB':
+ elif brush.sculpt_tool == 'POSE':
+ row = col.row()
+ row.prop(brush, "pose_offset")
+ elif brush.sculpt_tool == 'GRAB':
col.separator()
row = col.row()
row.prop(brush, "use_grab_active_vertex")
@@ -456,7 +453,7 @@ class VIEW3D_PT_tools_brush(Panel, View3DPaintPanel):
# crease_pinch_factor
if capabilities.has_pinch_factor:
row = col.row(align=True)
- if (brush.sculpt_tool in ('BLOB', 'SNAKE_HOOK')):
+ if brush.sculpt_tool in {'BLOB', 'SNAKE_HOOK'}:
row.prop(brush, "crease_pinch_factor", slider=True, text="Magnify")
else:
row.prop(brush, "crease_pinch_factor", slider=True, text="Pinch")
@@ -506,7 +503,7 @@ class VIEW3D_PT_tools_brush(Panel, View3DPaintPanel):
# Texture Paint Mode #
elif context.image_paint_object and brush:
- brush_texpaint_common(self, context, layout, brush, settings, True)
+ brush_texpaint_common(self, context, layout, brush, settings, projpaint=True)
# Weight Paint Mode #
elif context.weight_paint_object and brush:
@@ -554,15 +551,15 @@ class VIEW3D_PT_tools_brush_color(Panel, View3DPaintPanel):
brush = settings.brush
if context.vertex_paint_object:
- brush_texpaint_common_color(self, context, layout, brush, settings, True)
+ brush_texpaint_common_color(self, context, layout, brush, settings, projpaint=True)
else:
layout.prop(brush, "color_type", expand=True)
if brush.color_type == 'COLOR':
- brush_texpaint_common_color(self, context, layout, brush, settings, True)
+ brush_texpaint_common_color(self, context, layout, brush, settings, projpaint=True)
elif brush.color_type == 'GRADIENT':
- brush_texpaint_common_gradient(self, context, layout, brush, settings, True)
+ brush_texpaint_common_gradient(self, context, layout, brush, settings, projpaint=True)
class VIEW3D_PT_tools_brush_swatches(Panel, View3DPaintPanel):
@@ -616,7 +613,7 @@ class VIEW3D_PT_tools_brush_clone(Panel, View3DPaintPanel):
layout.active = settings.use_clone_layer
- brush_texpaint_common_clone(self, context, layout, brush, settings, True)
+ brush_texpaint_common_clone(self, context, layout, brush, settings, projpaint=True)
class VIEW3D_PT_tools_brush_options(Panel, View3DPaintPanel):
@@ -638,9 +635,10 @@ class VIEW3D_PT_tools_brush_options(Panel, View3DPaintPanel):
col = layout.column()
if context.image_paint_object and brush:
- brush_texpaint_common_options(self, context, layout, brush, settings, True)
+ brush_texpaint_common_options(self, context, layout, brush, settings, projpaint=True)
elif context.sculpt_object and brush:
+ col.prop(brush, "use_automasking_topology")
if capabilities.has_accumulate:
col.prop(brush, "use_accumulate")
@@ -1228,15 +1226,6 @@ class VIEW3D_PT_sculpt_voxel_remesh(Panel, View3DPaintPanel):
def poll(cls, context):
return (context.sculpt_object and context.tool_settings.sculpt)
- def draw_header(self, context):
- is_popover = self.is_popover
- layout = self.layout
- layout.operator(
- "object.voxel_remesh",
- text="",
- emboss=is_popover,
- )
-
def draw(self, context):
layout = self.layout
layout.use_property_split = True
@@ -1245,8 +1234,11 @@ class VIEW3D_PT_sculpt_voxel_remesh(Panel, View3DPaintPanel):
col = layout.column()
mesh = context.active_object.data
col.prop(mesh, "remesh_voxel_size")
- col.prop(mesh, "remesh_smooth_normals")
- col.prop(mesh, "remesh_preserve_paint_mask")
+ col.prop(mesh, "remesh_voxel_adaptivity")
+ col.prop(mesh, "use_remesh_fix_poles")
+ col.prop(mesh, "use_remesh_smooth_normals")
+ col.prop(mesh, "use_remesh_preserve_volume")
+ col.prop(mesh, "use_remesh_preserve_paint_mask")
col.operator("object.voxel_remesh", text="Remesh")
# TODO, move to space_view3d.py
@@ -1880,7 +1872,8 @@ class VIEW3D_PT_tools_grease_pencil_brush(View3DPanel, Panel):
from bl_ui.properties_paint_common import (
brush_basic_gpencil_paint_settings,
)
- brush_basic_gpencil_paint_settings(layout, context, brush, compact=True)
+ tool = context.workspace.tools.from_space_view3d_mode(context.mode, create=False)
+ brush_basic_gpencil_paint_settings(layout, context, brush, tool, compact=True, is_toolbar=False)
# Grease Pencil drawing brushes options
@@ -2260,12 +2253,12 @@ classes = (
VIEW3D_PT_tools_brush_display_custom_icon,
VIEW3D_PT_sculpt_dyntopo,
VIEW3D_PT_sculpt_dyntopo_remesh,
+ VIEW3D_PT_sculpt_voxel_remesh,
VIEW3D_PT_sculpt_symmetry,
VIEW3D_PT_sculpt_symmetry_for_topbar,
VIEW3D_PT_sculpt_options,
VIEW3D_PT_sculpt_options_unified,
VIEW3D_PT_sculpt_options_gravity,
- VIEW3D_PT_sculpt_voxel_remesh,
VIEW3D_PT_tools_weightpaint_symmetry,
VIEW3D_PT_tools_weightpaint_symmetry_for_topbar,
VIEW3D_PT_tools_weightpaint_options,
diff --git a/release/scripts/templates_py/operator_mesh_add.py b/release/scripts/templates_py/operator_mesh_add.py
index d3df64a5501..01a9ad6160e 100644
--- a/release/scripts/templates_py/operator_mesh_add.py
+++ b/release/scripts/templates_py/operator_mesh_add.py
@@ -2,6 +2,7 @@ import bpy
import bmesh
from bpy_extras.object_utils import AddObjectHelper
+
def add_box(width, height, depth):
"""
This function takes inputs and returns vertex and face arrays.
@@ -77,16 +78,16 @@ class AddBox(bpy.types.Operator):
# generic transform props
align_items = (
- ('WORLD', "World", "Align the new object to the world"),
- ('VIEW', "View", "Align the new object to the view"),
- ('CURSOR', "3D Cursor", "Use the 3D cursor orientation for the new object")
+ ('WORLD', "World", "Align the new object to the world"),
+ ('VIEW', "View", "Align the new object to the view"),
+ ('CURSOR', "3D Cursor", "Use the 3D cursor orientation for the new object")
)
align: EnumProperty(
- name="Align",
- items=align_items,
- default='WORLD',
- update=AddObjectHelper.align_update_callback,
- )
+ name="Align",
+ items=align_items,
+ default='WORLD',
+ update=AddObjectHelper.align_update_callback,
+ )
location: FloatVectorProperty(
name="Location",
subtype='TRANSLATION',
diff --git a/release/scripts/templates_py/operator_modal_draw.py b/release/scripts/templates_py/operator_modal_draw.py
index 5dc72c36a8f..1e185ecfe2b 100644
--- a/release/scripts/templates_py/operator_modal_draw.py
+++ b/release/scripts/templates_py/operator_modal_draw.py
@@ -4,6 +4,7 @@ import blf
import gpu
from gpu_extras.batch import batch_for_shader
+
def draw_callback_px(self, context):
print("mouse points", len(self.mouse_path))
diff --git a/release/scripts/templates_py/ui_tool_simple.py b/release/scripts/templates_py/ui_tool_simple.py
index afda5088e69..fc239093b9c 100644
--- a/release/scripts/templates_py/ui_tool_simple.py
+++ b/release/scripts/templates_py/ui_tool_simple.py
@@ -3,9 +3,10 @@
import bpy
from bpy.types import WorkSpaceTool
+
class MyTool(WorkSpaceTool):
- bl_space_type='VIEW_3D'
- bl_context_mode='OBJECT'
+ bl_space_type = 'VIEW_3D'
+ bl_context_mode = 'OBJECT'
# The prefix of the idname should be your add-on name.
bl_idname = "my_template.my_circle_select"
@@ -30,8 +31,8 @@ class MyTool(WorkSpaceTool):
class MyOtherTool(WorkSpaceTool):
- bl_space_type='VIEW_3D'
- bl_context_mode='OBJECT'
+ bl_space_type = 'VIEW_3D'
+ bl_context_mode = 'OBJECT'
bl_idname = "my_template.my_other_select"
bl_label = "My Lasso Tool Select"
@@ -56,9 +57,11 @@ def register():
bpy.utils.register_tool(MyTool, after={"builtin.scale_cage"}, separator=True, group=True)
bpy.utils.register_tool(MyOtherTool, after={MyTool.bl_idname})
+
def unregister():
bpy.utils.unregister_tool(MyTool)
bpy.utils.unregister_tool(MyOtherTool)
+
if __name__ == "__main__":
register()
diff --git a/release/windows/icons/cursors/arrowdown.cur b/release/windows/icons/cursors/arrowdown.cur
new file mode 100644
index 00000000000..251f3453e63
--- /dev/null
+++ b/release/windows/icons/cursors/arrowdown.cur
Binary files differ
diff --git a/release/windows/icons/cursors/arrowleft.cur b/release/windows/icons/cursors/arrowleft.cur
new file mode 100644
index 00000000000..6935e461a05
--- /dev/null
+++ b/release/windows/icons/cursors/arrowleft.cur
Binary files differ
diff --git a/release/windows/icons/cursors/arrowright.cur b/release/windows/icons/cursors/arrowright.cur
new file mode 100644
index 00000000000..ae561a54d04
--- /dev/null
+++ b/release/windows/icons/cursors/arrowright.cur
Binary files differ
diff --git a/release/windows/icons/cursors/arrowup.cur b/release/windows/icons/cursors/arrowup.cur
new file mode 100644
index 00000000000..5c29145f16b
--- /dev/null
+++ b/release/windows/icons/cursors/arrowup.cur
Binary files differ
diff --git a/release/windows/icons/cursors/cross.cur b/release/windows/icons/cursors/cross.cur
new file mode 100644
index 00000000000..62c5c322cfb
--- /dev/null
+++ b/release/windows/icons/cursors/cross.cur
Binary files differ
diff --git a/release/windows/icons/cursors/crossa.cur b/release/windows/icons/cursors/crossa.cur
new file mode 100644
index 00000000000..7a2bfa7f406
--- /dev/null
+++ b/release/windows/icons/cursors/crossa.cur
Binary files differ
diff --git a/release/windows/icons/cursors/crossb.cur b/release/windows/icons/cursors/crossb.cur
new file mode 100644
index 00000000000..78bb1a3574b
--- /dev/null
+++ b/release/windows/icons/cursors/crossb.cur
Binary files differ
diff --git a/release/windows/icons/cursors/crossc.cur b/release/windows/icons/cursors/crossc.cur
new file mode 100644
index 00000000000..5c54525b2dc
--- /dev/null
+++ b/release/windows/icons/cursors/crossc.cur
Binary files differ
diff --git a/release/windows/icons/cursors/eraser.cur b/release/windows/icons/cursors/eraser.cur
new file mode 100644
index 00000000000..c1e14ef3bae
--- /dev/null
+++ b/release/windows/icons/cursors/eraser.cur
Binary files differ
diff --git a/release/windows/icons/cursors/eyedropper.cur b/release/windows/icons/cursors/eyedropper.cur
new file mode 100644
index 00000000000..2294297b210
--- /dev/null
+++ b/release/windows/icons/cursors/eyedropper.cur
Binary files differ
diff --git a/release/windows/icons/cursors/forbidden.cur b/release/windows/icons/cursors/forbidden.cur
new file mode 100644
index 00000000000..2e45bad168b
--- /dev/null
+++ b/release/windows/icons/cursors/forbidden.cur
Binary files differ
diff --git a/release/windows/icons/cursors/handopen.cur b/release/windows/icons/cursors/handopen.cur
new file mode 100644
index 00000000000..cba18448873
--- /dev/null
+++ b/release/windows/icons/cursors/handopen.cur
Binary files differ
diff --git a/release/windows/icons/cursors/knife.cur b/release/windows/icons/cursors/knife.cur
new file mode 100644
index 00000000000..edc97d9e9f2
--- /dev/null
+++ b/release/windows/icons/cursors/knife.cur
Binary files differ
diff --git a/release/windows/icons/cursors/moveew.cur b/release/windows/icons/cursors/moveew.cur
new file mode 100644
index 00000000000..c2bef134cca
--- /dev/null
+++ b/release/windows/icons/cursors/moveew.cur
Binary files differ
diff --git a/release/windows/icons/cursors/movens.cur b/release/windows/icons/cursors/movens.cur
new file mode 100644
index 00000000000..409176a23f9
--- /dev/null
+++ b/release/windows/icons/cursors/movens.cur
Binary files differ
diff --git a/release/windows/icons/cursors/pencil.cur b/release/windows/icons/cursors/pencil.cur
new file mode 100644
index 00000000000..ac76b367d25
--- /dev/null
+++ b/release/windows/icons/cursors/pencil.cur
Binary files differ
diff --git a/release/windows/icons/cursors/pointer.cur b/release/windows/icons/cursors/pointer.cur
new file mode 100644
index 00000000000..d9b1ee8a60b
--- /dev/null
+++ b/release/windows/icons/cursors/pointer.cur
Binary files differ
diff --git a/release/windows/icons/cursors/scrollew.cur b/release/windows/icons/cursors/scrollew.cur
new file mode 100644
index 00000000000..c5eab1b9890
--- /dev/null
+++ b/release/windows/icons/cursors/scrollew.cur
Binary files differ
diff --git a/release/windows/icons/cursors/scrollns.cur b/release/windows/icons/cursors/scrollns.cur
new file mode 100644
index 00000000000..4b443220da8
--- /dev/null
+++ b/release/windows/icons/cursors/scrollns.cur
Binary files differ
diff --git a/release/windows/icons/cursors/scrollnsew.cur b/release/windows/icons/cursors/scrollnsew.cur
new file mode 100644
index 00000000000..fd0cad49c42
--- /dev/null
+++ b/release/windows/icons/cursors/scrollnsew.cur
Binary files differ
diff --git a/release/windows/icons/cursors/splith.cur b/release/windows/icons/cursors/splith.cur
new file mode 100644
index 00000000000..9b74fca7c6f
--- /dev/null
+++ b/release/windows/icons/cursors/splith.cur
Binary files differ
diff --git a/release/windows/icons/cursors/splitv.cur b/release/windows/icons/cursors/splitv.cur
new file mode 100644
index 00000000000..68a739eb11b
--- /dev/null
+++ b/release/windows/icons/cursors/splitv.cur
Binary files differ
diff --git a/release/windows/icons/cursors/zoomin.cur b/release/windows/icons/cursors/zoomin.cur
new file mode 100644
index 00000000000..8e6930b465a
--- /dev/null
+++ b/release/windows/icons/cursors/zoomin.cur
Binary files differ
diff --git a/release/windows/icons/cursors/zoomout.cur b/release/windows/icons/cursors/zoomout.cur
new file mode 100644
index 00000000000..834686c7ec0
--- /dev/null
+++ b/release/windows/icons/cursors/zoomout.cur
Binary files differ
diff --git a/release/windows/icons/winblender.rc b/release/windows/icons/winblender.rc
index a7d9eff8dbf..ba3363aacc5 100644
--- a/release/windows/icons/winblender.rc
+++ b/release/windows/icons/winblender.rc
@@ -13,6 +13,31 @@
APPICON ICON DISCARDABLE "winblender.ico"
BLENDERFILE ICON DISCARDABLE "winblenderfile.ico"
+pointer_cursor CURSOR "cursors/pointer.cur"
+moveew_cursor CURSOR "cursors/moveew.cur"
+movens_cursor CURSOR "cursors/movens.cur"
+arrowdown_cursor CURSOR "cursors/arrowdown.cur"
+arrowleft_cursor CURSOR "cursors/arrowleft.cur"
+arrowright_cursor CURSOR "cursors/arrowright.cur"
+arrowup_cursor CURSOR "cursors/arrowup.cur"
+cross_cursor CURSOR "cursors/cross.cur"
+crossA_cursor CURSOR "cursors/crossa.cur"
+crossB_cursor CURSOR "cursors/crossb.cur"
+crossC_cursor CURSOR "cursors/crossc.cur"
+eraser_cursor CURSOR "cursors/eraser.cur"
+eyedropper_cursor CURSOR "cursors/eyedropper.cur"
+handopen_cursor CURSOR "cursors/handopen.cur"
+knife_cursor CURSOR "cursors/knife.cur"
+pencil_cursor CURSOR "cursors/pencil.cur"
+scrollew_cursor CURSOR "cursors/scrollew.cur"
+scrollns_cursor CURSOR "cursors/scrollns.cur"
+scrollnsew_cursor CURSOR "cursors/scrollnsew.cur"
+splith_cursor CURSOR "cursors/splith.cur"
+splitv_cursor CURSOR "cursors/splitv.cur"
+zoomin_cursor CURSOR "cursors/zoomin.cur"
+zoomout_cursor CURSOR "cursors/zoomout.cur"
+forbidden_cursor CURSOR "cursors/forbidden.cur"
+
IDR_VERSION1 VERSIONINFO
FILEVERSION BLEN_VER_RC_1, BLEN_VER_RC_2, BLEN_VER_RC_3, BLEN_VER_RC_4
PRODUCTVERSION BLEN_VER_RC_1, BLEN_VER_RC_2, BLEN_VER_RC_3, BLEN_VER_RC_4
diff --git a/source/blender/alembic/intern/abc_exporter.cc b/source/blender/alembic/intern/abc_exporter.cc
index 2c14a900332..9de561638f7 100644
--- a/source/blender/alembic/intern/abc_exporter.cc
+++ b/source/blender/alembic/intern/abc_exporter.cc
@@ -54,6 +54,7 @@ extern "C" {
#include "BKE_anim.h"
#include "BKE_global.h"
#include "BKE_idprop.h"
+#include "BKE_layer.h"
#include "BKE_main.h"
#include "BKE_mball.h"
#include "BKE_modifier.h"
diff --git a/source/blender/alembic/intern/abc_mesh.cc b/source/blender/alembic/intern/abc_mesh.cc
index 12c59964a8c..89fafc65e5d 100644
--- a/source/blender/alembic/intern/abc_mesh.cc
+++ b/source/blender/alembic/intern/abc_mesh.cc
@@ -102,6 +102,7 @@ using Alembic::AbcGeom::kFacevaryingScope;
using Alembic::AbcGeom::kVaryingScope;
using Alembic::AbcGeom::kVertexScope;
using Alembic::AbcGeom::kWrapExisting;
+using Alembic::AbcGeom::N3fArraySample;
using Alembic::AbcGeom::N3fArraySamplePtr;
using Alembic::AbcGeom::UInt32ArraySample;
@@ -124,12 +125,13 @@ static void get_vertices(struct Mesh *mesh, std::vector<Imath::V3f> &points)
static void get_topology(struct Mesh *mesh,
std::vector<int32_t> &poly_verts,
std::vector<int32_t> &loop_counts,
- bool &r_export_loop_normals)
+ bool &r_has_flat_shaded_poly)
{
const int num_poly = mesh->totpoly;
const int num_loops = mesh->totloop;
MLoop *mloop = mesh->mloop;
MPoly *mpoly = mesh->mpoly;
+ r_has_flat_shaded_poly = false;
poly_verts.clear();
loop_counts.clear();
@@ -141,7 +143,7 @@ static void get_topology(struct Mesh *mesh,
MPoly &poly = mpoly[i];
loop_counts.push_back(poly.totloop);
- r_export_loop_normals |= (poly.flag & ME_SMOOTH) != 0;
+ r_has_flat_shaded_poly |= (poly.flag & ME_SMOOTH) == 0;
MLoop *loop = mloop + poly.loopstart + (poly.totloop - 1);
@@ -177,66 +179,31 @@ static void get_creases(struct Mesh *mesh,
lengths.resize(sharpnesses.size(), 2);
}
-static void get_vertex_normals(struct Mesh *mesh, std::vector<Imath::V3f> &normals)
+static void get_loop_normals(struct Mesh *mesh,
+ std::vector<Imath::V3f> &normals,
+ bool has_flat_shaded_poly)
{
normals.clear();
- normals.resize(mesh->totvert);
- MVert *verts = mesh->mvert;
- float no[3];
-
- for (int i = 0, e = mesh->totvert; i < e; i++) {
- normal_short_to_float_v3(no, verts[i].no);
- copy_yup_from_zup(normals[i].getValue(), no);
+ /* If all polygons are smooth shaded, and there are no custom normals, we don't need to export
+ * normals at all. This is also done by other software, see T71246. */
+ if (!has_flat_shaded_poly && !CustomData_has_layer(&mesh->ldata, CD_CUSTOMLOOPNORMAL)) {
+ return;
}
-}
-
-static void get_loop_normals(struct Mesh *mesh, std::vector<Imath::V3f> &normals)
-{
- MPoly *mp = mesh->mpoly;
-
- MLoop *mloop = mesh->mloop;
- MLoop *ml = mloop;
-
- MVert *verts = mesh->mvert;
+ BKE_mesh_calc_normals_split(mesh);
const float(*lnors)[3] = static_cast<float(*)[3]>(CustomData_get_layer(&mesh->ldata, CD_NORMAL));
+ BLI_assert(lnors != NULL || !"BKE_mesh_calc_normals_split() should have computed CD_NORMAL");
- normals.clear();
normals.resize(mesh->totloop);
/* NOTE: data needs to be written in the reverse order. */
int abc_index = 0;
-
- if (lnors) {
- for (int i = 0, e = mesh->totpoly; i < e; i++, mp++) {
- for (int j = mp->totloop - 1; j >= 0; j--, abc_index++) {
- int blender_index = mp->loopstart + j;
- copy_yup_from_zup(normals[abc_index].getValue(), lnors[blender_index]);
- }
- }
- }
- else {
- float no[3];
-
- for (int i = 0, e = mesh->totpoly; i < e; i++, mp++) {
- ml = mloop + mp->loopstart + (mp->totloop - 1);
-
- /* Flat shaded, use common normal for all verts. */
- if ((mp->flag & ME_SMOOTH) == 0) {
- BKE_mesh_calc_poly_normal(mp, ml - (mp->totloop - 1), verts, no);
-
- for (int j = 0; j < mp->totloop; ml--, j++, abc_index++) {
- copy_yup_from_zup(normals[abc_index].getValue(), no);
- }
- }
- else {
- /* Smooth shaded, use individual vert normals. */
- for (int j = 0; j < mp->totloop; ml--, j++, abc_index++) {
- normal_short_to_float_v3(no, verts[ml->v].no);
- copy_yup_from_zup(normals[abc_index].getValue(), no);
- }
- }
+ MPoly *mp = mesh->mpoly;
+ for (int i = 0, e = mesh->totpoly; i < e; i++, mp++) {
+ for (int j = mp->totloop - 1; j >= 0; j--, abc_index++) {
+ int blender_index = mp->loopstart + j;
+ copy_yup_from_zup(normals[abc_index].getValue(), lnors[blender_index]);
}
}
}
@@ -409,11 +376,10 @@ void AbcGenericMeshWriter::writeMesh(struct Mesh *mesh)
std::vector<Imath::V3f> points, normals;
std::vector<int32_t> poly_verts, loop_counts;
std::vector<Imath::V3f> velocities;
-
- bool export_loop_normals = (mesh->flag & ME_AUTOSMOOTH) != 0;
+ bool has_flat_shaded_poly = false;
get_vertices(mesh, points);
- get_topology(mesh, poly_verts, loop_counts, export_loop_normals);
+ get_topology(mesh, poly_verts, loop_counts, has_flat_shaded_poly);
if (m_first_frame && m_settings.export_face_sets) {
writeFaceSets(mesh, m_mesh_schema);
@@ -441,16 +407,11 @@ void AbcGenericMeshWriter::writeMesh(struct Mesh *mesh)
}
if (m_settings.export_normals) {
- if (export_loop_normals) {
- get_loop_normals(mesh, normals);
- }
- else {
- get_vertex_normals(mesh, normals);
- }
+ get_loop_normals(mesh, normals, has_flat_shaded_poly);
ON3fGeomParam::Sample normals_sample;
if (!normals.empty()) {
- normals_sample.setScope(export_loop_normals ? kFacevaryingScope : kVertexScope);
+ normals_sample.setScope(kFacevaryingScope);
normals_sample.setVals(V3fArraySample(normals));
}
@@ -475,11 +436,10 @@ void AbcGenericMeshWriter::writeSubD(struct Mesh *mesh)
std::vector<Imath::V3f> points;
std::vector<int32_t> poly_verts, loop_counts;
std::vector<int32_t> crease_indices, crease_lengths;
-
- bool export_loop_normals = false;
+ bool has_flat_poly = false;
get_vertices(mesh, points);
- get_topology(mesh, poly_verts, loop_counts, export_loop_normals);
+ get_topology(mesh, poly_verts, loop_counts, has_flat_poly);
get_creases(mesh, crease_indices, crease_lengths, crease_sharpness);
if (m_first_frame && m_settings.export_face_sets) {
@@ -756,10 +716,6 @@ struct AbcMeshData {
P3fArraySamplePtr positions;
P3fArraySamplePtr ceil_positions;
- N3fArraySamplePtr vertex_normals;
- N3fArraySamplePtr loop_normals;
- bool poly_flag_smooth;
-
V2fArraySamplePtr uvs;
UInt32ArraySamplePtr uvs_indices;
};
@@ -786,7 +742,6 @@ static void read_mverts(CDStreamConfig &config, const AbcMeshData &mesh_data)
{
MVert *mverts = config.mvert;
const P3fArraySamplePtr &positions = mesh_data.positions;
- const N3fArraySamplePtr &normals = mesh_data.vertex_normals;
if (config.weight != 0.0f && mesh_data.ceil_positions != NULL &&
mesh_data.ceil_positions->size() == positions->size()) {
@@ -794,12 +749,10 @@ static void read_mverts(CDStreamConfig &config, const AbcMeshData &mesh_data)
return;
}
- read_mverts(mverts, positions, normals);
+ read_mverts(mverts, positions, nullptr);
}
-void read_mverts(MVert *mverts,
- const P3fArraySamplePtr &positions,
- const N3fArraySamplePtr &normals)
+void read_mverts(MVert *mverts, const P3fArraySamplePtr positions, const N3fArraySamplePtr normals)
{
for (int i = 0; i < positions->size(); i++) {
MVert &mvert = mverts[i];
@@ -846,12 +799,9 @@ static void read_mpolys(CDStreamConfig &config, const AbcMeshData &mesh_data)
poly.loopstart = loop_index;
poly.totloop = face_size;
- if (mesh_data.poly_flag_smooth) {
- poly.flag |= ME_SMOOTH;
- }
- else {
- poly.flag &= ~ME_SMOOTH;
- }
+ /* Polygons are always assumed to be smooth-shaded. If the Alembic mesh should be flat-shaded,
+ * this is encoded in custom loop normals. See T71246. */
+ poly.flag |= ME_SMOOTH;
/* NOTE: Alembic data is stored in the reverse order. */
rev_loop_index = loop_index + (face_size - 1);
@@ -879,25 +829,27 @@ static void read_mpolys(CDStreamConfig &config, const AbcMeshData &mesh_data)
BKE_mesh_calc_edges(config.mesh, false, false);
}
-static void process_normals(CDStreamConfig &config, const AbcMeshData &mesh_data)
+static void process_no_normals(CDStreamConfig &config)
{
- Mesh *mesh = config.mesh;
+ /* Absense of normals in the Alembic mesh is interpreted as 'smooth'. */
+ BKE_mesh_calc_normals(config.mesh);
+}
+
+static void process_loop_normals(CDStreamConfig &config, const N3fArraySamplePtr loop_normals_ptr)
+{
+ size_t loop_count = loop_normals_ptr->size();
- if (!mesh_data.loop_normals) {
- BKE_mesh_calc_normals(config.mesh);
- config.mesh->flag &= ~ME_AUTOSMOOTH;
+ if (loop_count == 0) {
+ process_no_normals(config);
return;
}
- config.mesh->flag |= ME_AUTOSMOOTH;
-
- const Alembic::AbcGeom::N3fArraySample &loop_normals = *mesh_data.loop_normals;
- long int loop_count = loop_normals.size();
-
float(*lnors)[3] = static_cast<float(*)[3]>(
MEM_malloc_arrayN(loop_count, sizeof(float[3]), "ABC::FaceNormals"));
+ Mesh *mesh = config.mesh;
MPoly *mpoly = mesh->mpoly;
+ const N3fArraySample &loop_normals = *loop_normals_ptr;
int abc_index = 0;
for (int i = 0, e = mesh->totpoly; i < e; i++, mpoly++) {
/* As usual, ABC orders the loops in reverse. */
@@ -906,11 +858,63 @@ static void process_normals(CDStreamConfig &config, const AbcMeshData &mesh_data
copy_zup_from_yup(lnors[blender_index], loop_normals[abc_index].getValue());
}
}
- BKE_mesh_set_custom_normals(config.mesh, lnors);
+
+ mesh->flag |= ME_AUTOSMOOTH;
+ BKE_mesh_set_custom_normals(mesh, lnors);
MEM_freeN(lnors);
}
+static void process_vertex_normals(CDStreamConfig &config,
+ const N3fArraySamplePtr vertex_normals_ptr)
+{
+ size_t normals_count = vertex_normals_ptr->size();
+ if (normals_count == 0) {
+ process_no_normals(config);
+ return;
+ }
+
+ float(*vnors)[3] = static_cast<float(*)[3]>(
+ MEM_malloc_arrayN(normals_count, sizeof(float[3]), "ABC::VertexNormals"));
+
+ const N3fArraySample &vertex_normals = *vertex_normals_ptr;
+ for (int index = 0; index < normals_count; index++) {
+ copy_zup_from_yup(vnors[index], vertex_normals[index].getValue());
+ }
+
+ config.mesh->flag |= ME_AUTOSMOOTH;
+ BKE_mesh_set_custom_normals_from_vertices(config.mesh, vnors);
+ MEM_freeN(vnors);
+}
+
+static void process_normals(CDStreamConfig &config,
+ const IN3fGeomParam &normals,
+ const ISampleSelector &selector)
+{
+ if (!normals.valid()) {
+ process_no_normals(config);
+ return;
+ }
+
+ IN3fGeomParam::Sample normsamp = normals.getExpandedValue(selector);
+ Alembic::AbcGeom::GeometryScope scope = normals.getScope();
+
+ switch (scope) {
+ case Alembic::AbcGeom::kFacevaryingScope: // 'Vertex Normals' in Houdini.
+ process_loop_normals(config, normsamp.getVals());
+ break;
+ case Alembic::AbcGeom::kVertexScope:
+ case Alembic::AbcGeom::kVaryingScope: // 'Point Normals' in Houdini.
+ process_vertex_normals(config, normsamp.getVals());
+ break;
+ case Alembic::AbcGeom::kConstantScope:
+ case Alembic::AbcGeom::kUniformScope:
+ case Alembic::AbcGeom::kUnknownScope:
+ process_no_normals(config);
+ break;
+ }
+}
+
ABC_INLINE void read_uvs_params(CDStreamConfig &config,
AbcMeshData &abc_data,
const IV2fGeomParam &uv,
@@ -941,34 +945,6 @@ ABC_INLINE void read_uvs_params(CDStreamConfig &config,
}
}
-ABC_INLINE void read_normals_params(AbcMeshData &abc_data,
- const IN3fGeomParam &normals,
- const ISampleSelector &selector)
-{
- if (!normals.valid()) {
- return;
- }
-
- IN3fGeomParam::Sample normsamp = normals.getExpandedValue(selector);
-
- Alembic::AbcGeom::GeometryScope scope = normals.getScope();
- switch (scope) {
- case Alembic::AbcGeom::kFacevaryingScope:
- abc_data.loop_normals = normsamp.getVals();
- break;
- case Alembic::AbcGeom::kVertexScope:
- case Alembic::AbcGeom::kVaryingScope:
- /* Vertex normals from ABC aren't handled for now. */
- abc_data.poly_flag_smooth = true;
- abc_data.vertex_normals = N3fArraySamplePtr();
- break;
- case Alembic::AbcGeom::kConstantScope:
- case Alembic::AbcGeom::kUniformScope:
- case Alembic::AbcGeom::kUnknownScope:
- break;
- }
-}
-
static void *add_customdata_cb(Mesh *mesh, const char *name, int data_type)
{
CustomDataType cd_data_type = static_cast<CustomDataType>(data_type);
@@ -1018,9 +994,6 @@ static void read_mesh_sample(const std::string &iobject_full_name,
abc_mesh_data.face_counts = sample.getFaceCounts();
abc_mesh_data.face_indices = sample.getFaceIndices();
abc_mesh_data.positions = sample.getPositions();
- abc_mesh_data.poly_flag_smooth = false;
-
- read_normals_params(abc_mesh_data, schema.getNormalsParam(), selector);
get_weight_and_index(config, schema.getTimeSampling(), schema.getNumSamples());
@@ -1040,7 +1013,7 @@ static void read_mesh_sample(const std::string &iobject_full_name,
if ((settings->read_flag & MOD_MESHSEQ_READ_POLY) != 0) {
read_mpolys(config, abc_mesh_data);
- process_normals(config, abc_mesh_data);
+ process_normals(config, schema.getNormalsParam(), selector);
}
if ((settings->read_flag & (MOD_MESHSEQ_READ_UV | MOD_MESHSEQ_READ_COLOR)) != 0) {
@@ -1312,8 +1285,6 @@ static void read_subd_sample(const std::string &iobject_full_name,
AbcMeshData abc_mesh_data;
abc_mesh_data.face_counts = sample.getFaceCounts();
abc_mesh_data.face_indices = sample.getFaceIndices();
- abc_mesh_data.vertex_normals = N3fArraySamplePtr();
- abc_mesh_data.loop_normals = N3fArraySamplePtr();
abc_mesh_data.positions = sample.getPositions();
get_weight_and_index(config, schema.getTimeSampling(), schema.getNumSamples());
@@ -1335,12 +1306,9 @@ static void read_subd_sample(const std::string &iobject_full_name,
if ((settings->read_flag & MOD_MESHSEQ_READ_POLY) != 0) {
/* Alembic's 'SubD' scheme is used to store subdivision surfaces, i.e. the pre-subdivision
* mesh. Currently we don't add a subdivision modifier when we load such data. This code is
- * assuming that the subdivided surface should be smooth, and sets a flag that will eventually
- * mark all polygons as such. */
- abc_mesh_data.poly_flag_smooth = true;
-
+ * assuming that the subdivided surface should be smooth. */
read_mpolys(config, abc_mesh_data);
- process_normals(config, abc_mesh_data);
+ process_no_normals(config);
}
if ((settings->read_flag & (MOD_MESHSEQ_READ_UV | MOD_MESHSEQ_READ_COLOR)) != 0) {
@@ -1491,7 +1459,7 @@ Mesh *AbcSubDReader::read_mesh(Mesh *existing_mesh,
* This prevents crash from T49813.
* TODO(kevin): perhaps find a better way to do this? */
if (face_counts->size() != existing_mesh->totpoly ||
- face_indices->size() != existing_mesh->totpoly) {
+ face_indices->size() != existing_mesh->totloop) {
settings.read_flag = MOD_MESHSEQ_READ_VERT;
if (err_str) {
diff --git a/source/blender/alembic/intern/abc_mesh.h b/source/blender/alembic/intern/abc_mesh.h
index c15fb948e03..38c589bbc32 100644
--- a/source/blender/alembic/intern/abc_mesh.h
+++ b/source/blender/alembic/intern/abc_mesh.h
@@ -148,8 +148,8 @@ class AbcSubDReader : public AbcObjectReader {
/* ************************************************************************** */
void read_mverts(MVert *mverts,
- const Alembic::AbcGeom::P3fArraySamplePtr &positions,
- const Alembic::AbcGeom::N3fArraySamplePtr &normals);
+ const Alembic::AbcGeom::P3fArraySamplePtr positions,
+ const Alembic::AbcGeom::N3fArraySamplePtr normals);
CDStreamConfig get_config(struct Mesh *mesh);
diff --git a/source/blender/blenfont/intern/blf_internal_types.h b/source/blender/blenfont/intern/blf_internal_types.h
index 0294a6219b9..45086de0f61 100644
--- a/source/blender/blenfont/intern/blf_internal_types.h
+++ b/source/blender/blenfont/intern/blf_internal_types.h
@@ -80,9 +80,8 @@ typedef struct GlyphCacheBLF {
/* and the last texture, aka. the current texture. */
unsigned int texture_current;
- /* like bftgl, we draw every glyph in a big texture, so this is the
- * current position inside the texture.
- */
+ /* We draw every glyph in a big texture, so this is the
+ * current position inside the texture. */
int offset_x;
int offset_y;
diff --git a/source/blender/blenkernel/BKE_action.h b/source/blender/blenkernel/BKE_action.h
index 868c5a69593..b7139d5bbf6 100644
--- a/source/blender/blenkernel/BKE_action.h
+++ b/source/blender/blenkernel/BKE_action.h
@@ -212,8 +212,8 @@ void what_does_obaction(struct Object *ob,
float cframe);
/* for proxy */
-void BKE_pose_copyesult_pchan_result(struct bPoseChannel *pchanto,
- const struct bPoseChannel *pchanfrom);
+void BKE_pose_copy_pchan_result(struct bPoseChannel *pchanto,
+ const struct bPoseChannel *pchanfrom);
bool BKE_pose_copy_result(struct bPose *to, struct bPose *from);
/* clear all transforms */
void BKE_pose_rest(struct bPose *pose);
diff --git a/source/blender/blenkernel/BKE_animsys.h b/source/blender/blenkernel/BKE_animsys.h
index 7ef99fe1405..4e4528ff92b 100644
--- a/source/blender/blenkernel/BKE_animsys.h
+++ b/source/blender/blenkernel/BKE_animsys.h
@@ -25,7 +25,6 @@
*/
struct AnimData;
-struct ChannelDriver;
struct Depsgraph;
struct FCurve;
struct ID;
diff --git a/source/blender/blenkernel/BKE_appdir.h b/source/blender/blenkernel/BKE_appdir.h
index e55cb69a5c6..b35abb1ecef 100644
--- a/source/blender/blenkernel/BKE_appdir.h
+++ b/source/blender/blenkernel/BKE_appdir.h
@@ -91,5 +91,6 @@ enum {
#define BLENDER_QUIT_FILE "quit.blend"
#define BLENDER_BOOKMARK_FILE "bookmarks.txt"
#define BLENDER_HISTORY_FILE "recent-files.txt"
+#define BLENDER_PLATFORM_SUPPORT_FILE "platform_support.txt"
#endif /* __BKE_APPDIR_H__ */
diff --git a/source/blender/blenkernel/BKE_blender_version.h b/source/blender/blenkernel/BKE_blender_version.h
index 21ef70b7bcd..dfa1b311eb0 100644
--- a/source/blender/blenkernel/BKE_blender_version.h
+++ b/source/blender/blenkernel/BKE_blender_version.h
@@ -26,8 +26,8 @@
*
* \note Use #STRINGIFY() rather than defining with quotes.
*/
-#define BLENDER_VERSION 281
-#define BLENDER_SUBVERSION 12
+#define BLENDER_VERSION 282
+#define BLENDER_SUBVERSION 1
/** Several breakages with 280, e.g. collections vs layers. */
#define BLENDER_MINVERSION 280
#define BLENDER_MINSUBVERSION 0
diff --git a/source/blender/blenkernel/BKE_brush.h b/source/blender/blenkernel/BKE_brush.h
index 26ab7f8ba0c..70741831727 100644
--- a/source/blender/blenkernel/BKE_brush.h
+++ b/source/blender/blenkernel/BKE_brush.h
@@ -31,7 +31,6 @@ struct Main;
struct Scene;
struct ToolSettings;
struct UnifiedPaintSettings;
-struct bContext;
// enum eCurveMappingPreset;
@@ -56,7 +55,7 @@ void BKE_brush_make_local(struct Main *bmain, struct Brush *brush, const bool li
void BKE_brush_free(struct Brush *brush);
void BKE_brush_sculpt_reset(struct Brush *brush);
-void BKE_brush_gpencil_presets(struct bContext *C);
+void BKE_brush_gpencil_presets(struct Main *bmain, struct ToolSettings *ts);
/* image icon function */
struct ImBuf *get_brush_icon(struct Brush *brush);
@@ -90,7 +89,9 @@ float BKE_brush_sample_masktex(const struct Scene *scene,
unsigned int *BKE_brush_gen_texture_cache(struct Brush *br, int half_side, bool use_secondary);
/* radial control */
-struct ImBuf *BKE_brush_gen_radial_control_imbuf(struct Brush *br, bool secondary);
+struct ImBuf *BKE_brush_gen_radial_control_imbuf(struct Brush *br,
+ bool secondary,
+ bool display_gradient);
/* unified strength size and color */
diff --git a/source/blender/blenkernel/BKE_constraint.h b/source/blender/blenkernel/BKE_constraint.h
index 8fe3bd77a26..73bd36844ac 100644
--- a/source/blender/blenkernel/BKE_constraint.h
+++ b/source/blender/blenkernel/BKE_constraint.h
@@ -191,12 +191,8 @@ struct bConstraintOb *BKE_constraints_make_evalob(struct Depsgraph *depsgraph,
short datatype);
void BKE_constraints_clear_evalob(struct bConstraintOb *cob);
-void BKE_constraint_mat_convertspace(struct Object *ob,
- struct bPoseChannel *pchan,
- float mat[4][4],
- short from,
- short to,
- const bool keep_scale);
+void BKE_constraint_mat_convertspace(
+ struct Object *ob, struct bPoseChannel *pchan, float mat[4][4], short from, short to);
void BKE_constraint_target_matrix_get(struct Depsgraph *depsgraph,
struct Scene *scene,
diff --git a/source/blender/blenkernel/BKE_editmesh.h b/source/blender/blenkernel/BKE_editmesh.h
index 37d84563402..1b9e318146e 100644
--- a/source/blender/blenkernel/BKE_editmesh.h
+++ b/source/blender/blenkernel/BKE_editmesh.h
@@ -28,8 +28,8 @@
#include "BKE_customdata.h"
#include "bmesh.h"
-struct BMesh;
struct BMLoop;
+struct BMesh;
struct BoundBox;
struct Depsgraph;
struct EditMeshData;
@@ -79,6 +79,13 @@ typedef struct BMEditMesh {
/*temp variables for x-mirror editing*/
int mirror_cdlayer; /* -1 is invalid */
+
+ /**
+ * ID data is older than edit-mode data.
+ * Set #Main.is_memfile_undo_flush_needed when enabling.
+ */
+ char needs_flush_to_id;
+
} BMEditMesh;
/* editmesh.c */
diff --git a/source/blender/blenkernel/BKE_editmesh_bvh.h b/source/blender/blenkernel/BKE_editmesh_bvh.h
index e86408076cd..7c8a9452023 100644
--- a/source/blender/blenkernel/BKE_editmesh_bvh.h
+++ b/source/blender/blenkernel/BKE_editmesh_bvh.h
@@ -72,8 +72,8 @@ struct BMFace *BKE_bmbvh_ray_cast_filter(BMBVHTree *tree,
float *r_dist,
float r_hitout[3],
float r_cagehit[3],
- BMBVHTree_FaceFilter filter,
- void *filter_cb);
+ BMBVHTree_FaceFilter filter_cb,
+ void *filter_userdata);
/* find a vert closest to co in a sphere of radius dist_max */
struct BMVert *BKE_bmbvh_find_vert_closest(BMBVHTree *tree,
diff --git a/source/blender/blenkernel/BKE_font.h b/source/blender/blenkernel/BKE_font.h
index e440d617f7a..3dd2a551a93 100644
--- a/source/blender/blenkernel/BKE_font.h
+++ b/source/blender/blenkernel/BKE_font.h
@@ -61,6 +61,12 @@ typedef struct EditFont {
int len, pos;
int selstart, selend;
+ /**
+ * ID data is older than edit-mode data.
+ * Set #Main.is_memfile_undo_flush_needed when enabling.
+ */
+ char needs_flush_to_id;
+
} EditFont;
bool BKE_vfont_is_builtin(struct VFont *vfont);
diff --git a/source/blender/blenkernel/BKE_gpencil.h b/source/blender/blenkernel/BKE_gpencil.h
index 7724ed49929..d09917a9e41 100644
--- a/source/blender/blenkernel/BKE_gpencil.h
+++ b/source/blender/blenkernel/BKE_gpencil.h
@@ -32,6 +32,7 @@ struct ListBase;
struct Main;
struct Material;
struct Object;
+struct Scene;
struct ToolSettings;
struct bDeformGroup;
struct bGPDframe;
diff --git a/source/blender/blenkernel/BKE_gpencil_modifier.h b/source/blender/blenkernel/BKE_gpencil_modifier.h
index eb2279c4f48..9cbc7d05ac2 100644
--- a/source/blender/blenkernel/BKE_gpencil_modifier.h
+++ b/source/blender/blenkernel/BKE_gpencil_modifier.h
@@ -31,7 +31,7 @@ struct ModifierUpdateDepsgraphContext;
struct Object;
struct Scene;
/* NOTE: bakeModifier() called from UI:
- * needs to create new databloc-ks, hence the need for this. */
+ * needs to create new data-blocks, hence the need for this. */
struct bGPDframe;
struct bGPDlayer;
struct bGPDstroke;
@@ -261,12 +261,6 @@ typedef struct GpencilModifierTypeInfo {
struct Object *ob,
GreasePencilTexWalkFunc walk,
void *userData);
-
- /**
- * Get the number of times the strokes are duplicated in this modifier.
- * This is used to calculate the size of the GPU VBOs
- */
- int (*getDuplicationFactor)(struct GpencilModifierData *md);
} GpencilModifierTypeInfo;
/* Initialize modifier's global data (type info and some common global storages). */
diff --git a/source/blender/blenkernel/BKE_idprop.h b/source/blender/blenkernel/BKE_idprop.h
index 0eb8df1b19d..94c2a94d420 100644
--- a/source/blender/blenkernel/BKE_idprop.h
+++ b/source/blender/blenkernel/BKE_idprop.h
@@ -136,6 +136,7 @@ struct IDProperty *IDP_New(const char type,
void IDP_FreePropertyContent_ex(struct IDProperty *prop, const bool do_id_user);
void IDP_FreePropertyContent(struct IDProperty *prop);
+void IDP_FreeProperty_ex(IDProperty *prop, const bool do_id_user);
void IDP_FreeProperty(struct IDProperty *prop);
void IDP_ClearProperty(IDProperty *prop);
diff --git a/source/blender/blenkernel/BKE_image.h b/source/blender/blenkernel/BKE_image.h
index 234b74eece3..82c831ae8e0 100644
--- a/source/blender/blenkernel/BKE_image.h
+++ b/source/blender/blenkernel/BKE_image.h
@@ -309,11 +309,11 @@ void BKE_image_get_aspect(struct Image *image, float *aspx, float *aspy);
/* image_gen.c */
void BKE_image_buf_fill_color(
unsigned char *rect, float *rect_float, int width, int height, const float color[4]);
-void BKE_image_buf_fill_checker(unsigned char *rect, float *rect_float, int height, int width);
+void BKE_image_buf_fill_checker(unsigned char *rect, float *rect_float, int width, int height);
void BKE_image_buf_fill_checker_color(unsigned char *rect,
float *rect_float,
- int height,
- int width);
+ int width,
+ int height);
/* Cycles hookup */
unsigned char *BKE_image_get_pixels_for_frame(struct Image *image, int frame);
diff --git a/source/blender/blenkernel/BKE_keyconfig.h b/source/blender/blenkernel/BKE_keyconfig.h
index e5717113114..3e037b901dc 100644
--- a/source/blender/blenkernel/BKE_keyconfig.h
+++ b/source/blender/blenkernel/BKE_keyconfig.h
@@ -24,6 +24,8 @@
struct UserDef;
struct wmKeyConfigPref;
+struct wmKeyMap;
+struct wmKeyMapItem;
/** Actual data is stored in #wmKeyConfigPref. */
#if defined(__RNA_TYPES_H__)
@@ -46,9 +48,25 @@ struct wmKeyConfigPrefType_Runtime *BKE_keyconfig_pref_type_find(const char *idn
void BKE_keyconfig_pref_type_add(struct wmKeyConfigPrefType_Runtime *kpt_rt);
void BKE_keyconfig_pref_type_remove(const struct wmKeyConfigPrefType_Runtime *kpt_rt);
-void BKE_keyconfig_pref_set_select_mouse(struct UserDef *userdef, int value, bool override);
-
void BKE_keyconfig_pref_type_init(void);
void BKE_keyconfig_pref_type_free(void);
+/* Versioning. */
+void BKE_keyconfig_pref_set_select_mouse(struct UserDef *userdef, int value, bool override);
+
+struct wmKeyConfigFilterItemParams {
+ uint check_item : 1;
+ uint check_diff_item_add : 1;
+ uint check_diff_item_remove : 1;
+};
+
+void BKE_keyconfig_keymap_filter_item(struct wmKeyMap *keymap,
+ const struct wmKeyConfigFilterItemParams *params,
+ bool (*filter_fn)(struct wmKeyMapItem *kmi, void *user_data),
+ void *user_data);
+void BKE_keyconfig_pref_filter_items(struct UserDef *userdef,
+ const struct wmKeyConfigFilterItemParams *params,
+ bool (*filter_fn)(struct wmKeyMapItem *kmi, void *user_data),
+ void *user_data);
+
#endif /* __BKE_KEYCONFIG_H__ */
diff --git a/source/blender/blenkernel/BKE_layer.h b/source/blender/blenkernel/BKE_layer.h
index 535980840c1..19eb40debe6 100644
--- a/source/blender/blenkernel/BKE_layer.h
+++ b/source/blender/blenkernel/BKE_layer.h
@@ -114,11 +114,13 @@ void BKE_base_set_visible(struct Scene *scene,
struct ViewLayer *view_layer,
struct Base *base,
bool extend);
-void BKE_layer_collection_isolate(struct Scene *scene,
- struct ViewLayer *view_layer,
- struct LayerCollection *lc,
- bool extend);
-void BKE_layer_collection_local_isolate(struct ViewLayer *view_layer,
+bool BKE_base_is_visible(const struct View3D *v3d, const struct Base *base);
+bool BKE_object_is_visible_in_viewport(const struct View3D *v3d, const struct Object *ob);
+void BKE_layer_collection_isolate_global(struct Scene *scene,
+ struct ViewLayer *view_layer,
+ struct LayerCollection *lc,
+ bool extend);
+void BKE_layer_collection_isolate_local(struct ViewLayer *view_layer,
struct View3D *v3d,
struct LayerCollection *lc,
bool extend);
diff --git a/source/blender/blenkernel/BKE_main.h b/source/blender/blenkernel/BKE_main.h
index 1b2e8bcbf42..c48a9cad443 100644
--- a/source/blender/blenkernel/BKE_main.h
+++ b/source/blender/blenkernel/BKE_main.h
@@ -80,6 +80,11 @@ typedef struct Main {
char recovered; /* indicate the main->name (file) is the recovered one */
/** All current ID's exist in the last memfile undo step. */
char is_memfile_undo_written;
+ /**
+ * An ID needs it's data to be flushed back.
+ * use "needs_flush_to_id" in edit data to flag data which needs updating.
+ */
+ char is_memfile_undo_flush_needed;
BlendThumbnail *blen_thumb;
diff --git a/source/blender/blenkernel/BKE_mesh_remesh_voxel.h b/source/blender/blenkernel/BKE_mesh_remesh_voxel.h
index a1bcd515c17..86c094b8a6d 100644
--- a/source/blender/blenkernel/BKE_mesh_remesh_voxel.h
+++ b/source/blender/blenkernel/BKE_mesh_remesh_voxel.h
@@ -39,7 +39,12 @@ struct Mesh *BKE_mesh_remesh_voxel_ovdb_volume_to_mesh_nomain(struct OpenVDBLeve
double adaptivity,
bool relax_disoriented_triangles);
#endif
-struct Mesh *BKE_mesh_remesh_voxel_to_mesh_nomain(struct Mesh *mesh, float voxel_size);
+
+struct Mesh *BKE_mesh_remesh_voxel_fix_poles(struct Mesh *mesh);
+struct Mesh *BKE_mesh_remesh_voxel_to_mesh_nomain(struct Mesh *mesh,
+ float voxel_size,
+ float adaptivity,
+ float isovalue);
struct Mesh *BKE_mesh_remesh_quadriflow_to_mesh_nomain(struct Mesh *mesh,
int target_faces,
int seed,
diff --git a/source/blender/blenkernel/BKE_mirror.h b/source/blender/blenkernel/BKE_mirror.h
new file mode 100644
index 00000000000..20eb8a920fc
--- /dev/null
+++ b/source/blender/blenkernel/BKE_mirror.h
@@ -0,0 +1,45 @@
+/*
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * The Original Code is Copyright (C) 2019 Blender Foundation.
+ * All rights reserved.
+ */
+
+#ifndef __BKE_MIRROR_H__
+#define __BKE_MIRROR_H__
+
+/** \file
+ * \ingroup bke
+ */
+
+#include "BLI_utildefines.h"
+
+struct MirrorModifierData;
+struct ModifierEvalContext;
+struct Object;
+
+struct Mesh *BKE_mirror_bisect_on_mirror_plane(struct MirrorModifierData *mmd,
+ const struct Mesh *mesh,
+ int axis,
+ const float plane_co[3],
+ float plane_no[3]);
+
+struct Mesh *BKE_mirror_apply_mirror_on_axis(struct MirrorModifierData *mmd,
+ const struct ModifierEvalContext *UNUSED(ctx),
+ struct Object *ob,
+ const struct Mesh *mesh,
+ int axis);
+
+#endif /* __BKE_MIRROR_H__ */
diff --git a/source/blender/blenkernel/BKE_modifier.h b/source/blender/blenkernel/BKE_modifier.h
index b2bc30c107c..0977a406aa0 100644
--- a/source/blender/blenkernel/BKE_modifier.h
+++ b/source/blender/blenkernel/BKE_modifier.h
@@ -48,7 +48,9 @@ typedef enum {
*/
eModifierTypeType_OnlyDeform,
+ /* Modifier adds geometry. */
eModifierTypeType_Constructive,
+ /* Modifier can add and remove geometry. */
eModifierTypeType_Nonconstructive,
/* both deformVerts & applyModifier are valid calls
@@ -380,6 +382,7 @@ struct Object *modifiers_isDeformedByArmature(struct Object *ob);
struct Object *modifiers_isDeformedByMeshDeform(struct Object *ob);
struct Object *modifiers_isDeformedByLattice(struct Object *ob);
struct Object *modifiers_isDeformedByCurve(struct Object *ob);
+bool modifiers_usesMultires(struct Object *ob);
bool modifiers_usesArmature(struct Object *ob, struct bArmature *arm);
bool modifiers_usesSubsurfFacedots(struct Scene *scene, struct Object *ob);
bool modifiers_isCorrectableDeformed(struct Scene *scene, struct Object *ob);
diff --git a/source/blender/blenkernel/BKE_node.h b/source/blender/blenkernel/BKE_node.h
index f88aebd312c..a5b9b1e5148 100644
--- a/source/blender/blenkernel/BKE_node.h
+++ b/source/blender/blenkernel/BKE_node.h
@@ -591,6 +591,11 @@ void nodeChainIter(const bNodeTree *ntree,
bool (*callback)(bNode *, bNode *, void *, const bool),
void *userdata,
const bool reversed);
+void nodeChainIterBackwards(const bNodeTree *ntree,
+ const bNode *node_start,
+ bool (*callback)(bNode *, bNode *, void *),
+ void *userdata,
+ int recursion_lvl);
void nodeParentsIter(bNode *node, bool (*callback)(bNode *, void *), void *userdata);
struct bNodeLink *nodeFindLink(struct bNodeTree *ntree,
diff --git a/source/blender/blenkernel/BKE_object.h b/source/blender/blenkernel/BKE_object.h
index ffdcb9cd2c0..d76c55f0815 100644
--- a/source/blender/blenkernel/BKE_object.h
+++ b/source/blender/blenkernel/BKE_object.h
@@ -99,6 +99,8 @@ bool BKE_object_is_mode_compat(const struct Object *ob, eObjectMode object_mode)
bool BKE_object_data_is_in_editmode(const struct ID *id);
+char *BKE_object_data_editmode_flush_ptr_get(struct ID *id);
+
void BKE_object_update_select_id(struct Main *bmain);
typedef enum eObjectVisibilityResult {
diff --git a/source/blender/blenkernel/BKE_paint.h b/source/blender/blenkernel/BKE_paint.h
index 8580aefcfbc..48f9e1fd95e 100644
--- a/source/blender/blenkernel/BKE_paint.h
+++ b/source/blender/blenkernel/BKE_paint.h
@@ -220,7 +220,7 @@ typedef struct SculptSession {
struct MPoly *mpoly;
struct MLoop *mloop;
int totvert, totpoly;
- struct KeyBlock *kb;
+ struct KeyBlock *shapekey_active;
float *vmask;
/* Mesh connectivity */
@@ -243,10 +243,10 @@ typedef struct SculptSession {
bool show_mask;
/* Painting on deformed mesh */
- bool modifiers_active; /* object is deformed with some modifiers */
- float (*orig_cos)[3]; /* coords of undeformed mesh */
- float (*deform_cos)[3]; /* coords of deformed mesh but without stroke displacement */
- float (*deform_imats)[3][3]; /* crazyspace deformation matrices */
+ bool deform_modifiers_active; /* object is deformed with some modifiers */
+ float (*orig_cos)[3]; /* coords of undeformed mesh */
+ float (*deform_cos)[3]; /* coords of deformed mesh but without stroke displacement */
+ float (*deform_imats)[3][3]; /* crazyspace deformation matrices */
/* Used to cache the render of the active texture */
unsigned int texcache_side, *texcache, texcache_actual;
@@ -306,6 +306,13 @@ typedef struct SculptSession {
/* This flag prevents PBVH from being freed when creating the vp_handle for texture paint. */
bool building_vp_handle;
+
+ /**
+ * ID data is older than sculpt-mode data.
+ * Set #Main.is_memfile_undo_flush_needed when enabling.
+ */
+ char needs_flush_to_id;
+
} SculptSession;
void BKE_sculptsession_free(struct Object *ob);
diff --git a/source/blender/blenkernel/BKE_pbvh.h b/source/blender/blenkernel/BKE_pbvh.h
index 899dddf31e8..570203081fe 100644
--- a/source/blender/blenkernel/BKE_pbvh.h
+++ b/source/blender/blenkernel/BKE_pbvh.h
@@ -25,6 +25,13 @@
#include "BLI_bitmap.h"
#include "BLI_ghash.h"
+/* For embedding CCGKey in iterator. */
+#include "BKE_ccg.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
struct BMLog;
struct BMesh;
struct CCGElem;
@@ -33,6 +40,7 @@ struct CustomData;
struct DMFlagMat;
struct GPU_PBVH_Buffers;
struct IsectRayPrecalc;
+struct Mesh;
struct MLoop;
struct MLoopTri;
struct MPoly;
@@ -40,6 +48,8 @@ struct MVert;
struct PBVH;
struct PBVHNode;
struct SubdivCCG;
+struct TaskParallelSettings;
+struct TaskParallelTLS;
typedef struct PBVH PBVH;
typedef struct PBVHNode PBVHNode;
@@ -49,20 +59,28 @@ typedef struct {
} PBVHProxyNode;
typedef enum {
- PBVH_Leaf = 1,
+ PBVH_Leaf = 1 << 0,
- PBVH_UpdateNormals = 2,
- PBVH_UpdateBB = 4,
- PBVH_UpdateOriginalBB = 8,
- PBVH_UpdateDrawBuffers = 16,
- PBVH_UpdateRedraw = 32,
+ PBVH_UpdateNormals = 1 << 1,
+ PBVH_UpdateBB = 1 << 2,
+ PBVH_UpdateOriginalBB = 1 << 3,
+ PBVH_UpdateDrawBuffers = 1 << 4,
+ PBVH_UpdateRedraw = 1 << 5,
+ PBVH_UpdateMask = 1 << 6,
- PBVH_RebuildDrawBuffers = 64,
- PBVH_FullyHidden = 128,
+ PBVH_RebuildDrawBuffers = 1 << 7,
+ PBVH_FullyHidden = 1 << 8,
+ PBVH_FullyMasked = 1 << 9,
+ PBVH_FullyUnmasked = 1 << 10,
- PBVH_UpdateTopology = 256,
+ PBVH_UpdateTopology = 1 << 11,
} PBVHNodeFlags;
+typedef struct PBVHFrustumPlanes {
+ float (*planes)[4];
+ int num_planes;
+} PBVHFrustumPlanes;
+
/* Callbacks */
/* returns 1 if the search should continue from this node, 0 otherwise */
@@ -77,6 +95,7 @@ typedef void (*BKE_pbvh_SearchNearestCallback)(PBVHNode *node, void *data, float
PBVH *BKE_pbvh_new(void);
void BKE_pbvh_build_mesh(PBVH *bvh,
+ const struct Mesh *mesh,
const struct MPoly *mpoly,
const struct MLoop *mloop,
struct MVert *verts,
@@ -167,7 +186,9 @@ bool BKE_pbvh_node_find_nearest_to_ray(PBVH *bvh,
/* Drawing */
void BKE_pbvh_draw_cb(PBVH *bvh,
- float (*planes)[4],
+ bool show_vcol,
+ bool update_only_visible,
+ PBVHFrustumPlanes *frustum,
void (*draw_fn)(void *user_data, struct GPU_PBVH_Buffers *buffers),
void *user_data);
@@ -198,9 +219,10 @@ int BKE_pbvh_count_grid_quads(BLI_bitmap **grid_hidden,
int gridsize);
/* multires level, only valid for type == PBVH_GRIDS */
-void BKE_pbvh_get_grid_key(const PBVH *pbvh, struct CCGKey *key);
+const struct CCGKey *BKE_pbvh_get_grid_key(const PBVH *pbvh);
-struct CCGElem **BKE_pbvh_get_grids(const PBVH *pbvh, int *num_grids);
+struct CCGElem **BKE_pbvh_get_grids(const PBVH *pbvh);
+int BKE_pbvh_get_grid_num_vertices(const PBVH *pbvh);
/* Only valid for type == PBVH_BMESH */
struct BMesh *BKE_pbvh_get_bmesh(PBVH *pbvh);
@@ -221,11 +243,16 @@ bool BKE_pbvh_bmesh_update_topology(PBVH *bvh,
/* Node Access */
void BKE_pbvh_node_mark_update(PBVHNode *node);
+void BKE_pbvh_node_mark_update_mask(PBVHNode *node);
void BKE_pbvh_node_mark_rebuild_draw(PBVHNode *node);
void BKE_pbvh_node_mark_redraw(PBVHNode *node);
void BKE_pbvh_node_mark_normals_update(PBVHNode *node);
void BKE_pbvh_node_mark_topology_update(PBVHNode *node);
void BKE_pbvh_node_fully_hidden_set(PBVHNode *node, int fully_hidden);
+void BKE_pbvh_node_fully_masked_set(PBVHNode *node, int fully_masked);
+bool BKE_pbvh_node_fully_masked_get(PBVHNode *node);
+void BKE_pbvh_node_fully_unmasked_set(PBVHNode *node, int fully_masked);
+bool BKE_pbvh_node_fully_unmasked_get(PBVHNode *node);
void BKE_pbvh_node_get_grids(PBVH *bvh,
PBVHNode *node,
@@ -245,22 +272,22 @@ void BKE_pbvh_node_get_original_BB(PBVHNode *node, float bb_min[3], float bb_max
float BKE_pbvh_node_get_tmin(PBVHNode *node);
-/* test if AABB is at least partially inside the planes' volume */
-bool BKE_pbvh_node_planes_contain_AABB(PBVHNode *node, void *data);
-/* test if AABB is at least partially outside the planes' volume */
-bool BKE_pbvh_node_planes_exclude_AABB(PBVHNode *node, void *data);
+/* test if AABB is at least partially inside the PBVHFrustumPlanes volume */
+bool BKE_pbvh_node_frustum_contain_AABB(PBVHNode *node, void *frustum);
+/* test if AABB is at least partially outside the PBVHFrustumPlanes volume */
+bool BKE_pbvh_node_frustum_exclude_AABB(PBVHNode *node, void *frustum);
struct GSet *BKE_pbvh_bmesh_node_unique_verts(PBVHNode *node);
struct GSet *BKE_pbvh_bmesh_node_other_verts(PBVHNode *node);
struct GSet *BKE_pbvh_bmesh_node_faces(PBVHNode *node);
-void BKE_pbvh_bmesh_node_save_orig(PBVHNode *node);
+void BKE_pbvh_bmesh_node_save_orig(struct BMesh *bm, PBVHNode *node);
void BKE_pbvh_bmesh_after_stroke(PBVH *bvh);
/* Update Bounding Box/Redraw and clear flags */
void BKE_pbvh_update_bounds(PBVH *bvh, int flags);
+void BKE_pbvh_update_vertex_data(PBVH *bvh, int flags);
void BKE_pbvh_update_normals(PBVH *bvh, struct SubdivCCG *subdiv_ccg);
-void BKE_pbvh_update_draw_buffers(PBVH *bvh, bool show_vcol);
void BKE_pbvh_redraw_BB(PBVH *bvh, float bb_min[3], float bb_max[3]);
void BKE_pbvh_get_grid_updates(PBVH *bvh, bool clear, void ***r_gridfaces, int *r_totface);
void BKE_pbvh_grids_update(PBVH *bvh,
@@ -304,9 +331,9 @@ typedef struct PBVHVertexIter {
int index;
/* grid */
+ struct CCGKey key;
struct CCGElem **grids;
struct CCGElem *grid;
- struct CCGKey *key;
BLI_bitmap **grid_hidden, *gh;
int *grid_indices;
int totgrid;
@@ -343,6 +370,7 @@ void pbvh_vertex_iter_init(PBVH *bvh, PBVHNode *node, PBVHVertexIter *vi, int mo
if (vi.grids) { \
vi.width = vi.gridsize; \
vi.height = vi.gridsize; \
+ vi.index = vi.grid_indices[vi.g] * vi.key.grid_area - 1; \
vi.grid = vi.grids[vi.grid_indices[vi.g]]; \
if (mode == PBVH_ITER_UNIQUE) \
vi.gh = vi.grid_hidden[vi.grid_indices[vi.g]]; \
@@ -355,10 +383,11 @@ void pbvh_vertex_iter_init(PBVH *bvh, PBVHNode *node, PBVHVertexIter *vi, int mo
for (vi.gy = 0; vi.gy < vi.height; vi.gy++) { \
for (vi.gx = 0; vi.gx < vi.width; vi.gx++, vi.i++) { \
if (vi.grid) { \
- vi.co = CCG_elem_co(vi.key, vi.grid); \
- vi.fno = CCG_elem_no(vi.key, vi.grid); \
- vi.mask = vi.key->has_mask ? CCG_elem_mask(vi.key, vi.grid) : NULL; \
- vi.grid = CCG_elem_next(vi.key, vi.grid); \
+ vi.co = CCG_elem_co(&vi.key, vi.grid); \
+ vi.fno = CCG_elem_no(&vi.key, vi.grid); \
+ vi.mask = vi.key.has_mask ? CCG_elem_mask(&vi.key, vi.grid) : NULL; \
+ vi.grid = CCG_elem_next(&vi.key, vi.grid); \
+ vi.index++; \
if (vi.gh) { \
if (BLI_BITMAP_TEST(vi.gh, vi.gy * vi.gridsize + vi.gx)) \
continue; \
@@ -414,4 +443,33 @@ bool BKE_pbvh_node_vert_update_check_any(PBVH *bvh, PBVHNode *node);
bool pbvh_has_mask(PBVH *bvh);
void pbvh_show_mask_set(PBVH *bvh, bool show_mask);
+/* Parallelization */
+typedef void (*PBVHParallelRangeFunc)(void *__restrict userdata,
+ const int iter,
+ const struct TaskParallelTLS *__restrict tls);
+typedef void (*PBVHParallelReduceFunc)(const void *__restrict userdata,
+ void *__restrict chunk_join,
+ void *__restrict chunk);
+
+typedef struct PBVHParallelSettings {
+ bool use_threading;
+ void *userdata_chunk;
+ size_t userdata_chunk_size;
+ PBVHParallelReduceFunc func_reduce;
+} PBVHParallelSettings;
+
+void BKE_pbvh_parallel_range_settings(struct PBVHParallelSettings *settings,
+ bool use_threading,
+ int totnode);
+
+void BKE_pbvh_parallel_range(const int start,
+ const int stop,
+ void *userdata,
+ PBVHParallelRangeFunc func,
+ const struct PBVHParallelSettings *settings);
+
+#ifdef __cplusplus
+}
+#endif
+
#endif /* __BKE_PBVH_H__ */
diff --git a/source/blender/blenkernel/BKE_rigidbody.h b/source/blender/blenkernel/BKE_rigidbody.h
index 4c023f54e04..b4c440d54a6 100644
--- a/source/blender/blenkernel/BKE_rigidbody.h
+++ b/source/blender/blenkernel/BKE_rigidbody.h
@@ -103,8 +103,14 @@ bool BKE_rigidbody_add_object(struct Main *bmain,
int type,
struct ReportList *reports);
void BKE_rigidbody_ensure_local_object(struct Main *bmain, struct Object *ob);
-void BKE_rigidbody_remove_object(struct Main *bmain, struct Scene *scene, struct Object *ob);
-void BKE_rigidbody_remove_constraint(struct Scene *scene, struct Object *ob);
+void BKE_rigidbody_remove_object(struct Main *bmain,
+ struct Scene *scene,
+ struct Object *ob,
+ const bool free_us);
+void BKE_rigidbody_remove_constraint(struct Main *bmain,
+ struct Scene *scene,
+ struct Object *ob,
+ const bool free_us);
/* -------------- */
/* Utility Macros */
diff --git a/source/blender/blenkernel/BKE_scene.h b/source/blender/blenkernel/BKE_scene.h
index 846b8d21f28..51abc7390b8 100644
--- a/source/blender/blenkernel/BKE_scene.h
+++ b/source/blender/blenkernel/BKE_scene.h
@@ -75,7 +75,10 @@ void BKE_scene_free(struct Scene *sce);
void BKE_scene_init(struct Scene *sce);
struct Scene *BKE_scene_add(struct Main *bmain, const char *name);
-void BKE_scene_remove_rigidbody_object(struct Main *bmain, struct Scene *scene, struct Object *ob);
+void BKE_scene_remove_rigidbody_object(struct Main *bmain,
+ struct Scene *scene,
+ struct Object *ob,
+ const bool free_us);
bool BKE_scene_object_find(struct Scene *scene, struct Object *ob);
struct Object *BKE_scene_object_find_by_name(struct Scene *scene, const char *name);
@@ -122,7 +125,7 @@ struct Scene *BKE_scene_find_from_collection(const struct Main *bmain,
#ifdef DURIAN_CAMERA_SWITCH
struct Object *BKE_scene_camera_switch_find(struct Scene *scene); // DURIAN_CAMERA_SWITCH
#endif
-int BKE_scene_camera_switch_update(struct Scene *scene);
+bool BKE_scene_camera_switch_update(struct Scene *scene);
char *BKE_scene_find_marker_name(struct Scene *scene, int frame);
char *BKE_scene_find_last_marker_name(struct Scene *scene, int frame);
diff --git a/source/blender/blenkernel/BKE_sequencer.h b/source/blender/blenkernel/BKE_sequencer.h
index 16f766ae8bb..c1bb60737ff 100644
--- a/source/blender/blenkernel/BKE_sequencer.h
+++ b/source/blender/blenkernel/BKE_sequencer.h
@@ -289,7 +289,7 @@ bool BKE_sequencer_input_have_to_preprocess(const SeqRenderData *context,
struct Sequence *seq,
float cfra);
-void BKE_sequencer_proxy_rebuild_context(struct Main *bmain,
+bool BKE_sequencer_proxy_rebuild_context(struct Main *bmain,
struct Depsgraph *depsgraph,
struct Scene *scene,
struct Sequence *seq,
@@ -351,6 +351,7 @@ void BKE_sequencer_prefetch_start(const SeqRenderData *context, float cfra, floa
void BKE_sequencer_prefetch_stop(struct Scene *scene);
void BKE_sequencer_prefetch_free(struct Scene *scene);
bool BKE_sequencer_prefetch_need_redraw(struct Main *bmain, struct Scene *scene);
+bool BKE_sequencer_prefetch_job_is_running(struct Scene *scene);
void BKE_sequencer_prefetch_get_time_range(struct Scene *scene, int *start, int *end);
SeqRenderData *BKE_sequencer_prefetch_get_original_context(const SeqRenderData *context);
struct Sequence *BKE_sequencer_prefetch_get_original_sequence(struct Sequence *seq,
diff --git a/source/blender/blenkernel/BKE_shrinkwrap.h b/source/blender/blenkernel/BKE_shrinkwrap.h
index e3d19a3d807..e90b1429c9d 100644
--- a/source/blender/blenkernel/BKE_shrinkwrap.h
+++ b/source/blender/blenkernel/BKE_shrinkwrap.h
@@ -115,6 +115,11 @@ void BKE_shrinkwrap_mesh_nearest_surface_deform(struct bContext *C,
struct Object *ob_source,
struct Object *ob_target);
+/* Used in object_remesh.c to preserve the details and volume in the voxel remesher */
+void BKE_shrinkwrap_remesh_target_project(struct Mesh *src_me,
+ struct Mesh *target_me,
+ struct Object *ob_target);
+
/*
* This function casts a ray in the given BVHTree.
* but it takes into consideration the space_transform, that is:
diff --git a/source/blender/blenkernel/BKE_subdiv.h b/source/blender/blenkernel/BKE_subdiv.h
index 700bf5139e0..267a03da25c 100644
--- a/source/blender/blenkernel/BKE_subdiv.h
+++ b/source/blender/blenkernel/BKE_subdiv.h
@@ -140,7 +140,7 @@ typedef struct SubdivDisplacement {
/* This structure contains everything needed to construct subdivided surface.
* It does not specify storage, memory layout or anything else.
- * It is possible to create different storages (like, grid based CPU side
+ * It is possible to create different storage's (like, grid based CPU side
* buffers, GPU subdivision mesh, CPU side fully qualified mesh) from the same
* Subdiv structure. */
typedef struct Subdiv {
diff --git a/source/blender/blenkernel/BKE_subdiv_ccg.h b/source/blender/blenkernel/BKE_subdiv_ccg.h
index 2e9ccb8b39d..409a0d1232b 100644
--- a/source/blender/blenkernel/BKE_subdiv_ccg.h
+++ b/source/blender/blenkernel/BKE_subdiv_ccg.h
@@ -92,6 +92,14 @@ typedef struct SubdivToCCGSettings {
bool need_mask;
} SubdivToCCGSettings;
+typedef struct SubdivCCGCoord {
+ /* Index of the grid within SubdivCCG::grids array. */
+ int grid_index;
+
+ /* Coordinate within the grid. */
+ short x, y;
+} SubdivCCGCoord;
+
/* This is actually a coarse face, which consists of multiple CCG grids. */
typedef struct SubdivCCGFace {
/* Total number of grids in this face.
@@ -106,20 +114,16 @@ typedef struct SubdivCCGFace {
/* Definition of an edge which is adjacent to at least one of the faces. */
typedef struct SubdivCCGAdjacentEdge {
int num_adjacent_faces;
- /* Indexed by adjacent face index. */
- SubdivCCGFace **faces;
/* Indexed by adjacent face index, then by point index on the edge.
- * points to a grid element. */
- struct CCGElem ***boundary_elements;
+ * points to a coordinate into the grids. */
+ struct SubdivCCGCoord **boundary_coords;
} SubdivCCGAdjacentEdge;
/* Definition of a vertex which is adjacent to at least one of the faces. */
typedef struct SubdivCCGAdjacentVertex {
int num_adjacent_faces;
- /* Indexed by adjacent face index. */
- SubdivCCGFace **faces;
- /* Indexed by adjacent face index, points to a grid element. */
- struct CCGElem **corner_elements;
+ /* Indexed by adjacent face index, points to a coordinate in the grids. */
+ struct SubdivCCGCoord *corner_coords;
} SubdivCCGAdjacentVertex;
/* Representation of subdivision surface which uses CCG grids. */
@@ -135,6 +139,9 @@ typedef struct SubdivCCG {
/* Resolution of grid. All grids have matching resolution, and resolution
* is same as ptex created for non-quad polygons. */
int grid_size;
+ /* Size of a single element of a grid (including coordinate and all the other layers).
+ * Measured in bytes. */
+ int grid_element_size;
/* Grids represent limit surface, with displacement applied. Grids are
* corresponding to face-corners of coarse mesh, each grid has
* grid_size^2 elements.
@@ -150,7 +157,7 @@ typedef struct SubdivCCG {
struct CCGElem **edges;
int num_edges;
/* Loose vertices. Every element corresponds to a loose vertex from a coarse
- * mesh, every coarse loose vertex corresponds to a single sundivided
+ * mesh, every coarse loose vertex corresponds to a single subdivided
* element. */
struct CCGElem *vertices;
int num_vertices;
@@ -255,4 +262,40 @@ void BKE_subdiv_ccg_topology_counters(const SubdivCCG *subdiv_ccg,
int *r_num_faces,
int *r_num_loops);
+typedef struct SubdivCCGNeighbors {
+ SubdivCCGCoord *coords;
+ int size;
+ int num_duplicates;
+
+ SubdivCCGCoord coords_fixed[256];
+} SubdivCCGNeighbors;
+
+void BKE_subdiv_ccg_print_coord(const char *message, const SubdivCCGCoord *coord);
+bool BKE_subdiv_ccg_check_coord_valid(const SubdivCCG *subdiv_ccg, const SubdivCCGCoord *coord);
+
+/* CCG element neighbors.
+ *
+ * Neighbors are considered:
+ *
+ * - For an inner elements of a grid other elements which are sharing same row or column (4
+ * neighbor elements in total).
+ *
+ * - For the corner element a single neighboring element on every adjacent edge, single from
+ * every gird.
+ *
+ * - For the boundary element two neighbor elements on the boundary (from same grid) and one
+ * element inside of every neighboring grid. */
+
+/* Get actual neighbors of the given coordinate.
+ *
+ * SubdivCCGNeighbors.neighbors must be freed if it is not equal to
+ * SubdivCCGNeighbors.fixed_neighbors.
+ *
+ * If include_duplicates is true, vertices in other grids that match
+ * the current vertex are added at the end of the coords array. */
+void BKE_subdiv_ccg_neighbor_coords_get(const SubdivCCG *subdiv_ccg,
+ const SubdivCCGCoord *coord,
+ const bool include_duplicates,
+ SubdivCCGNeighbors *r_neighbors);
+
#endif /* __BKE_SUBDIV_CCG_H__ */
diff --git a/source/blender/blenkernel/BKE_text.h b/source/blender/blenkernel/BKE_text.h
index 65aa43ced7c..98a94c5f689 100644
--- a/source/blender/blenkernel/BKE_text.h
+++ b/source/blender/blenkernel/BKE_text.h
@@ -78,6 +78,7 @@ void txt_delete_selected(struct Text *text);
void txt_sel_all(struct Text *text);
void txt_sel_clear(struct Text *text);
void txt_sel_line(struct Text *text);
+void txt_sel_set(struct Text *text, int startl, int startc, int endl, int endc);
char *txt_sel_to_buf(struct Text *text, int *r_buf_strlen);
void txt_insert_buf(struct Text *text, const char *in_buffer);
void txt_split_curline(struct Text *text);
diff --git a/source/blender/blenkernel/CMakeLists.txt b/source/blender/blenkernel/CMakeLists.txt
index ec2e59ceb9a..510c5138cde 100644
--- a/source/blender/blenkernel/CMakeLists.txt
+++ b/source/blender/blenkernel/CMakeLists.txt
@@ -159,6 +159,7 @@ set(SRC
intern/mesh_runtime.c
intern/mesh_tangent.c
intern/mesh_validate.c
+ intern/mirror.c
intern/modifier.c
intern/movieclip.c
intern/multires.c
@@ -182,15 +183,16 @@ set(SRC
intern/particle_system.c
intern/pbvh.c
intern/pbvh_bmesh.c
+ intern/pbvh_parallel.cc
intern/pointcache.c
intern/report.c
intern/rigidbody.c
intern/scene.c
intern/screen.c
intern/seqcache.c
- intern/seqprefetch.c
intern/seqeffects.c
intern/seqmodifier.c
+ intern/seqprefetch.c
intern/sequencer.c
intern/shader_fx.c
intern/shrinkwrap.c
@@ -311,6 +313,7 @@ set(SRC
BKE_mesh_remesh_voxel.h
BKE_mesh_runtime.h
BKE_mesh_tangent.h
+ BKE_mirror.h
BKE_modifier.h
BKE_movieclip.h
BKE_multires.h
@@ -435,13 +438,13 @@ if(WITH_BULLET)
add_definitions(-DWITH_BULLET)
endif()
-#if(WITH_MOD_CLOTH_ELTOPO)
+# if(WITH_MOD_CLOTH_ELTOPO)
# list(APPEND INC
-# ../../../extern/eltopo
-# ../../../extern/eltopo/eltopo3d
+# ../../../extern/eltopo
+# ../../../extern/eltopo/eltopo3d
# )
# add_definitions(-DWITH_ELTOPO)
-#endif()
+# endif()
if(WITH_IMAGE_OPENEXR)
add_definitions(-DWITH_OPENEXR)
@@ -623,10 +626,18 @@ if(WITH_QUADRIFLOW)
add_definitions(-DWITH_QUADRIFLOW)
endif()
-## Warnings as errors, this is too strict!
-#if(MSVC)
-# set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /WX")
-#endif()
+if(WITH_TBB)
+ add_definitions(-DWITH_TBB)
+
+ list(APPEND INC_SYS
+ ${TBB_INCLUDE_DIRS}
+ )
+endif()
+
+# # Warnings as errors, this is too strict!
+# if(MSVC)
+# set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /WX")
+# endif()
blender_add_lib(bf_blenkernel "${SRC}" "${INC}" "${INC_SYS}" "${LIB}")
diff --git a/source/blender/blenkernel/intern/DerivedMesh.c b/source/blender/blenkernel/intern/DerivedMesh.c
index 4849d631493..2f61cfcbc15 100644
--- a/source/blender/blenkernel/intern/DerivedMesh.c
+++ b/source/blender/blenkernel/intern/DerivedMesh.c
@@ -1952,7 +1952,7 @@ Mesh *mesh_get_eval_final(struct Depsgraph *depsgraph,
const CustomData_MeshMasks *dataMask)
{
/* This function isn't thread-safe and can't be used during evaluation. */
- BLI_assert(DEG_debug_is_evaluating(depsgraph) == false);
+ BLI_assert(DEG_is_evaluating(depsgraph) == false);
/* Evaluated meshes aren't supposed to be created on original instances. If you do,
* they aren't cleaned up properly on mode switch, causing crashes, e.g T58150. */
@@ -1985,7 +1985,7 @@ Mesh *mesh_get_eval_deform(struct Depsgraph *depsgraph,
const CustomData_MeshMasks *dataMask)
{
/* This function isn't thread-safe and can't be used during evaluation. */
- BLI_assert(DEG_debug_is_evaluating(depsgraph) == false);
+ BLI_assert(DEG_is_evaluating(depsgraph) == false);
/* Evaluated meshes aren't supposed to be created on original instances. If you do,
* they aren't cleaned up properly on mode switch, causing crashes, e.g T58150. */
diff --git a/source/blender/blenkernel/intern/action.c b/source/blender/blenkernel/intern/action.c
index d072a0aa599..de1cbd236fb 100644
--- a/source/blender/blenkernel/intern/action.c
+++ b/source/blender/blenkernel/intern/action.c
@@ -1472,7 +1472,7 @@ void BKE_pose_rest(bPose *pose)
}
}
-void BKE_pose_copyesult_pchan_result(bPoseChannel *pchanto, const bPoseChannel *pchanfrom)
+void BKE_pose_copy_pchan_result(bPoseChannel *pchanto, const bPoseChannel *pchanfrom)
{
copy_m4_m4(pchanto->pose_mat, pchanfrom->pose_mat);
copy_m4_m4(pchanto->chan_mat, pchanfrom->chan_mat);
@@ -1523,7 +1523,7 @@ bool BKE_pose_copy_result(bPose *to, bPose *from)
for (pchanfrom = from->chanbase.first; pchanfrom; pchanfrom = pchanfrom->next) {
pchanto = BKE_pose_channel_find_name(to, pchanfrom->name);
if (pchanto != NULL) {
- BKE_pose_copyesult_pchan_result(pchanto, pchanfrom);
+ BKE_pose_copy_pchan_result(pchanto, pchanfrom);
}
}
return true;
diff --git a/source/blender/blenkernel/intern/appdir.c b/source/blender/blenkernel/intern/appdir.c
index 3b64a9520ca..fbac9e6b773 100644
--- a/source/blender/blenkernel/intern/appdir.c
+++ b/source/blender/blenkernel/intern/appdir.c
@@ -110,7 +110,7 @@ const char *BKE_appdir_folder_default(void)
// #define PATH_DEBUG
-/* returns a formatted representation of the specified version number. Non-reentrant! */
+/* returns a formatted representation of the specified version number. Non-re-entrant! */
static char *blender_version_decimal(const int ver)
{
static char version_str[5];
diff --git a/source/blender/blenkernel/intern/armature_update.c b/source/blender/blenkernel/intern/armature_update.c
index 00975976130..e30accf6279 100644
--- a/source/blender/blenkernel/intern/armature_update.c
+++ b/source/blender/blenkernel/intern/armature_update.c
@@ -643,6 +643,10 @@ void BKE_pose_eval_init(struct Depsgraph *depsgraph, Scene *UNUSED(scene), Objec
}
BLI_assert(pose->chan_array != NULL || BLI_listbase_is_empty(&pose->chanbase));
+
+ if (object->proxy != NULL) {
+ object->proxy->proxy_from = object;
+ }
}
void BKE_pose_eval_init_ik(struct Depsgraph *depsgraph, Scene *scene, Object *object)
@@ -724,6 +728,26 @@ void BKE_pose_constraints_evaluate(struct Depsgraph *depsgraph,
}
}
+static void pose_channel_flush_to_orig_if_needed(struct Depsgraph *depsgraph,
+ struct Object *object,
+ bPoseChannel *pchan)
+{
+ if (!DEG_is_active(depsgraph)) {
+ return;
+ }
+ const bArmature *armature = (bArmature *)object->data;
+ if (armature->edbo != NULL) {
+ return;
+ }
+ bPoseChannel *pchan_orig = pchan->orig_pchan;
+ /* TODO(sergey): Using BKE_pose_copy_pchan_result() introduces T70901, but why? */
+ copy_m4_m4(pchan_orig->pose_mat, pchan->pose_mat);
+ copy_m4_m4(pchan_orig->chan_mat, pchan->chan_mat);
+ copy_v3_v3(pchan_orig->pose_head, pchan->pose_mat[3]);
+ copy_m4_m4(pchan_orig->constinv, pchan->constinv);
+ copy_v3_v3(pchan_orig->pose_tail, pchan->pose_tail);
+}
+
void BKE_pose_bone_done(struct Depsgraph *depsgraph, struct Object *object, int pchan_index)
{
const bArmature *armature = (bArmature *)object->data;
@@ -741,13 +765,9 @@ void BKE_pose_bone_done(struct Depsgraph *depsgraph, struct Object *object, int
mat4_to_dquat(&pchan->runtime.deform_dual_quat, pchan->bone->arm_mat, pchan->chan_mat);
}
}
- if (DEG_is_active(depsgraph) && armature->edbo == NULL) {
+ pose_channel_flush_to_orig_if_needed(depsgraph, object, pchan);
+ if (DEG_is_active(depsgraph)) {
bPoseChannel *pchan_orig = pchan->orig_pchan;
- copy_m4_m4(pchan_orig->pose_mat, pchan->pose_mat);
- copy_m4_m4(pchan_orig->chan_mat, pchan->chan_mat);
- copy_v3_v3(pchan_orig->pose_head, pchan->pose_mat[3]);
- copy_m4_m4(pchan_orig->constinv, pchan->constinv);
- BKE_pose_where_is_bone_tail(pchan_orig);
if (pchan->bone == NULL || pchan->bone->segments <= 1) {
BKE_pose_channel_free_bbone_cache(&pchan_orig->runtime);
}
@@ -905,7 +925,9 @@ void BKE_pose_eval_proxy_copy_bone(struct Depsgraph *depsgraph, Object *object,
pchan->name);
return;
}
- BKE_pose_copyesult_pchan_result(pchan, pchan_from);
+ BKE_pose_copy_pchan_result(pchan, pchan_from);
copy_dq_dq(&pchan->runtime.deform_dual_quat, &pchan_from->runtime.deform_dual_quat);
BKE_pchan_bbone_segments_cache_copy(pchan, pchan_from);
+
+ pose_channel_flush_to_orig_if_needed(depsgraph, object, pchan);
}
diff --git a/source/blender/blenkernel/intern/brush.c b/source/blender/blenkernel/intern/brush.c
index 29c4ae624e9..bb9db8d9b90 100644
--- a/source/blender/blenkernel/intern/brush.c
+++ b/source/blender/blenkernel/intern/brush.c
@@ -26,6 +26,7 @@
#include "DNA_gpencil_types.h"
#include "DNA_defaults.h"
+#include "BLI_listbase.h"
#include "BLI_math.h"
#include "BLI_rand.h"
@@ -36,6 +37,7 @@
#include "BKE_library_query.h"
#include "BKE_library_remap.h"
#include "BKE_main.h"
+#include "BKE_material.h"
#include "BKE_paint.h"
#include "BKE_texture.h"
#include "BKE_icons.h"
@@ -82,6 +84,7 @@ static void brush_defaults(Brush *brush)
FROM_DEFAULT(normal_weight);
FROM_DEFAULT(fill_threshold);
FROM_DEFAULT(flag);
+ FROM_DEFAULT(sampling_flag);
FROM_DEFAULT_PTR(rgb);
FROM_DEFAULT_PTR(secondary_rgb);
FROM_DEFAULT(spacing);
@@ -239,307 +242,390 @@ static void brush_gpencil_curvemap_reset(CurveMap *cuma, int tot, int preset)
}
}
-/* create a set of grease pencil presets */
-void BKE_brush_gpencil_presets(bContext *C)
+/* create a set of grease pencil presets. */
+void BKE_brush_gpencil_presets(Main *bmain, ToolSettings *ts)
{
#define SMOOTH_STROKE_RADIUS 40
#define SMOOTH_STROKE_FACTOR 0.9f
- ToolSettings *ts = CTX_data_tool_settings(C);
Paint *paint = &ts->gp_paint->paint;
- Main *bmain = CTX_data_main(C);
Brush *brush, *deft;
CurveMapping *custom_curve;
- /* Pencil brush */
- brush = BKE_brush_add_gpencil(bmain, ts, "Draw Pencil");
- brush->size = 25.0f;
+ /* Airbrush brush. */
+ brush = BLI_findstring(&bmain->brushes, "Airbrush", offsetof(ID, name) + 2);
+ if (brush == NULL) {
+ brush = BKE_brush_add_gpencil(bmain, ts, "Airbrush");
+ }
+
+ brush->size = 300.0f;
brush->gpencil_settings->flag |= (GP_BRUSH_USE_PRESSURE | GP_BRUSH_ENABLE_CURSOR);
- brush->gpencil_settings->draw_sensitivity = 1.0f;
- brush->gpencil_settings->draw_strength = 0.6f;
+ brush->gpencil_settings->draw_strength = 0.4f;
brush->gpencil_settings->flag |= GP_BRUSH_USE_STENGTH_PRESSURE;
- brush->gpencil_settings->draw_random_press = 0.0f;
-
- brush->gpencil_settings->draw_jitter = 0.0f;
- brush->gpencil_settings->flag |= GP_BRUSH_USE_JITTER_PRESSURE;
-
+ brush->gpencil_settings->input_samples = 10;
+ brush->gpencil_settings->active_smooth = 0.98f;
brush->gpencil_settings->draw_angle = 0.0f;
brush->gpencil_settings->draw_angle_factor = 0.0f;
+ brush->gpencil_settings->gradient_f = 0.211f;
+ brush->gpencil_settings->gradient_s[0] = 1.0f;
+ brush->gpencil_settings->gradient_s[1] = 1.0f;
+
+ brush->gpencil_settings->draw_sensitivity = 1.0f;
- brush->gpencil_settings->flag |= GP_BRUSH_GROUP_SETTINGS;
- brush->gpencil_settings->draw_smoothfac = 0.1f;
- brush->gpencil_settings->draw_smoothlvl = 1;
- brush->gpencil_settings->thick_smoothfac = 1.0f;
- brush->gpencil_settings->thick_smoothlvl = 3;
- brush->gpencil_settings->draw_subdivide = 1;
- brush->gpencil_settings->draw_random_sub = 0.0f;
- brush->gpencil_settings->icon_id = GP_BRUSH_ICON_PENCIL;
brush->gpencil_tool = GPAINT_TOOL_DRAW;
+ brush->gpencil_settings->icon_id = GP_BRUSH_ICON_AIRBRUSH;
brush->smooth_stroke_radius = SMOOTH_STROKE_RADIUS;
brush->smooth_stroke_factor = SMOOTH_STROKE_FACTOR;
- brush->gpencil_settings->gradient_f = 1.0f;
- brush->gpencil_settings->gradient_s[0] = 1.0f;
- brush->gpencil_settings->gradient_s[1] = 1.0f;
-
- /* Pen brush */
- brush = BKE_brush_add_gpencil(bmain, ts, "Draw Pen");
- deft = brush; /* save default brush */
- brush->size = 30.0f;
+ /* Create and link Black Dots material to brush.
+ * This material is required because the brush uses the material to define how the stroke is
+ * drawn. */
+ Material *ma = BLI_findstring(&bmain->materials, "Black Dots", offsetof(ID, name) + 2);
+ if (ma == NULL) {
+ ma = BKE_material_add_gpencil(bmain, "Black Dots");
+ }
+ brush->gpencil_settings->material = ma;
+ /* Pin the matterial to the brush. */
+ brush->gpencil_settings->flag |= GP_BRUSH_MATERIAL_PINNED;
+
+ /* Ink Pen brush. */
+ brush = BLI_findstring(&bmain->brushes, "Ink Pen", offsetof(ID, name) + 2);
+ if (brush == NULL) {
+ brush = BKE_brush_add_gpencil(bmain, ts, "Ink Pen");
+ }
+ brush->size = 60.0f;
brush->gpencil_settings->flag |= (GP_BRUSH_USE_PRESSURE | GP_BRUSH_ENABLE_CURSOR);
- brush->gpencil_settings->draw_sensitivity = 1.0f;
brush->gpencil_settings->draw_strength = 1.0f;
- brush->gpencil_settings->flag |= GP_BRUSH_USE_STENGTH_PRESSURE;
-
- brush->gpencil_settings->draw_random_press = 0.0f;
- brush->gpencil_settings->draw_random_strength = 0.0f;
-
- brush->gpencil_settings->draw_jitter = 0.0f;
- brush->gpencil_settings->flag |= GP_BRUSH_USE_JITTER_PRESSURE;
+ brush->gpencil_settings->input_samples = 10;
+ brush->gpencil_settings->active_smooth = 0.7f;
brush->gpencil_settings->draw_angle = 0.0f;
brush->gpencil_settings->draw_angle_factor = 0.0f;
+ brush->gpencil_settings->gradient_f = 1.0f;
+ brush->gpencil_settings->gradient_s[0] = 1.0f;
+ brush->gpencil_settings->gradient_s[1] = 1.0f;
brush->gpencil_settings->flag |= GP_BRUSH_GROUP_SETTINGS;
brush->gpencil_settings->draw_smoothfac = 0.1f;
brush->gpencil_settings->draw_smoothlvl = 1;
- brush->gpencil_settings->draw_subdivide = 1;
brush->gpencil_settings->thick_smoothfac = 1.0f;
brush->gpencil_settings->thick_smoothlvl = 3;
+ brush->gpencil_settings->draw_subdivide = 0;
brush->gpencil_settings->draw_random_sub = 0.0f;
- brush->gpencil_settings->icon_id = GP_BRUSH_ICON_PEN;
- brush->gpencil_tool = GPAINT_TOOL_DRAW;
-
- brush->smooth_stroke_radius = SMOOTH_STROKE_RADIUS;
- brush->smooth_stroke_factor = SMOOTH_STROKE_FACTOR;
-
- brush->gpencil_settings->gradient_f = 1.0f;
- brush->gpencil_settings->gradient_s[0] = 1.0f;
- brush->gpencil_settings->gradient_s[1] = 1.0f;
-
- /* Ink brush */
- brush = BKE_brush_add_gpencil(bmain, ts, "Draw Ink");
- brush->size = 60.0f;
- brush->gpencil_settings->flag |= (GP_BRUSH_USE_PRESSURE | GP_BRUSH_ENABLE_CURSOR);
- brush->gpencil_settings->draw_sensitivity = 1.6f;
-
- brush->gpencil_settings->draw_strength = 1.0f;
+ brush->gpencil_settings->simplify_f = 0.002f;
brush->gpencil_settings->draw_random_press = 0.0f;
-
brush->gpencil_settings->draw_jitter = 0.0f;
brush->gpencil_settings->flag |= GP_BRUSH_USE_JITTER_PRESSURE;
+ brush->gpencil_settings->draw_sensitivity = 1.0f;
- brush->gpencil_settings->draw_angle = 0.0f;
- brush->gpencil_settings->draw_angle_factor = 0.0f;
+ /* Curve. */
+ custom_curve = brush->gpencil_settings->curve_sensitivity;
+ BKE_curvemapping_set_defaults(custom_curve, 0, 0.0f, 0.0f, 1.0f, 1.0f);
+ BKE_curvemapping_initialize(custom_curve);
+ brush_gpencil_curvemap_reset(custom_curve->cm, 3, GPCURVE_PRESET_INK);
- brush->gpencil_settings->flag |= GP_BRUSH_GROUP_SETTINGS;
- brush->gpencil_settings->draw_smoothfac = 0.1f;
- brush->gpencil_settings->draw_smoothlvl = 1;
- brush->gpencil_settings->thick_smoothfac = 1.0f;
- brush->gpencil_settings->thick_smoothlvl = 3;
- brush->gpencil_settings->draw_subdivide = 1;
- brush->gpencil_settings->draw_random_sub = 0.0f;
brush->gpencil_settings->icon_id = GP_BRUSH_ICON_INK;
brush->gpencil_tool = GPAINT_TOOL_DRAW;
brush->smooth_stroke_radius = SMOOTH_STROKE_RADIUS;
brush->smooth_stroke_factor = SMOOTH_STROKE_FACTOR;
- brush->gpencil_settings->gradient_f = 1.0f;
- brush->gpencil_settings->gradient_s[0] = 1.0f;
- brush->gpencil_settings->gradient_s[1] = 1.0f;
-
- /* Curve */
- custom_curve = brush->gpencil_settings->curve_sensitivity;
- BKE_curvemapping_set_defaults(custom_curve, 0, 0.0f, 0.0f, 1.0f, 1.0f);
- BKE_curvemapping_initialize(custom_curve);
- brush_gpencil_curvemap_reset(custom_curve->cm, 3, GPCURVE_PRESET_INK);
+ /* Ink Pen Rough brush. */
+ brush = BLI_findstring(&bmain->brushes, "Ink Pen Rough", offsetof(ID, name) + 2);
+ if (brush == NULL) {
+ brush = BKE_brush_add_gpencil(bmain, ts, "Ink Pen Rough");
+ }
- /* Ink Noise brush */
- brush = BKE_brush_add_gpencil(bmain, ts, "Draw Noise");
brush->size = 60.0f;
brush->gpencil_settings->flag |= (GP_BRUSH_USE_PRESSURE | GP_BRUSH_ENABLE_CURSOR);
- brush->gpencil_settings->draw_sensitivity = 1.0f;
brush->gpencil_settings->draw_strength = 1.0f;
- brush->gpencil_settings->flag |= GP_BRUSH_GROUP_RANDOM;
- brush->gpencil_settings->draw_random_press = 0.7f;
- brush->gpencil_settings->draw_random_strength = 0.0f;
-
- brush->gpencil_settings->draw_jitter = 0.0f;
- brush->gpencil_settings->flag |= GP_BRUSH_USE_JITTER_PRESSURE;
-
+ brush->gpencil_settings->input_samples = 10;
+ brush->gpencil_settings->active_smooth = 0.5f;
brush->gpencil_settings->draw_angle = 0.0f;
brush->gpencil_settings->draw_angle_factor = 0.0f;
+ brush->gpencil_settings->gradient_f = 1.0f;
+ brush->gpencil_settings->gradient_s[0] = 1.0f;
+ brush->gpencil_settings->gradient_s[1] = 1.0f;
- brush->gpencil_settings->flag |= GP_BRUSH_GROUP_SETTINGS;
- brush->gpencil_settings->draw_smoothfac = 0.1f;
+ brush->gpencil_settings->flag &= ~GP_BRUSH_GROUP_SETTINGS;
+ brush->gpencil_settings->draw_smoothfac = 0.0f;
brush->gpencil_settings->draw_smoothlvl = 2;
- brush->gpencil_settings->thick_smoothfac = 0.5f;
+ brush->gpencil_settings->thick_smoothfac = 0.0f;
brush->gpencil_settings->thick_smoothlvl = 2;
- brush->gpencil_settings->draw_subdivide = 1;
+ brush->gpencil_settings->draw_subdivide = 0;
brush->gpencil_settings->draw_random_sub = 0.0f;
- brush->gpencil_settings->icon_id = GP_BRUSH_ICON_INKNOISE;
- brush->gpencil_tool = GPAINT_TOOL_DRAW;
+ brush->gpencil_settings->simplify_f = 0.000f;
- brush->smooth_stroke_radius = SMOOTH_STROKE_RADIUS;
- brush->smooth_stroke_factor = SMOOTH_STROKE_FACTOR;
+ brush->gpencil_settings->flag |= GP_BRUSH_GROUP_RANDOM;
+ brush->gpencil_settings->draw_random_press = 1.0f;
+ brush->gpencil_settings->draw_random_strength = 0.0f;
+ brush->gpencil_settings->draw_jitter = 0.0f;
+ brush->gpencil_settings->flag |= GP_BRUSH_USE_JITTER_PRESSURE;
+ brush->gpencil_settings->draw_sensitivity = 1.0f;
- /* Curve */
+ /* Curve. */
custom_curve = brush->gpencil_settings->curve_sensitivity;
BKE_curvemapping_set_defaults(custom_curve, 0, 0.0f, 0.0f, 1.0f, 1.0f);
BKE_curvemapping_initialize(custom_curve);
brush_gpencil_curvemap_reset(custom_curve->cm, 3, GPCURVE_PRESET_INKNOISE);
- brush->gpencil_settings->gradient_f = 1.0f;
- brush->gpencil_settings->gradient_s[0] = 1.0f;
- brush->gpencil_settings->gradient_s[1] = 1.0f;
-
- /* Block Basic brush */
- brush = BKE_brush_add_gpencil(bmain, ts, "Draw Block");
- brush->size = 150.0f;
- brush->gpencil_settings->flag |= (GP_BRUSH_USE_PRESSURE | GP_BRUSH_ENABLE_CURSOR);
- brush->gpencil_settings->draw_sensitivity = 1.0f;
+ brush->gpencil_settings->icon_id = GP_BRUSH_ICON_INKNOISE;
+ brush->gpencil_tool = GPAINT_TOOL_DRAW;
- brush->gpencil_settings->draw_strength = 1.0f;
+ brush->smooth_stroke_radius = SMOOTH_STROKE_RADIUS;
+ brush->smooth_stroke_factor = SMOOTH_STROKE_FACTOR;
- brush->gpencil_settings->draw_random_press = 0.0f;
+ /* Marker Bold brush. */
+ brush = BLI_findstring(&bmain->brushes, "Marker Bold", offsetof(ID, name) + 2);
+ if (brush == NULL) {
+ brush = BKE_brush_add_gpencil(bmain, ts, "Marker Bold");
+ }
+ brush->size = 150.0f;
+ brush->gpencil_settings->flag &= ~GP_BRUSH_USE_PRESSURE;
- brush->gpencil_settings->draw_jitter = 0.0f;
- brush->gpencil_settings->flag |= GP_BRUSH_USE_JITTER_PRESSURE;
+ brush->gpencil_settings->draw_strength = 0.3f;
+ brush->gpencil_settings->input_samples = 10;
+ brush->gpencil_settings->active_smooth = 0.6f;
brush->gpencil_settings->draw_angle = 0.0f;
brush->gpencil_settings->draw_angle_factor = 0.0f;
+ brush->gpencil_settings->gradient_f = 1.0f;
+ brush->gpencil_settings->gradient_s[0] = 1.0f;
+ brush->gpencil_settings->gradient_s[1] = 1.0f;
+ brush->gpencil_settings->flag |= GP_BRUSH_GROUP_SETTINGS;
brush->gpencil_settings->draw_smoothfac = 0.1f;
brush->gpencil_settings->draw_smoothlvl = 1;
brush->gpencil_settings->thick_smoothfac = 1.0f;
brush->gpencil_settings->thick_smoothlvl = 3;
brush->gpencil_settings->draw_subdivide = 0;
- brush->gpencil_settings->draw_random_sub = 0;
- brush->gpencil_settings->icon_id = GP_BRUSH_ICON_BLOCK;
+ brush->gpencil_settings->draw_random_sub = 0.0f;
+ brush->gpencil_settings->simplify_f = 0.002f;
+
+ brush->gpencil_settings->flag &= ~GP_BRUSH_GROUP_RANDOM;
+ brush->gpencil_settings->draw_random_press = 0.0f;
+ brush->gpencil_settings->draw_random_strength = 0.0f;
+ brush->gpencil_settings->draw_jitter = 0.0f;
+ brush->gpencil_settings->flag |= GP_BRUSH_USE_JITTER_PRESSURE;
+ brush->gpencil_settings->draw_sensitivity = 1.0f;
+
+ /* Curve. */
+ custom_curve = brush->gpencil_settings->curve_sensitivity;
+ BKE_curvemapping_set_defaults(custom_curve, 0, 0.0f, 0.0f, 1.0f, 1.0f);
+ BKE_curvemapping_initialize(custom_curve);
+ brush_gpencil_curvemap_reset(custom_curve->cm, 4, GPCURVE_PRESET_MARKER);
+
+ brush->gpencil_settings->icon_id = GP_BRUSH_ICON_MARKER;
brush->gpencil_tool = GPAINT_TOOL_DRAW;
brush->smooth_stroke_radius = SMOOTH_STROKE_RADIUS;
brush->smooth_stroke_factor = SMOOTH_STROKE_FACTOR;
- brush->gpencil_settings->gradient_f = 1.0f;
- brush->gpencil_settings->gradient_s[0] = 1.0f;
- brush->gpencil_settings->gradient_s[1] = 1.0f;
-
- /* Marker brush */
- brush = BKE_brush_add_gpencil(bmain, ts, "Draw Marker");
+ /* Marker Chisel brush. */
+ brush = BLI_findstring(&bmain->brushes, "Marker Chisel", offsetof(ID, name) + 2);
+ if (brush == NULL) {
+ brush = BKE_brush_add_gpencil(bmain, ts, "Marker Chisel");
+ }
brush->size = 80.0f;
brush->gpencil_settings->flag |= (GP_BRUSH_USE_PRESSURE | GP_BRUSH_ENABLE_CURSOR);
- brush->gpencil_settings->draw_sensitivity = 1.0f;
brush->gpencil_settings->draw_strength = 1.0f;
- brush->gpencil_settings->flag |= GP_BRUSH_GROUP_RANDOM;
- brush->gpencil_settings->draw_random_press = 0.374f;
- brush->gpencil_settings->draw_random_strength = 0.0f;
-
- brush->gpencil_settings->draw_jitter = 0.0f;
- brush->gpencil_settings->flag |= GP_BRUSH_USE_JITTER_PRESSURE;
-
+ brush->gpencil_settings->input_samples = 10;
+ brush->gpencil_settings->active_smooth = 0.5f;
brush->gpencil_settings->draw_angle = DEG2RAD(20.0f);
brush->gpencil_settings->draw_angle_factor = 1.0f;
+ brush->gpencil_settings->gradient_f = 1.0f;
+ brush->gpencil_settings->gradient_s[0] = 1.0f;
+ brush->gpencil_settings->gradient_s[1] = 1.0f;
brush->gpencil_settings->flag |= GP_BRUSH_GROUP_SETTINGS;
- brush->gpencil_settings->draw_smoothfac = 0.1f;
+ brush->gpencil_settings->draw_smoothfac = 0.0f;
brush->gpencil_settings->draw_smoothlvl = 1;
brush->gpencil_settings->thick_smoothfac = 1.0f;
brush->gpencil_settings->thick_smoothlvl = 3;
- brush->gpencil_settings->draw_subdivide = 1;
- brush->gpencil_settings->draw_random_sub = 0.0f;
- brush->gpencil_settings->icon_id = GP_BRUSH_ICON_MARKER;
+ brush->gpencil_settings->draw_subdivide = 0;
+ brush->gpencil_settings->draw_random_sub = 0;
+ brush->gpencil_settings->simplify_f = 0.002f;
+
+ brush->gpencil_settings->flag &= ~GP_BRUSH_GROUP_RANDOM;
+ brush->gpencil_settings->draw_random_press = 0.0f;
+ brush->gpencil_settings->draw_jitter = 0.0f;
+ brush->gpencil_settings->flag |= GP_BRUSH_USE_JITTER_PRESSURE;
+ brush->gpencil_settings->draw_sensitivity = 1.0f;
+
+ brush->gpencil_settings->icon_id = GP_BRUSH_ICON_CHISEL;
brush->gpencil_tool = GPAINT_TOOL_DRAW;
brush->smooth_stroke_radius = SMOOTH_STROKE_RADIUS;
brush->smooth_stroke_factor = SMOOTH_STROKE_FACTOR;
- /* Curve */
- custom_curve = brush->gpencil_settings->curve_sensitivity;
- BKE_curvemapping_set_defaults(custom_curve, 0, 0.0f, 0.0f, 1.0f, 1.0f);
- BKE_curvemapping_initialize(custom_curve);
- brush_gpencil_curvemap_reset(custom_curve->cm, 4, GPCURVE_PRESET_MARKER);
+ /* Pen brush. */
+ brush = BLI_findstring(&bmain->brushes, "Pen", offsetof(ID, name) + 2);
+ if (brush == NULL) {
+ brush = BKE_brush_add_gpencil(bmain, ts, "Pen");
+ }
+ brush->size = 30.0f;
+ brush->gpencil_settings->flag |= (GP_BRUSH_USE_PRESSURE | GP_BRUSH_ENABLE_CURSOR);
+
+ brush->gpencil_settings->draw_strength = 1.0f;
+ brush->gpencil_settings->flag |= GP_BRUSH_USE_STENGTH_PRESSURE;
+
+ brush->gpencil_settings->input_samples = 10;
+ brush->gpencil_settings->active_smooth = 0.3f;
+ brush->gpencil_settings->draw_angle = 0.0f;
+ brush->gpencil_settings->draw_angle_factor = 0.0f;
brush->gpencil_settings->gradient_f = 1.0f;
brush->gpencil_settings->gradient_s[0] = 1.0f;
brush->gpencil_settings->gradient_s[1] = 1.0f;
- /* Soft brush */
- brush = BKE_brush_add_gpencil(bmain, ts, "Draw Soft");
- deft = brush; /* save default brush */
- brush->size = 300.0f;
- brush->gpencil_settings->flag |= (GP_BRUSH_USE_PRESSURE | GP_BRUSH_ENABLE_CURSOR);
+ brush->gpencil_settings->flag |= GP_BRUSH_GROUP_SETTINGS;
+ brush->gpencil_settings->draw_smoothfac = 0.0f;
+ brush->gpencil_settings->draw_smoothlvl = 1;
+ brush->gpencil_settings->thick_smoothfac = 1.0f;
+ brush->gpencil_settings->thick_smoothlvl = 1;
+ brush->gpencil_settings->draw_subdivide = 1;
+ brush->gpencil_settings->draw_random_sub = 0.0f;
+ brush->gpencil_settings->simplify_f = 0.002f;
+
+ brush->gpencil_settings->draw_random_press = 0.0f;
+ brush->gpencil_settings->draw_random_strength = 0.0f;
+ brush->gpencil_settings->draw_jitter = 0.0f;
+ brush->gpencil_settings->flag |= GP_BRUSH_USE_JITTER_PRESSURE;
brush->gpencil_settings->draw_sensitivity = 1.0f;
+ brush->gpencil_settings->icon_id = GP_BRUSH_ICON_PEN;
+ brush->gpencil_tool = GPAINT_TOOL_DRAW;
+
+ brush->smooth_stroke_radius = SMOOTH_STROKE_RADIUS;
+ brush->smooth_stroke_factor = SMOOTH_STROKE_FACTOR;
+
+ /* Pencil Soft brush. */
+ brush = BLI_findstring(&bmain->brushes, "Pencil Soft", offsetof(ID, name) + 2);
+ if (brush == NULL) {
+ brush = BKE_brush_add_gpencil(bmain, ts, "Pencil Soft");
+ }
+
+ brush->size = 80.0f;
+ brush->gpencil_settings->flag |= (GP_BRUSH_USE_PRESSURE | GP_BRUSH_ENABLE_CURSOR);
+
brush->gpencil_settings->draw_strength = 0.4f;
brush->gpencil_settings->flag |= GP_BRUSH_USE_STENGTH_PRESSURE;
+ brush->gpencil_settings->input_samples = 10;
+ brush->gpencil_settings->active_smooth = 0.64f;
+ brush->gpencil_settings->draw_angle = 0.0f;
+ brush->gpencil_settings->draw_angle_factor = 0.0f;
+ brush->gpencil_settings->gradient_f = 0.8f;
+ brush->gpencil_settings->gradient_s[0] = 1.0f;
+ brush->gpencil_settings->gradient_s[1] = 1.0f;
+
+ brush->gpencil_settings->flag |= GP_BRUSH_GROUP_SETTINGS;
+ brush->gpencil_settings->draw_smoothfac = 0.0f;
+ brush->gpencil_settings->draw_smoothlvl = 1;
+ brush->gpencil_settings->thick_smoothfac = 1.0f;
+ brush->gpencil_settings->thick_smoothlvl = 3;
+ brush->gpencil_settings->draw_subdivide = 0;
+ brush->gpencil_settings->draw_random_sub = 0.0f;
+ brush->gpencil_settings->simplify_f = 0.000f;
+
brush->gpencil_settings->draw_random_press = 0.0f;
brush->gpencil_settings->draw_random_strength = 0.0f;
-
brush->gpencil_settings->draw_jitter = 0.0f;
brush->gpencil_settings->flag |= GP_BRUSH_USE_JITTER_PRESSURE;
+ brush->gpencil_settings->draw_sensitivity = 1.0f;
+
+ brush->gpencil_settings->icon_id = GP_BRUSH_ICON_PENCIL;
+ brush->gpencil_tool = GPAINT_TOOL_DRAW;
+
+ brush->smooth_stroke_radius = SMOOTH_STROKE_RADIUS;
+ brush->smooth_stroke_factor = SMOOTH_STROKE_FACTOR;
+
+ /* Pencil brush. */
+ brush = BLI_findstring(&bmain->brushes, "Pencil", offsetof(ID, name) + 2);
+ if (brush == NULL) {
+ brush = BKE_brush_add_gpencil(bmain, ts, "Pencil");
+ }
+ deft = brush; /* save default brush. */
+ brush->size = 25.0f;
+ brush->gpencil_settings->flag |= (GP_BRUSH_USE_PRESSURE | GP_BRUSH_ENABLE_CURSOR);
+
+ brush->gpencil_settings->draw_strength = 0.6f;
+ brush->gpencil_settings->flag |= GP_BRUSH_USE_STENGTH_PRESSURE;
+
+ brush->gpencil_settings->input_samples = 10;
+ brush->gpencil_settings->active_smooth = 0.55f;
brush->gpencil_settings->draw_angle = 0.0f;
brush->gpencil_settings->draw_angle_factor = 0.0f;
+ brush->gpencil_settings->gradient_f = 1.0f;
+ brush->gpencil_settings->gradient_s[0] = 1.0f;
+ brush->gpencil_settings->gradient_s[1] = 1.0f;
- brush->gpencil_settings->input_samples = 10;
- brush->gpencil_settings->active_smooth = 0.98f;
- brush->gpencil_settings->draw_smoothfac = 0.1f;
+ brush->gpencil_settings->flag |= GP_BRUSH_GROUP_SETTINGS;
+ brush->gpencil_settings->draw_smoothfac = 0.0f;
brush->gpencil_settings->draw_smoothlvl = 1;
- brush->gpencil_settings->draw_subdivide = 1;
brush->gpencil_settings->thick_smoothfac = 1.0f;
brush->gpencil_settings->thick_smoothlvl = 3;
+ brush->gpencil_settings->draw_subdivide = 0;
brush->gpencil_settings->draw_random_sub = 0.0f;
- brush->gpencil_settings->icon_id = GP_BRUSH_ICON_MARKER;
+ brush->gpencil_settings->simplify_f = 0.002f;
+
+ brush->gpencil_settings->draw_random_press = 0.0f;
+ brush->gpencil_settings->draw_jitter = 0.0f;
+ brush->gpencil_settings->flag |= GP_BRUSH_USE_JITTER_PRESSURE;
+ brush->gpencil_settings->draw_sensitivity = 1.0f;
+
+ brush->gpencil_settings->icon_id = GP_BRUSH_ICON_PENCIL;
brush->gpencil_tool = GPAINT_TOOL_DRAW;
brush->smooth_stroke_radius = SMOOTH_STROKE_RADIUS;
brush->smooth_stroke_factor = SMOOTH_STROKE_FACTOR;
- brush->gpencil_settings->gradient_f = 0.211f;
- brush->gpencil_settings->gradient_s[0] = 1.0f;
- brush->gpencil_settings->gradient_s[1] = 0.91f;
-
- /* Fill brush */
- brush = BKE_brush_add_gpencil(bmain, ts, "Fill Area");
+ /* Fill brush. */
+ brush = BLI_findstring(&bmain->brushes, "Fill Area", offsetof(ID, name) + 2);
+ if (brush == NULL) {
+ brush = BKE_brush_add_gpencil(bmain, ts, "Fill Area");
+ }
brush->size = 20.0f;
brush->gpencil_settings->flag |= GP_BRUSH_ENABLE_CURSOR;
- brush->gpencil_settings->draw_sensitivity = 1.0f;
+
brush->gpencil_settings->fill_leak = 3;
brush->gpencil_settings->fill_threshold = 0.1f;
brush->gpencil_settings->fill_simplylvl = 1;
brush->gpencil_settings->fill_factor = 1;
- brush->gpencil_settings->icon_id = GP_BRUSH_ICON_FILL;
- brush->gpencil_tool = GPAINT_TOOL_FILL;
+ brush->gpencil_settings->draw_strength = 1.0f;
+ brush->gpencil_settings->gradient_f = 1.0f;
+ brush->gpencil_settings->gradient_s[0] = 1.0f;
+ brush->gpencil_settings->gradient_s[1] = 1.0f;
brush->gpencil_settings->draw_smoothfac = 0.1f;
brush->gpencil_settings->draw_smoothlvl = 1;
brush->gpencil_settings->thick_smoothfac = 1.0f;
brush->gpencil_settings->thick_smoothlvl = 3;
brush->gpencil_settings->draw_subdivide = 1;
- brush->smooth_stroke_radius = SMOOTH_STROKE_RADIUS;
- brush->smooth_stroke_factor = SMOOTH_STROKE_FACTOR;
+ brush->gpencil_settings->draw_sensitivity = 1.0f;
- brush->gpencil_settings->draw_strength = 1.0f;
+ brush->gpencil_settings->icon_id = GP_BRUSH_ICON_FILL;
+ brush->gpencil_tool = GPAINT_TOOL_FILL;
- brush->gpencil_settings->gradient_f = 1.0f;
- brush->gpencil_settings->gradient_s[0] = 1.0f;
- brush->gpencil_settings->gradient_s[1] = 1.0f;
+ brush->smooth_stroke_radius = SMOOTH_STROKE_RADIUS;
+ brush->smooth_stroke_factor = SMOOTH_STROKE_FACTOR;
- /* Soft Eraser brush */
- brush = BKE_brush_add_gpencil(bmain, ts, "Eraser Soft");
+ /* Soft Eraser brush. */
+ brush = BLI_findstring(&bmain->brushes, "Eraser Soft", offsetof(ID, name) + 2);
+ if (brush == NULL) {
+ brush = BKE_brush_add_gpencil(bmain, ts, "Eraser Soft");
+ }
brush->size = 30.0f;
brush->gpencil_settings->draw_strength = 0.5f;
brush->gpencil_settings->flag |= (GP_BRUSH_ENABLE_CURSOR | GP_BRUSH_DEFAULT_ERASER);
@@ -551,34 +637,46 @@ void BKE_brush_gpencil_presets(bContext *C)
brush->gpencil_settings->era_strength_f = 100.0f;
brush->gpencil_settings->era_thickness_f = 10.0f;
- /* Hard Eraser brush */
- brush = BKE_brush_add_gpencil(bmain, ts, "Eraser Hard");
+ /* Hard Eraser brush. */
+ brush = BLI_findstring(&bmain->brushes, "Eraser Hard", offsetof(ID, name) + 2);
+ if (brush == NULL) {
+ brush = BKE_brush_add_gpencil(bmain, ts, "Eraser Hard");
+ }
brush->size = 30.0f;
brush->gpencil_settings->draw_strength = 1.0f;
brush->gpencil_settings->flag |= (GP_BRUSH_ENABLE_CURSOR | GP_BRUSH_DEFAULT_ERASER);
- brush->gpencil_settings->icon_id = GP_BRUSH_ICON_ERASE_HARD;
- brush->gpencil_tool = GPAINT_TOOL_ERASE;
brush->gpencil_settings->eraser_mode = GP_BRUSH_ERASER_SOFT;
brush->gpencil_settings->era_strength_f = 100.0f;
brush->gpencil_settings->era_thickness_f = 50.0f;
- /* Point Eraser brush */
- brush = BKE_brush_add_gpencil(bmain, ts, "Eraser Point");
+ brush->gpencil_settings->icon_id = GP_BRUSH_ICON_ERASE_HARD;
+ brush->gpencil_tool = GPAINT_TOOL_ERASE;
+
+ /* Point Eraser brush. */
+ brush = BLI_findstring(&bmain->brushes, "Eraser Point", offsetof(ID, name) + 2);
+ if (brush == NULL) {
+ brush = BKE_brush_add_gpencil(bmain, ts, "Eraser Point");
+ }
brush->size = 30.0f;
brush->gpencil_settings->flag |= GP_BRUSH_ENABLE_CURSOR;
+ brush->gpencil_settings->eraser_mode = GP_BRUSH_ERASER_HARD;
+
brush->gpencil_settings->icon_id = GP_BRUSH_ICON_ERASE_HARD;
brush->gpencil_tool = GPAINT_TOOL_ERASE;
- brush->gpencil_settings->eraser_mode = GP_BRUSH_ERASER_HARD;
- /* Stroke Eraser brush */
- brush = BKE_brush_add_gpencil(bmain, ts, "Eraser Stroke");
+ /* Stroke Eraser brush. */
+ brush = BLI_findstring(&bmain->brushes, "Eraser Stroke", offsetof(ID, name) + 2);
+ if (brush == NULL) {
+ brush = BKE_brush_add_gpencil(bmain, ts, "Eraser Stroke");
+ }
brush->size = 30.0f;
brush->gpencil_settings->flag |= GP_BRUSH_ENABLE_CURSOR;
+ brush->gpencil_settings->eraser_mode = GP_BRUSH_ERASER_STROKE;
+
brush->gpencil_settings->icon_id = GP_BRUSH_ICON_ERASE_STROKE;
brush->gpencil_tool = GPAINT_TOOL_ERASE;
- brush->gpencil_settings->eraser_mode = GP_BRUSH_ERASER_STROKE;
- /* set default brush */
+ /* set default brush. */
BKE_paint_brush_set(paint, deft);
}
@@ -812,53 +910,36 @@ void BKE_brush_sculpt_reset(Brush *br)
/* Use the curve presets by default */
br->curve_preset = BRUSH_CURVE_SMOOTH;
- if (br->sculpt_tool == SCULPT_TOOL_DRAW_SHARP) {
- br->curve_preset = BRUSH_CURVE_POW4;
- }
+ /* Note that sculpt defaults where set when 0.5 was the default (now it's 1.0)
+ * assign this so logic below can remain the same. */
+ br->alpha = 0.5f;
+
+ /* Brush settings */
switch (br->sculpt_tool) {
+ case SCULPT_TOOL_DRAW_SHARP:
+ br->flag |= BRUSH_DIR_IN;
+ br->curve_preset = BRUSH_CURVE_POW4;
+ br->spacing = 5;
+ break;
case SCULPT_TOOL_CLAY:
br->flag |= BRUSH_FRONTFACE;
break;
+ case SCULPT_TOOL_CLAY_STRIPS:
+ br->flag |= BRUSH_ACCUMULATE;
+ br->alpha = 0.7f;
+ br->normal_radius_factor = 1.55f;
+ br->curve_preset = BRUSH_CURVE_SPHERE;
+ br->spacing = 6;
+ break;
case SCULPT_TOOL_CREASE:
br->flag |= BRUSH_DIR_IN;
br->alpha = 0.25;
break;
- case SCULPT_TOOL_FILL:
- br->add_col[1] = 1;
- br->sub_col[0] = 0.25;
- br->sub_col[1] = 1;
- break;
- case SCULPT_TOOL_FLATTEN:
- br->add_col[1] = 1;
- br->sub_col[0] = 0.25;
- br->sub_col[1] = 1;
- break;
- case SCULPT_TOOL_INFLATE:
- br->add_col[0] = 0.750000;
- br->add_col[1] = 0.750000;
- br->add_col[2] = 0.750000;
- br->sub_col[0] = 0.250000;
- br->sub_col[1] = 0.250000;
- br->sub_col[2] = 0.250000;
- break;
- case SCULPT_TOOL_NUDGE:
- br->add_col[0] = 0.250000;
- br->add_col[1] = 1.000000;
- br->add_col[2] = 0.250000;
- break;
- case SCULPT_TOOL_PINCH:
- br->add_col[0] = 0.750000;
- br->add_col[1] = 0.750000;
- br->add_col[2] = 0.750000;
- br->sub_col[0] = 0.250000;
- br->sub_col[1] = 0.250000;
- br->sub_col[2] = 0.250000;
- break;
case SCULPT_TOOL_SCRAPE:
- br->add_col[1] = 1.000000;
- br->sub_col[0] = 0.250000;
- br->sub_col[1] = 1.000000;
+ br->alpha = 1.0f;
+ br->spacing = 7;
+ br->flag |= BRUSH_ACCUMULATE;
break;
case SCULPT_TOOL_ROTATE:
br->alpha = 1.0;
@@ -866,22 +947,95 @@ void BKE_brush_sculpt_reset(Brush *br)
case SCULPT_TOOL_SMOOTH:
br->flag &= ~BRUSH_SPACE_ATTEN;
br->spacing = 5;
- br->add_col[0] = 0.750000;
- br->add_col[1] = 0.750000;
- br->add_col[2] = 0.750000;
+ br->alpha = 0.7f;
break;
- case SCULPT_TOOL_GRAB:
- case SCULPT_TOOL_ELASTIC_DEFORM:
- case SCULPT_TOOL_POSE:
case SCULPT_TOOL_SNAKE_HOOK:
+ br->alpha = 1.0f;
+ br->rake_factor = 1.0f;
+ break;
case SCULPT_TOOL_THUMB:
br->size = 75;
br->flag &= ~BRUSH_ALPHA_PRESSURE;
br->flag &= ~BRUSH_SPACE;
br->flag &= ~BRUSH_SPACE_ATTEN;
- br->add_col[0] = 0.250000;
- br->add_col[1] = 1.000000;
- br->add_col[2] = 0.250000;
+ break;
+ case SCULPT_TOOL_ELASTIC_DEFORM:
+ br->elastic_deform_volume_preservation = 0.4f;
+ br->elastic_deform_type = BRUSH_ELASTIC_DEFORM_GRAB_TRISCALE;
+ br->flag &= ~BRUSH_ALPHA_PRESSURE;
+ br->flag &= ~BRUSH_SPACE;
+ br->flag &= ~BRUSH_SPACE_ATTEN;
+ break;
+ case SCULPT_TOOL_POSE:
+ br->flag &= ~BRUSH_ALPHA_PRESSURE;
+ br->flag &= ~BRUSH_SPACE;
+ br->flag &= ~BRUSH_SPACE_ATTEN;
+ break;
+ case SCULPT_TOOL_GRAB:
+ br->alpha = 0.4f;
+ br->size = 75;
+ br->flag &= ~BRUSH_ALPHA_PRESSURE;
+ br->flag &= ~BRUSH_SPACE;
+ br->flag &= ~BRUSH_SPACE_ATTEN;
+ break;
+ default:
+ break;
+ }
+
+ /* Cursor colors */
+ switch (br->sculpt_tool) {
+ case SCULPT_TOOL_DRAW:
+ case SCULPT_TOOL_DRAW_SHARP:
+ case SCULPT_TOOL_CLAY:
+ case SCULPT_TOOL_CLAY_STRIPS:
+ case SCULPT_TOOL_LAYER:
+ case SCULPT_TOOL_INFLATE:
+ case SCULPT_TOOL_BLOB:
+ case SCULPT_TOOL_CREASE:
+ br->add_col[0] = 0.5f;
+ br->add_col[1] = 0.7f;
+ br->add_col[2] = 0.875f;
+ br->sub_col[0] = 0.5f;
+ br->sub_col[1] = 0.7f;
+ br->sub_col[2] = 0.875f;
+ break;
+
+ case SCULPT_TOOL_SMOOTH:
+ case SCULPT_TOOL_FLATTEN:
+ case SCULPT_TOOL_FILL:
+ case SCULPT_TOOL_SCRAPE:
+ br->add_col[0] = 1.0f;
+ br->add_col[1] = 0.39f;
+ br->add_col[2] = 0.39f;
+ br->sub_col[0] = 1.0f;
+ br->sub_col[1] = 0.39f;
+ br->sub_col[2] = 0.39f;
+ break;
+
+ case SCULPT_TOOL_PINCH:
+ case SCULPT_TOOL_GRAB:
+ case SCULPT_TOOL_SNAKE_HOOK:
+ case SCULPT_TOOL_THUMB:
+ case SCULPT_TOOL_NUDGE:
+ case SCULPT_TOOL_ROTATE:
+ case SCULPT_TOOL_ELASTIC_DEFORM:
+ case SCULPT_TOOL_POSE:
+ br->add_col[0] = 1.0f;
+ br->add_col[1] = 1.0f;
+ br->add_col[2] = 0.39f;
+ br->sub_col[0] = 1.0f;
+ br->sub_col[1] = 1.0f;
+ br->sub_col[2] = 0.39f;
+ break;
+
+ case SCULPT_TOOL_SIMPLIFY:
+ case SCULPT_TOOL_MASK:
+ br->add_col[0] = 0.750000;
+ br->add_col[1] = 0.750000;
+ br->add_col[2] = 0.750000;
+ br->sub_col[0] = 0.750000;
+ br->sub_col[1] = 0.750000;
+ br->sub_col[2] = 0.750000;
break;
default:
break;
@@ -1470,11 +1624,11 @@ unsigned int *BKE_brush_gen_texture_cache(Brush *br, int half_side, bool use_sec
}
/**** Radial Control ****/
-struct ImBuf *BKE_brush_gen_radial_control_imbuf(Brush *br, bool secondary)
+struct ImBuf *BKE_brush_gen_radial_control_imbuf(Brush *br, bool secondary, bool display_gradient)
{
ImBuf *im = MEM_callocN(sizeof(ImBuf), "radial control texture");
unsigned int *texcache;
- int side = 128;
+ int side = 512;
int half = side / 2;
int i, j;
@@ -1483,15 +1637,17 @@ struct ImBuf *BKE_brush_gen_radial_control_imbuf(Brush *br, bool secondary)
im->rect_float = MEM_callocN(sizeof(float) * side * side, "radial control rect");
im->x = im->y = side;
- for (i = 0; i < side; i++) {
- for (j = 0; j < side; j++) {
- float magn = sqrtf(pow2f(i - half) + pow2f(j - half));
- im->rect_float[i * side + j] = BKE_brush_curve_strength_clamped(br, magn, half);
+ if (display_gradient || texcache) {
+ for (i = 0; i < side; i++) {
+ for (j = 0; j < side; j++) {
+ float magn = sqrtf(pow2f(i - half) + pow2f(j - half));
+ im->rect_float[i * side + j] = BKE_brush_curve_strength_clamped(br, magn, half);
+ }
}
}
- /* Modulate curve with texture */
if (texcache) {
+ /* Modulate curve with texture */
for (i = 0; i < side; i++) {
for (j = 0; j < side; j++) {
const int col = texcache[i * side + j];
@@ -1500,7 +1656,6 @@ struct ImBuf *BKE_brush_gen_radial_control_imbuf(Brush *br, bool secondary)
3.0f / 255.0f;
}
}
-
MEM_freeN(texcache);
}
diff --git a/source/blender/blenkernel/intern/cloth.c b/source/blender/blenkernel/intern/cloth.c
index 63d58f7e32e..463cbd4f378 100644
--- a/source/blender/blenkernel/intern/cloth.c
+++ b/source/blender/blenkernel/intern/cloth.c
@@ -772,7 +772,7 @@ static int cloth_from_object(
clmd->clothObject->old_solver_type = 255;
clmd->clothObject->edgeset = NULL;
}
- else if (!clmd->clothObject) {
+ else {
modifier_setError(&(clmd->modifier), "Out of memory on allocating clmd->clothObject");
return 0;
}
diff --git a/source/blender/blenkernel/intern/collection.c b/source/blender/blenkernel/intern/collection.c
index f2098cc2430..68a38c94ff7 100644
--- a/source/blender/blenkernel/intern/collection.c
+++ b/source/blender/blenkernel/intern/collection.c
@@ -773,7 +773,7 @@ static bool scene_collections_object_remove(
bool removed = false;
if (collection_skip == NULL) {
- BKE_scene_remove_rigidbody_object(bmain, scene, ob);
+ BKE_scene_remove_rigidbody_object(bmain, scene, ob, free_us);
}
FOREACH_SCENE_COLLECTION_BEGIN (scene, collection) {
@@ -1305,6 +1305,9 @@ bool BKE_collection_move(Main *bmain,
BLI_ghash_free(view_layer_hash, NULL, NULL);
+ /* We need to sync it again to pass the correct flags to the collections objects. */
+ BKE_main_collection_sync(bmain);
+
return true;
}
diff --git a/source/blender/blenkernel/intern/constraint.c b/source/blender/blenkernel/intern/constraint.c
index d59849695ff..c397fbcf115 100644
--- a/source/blender/blenkernel/intern/constraint.c
+++ b/source/blender/blenkernel/intern/constraint.c
@@ -255,7 +255,7 @@ void BKE_constraints_clear_evalob(bConstraintOb *cob)
* For now, this is only implemented for Objects and PoseChannels.
*/
void BKE_constraint_mat_convertspace(
- Object *ob, bPoseChannel *pchan, float mat[4][4], short from, short to, const bool keep_scale)
+ Object *ob, bPoseChannel *pchan, float mat[4][4], short from, short to)
{
float diff_mat[4][4];
float imat[4][4];
@@ -282,7 +282,7 @@ void BKE_constraint_mat_convertspace(
/* use pose-space as stepping stone for other spaces... */
if (ELEM(to, CONSTRAINT_SPACE_LOCAL, CONSTRAINT_SPACE_PARLOCAL)) {
/* call self with slightly different values */
- BKE_constraint_mat_convertspace(ob, pchan, mat, CONSTRAINT_SPACE_POSE, to, keep_scale);
+ BKE_constraint_mat_convertspace(ob, pchan, mat, CONSTRAINT_SPACE_POSE, to);
}
break;
}
@@ -318,7 +318,7 @@ void BKE_constraint_mat_convertspace(
/* use pose-space as stepping stone for other spaces */
if (ELEM(to, CONSTRAINT_SPACE_WORLD, CONSTRAINT_SPACE_PARLOCAL)) {
/* call self with slightly different values */
- BKE_constraint_mat_convertspace(ob, pchan, mat, CONSTRAINT_SPACE_POSE, to, keep_scale);
+ BKE_constraint_mat_convertspace(ob, pchan, mat, CONSTRAINT_SPACE_POSE, to);
}
break;
}
@@ -332,7 +332,7 @@ void BKE_constraint_mat_convertspace(
/* use pose-space as stepping stone for other spaces */
if (ELEM(to, CONSTRAINT_SPACE_WORLD, CONSTRAINT_SPACE_LOCAL)) {
/* call self with slightly different values */
- BKE_constraint_mat_convertspace(ob, pchan, mat, CONSTRAINT_SPACE_POSE, to, keep_scale);
+ BKE_constraint_mat_convertspace(ob, pchan, mat, CONSTRAINT_SPACE_POSE, to);
}
break;
}
@@ -348,27 +348,6 @@ void BKE_constraint_mat_convertspace(
invert_m4_m4_safe(imat, diff_mat);
mul_m4_m4m4(mat, imat, mat);
}
- else {
- /* Local space in this case will have to be defined as local to the owner's
- * transform-property-rotated axes. So subtract this rotation component.
- */
- /* XXX This is actually an ugly hack, local space of a parent-less object *is* the same as
- * global space!
- * Think what we want actually here is some kind of 'Final Space', i.e
- * . once transformations are applied - users are often confused about this too,
- * this is not consistent with bones
- * local space either... Meh :|
- * --mont29
- */
- BKE_object_to_mat4(ob, diff_mat);
- if (!keep_scale) {
- normalize_m4(diff_mat);
- }
- zero_v3(diff_mat[3]);
-
- invert_m4_m4_safe(imat, diff_mat);
- mul_m4_m4m4(mat, imat, mat);
- }
}
else if (from == CONSTRAINT_SPACE_LOCAL && to == CONSTRAINT_SPACE_WORLD) {
/* check that object has a parent - otherwise this won't work */
@@ -377,19 +356,6 @@ void BKE_constraint_mat_convertspace(
mul_m4_m4m4(diff_mat, ob->parent->obmat, ob->parentinv);
mul_m4_m4m4(mat, diff_mat, mat);
}
- else {
- /* Local space in this case will have to be defined as local to the owner's
- * transform-property-rotated axes. So add back this rotation component.
- */
- /* XXX See comment above for world->local case... */
- BKE_object_to_mat4(ob, diff_mat);
- if (!keep_scale) {
- normalize_m4(diff_mat);
- }
- zero_v3(diff_mat[3]);
-
- mul_m4_m4m4(mat, diff_mat, mat);
- }
}
}
}
@@ -575,7 +541,7 @@ static void constraint_target_to_mat4(Object *ob,
/* Case OBJECT */
if (substring[0] == '\0') {
copy_m4_m4(mat, ob->obmat);
- BKE_constraint_mat_convertspace(ob, NULL, mat, from, to, false);
+ BKE_constraint_mat_convertspace(ob, NULL, mat, from, to);
}
/* Case VERTEXGROUP */
/* Current method just takes the average location of all the points in the
@@ -588,11 +554,11 @@ static void constraint_target_to_mat4(Object *ob,
*/
else if (ob->type == OB_MESH) {
contarget_get_mesh_mat(ob, substring, mat);
- BKE_constraint_mat_convertspace(ob, NULL, mat, from, to, false);
+ BKE_constraint_mat_convertspace(ob, NULL, mat, from, to);
}
else if (ob->type == OB_LATTICE) {
contarget_get_lattice_mat(ob, substring, mat);
- BKE_constraint_mat_convertspace(ob, NULL, mat, from, to, false);
+ BKE_constraint_mat_convertspace(ob, NULL, mat, from, to);
}
/* Case BONE */
else {
@@ -656,7 +622,7 @@ static void constraint_target_to_mat4(Object *ob,
}
/* convert matrix space as required */
- BKE_constraint_mat_convertspace(ob, pchan, mat, from, to, false);
+ BKE_constraint_mat_convertspace(ob, pchan, mat, from, to);
}
}
@@ -3274,29 +3240,28 @@ static void stretchto_evaluate(bConstraint *con, bConstraintOb *cob, ListBase *t
/* only evaluate if there is a target */
if (VALID_CONS_TARGET(ct)) {
float size[3], scale[3], vec[3], xx[3], zz[3], orth[3];
- float totmat[3][3];
float dist, bulge;
+ /* Remove shear if using the Damped Track mode; the other modes
+ * do it as a side effect, which is relied on by rigs. */
+ if (data->plane == SWING_Y) {
+ orthogonalize_m4_stable(cob->matrix, 1, false);
+ }
+
/* store scaling before destroying obmat */
- mat4_to_size(size, cob->matrix);
+ normalize_m4_ex(cob->matrix, size);
/* store X orientation before destroying obmat */
- normalize_v3_v3(xx, cob->matrix[0]);
+ copy_v3_v3(xx, cob->matrix[0]);
/* store Z orientation before destroying obmat */
- normalize_v3_v3(zz, cob->matrix[2]);
+ copy_v3_v3(zz, cob->matrix[2]);
- /* XXX That makes the constraint buggy with asymmetrically scaled objects, see #29940. */
-#if 0
- sub_v3_v3v3(vec, cob->matrix[3], ct->matrix[3]);
- vec[0] /= size[0];
- vec[1] /= size[1];
- vec[2] /= size[2];
+ /* Compute distance and direction to target. */
+ sub_v3_v3v3(vec, ct->matrix[3], cob->matrix[3]);
dist = normalize_v3(vec);
-#endif
- dist = len_v3v3(cob->matrix[3], ct->matrix[3]);
/* Only Y constrained object axis scale should be used, to keep same length when scaling it. */
dist /= size[1];
@@ -3366,52 +3331,49 @@ static void stretchto_evaluate(bConstraint *con, bConstraintOb *cob, ListBase *t
return;
} /* switch (data->volmode) */
- /* Clear the object's rotation and scale */
- cob->matrix[0][0] = size[0] * scale[0];
- cob->matrix[0][1] = 0;
- cob->matrix[0][2] = 0;
- cob->matrix[1][0] = 0;
- cob->matrix[1][1] = size[1] * scale[1];
- cob->matrix[1][2] = 0;
- cob->matrix[2][0] = 0;
- cob->matrix[2][1] = 0;
- cob->matrix[2][2] = size[2] * scale[2];
-
- sub_v3_v3v3(vec, cob->matrix[3], ct->matrix[3]);
- normalize_v3(vec);
+ /* Compute final scale. */
+ mul_v3_v3(size, scale);
- /* new Y aligns object target connection*/
- negate_v3_v3(totmat[1], vec);
switch (data->plane) {
+ case SWING_Y:
+ /* Point the Y axis using Damped Track math. */
+ damptrack_do_transform(cob->matrix, vec, TRACK_Y);
+ break;
case PLANE_X:
+ /* new Y aligns object target connection*/
+ copy_v3_v3(cob->matrix[1], vec);
+
/* build new Z vector */
/* othogonal to "new Y" "old X! plane */
- cross_v3_v3v3(orth, vec, xx);
+ cross_v3_v3v3(orth, xx, vec);
normalize_v3(orth);
/* new Z*/
- copy_v3_v3(totmat[2], orth);
+ copy_v3_v3(cob->matrix[2], orth);
/* we decided to keep X plane*/
- cross_v3_v3v3(xx, orth, vec);
- normalize_v3_v3(totmat[0], xx);
+ cross_v3_v3v3(xx, vec, orth);
+ normalize_v3_v3(cob->matrix[0], xx);
break;
case PLANE_Z:
+ /* new Y aligns object target connection*/
+ copy_v3_v3(cob->matrix[1], vec);
+
/* build new X vector */
/* othogonal to "new Y" "old Z! plane */
- cross_v3_v3v3(orth, vec, zz);
+ cross_v3_v3v3(orth, zz, vec);
normalize_v3(orth);
/* new X */
- negate_v3_v3(totmat[0], orth);
+ negate_v3_v3(cob->matrix[0], orth);
/* we decided to keep Z */
- cross_v3_v3v3(zz, orth, vec);
- normalize_v3_v3(totmat[2], zz);
+ cross_v3_v3v3(zz, vec, orth);
+ normalize_v3_v3(cob->matrix[2], zz);
break;
} /* switch (data->plane) */
- mul_m4_m3m4(cob->matrix, totmat, cob->matrix);
+ rescale_m4(cob->matrix, size);
}
}
@@ -4095,12 +4057,9 @@ static void shrinkwrap_get_tarmat(struct Depsgraph *UNUSED(depsgraph),
}
/* Transform normal into requested space */
- /* Note that in this specific case, we need to keep scaling in non-parented 'local2world'
- * object case, because SpaceTransform also takes it into account when handling normals.
- * See T42447. */
unit_m4(mat);
BKE_constraint_mat_convertspace(
- cob->ob, cob->pchan, mat, CONSTRAINT_SPACE_LOCAL, scon->projAxisSpace, true);
+ cob->ob, cob->pchan, mat, CONSTRAINT_SPACE_LOCAL, scon->projAxisSpace);
invert_m4(mat);
mul_mat3_m4_v3(mat, no);
@@ -5834,7 +5793,7 @@ void BKE_constraints_solve(struct Depsgraph *depsgraph,
/* move owner matrix into right space */
BKE_constraint_mat_convertspace(
- cob->ob, cob->pchan, cob->matrix, CONSTRAINT_SPACE_WORLD, con->ownspace, false);
+ cob->ob, cob->pchan, cob->matrix, CONSTRAINT_SPACE_WORLD, con->ownspace);
/* prepare targets for constraint solving */
BKE_constraint_targets_for_solving_get(depsgraph, con, cob, &targets, ctime);
@@ -5853,7 +5812,7 @@ void BKE_constraints_solve(struct Depsgraph *depsgraph,
/* move owner back into worldspace for next constraint/other business */
if ((con->flag & CONSTRAINT_SPACEONCE) == 0) {
BKE_constraint_mat_convertspace(
- cob->ob, cob->pchan, cob->matrix, con->ownspace, CONSTRAINT_SPACE_WORLD, false);
+ cob->ob, cob->pchan, cob->matrix, con->ownspace, CONSTRAINT_SPACE_WORLD);
}
/* Interpolate the enforcement, to blend result of constraint into final owner transform
diff --git a/source/blender/blenkernel/intern/context.c b/source/blender/blenkernel/intern/context.c
index 7f2f04d7eb5..2e4f756ce68 100644
--- a/source/blender/blenkernel/intern/context.c
+++ b/source/blender/blenkernel/intern/context.c
@@ -758,7 +758,7 @@ RegionView3D *CTX_wm_region_view3d(const bContext *C)
ARegion *ar = CTX_wm_region(C);
if (sa && sa->spacetype == SPACE_VIEW3D) {
- if (ar) {
+ if (ar && ar->regiontype == RGN_TYPE_WINDOW) {
return ar->regiondata;
}
}
diff --git a/source/blender/blenkernel/intern/crazyspace.c b/source/blender/blenkernel/intern/crazyspace.c
index 6740fc985e9..fe834658689 100644
--- a/source/blender/blenkernel/intern/crazyspace.c
+++ b/source/blender/blenkernel/intern/crazyspace.c
@@ -355,7 +355,7 @@ static void crazyspace_init_verts_and_matrices(const Mesh *mesh,
BLI_assert(num_verts == mesh->totvert);
}
-static bool crazyspace_modifier_supports_deform(ModifierData *md)
+static bool crazyspace_modifier_supports_deform_matrices(ModifierData *md)
{
if (ELEM(md->type, eModifierType_Subsurf, eModifierType_Multires)) {
return true;
@@ -364,6 +364,12 @@ static bool crazyspace_modifier_supports_deform(ModifierData *md)
return (mti->type == eModifierTypeType_OnlyDeform);
}
+static bool crazyspace_modifier_supports_deform(ModifierData *md)
+{
+ const ModifierTypeInfo *mti = modifierType_getInfo(md->type);
+ return (mti->type == eModifierTypeType_OnlyDeform);
+}
+
int BKE_sculpt_get_first_deform_matrices(struct Depsgraph *depsgraph,
Scene *scene,
Object *object,
@@ -391,13 +397,12 @@ int BKE_sculpt_get_first_deform_matrices(struct Depsgraph *depsgraph,
md = modifiers_getVirtualModifierList(&object_eval, &virtualModifierData);
for (; md; md = md->next) {
- const ModifierTypeInfo *mti = modifierType_getInfo(md->type);
-
if (!modifier_isEnabled(scene, md, eModifierMode_Realtime)) {
continue;
}
- if (mti->type == eModifierTypeType_OnlyDeform) {
+ if (crazyspace_modifier_supports_deform_matrices(md)) {
+ const ModifierTypeInfo *mti = modifierType_getInfo(md->type);
if (defmats == NULL) {
/* NOTE: Evaluated object si re-set to its original undeformed
* state. */
diff --git a/source/blender/blenkernel/intern/displist.c b/source/blender/blenkernel/intern/displist.c
index cbd3c91acc7..46f6a604eaa 100644
--- a/source/blender/blenkernel/intern/displist.c
+++ b/source/blender/blenkernel/intern/displist.c
@@ -624,7 +624,7 @@ void BKE_displist_fill(ListBase *dispbase,
static void bevels_to_filledpoly(Curve *cu, ListBase *dispbase)
{
- const float z_up[3] = {0.0f, 0.0f, 1.0f};
+ const float z_up[3] = {0.0f, 0.0f, -1.0f};
ListBase front, back;
DispList *dl, *dlnew;
float *fp, *fp1;
@@ -703,7 +703,7 @@ static void curve_to_filledpoly(Curve *cu, ListBase *UNUSED(nurb), ListBase *dis
bevels_to_filledpoly(cu, dispbase);
}
else {
- const float z_up[3] = {0.0f, 0.0f, 1.0f};
+ const float z_up[3] = {0.0f, 0.0f, -1.0f};
BKE_displist_fill(dispbase, dispbase, z_up, false);
}
}
@@ -1730,11 +1730,11 @@ static void do_makeDispListCurveTypes(Depsgraph *depsgraph,
if (cu->bevobj && (cu->flag & CU_FILL_CAPS) && !(nu->flagu & CU_NURB_CYCLIC)) {
if (a == 1) {
fillBevelCap(nu, dlb, cur_data - 3 * dlb->nr, &bottom_capbase);
- negate_v3_v3(bottom_no, bevp->dir);
+ copy_v3_v3(bottom_no, bevp->dir);
}
if (a == steps - 1) {
fillBevelCap(nu, dlb, cur_data, &top_capbase);
- copy_v3_v3(top_no, bevp->dir);
+ negate_v3_v3(top_no, bevp->dir);
}
}
}
diff --git a/source/blender/blenkernel/intern/editlattice.c b/source/blender/blenkernel/intern/editlattice.c
index 12e737bbaa8..2d71b847b5b 100644
--- a/source/blender/blenkernel/intern/editlattice.c
+++ b/source/blender/blenkernel/intern/editlattice.c
@@ -92,6 +92,21 @@ void BKE_editlattice_load(Object *obedit)
lt = obedit->data;
editlt = lt->editlatt->latt;
+ MEM_freeN(lt->def);
+
+ lt->def = MEM_dupallocN(editlt->def);
+
+ lt->flag = editlt->flag;
+
+ lt->pntsu = editlt->pntsu;
+ lt->pntsv = editlt->pntsv;
+ lt->pntsw = editlt->pntsw;
+
+ lt->typeu = editlt->typeu;
+ lt->typev = editlt->typev;
+ lt->typew = editlt->typew;
+ lt->actbp = editlt->actbp;
+
if (lt->editlatt->shapenr) {
actkey = BLI_findlink(&lt->key->block, lt->editlatt->shapenr - 1);
@@ -112,22 +127,6 @@ void BKE_editlattice_load(Object *obedit)
bp++;
}
}
- else {
- MEM_freeN(lt->def);
-
- lt->def = MEM_dupallocN(editlt->def);
-
- lt->flag = editlt->flag;
-
- lt->pntsu = editlt->pntsu;
- lt->pntsv = editlt->pntsv;
- lt->pntsw = editlt->pntsw;
-
- lt->typeu = editlt->typeu;
- lt->typev = editlt->typev;
- lt->typew = editlt->typew;
- lt->actbp = editlt->actbp;
- }
if (lt->dvert) {
BKE_defvert_array_free(lt->dvert, lt->pntsu * lt->pntsv * lt->pntsw);
diff --git a/source/blender/blenkernel/intern/fcurve.c b/source/blender/blenkernel/intern/fcurve.c
index b596eeb9e35..0f4845a32c0 100644
--- a/source/blender/blenkernel/intern/fcurve.c
+++ b/source/blender/blenkernel/intern/fcurve.c
@@ -1560,7 +1560,7 @@ static float dvar_eval_locDiff(ChannelDriver *driver, DriverVar *dvar)
/* extract transform just like how the constraints do it! */
copy_m4_m4(mat, pchan->pose_mat);
BKE_constraint_mat_convertspace(
- ob, pchan, mat, CONSTRAINT_SPACE_POSE, CONSTRAINT_SPACE_LOCAL, false);
+ ob, pchan, mat, CONSTRAINT_SPACE_POSE, CONSTRAINT_SPACE_LOCAL);
/* ... and from that, we get our transform */
copy_v3_v3(tmp_loc, mat[3]);
@@ -1586,7 +1586,7 @@ static float dvar_eval_locDiff(ChannelDriver *driver, DriverVar *dvar)
/* extract transform just like how the constraints do it! */
copy_m4_m4(mat, ob->obmat);
BKE_constraint_mat_convertspace(
- ob, NULL, mat, CONSTRAINT_SPACE_WORLD, CONSTRAINT_SPACE_LOCAL, false);
+ ob, NULL, mat, CONSTRAINT_SPACE_WORLD, CONSTRAINT_SPACE_LOCAL);
/* ... and from that, we get our transform */
copy_v3_v3(tmp_loc, mat[3]);
@@ -1663,7 +1663,7 @@ static float dvar_eval_transChan(ChannelDriver *driver, DriverVar *dvar)
/* just like how the constraints do it! */
copy_m4_m4(mat, pchan->pose_mat);
BKE_constraint_mat_convertspace(
- ob, pchan, mat, CONSTRAINT_SPACE_POSE, CONSTRAINT_SPACE_LOCAL, false);
+ ob, pchan, mat, CONSTRAINT_SPACE_POSE, CONSTRAINT_SPACE_LOCAL);
}
else {
/* specially calculate local matrix, since chan_mat is not valid
@@ -1691,7 +1691,7 @@ static float dvar_eval_transChan(ChannelDriver *driver, DriverVar *dvar)
/* just like how the constraints do it! */
copy_m4_m4(mat, ob->obmat);
BKE_constraint_mat_convertspace(
- ob, NULL, mat, CONSTRAINT_SPACE_WORLD, CONSTRAINT_SPACE_LOCAL, false);
+ ob, NULL, mat, CONSTRAINT_SPACE_WORLD, CONSTRAINT_SPACE_LOCAL);
}
else {
/* transforms to matrix */
diff --git a/source/blender/blenkernel/intern/fmodifier.c b/source/blender/blenkernel/intern/fmodifier.c
index 48c0258bf47..10499ae0b5c 100644
--- a/source/blender/blenkernel/intern/fmodifier.c
+++ b/source/blender/blenkernel/intern/fmodifier.c
@@ -821,7 +821,7 @@ static void fcm_noise_evaluate(
FMod_Noise *data = (FMod_Noise *)fcm->data;
float noise;
- /* generate noise using good ol' Blender Noise
+ /* generate noise using good old Blender Noise
* - 0.1 is passed as the 'z' value, otherwise evaluation fails for size = phase = 1
* with evaltime being an integer (which happens when evaluating on frame by frame basis)
*/
diff --git a/source/blender/blenkernel/intern/font.c b/source/blender/blenkernel/intern/font.c
index b55635560be..250e6ff6a7b 100644
--- a/source/blender/blenkernel/intern/font.c
+++ b/source/blender/blenkernel/intern/font.c
@@ -397,6 +397,9 @@ static void build_underline(Curve *cu,
copy_v4_fl4(bp[2].vec, rect->xmax, (rect->ymin + yofs), 0.0f, 1.0f);
copy_v4_fl4(bp[3].vec, rect->xmin, (rect->ymin + yofs), 0.0f, 1.0f);
+ /* Used by curve extrusion. */
+ bp[0].radius = bp[1].radius = bp[2].radius = bp[3].radius = 1.0f;
+
nu2->bp = bp;
BLI_addtail(nubase, nu2);
diff --git a/source/blender/blenkernel/intern/gpencil.c b/source/blender/blenkernel/intern/gpencil.c
index 7a6189bbbc6..e885aa04881 100644
--- a/source/blender/blenkernel/intern/gpencil.c
+++ b/source/blender/blenkernel/intern/gpencil.c
@@ -427,9 +427,9 @@ bGPdata *BKE_gpencil_data_addnew(Main *bmain, const char name[])
gpd->pixfactor = GP_DEFAULT_PIX_FACTOR;
/* grid settings */
- ARRAY_SET_ITEMS(gpd->grid.color, 0.5f, 0.5f, 0.5f); // Color
- ARRAY_SET_ITEMS(gpd->grid.scale, 1.0f, 1.0f); // Scale
- gpd->grid.lines = GP_DEFAULT_GRID_LINES; // Number of lines
+ ARRAY_SET_ITEMS(gpd->grid.color, 0.5f, 0.5f, 0.5f); /* Color */
+ ARRAY_SET_ITEMS(gpd->grid.scale, 1.0f, 1.0f); /* Scale */
+ gpd->grid.lines = GP_DEFAULT_GRID_LINES; /* Number of lines */
/* onion-skinning settings (datablock level) */
gpd->onion_flag |= (GP_ONION_GHOST_PREVCOL | GP_ONION_GHOST_NEXTCOL);
@@ -664,7 +664,7 @@ bGPdata *BKE_gpencil_copy(Main *bmain, const bGPdata *gpd)
}
/* make a copy of a given gpencil datablock */
-// XXX: Should this be deprecated?
+/* XXX: Should this be deprecated? */
bGPdata *BKE_gpencil_data_duplicate(Main *bmain, const bGPdata *gpd_src, bool internal_copy)
{
bGPdata *gpd_dst;
@@ -1397,6 +1397,7 @@ void BKE_gpencil_vgroup_remove(Object *ob, bDeformGroup *defgroup)
bGPdata *gpd = ob->data;
MDeformVert *dvert = NULL;
const int def_nr = BLI_findindex(&ob->defbase, defgroup);
+ const int totgrp = BLI_listbase_count(&ob->defbase);
/* Remove points data */
if (gpd) {
@@ -1411,9 +1412,9 @@ void BKE_gpencil_vgroup_remove(Object *ob, bDeformGroup *defgroup)
defvert_remove_group(dvert, dw);
}
else {
- /* reorganize weights in other strokes */
- for (int g = 0; g < gps->dvert->totweight; g++) {
- dw = &dvert->dw[g];
+ /* Reorganize weights for other groups after deleted one. */
+ for (int g = 0; g < totgrp; g++) {
+ dw = defvert_find_index(dvert, g);
if ((dw != NULL) && (dw->def_nr > def_nr)) {
dw->def_nr--;
}
@@ -1760,7 +1761,6 @@ bool BKE_gpencil_sample_stroke(bGPDstroke *gps, const float dist, const bool sel
bool BKE_gpencil_smooth_stroke(bGPDstroke *gps, int i, float inf)
{
bGPDspoint *pt = &gps->points[i];
- // float pressure = 0.0f;
float sco[3] = {0.0f};
/* Do nothing if not enough points to smooth out */
diff --git a/source/blender/blenkernel/intern/idprop.c b/source/blender/blenkernel/intern/idprop.c
index 016da52252a..1125047be32 100644
--- a/source/blender/blenkernel/intern/idprop.c
+++ b/source/blender/blenkernel/intern/idprop.c
@@ -1085,6 +1085,12 @@ void IDP_FreePropertyContent(IDProperty *prop)
IDP_FreePropertyContent_ex(prop, true);
}
+void IDP_FreeProperty_ex(IDProperty *prop, const bool do_id_user)
+{
+ IDP_FreePropertyContent_ex(prop, do_id_user);
+ MEM_freeN(prop);
+}
+
void IDP_FreeProperty(IDProperty *prop)
{
IDP_FreePropertyContent(prop);
diff --git a/source/blender/blenkernel/intern/image.c b/source/blender/blenkernel/intern/image.c
index bc682ffb8c8..332549c6b47 100644
--- a/source/blender/blenkernel/intern/image.c
+++ b/source/blender/blenkernel/intern/image.c
@@ -569,7 +569,7 @@ Image *BKE_image_load_exists_ex(Main *bmain, const char *filepath, bool *r_exist
char str[FILE_MAX], strtest[FILE_MAX];
STRNCPY(str, filepath);
- BLI_path_abs(str, BKE_main_blendfile_path_from_global());
+ BLI_path_abs(str, bmain->name);
/* first search an identical filepath */
for (ima = bmain->images.first; ima; ima = ima->id.next) {
@@ -5310,7 +5310,7 @@ static void image_update_views_format(Image *ima, ImageUser *iuser)
char str[FILE_MAX];
STRNCPY(str, iv->filepath);
- BLI_path_abs(str, BKE_main_blendfile_path_from_global());
+ BLI_path_abs(str, ID_BLEND_PATH_FROM_GLOBAL(&ima->id));
/* exists? */
file = BLI_open(str, O_BINARY | O_RDONLY, 0);
diff --git a/source/blender/blenkernel/intern/keyconfig.c b/source/blender/blenkernel/intern/keyconfig.c
index c6f2727df08..5e68d093d52 100644
--- a/source/blender/blenkernel/intern/keyconfig.c
+++ b/source/blender/blenkernel/intern/keyconfig.c
@@ -114,6 +114,12 @@ void BKE_keyconfig_pref_type_free(void)
global_keyconfigpreftype_hash = NULL;
}
+/** \} */
+
+/* -------------------------------------------------------------------- */
+/** \name Key-Config Versioning
+ * \{ */
+
/* Set select mouse, for versioning code. */
void BKE_keyconfig_pref_set_select_mouse(UserDef *userdef, int value, bool override)
{
@@ -130,4 +136,82 @@ void BKE_keyconfig_pref_set_select_mouse(UserDef *userdef, int value, bool overr
}
}
+static void keymap_item_free(wmKeyMapItem *kmi)
+{
+ IDP_FreeProperty(kmi->properties);
+ if (kmi->ptr) {
+ MEM_freeN(kmi->ptr);
+ }
+ MEM_freeN(kmi);
+}
+
+static void keymap_diff_item_free(wmKeyMapDiffItem *kmdi)
+{
+ if (kmdi->add_item) {
+ keymap_item_free(kmdi->add_item);
+ }
+ if (kmdi->remove_item) {
+ keymap_item_free(kmdi->remove_item);
+ }
+ MEM_freeN(kmdi);
+}
+
+void BKE_keyconfig_keymap_filter_item(wmKeyMap *keymap,
+ const struct wmKeyConfigFilterItemParams *params,
+ bool (*filter_fn)(wmKeyMapItem *kmi, void *user_data),
+ void *user_data)
+{
+ if (params->check_diff_item_add || params->check_diff_item_remove) {
+ for (wmKeyMapDiffItem *kmdi = keymap->diff_items.first, *kmdi_next; kmdi; kmdi = kmdi_next) {
+ kmdi_next = kmdi->next;
+ bool remove = false;
+
+ if (params->check_diff_item_add) {
+ if (kmdi->add_item) {
+ if (filter_fn(kmdi->add_item, user_data)) {
+ remove = true;
+ }
+ }
+ }
+
+ if (!remove && params->check_diff_item_remove) {
+ if (kmdi->remove_item) {
+ if (filter_fn(kmdi->remove_item, user_data)) {
+ remove = true;
+ }
+ }
+ }
+
+ if (remove) {
+ BLI_remlink(&keymap->diff_items, kmdi);
+ keymap_diff_item_free(kmdi);
+ }
+ }
+ }
+
+ if (params->check_item) {
+ for (wmKeyMapItem *kmi = keymap->items.first, *kmi_next; kmi; kmi = kmi_next) {
+ kmi_next = kmi->next;
+ if (filter_fn(kmi, user_data)) {
+ BLI_remlink(&keymap->items, kmi);
+ keymap_item_free(kmi);
+ }
+ }
+ }
+}
+
+/**
+ * Filter & optionally remove key-map items,
+ * intended for versioning, but may be used in other situations too.
+ */
+void BKE_keyconfig_pref_filter_items(struct UserDef *userdef,
+ const struct wmKeyConfigFilterItemParams *params,
+ bool (*filter_fn)(wmKeyMapItem *kmi, void *user_data),
+ void *user_data)
+{
+ for (wmKeyMap *keymap = userdef->user_keymaps.first; keymap; keymap = keymap->next) {
+ BKE_keyconfig_keymap_filter_item(keymap, params, filter_fn, user_data);
+ }
+}
+
/** \} */
diff --git a/source/blender/blenkernel/intern/layer.c b/source/blender/blenkernel/intern/layer.c
index 9b18052ef1e..34c1c5ecab4 100644
--- a/source/blender/blenkernel/intern/layer.c
+++ b/source/blender/blenkernel/intern/layer.c
@@ -44,6 +44,7 @@
#include "DNA_object_types.h"
#include "DNA_node_types.h"
#include "DNA_scene_types.h"
+#include "DNA_view3d_types.h"
#include "DNA_windowmanager_types.h"
#include "DNA_workspace_types.h"
@@ -56,9 +57,10 @@
#include "MEM_guardedalloc.h"
/* Set of flags which are dependent on a collection settings. */
-static const short g_base_collection_flags = (BASE_VISIBLE | BASE_SELECTABLE |
- BASE_ENABLED_VIEWPORT | BASE_ENABLED_RENDER |
- BASE_HOLDOUT | BASE_INDIRECT_ONLY);
+static const short g_base_collection_flags = (BASE_VISIBLE_DEPSGRAPH | BASE_VISIBLE_VIEWLAYER |
+ BASE_SELECTABLE | BASE_ENABLED_VIEWPORT |
+ BASE_ENABLED_RENDER | BASE_HOLDOUT |
+ BASE_INDIRECT_ONLY);
/* prototype */
static void object_bases_iterator_next(BLI_Iterator *iter, const int flag);
@@ -237,7 +239,7 @@ void BKE_view_layer_free_ex(ViewLayer *view_layer, const bool do_id_user)
BKE_freestyle_config_free(&view_layer->freestyle_config, do_id_user);
if (view_layer->id_properties) {
- IDP_FreeProperty(view_layer->id_properties);
+ IDP_FreeProperty_ex(view_layer->id_properties, do_id_user);
}
MEM_SAFE_FREE(view_layer->object_bases_array);
@@ -735,9 +737,15 @@ static short layer_collection_sync(ViewLayer *view_layer,
lc->runtime_flag = child_runtime_flag;
}
- if (((child_restrict & COLLECTION_RESTRICT_VIEWPORT) == 0) &&
+ /* We separate restrict viewport and visible view layer because a layer collection can be
+ * hidden in the view layer yet (locally) visible in a viewport (if it is not restricted).*/
+ if (child_restrict & COLLECTION_RESTRICT_VIEWPORT) {
+ lc->runtime_flag |= LAYER_COLLECTION_RESTRICT_VIEWPORT;
+ }
+
+ if (((lc->runtime_flag & LAYER_COLLECTION_RESTRICT_VIEWPORT) == 0) &&
((child_layer_restrict & LAYER_COLLECTION_HIDE) == 0)) {
- lc->runtime_flag |= LAYER_COLLECTION_VISIBLE;
+ lc->runtime_flag |= LAYER_COLLECTION_VISIBLE_VIEW_LAYER;
}
/* Sync objects, except if collection was excluded. */
@@ -771,12 +779,12 @@ static short layer_collection_sync(ViewLayer *view_layer,
}
if ((child_restrict & COLLECTION_RESTRICT_VIEWPORT) == 0) {
- base->flag_from_collection |= BASE_ENABLED_VIEWPORT;
+ base->flag_from_collection |= (BASE_ENABLED_VIEWPORT | BASE_VISIBLE_DEPSGRAPH);
if ((child_layer_restrict & LAYER_COLLECTION_HIDE) == 0) {
- base->flag_from_collection |= BASE_VISIBLE;
- if (((child_restrict & COLLECTION_RESTRICT_SELECT) == 0)) {
- base->flag_from_collection |= BASE_SELECTABLE;
- }
+ base->flag_from_collection |= BASE_VISIBLE_VIEWLAYER;
+ }
+ if (((child_restrict & COLLECTION_RESTRICT_SELECT) == 0)) {
+ base->flag_from_collection |= BASE_SELECTABLE;
}
}
@@ -974,7 +982,7 @@ bool BKE_layer_collection_has_selected_objects(ViewLayer *view_layer, LayerColle
for (CollectionObject *cob = lc->collection->gobject.first; cob; cob = cob->next) {
Base *base = BKE_view_layer_base_find(view_layer, cob->ob);
- if (base && (base->flag & BASE_SELECTED) && (base->flag & BASE_VISIBLE)) {
+ if (base && (base->flag & BASE_SELECTED) && (base->flag & BASE_VISIBLE_DEPSGRAPH)) {
return true;
}
}
@@ -1026,6 +1034,60 @@ void BKE_base_set_visible(Scene *scene, ViewLayer *view_layer, Base *base, bool
BKE_layer_collection_sync(scene, view_layer);
}
+bool BKE_base_is_visible(const View3D *v3d, const Base *base)
+{
+ if ((base->flag & BASE_VISIBLE_DEPSGRAPH) == 0) {
+ return false;
+ }
+
+ if (v3d == NULL) {
+ return base->flag & BASE_VISIBLE_VIEWLAYER;
+ }
+
+ if ((v3d->localvd) && ((v3d->local_view_uuid & base->local_view_bits) == 0)) {
+ return false;
+ }
+
+ if (((1 << (base->object->type)) & v3d->object_type_exclude_viewport) != 0) {
+ return false;
+ }
+
+ if (v3d->flag & V3D_LOCAL_COLLECTIONS) {
+ return (v3d->local_collections_uuid & base->local_collections_bits) != 0;
+ }
+
+ return base->flag & BASE_VISIBLE_VIEWLAYER;
+}
+
+bool BKE_object_is_visible_in_viewport(const struct View3D *v3d, const struct Object *ob)
+{
+ BLI_assert(v3d != NULL);
+
+ if (ob->restrictflag & OB_RESTRICT_VIEWPORT) {
+ return false;
+ }
+
+ if ((v3d->object_type_exclude_viewport & (1 << ob->type)) != 0) {
+ return false;
+ }
+
+ if (v3d->localvd && ((v3d->local_view_uuid & ob->base_local_view_bits) == 0)) {
+ return false;
+ }
+
+ if ((v3d->flag & V3D_LOCAL_COLLECTIONS) &&
+ ((v3d->local_collections_uuid & ob->runtime.local_collections_bits) == 0)) {
+ return false;
+ }
+
+ /* If not using local view or local collection the object may still be in a hidden collection. */
+ if (((v3d->localvd) == NULL) && ((v3d->flag & V3D_LOCAL_COLLECTIONS) == 0)) {
+ return (ob->base_flag & BASE_VISIBLE_VIEWLAYER) != 0;
+ }
+
+ return true;
+}
+
static void layer_collection_flag_set_recursive(LayerCollection *lc, const int flag)
{
lc->flag |= flag;
@@ -1050,13 +1112,13 @@ static void layer_collection_flag_unset_recursive(LayerCollection *lc, const int
* If the collection or any of its parents is disabled, make it enabled.
* Don't change the children disable state though.
*/
-void BKE_layer_collection_isolate(Scene *scene,
- ViewLayer *view_layer,
- LayerCollection *lc,
- bool extend)
+void BKE_layer_collection_isolate_global(Scene *scene,
+ ViewLayer *view_layer,
+ LayerCollection *lc,
+ bool extend)
{
LayerCollection *lc_master = view_layer->layer_collections.first;
- bool hide_it = extend && (lc->runtime_flag & LAYER_COLLECTION_VISIBLE);
+ bool hide_it = extend && (lc->runtime_flag & LAYER_COLLECTION_VISIBLE_VIEW_LAYER);
if (!extend) {
/* Hide all collections . */
@@ -1163,9 +1225,9 @@ void BKE_layer_collection_local_sync(ViewLayer *view_layer, View3D *v3d)
/**
* Isolate the collection locally
*
- * Same as BKE_layer_collection_local_isolate but for a viewport
+ * Same as BKE_layer_collection_isolate_local but for a viewport
*/
-void BKE_layer_collection_local_isolate(ViewLayer *view_layer,
+void BKE_layer_collection_isolate_local(ViewLayer *view_layer,
View3D *v3d,
LayerCollection *lc,
bool extend)
@@ -1436,12 +1498,12 @@ static void objects_iterator_end(BLI_Iterator *iter)
void BKE_view_layer_selected_objects_iterator_begin(BLI_Iterator *iter, void *data_in)
{
- objects_iterator_begin(iter, data_in, BASE_VISIBLE | BASE_SELECTED);
+ objects_iterator_begin(iter, data_in, BASE_VISIBLE_DEPSGRAPH | BASE_SELECTED);
}
void BKE_view_layer_selected_objects_iterator_next(BLI_Iterator *iter)
{
- objects_iterator_next(iter, BASE_VISIBLE | BASE_SELECTED);
+ objects_iterator_next(iter, BASE_VISIBLE_DEPSGRAPH | BASE_SELECTED);
}
void BKE_view_layer_selected_objects_iterator_end(BLI_Iterator *iter)
@@ -1478,7 +1540,7 @@ void BKE_view_layer_visible_objects_iterator_end(BLI_Iterator *iter)
void BKE_view_layer_selected_editable_objects_iterator_begin(BLI_Iterator *iter, void *data_in)
{
- objects_iterator_begin(iter, data_in, BASE_VISIBLE | BASE_SELECTED);
+ objects_iterator_begin(iter, data_in, BASE_VISIBLE_DEPSGRAPH | BASE_SELECTED);
if (iter->valid) {
if (BKE_object_is_libdata((Object *)iter->current) == false) {
// First object is valid (selectable and not libdata) -> all good.
@@ -1495,7 +1557,7 @@ void BKE_view_layer_selected_editable_objects_iterator_next(BLI_Iterator *iter)
{
// Search while there are objects and the one we have is not editable (editable = not libdata).
do {
- objects_iterator_next(iter, BASE_VISIBLE | BASE_SELECTED);
+ objects_iterator_next(iter, BASE_VISIBLE_DEPSGRAPH | BASE_SELECTED);
} while (iter->valid && BKE_object_is_libdata((Object *)iter->current) != false);
}
@@ -1512,12 +1574,12 @@ void BKE_view_layer_selected_editable_objects_iterator_end(BLI_Iterator *iter)
void BKE_view_layer_selected_bases_iterator_begin(BLI_Iterator *iter, void *data_in)
{
- objects_iterator_begin(iter, data_in, BASE_VISIBLE | BASE_SELECTED);
+ objects_iterator_begin(iter, data_in, BASE_VISIBLE_DEPSGRAPH | BASE_SELECTED);
}
void BKE_view_layer_selected_bases_iterator_next(BLI_Iterator *iter)
{
- object_bases_iterator_next(iter, BASE_VISIBLE | BASE_SELECTED);
+ object_bases_iterator_next(iter, BASE_VISIBLE_DEPSGRAPH | BASE_SELECTED);
}
void BKE_view_layer_selected_bases_iterator_end(BLI_Iterator *iter)
@@ -1576,7 +1638,7 @@ void BKE_view_layer_bases_in_mode_iterator_begin(BLI_Iterator *iter, void *data_
data->object_type = base->object->type;
}
- if (!base_is_in_mode(data, base)) {
+ if (!(base_is_in_mode(data, base) && BKE_base_is_visible(data->v3d, base))) {
BKE_view_layer_bases_in_mode_iterator_next(iter);
}
}
@@ -1589,7 +1651,7 @@ void BKE_view_layer_bases_in_mode_iterator_next(BLI_Iterator *iter)
if (base == data->base_active) {
/* first step */
base = data->view_layer->object_bases.first;
- if (base == data->base_active) {
+ if ((base == data->base_active) && BKE_base_is_visible(data->v3d, base)) {
base = base->next;
}
}
@@ -1598,7 +1660,8 @@ void BKE_view_layer_bases_in_mode_iterator_next(BLI_Iterator *iter)
}
while (base) {
- if ((base != data->base_active) && base_is_in_mode(data, base)) {
+ if ((base != data->base_active) && base_is_in_mode(data, base) &&
+ BKE_base_is_visible(data->v3d, base)) {
iter->current = base;
return;
}
@@ -1617,7 +1680,8 @@ void BKE_view_layer_bases_in_mode_iterator_end(BLI_Iterator *UNUSED(iter))
/* Evaluation */
/* Applies object's restrict flags on top of flags coming from the collection
- * and stores those in base->flag. BASE_VISIBLE is based on viewport visibility. */
+ * and stores those in base->flag. BASE_VISIBLE_DEPSGRAPH ignores viewport flags visibility
+ * (i.e., restriction and local collection). */
void BKE_base_eval_flags(Base *base)
{
/* Apply collection flags. */
@@ -1640,7 +1704,7 @@ void BKE_base_eval_flags(Base *base)
* can change these again, but for tools we always want the viewport
* visibility to be in sync regardless if depsgraph was evaluated. */
if (!(base->flag & BASE_ENABLED_VIEWPORT) || (base->flag & BASE_HIDDEN)) {
- base->flag &= ~(BASE_VISIBLE | BASE_SELECTABLE);
+ base->flag &= ~(BASE_VISIBLE_DEPSGRAPH | BASE_VISIBLE_VIEWLAYER | BASE_SELECTABLE);
}
/* Deselect unselectable objects. */
diff --git a/source/blender/blenkernel/intern/library.c b/source/blender/blenkernel/intern/library.c
index 468d0e97ece..909db9c7b52 100644
--- a/source/blender/blenkernel/intern/library.c
+++ b/source/blender/blenkernel/intern/library.c
@@ -1468,8 +1468,12 @@ void BKE_libblock_copy_ex(Main *bmain, const ID *id, ID **r_newid, const int ori
new_id->flag = (new_id->flag & ~copy_idflag_mask) | (id->flag & copy_idflag_mask);
+ /* We do not want any handling of usercount in code duplicating the data here, we do that all
+ * at once in id_copy_libmanagement_cb() at the end. */
+ const int copy_data_flag = orig_flag | LIB_ID_CREATE_NO_USER_REFCOUNT;
+
if (id->properties) {
- new_id->properties = IDP_CopyProperty_ex(id->properties, flag);
+ new_id->properties = IDP_CopyProperty_ex(id->properties, copy_data_flag);
}
/* XXX Again... We need a way to control what we copy in a much more refined way.
@@ -1488,10 +1492,9 @@ void BKE_libblock_copy_ex(Main *bmain, const ID *id, ID **r_newid, const int ori
if ((flag & LIB_ID_COPY_NO_ANIMDATA) == 0) {
/* Note that even though horrors like root nodetrees are not in bmain, the actions they use
* in their anim data *are* in bmain... super-mega-hooray. */
- int animdata_flag = orig_flag;
- BLI_assert((animdata_flag & LIB_ID_COPY_ACTIONS) == 0 ||
- (animdata_flag & LIB_ID_CREATE_NO_MAIN) == 0);
- iat->adt = BKE_animdata_copy(bmain, iat->adt, animdata_flag);
+ BLI_assert((copy_data_flag & LIB_ID_COPY_ACTIONS) == 0 ||
+ (copy_data_flag & LIB_ID_CREATE_NO_MAIN) == 0);
+ iat->adt = BKE_animdata_copy(bmain, iat->adt, copy_data_flag);
}
else {
iat->adt = NULL;
diff --git a/source/blender/blenkernel/intern/library_remap.c b/source/blender/blenkernel/intern/library_remap.c
index 45dbb4b6ec1..be283c68911 100644
--- a/source/blender/blenkernel/intern/library_remap.c
+++ b/source/blender/blenkernel/intern/library_remap.c
@@ -677,7 +677,8 @@ void BKE_libblock_relink_ex(
* Maybe we should do a per-ID callback for this instead?
*/
switch (GS(id->name)) {
- case ID_SCE: {
+ case ID_SCE:
+ case ID_GR: {
if (old_id) {
switch (GS(old_id->name)) {
case ID_OB:
@@ -707,6 +708,8 @@ void BKE_libblock_relink_ex(
default:
break;
}
+
+ DEG_relations_tag_update(bmain);
}
static int id_relink_to_newid_looper(void *UNUSED(user_data),
diff --git a/source/blender/blenkernel/intern/mask_rasterize.c b/source/blender/blenkernel/intern/mask_rasterize.c
index e03903c05e4..e6cfea6fb03 100644
--- a/source/blender/blenkernel/intern/mask_rasterize.c
+++ b/source/blender/blenkernel/intern/mask_rasterize.c
@@ -589,7 +589,7 @@ void BKE_maskrasterize_handle_init(MaskRasterHandle *mr_handle,
(do_aspect_correct && width > height) ? (float)height / (float)width : 1.0f,
(do_aspect_correct && width < height) ? (float)width / (float)height : 1.0f};
- const float zvec[3] = {0.0f, 0.0f, 1.0f};
+ const float zvec[3] = {0.0f, 0.0f, -1.0f};
MaskLayer *masklay;
unsigned int masklay_index;
MemArena *sf_arena;
diff --git a/source/blender/blenkernel/intern/mesh.c b/source/blender/blenkernel/intern/mesh.c
index 05d6f2c5ddf..ba139c654d3 100644
--- a/source/blender/blenkernel/intern/mesh.c
+++ b/source/blender/blenkernel/intern/mesh.c
@@ -666,6 +666,7 @@ void BKE_mesh_copy_settings(Mesh *me_dst, const Mesh *me_src)
me_dst->flag = me_src->flag;
me_dst->smoothresh = me_src->smoothresh;
me_dst->remesh_voxel_size = me_src->remesh_voxel_size;
+ me_dst->remesh_voxel_adaptivity = me_src->remesh_voxel_adaptivity;
me_dst->remesh_mode = me_src->remesh_mode;
/* Copy texture space. */
diff --git a/source/blender/blenkernel/intern/mesh_remesh_voxel.c b/source/blender/blenkernel/intern/mesh_remesh_voxel.c
index ff7ff947e1d..ba8ed5facad 100644
--- a/source/blender/blenkernel/intern/mesh_remesh_voxel.c
+++ b/source/blender/blenkernel/intern/mesh_remesh_voxel.c
@@ -38,6 +38,7 @@
#include "DNA_mesh_types.h"
#include "DNA_meshdata_types.h"
+#include "BKE_editmesh.h"
#include "BKE_mesh.h"
#include "BKE_mesh_runtime.h"
#include "BKE_library.h"
@@ -45,6 +46,8 @@
#include "BKE_bvhutils.h"
#include "BKE_mesh_remesh_voxel.h" /* own include */
+#include "bmesh_tools.h"
+
#ifdef WITH_OPENVDB
# include "openvdb_capi.h"
#endif
@@ -292,7 +295,10 @@ Mesh *BKE_mesh_remesh_quadriflow_to_mesh_nomain(Mesh *mesh,
return new_mesh;
}
-Mesh *BKE_mesh_remesh_voxel_to_mesh_nomain(Mesh *mesh, float voxel_size)
+Mesh *BKE_mesh_remesh_voxel_to_mesh_nomain(Mesh *mesh,
+ float voxel_size,
+ float adaptivity,
+ float isovalue)
{
Mesh *new_mesh = NULL;
#ifdef WITH_OPENVDB
@@ -300,11 +306,12 @@ Mesh *BKE_mesh_remesh_voxel_to_mesh_nomain(Mesh *mesh, float voxel_size)
struct OpenVDBTransform *xform = OpenVDBTransform_create();
OpenVDBTransform_create_linear_transform(xform, (double)voxel_size);
level_set = BKE_mesh_remesh_voxel_ovdb_mesh_to_level_set_create(mesh, xform);
- new_mesh = BKE_mesh_remesh_voxel_ovdb_volume_to_mesh_nomain(level_set, 0.0, 0.0, false);
+ new_mesh = BKE_mesh_remesh_voxel_ovdb_volume_to_mesh_nomain(
+ level_set, (double)isovalue, (double)adaptivity, false);
OpenVDBLevelSet_free(level_set);
OpenVDBTransform_free(xform);
#else
- UNUSED_VARS(mesh, voxel_size);
+ UNUSED_VARS(mesh, voxel_size, adaptivity, isovalue);
#endif
return new_mesh;
}
@@ -348,3 +355,112 @@ void BKE_remesh_reproject_paint_mask(Mesh *target, Mesh *source)
}
free_bvhtree_from_mesh(&bvhtree);
}
+
+struct Mesh *BKE_mesh_remesh_voxel_fix_poles(struct Mesh *mesh)
+{
+ const BMAllocTemplate allocsize = BMALLOC_TEMPLATE_FROM_ME(mesh);
+ BMesh *bm;
+ bm = BM_mesh_create(&allocsize,
+ &((struct BMeshCreateParams){
+ .use_toolflags = true,
+ }));
+
+ BM_mesh_bm_from_me(bm,
+ mesh,
+ (&(struct BMeshFromMeshParams){
+ .calc_face_normal = true,
+ }));
+
+ BMVert *v;
+ BMEdge *ed, *ed_next;
+ BMFace *f, *f_next;
+ BMIter iter_a, iter_b;
+
+ /* Merge 3 edge poles vertices that exist in the same face */
+ BM_mesh_elem_hflag_disable_all(bm, BM_VERT | BM_EDGE | BM_FACE, BM_ELEM_TAG, false);
+ BM_ITER_MESH_MUTABLE (f, f_next, &iter_a, bm, BM_FACES_OF_MESH) {
+ BMVert *v1, *v2;
+ v1 = NULL;
+ v2 = NULL;
+ BM_ITER_ELEM (v, &iter_b, f, BM_VERTS_OF_FACE) {
+ if (BM_vert_edge_count(v) == 3) {
+ if (v1) {
+ v2 = v;
+ }
+ else {
+ v1 = v;
+ }
+ }
+ }
+ if (v1 && v2 && (v1 != v2) && !BM_edge_exists(v1, v2)) {
+ BM_face_kill(bm, f);
+ BMEdge *e = BM_edge_create(bm, v1, v2, NULL, BM_CREATE_NOP);
+ BM_elem_flag_set(e, BM_ELEM_TAG, true);
+ }
+ }
+
+ BM_ITER_MESH_MUTABLE (ed, ed_next, &iter_a, bm, BM_EDGES_OF_MESH) {
+ if (BM_elem_flag_test(ed, BM_ELEM_TAG)) {
+ float co[3];
+ mid_v3_v3v3(co, ed->v1->co, ed->v2->co);
+ BMVert *vc = BM_edge_collapse(bm, ed, ed->v1, true, true);
+ copy_v3_v3(vc->co, co);
+ }
+ }
+
+ /* Delete faces with a 3 edge pole in all their vertices */
+ BM_mesh_elem_hflag_disable_all(bm, BM_VERT | BM_EDGE | BM_FACE, BM_ELEM_TAG, false);
+ BM_ITER_MESH (f, &iter_a, bm, BM_FACES_OF_MESH) {
+ bool dissolve = true;
+ BM_ITER_ELEM (v, &iter_b, f, BM_VERTS_OF_FACE) {
+ if (BM_vert_edge_count(v) != 3) {
+ dissolve = false;
+ }
+ }
+ if (dissolve) {
+ BM_ITER_ELEM (v, &iter_b, f, BM_VERTS_OF_FACE) {
+ BM_elem_flag_set(v, BM_ELEM_TAG, true);
+ }
+ }
+ }
+ BM_mesh_delete_hflag_context(bm, BM_ELEM_TAG, DEL_VERTS);
+
+ BM_ITER_MESH (ed, &iter_a, bm, BM_EDGES_OF_MESH) {
+ if (BM_edge_face_count(ed) != 2) {
+ BM_elem_flag_set(ed, BM_ELEM_TAG, true);
+ }
+ }
+ BM_mesh_edgenet(bm, false, true);
+
+ /* Smooth the result */
+ for (int i = 0; i < 4; i++) {
+ BM_ITER_MESH (v, &iter_a, bm, BM_VERTS_OF_MESH) {
+ float co[3];
+ zero_v3(co);
+ BM_ITER_ELEM (ed, &iter_b, v, BM_EDGES_OF_VERT) {
+ BMVert *vert = BM_edge_other_vert(ed, v);
+ add_v3_v3(co, vert->co);
+ }
+ mul_v3_fl(co, 1.0f / (float)BM_vert_edge_count(v));
+ mid_v3_v3v3(v->co, v->co, co);
+ }
+ }
+
+ BM_mesh_elem_hflag_disable_all(bm, BM_VERT | BM_EDGE | BM_FACE, BM_ELEM_SELECT, false);
+ BM_mesh_elem_hflag_enable_all(bm, BM_FACE, BM_ELEM_TAG, false);
+ BMO_op_callf(bm,
+ (BMO_FLAG_DEFAULTS & ~BMO_FLAG_RESPECT_HIDE),
+ "recalc_face_normals faces=%hf",
+ BM_ELEM_TAG);
+ BM_mesh_elem_hflag_disable_all(bm, BM_VERT | BM_EDGE | BM_FACE, BM_ELEM_TAG, false);
+
+ Mesh *result = BKE_mesh_from_bmesh_nomain(bm,
+ (&(struct BMeshToMeshParams){
+ .calc_object_remap = false,
+ }),
+ mesh);
+
+ BKE_id_free(NULL, mesh);
+ BM_mesh_free(bm);
+ return result;
+}
diff --git a/source/blender/blenkernel/intern/mesh_validate.c b/source/blender/blenkernel/intern/mesh_validate.c
index c8e75532075..fa03aec3e08 100644
--- a/source/blender/blenkernel/intern/mesh_validate.c
+++ b/source/blender/blenkernel/intern/mesh_validate.c
@@ -1619,6 +1619,12 @@ void BKE_mesh_calc_edges_loose(Mesh *mesh)
for (int i = 0; i < mesh->totloop; i++, ml++) {
mesh->medge[ml->e].flag &= ~ME_LOOSEEDGE;
}
+ med = mesh->medge;
+ for (int i = 0; i < mesh->totedge; i++, med++) {
+ if (med->flag & ME_LOOSEEDGE) {
+ med->flag |= ME_EDGEDRAW;
+ }
+ }
}
/**
diff --git a/source/blender/blenkernel/intern/mirror.c b/source/blender/blenkernel/intern/mirror.c
new file mode 100644
index 00000000000..02e0a2bb3b9
--- /dev/null
+++ b/source/blender/blenkernel/intern/mirror.c
@@ -0,0 +1,419 @@
+/*
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * The Original Code is Copyright (C) Blender Foundation.
+ * All rights reserved.
+ */
+
+/** \file
+ * \ingroup bke
+ */
+
+#include "BLI_math.h"
+
+#include "DNA_mesh_types.h"
+#include "DNA_meshdata_types.h"
+#include "DNA_object_types.h"
+
+#include "BKE_library.h"
+#include "BKE_library_query.h"
+#include "BKE_mesh.h"
+#include "BKE_mirror.h"
+#include "BKE_modifier.h"
+#include "BKE_deform.h"
+
+#include "bmesh.h"
+#include "bmesh_tools.h"
+
+#include "MEM_guardedalloc.h"
+
+#include "MOD_modifiertypes.h"
+
+Mesh *BKE_mirror_bisect_on_mirror_plane(MirrorModifierData *mmd,
+ const Mesh *mesh,
+ int axis,
+ const float plane_co[3],
+ float plane_no[3])
+{
+ bool do_bisect_flip_axis = ((axis == 0 && mmd->flag & MOD_MIR_BISECT_FLIP_AXIS_X) ||
+ (axis == 1 && mmd->flag & MOD_MIR_BISECT_FLIP_AXIS_Y) ||
+ (axis == 2 && mmd->flag & MOD_MIR_BISECT_FLIP_AXIS_Z));
+
+ const float bisect_distance = 0.001f;
+
+ Mesh *result;
+ BMesh *bm;
+ BMIter viter;
+ BMVert *v, *v_next;
+
+ bm = BKE_mesh_to_bmesh_ex(mesh,
+ &(struct BMeshCreateParams){0},
+ &(struct BMeshFromMeshParams){
+ .calc_face_normal = true,
+ .cd_mask_extra = {.vmask = CD_MASK_ORIGINDEX,
+ .emask = CD_MASK_ORIGINDEX,
+ .pmask = CD_MASK_ORIGINDEX},
+ });
+
+ /* Define bisecting plane (aka mirror plane). */
+ float plane[4];
+ if (!do_bisect_flip_axis) {
+ /* That reversed condition is a tad weird, but for some reason that's how you keep
+ * the part of the mesh which is on the non-mirrored side when flip option is disabled,
+ * think that that is the expected behavior. */
+ negate_v3(plane_no);
+ }
+ plane_from_point_normal_v3(plane, plane_co, plane_no);
+
+ BM_mesh_bisect_plane(bm, plane, false, false, 0, 0, bisect_distance);
+
+ /* Plane definitions for vert killing. */
+ float plane_offset[4];
+ copy_v3_v3(plane_offset, plane);
+ plane_offset[3] = plane[3] - bisect_distance;
+
+ /* Delete verts across the mirror plane. */
+ BM_ITER_MESH_MUTABLE (v, v_next, &viter, bm, BM_VERTS_OF_MESH) {
+ if (plane_point_side_v3(plane_offset, v->co) > 0.0f) {
+ BM_vert_kill(bm, v);
+ }
+ }
+
+ result = BKE_mesh_from_bmesh_for_eval_nomain(bm, NULL, mesh);
+ BM_mesh_free(bm);
+
+ return result;
+}
+
+Mesh *BKE_mirror_apply_mirror_on_axis(MirrorModifierData *mmd,
+ const ModifierEvalContext *UNUSED(ctx),
+ Object *ob,
+ const Mesh *mesh,
+ int axis)
+{
+ const float tolerance_sq = mmd->tolerance * mmd->tolerance;
+ const bool do_vtargetmap = (mmd->flag & MOD_MIR_NO_MERGE) == 0;
+ int tot_vtargetmap = 0; /* total merge vertices */
+
+ const bool do_bisect = ((axis == 0 && mmd->flag & MOD_MIR_BISECT_AXIS_X) ||
+ (axis == 1 && mmd->flag & MOD_MIR_BISECT_AXIS_Y) ||
+ (axis == 2 && mmd->flag & MOD_MIR_BISECT_AXIS_Z));
+
+ Mesh *result;
+ MVert *mv, *mv_prev;
+ MEdge *me;
+ MLoop *ml;
+ MPoly *mp;
+ float mtx[4][4];
+ float plane_co[3], plane_no[3];
+ int i;
+ int a, totshape;
+ int *vtargetmap = NULL, *vtmap_a = NULL, *vtmap_b = NULL;
+
+ /* mtx is the mirror transformation */
+ unit_m4(mtx);
+ mtx[axis][axis] = -1.0f;
+
+ Object *mirror_ob = mmd->mirror_ob;
+ if (mirror_ob != NULL) {
+ float tmp[4][4];
+ float itmp[4][4];
+
+ /* tmp is a transform from coords relative to the object's own origin,
+ * to coords relative to the mirror object origin */
+ invert_m4_m4(tmp, mirror_ob->obmat);
+ mul_m4_m4m4(tmp, tmp, ob->obmat);
+
+ /* itmp is the reverse transform back to origin-relative coordinates */
+ invert_m4_m4(itmp, tmp);
+
+ /* combine matrices to get a single matrix that translates coordinates into
+ * mirror-object-relative space, does the mirror, and translates back to
+ * origin-relative space */
+ mul_m4_series(mtx, itmp, mtx, tmp);
+
+ if (do_bisect) {
+ copy_v3_v3(plane_co, itmp[3]);
+ copy_v3_v3(plane_no, itmp[axis]);
+ }
+ }
+ else if (do_bisect) {
+ copy_v3_v3(plane_co, mtx[3]);
+ /* Need to negate here, since that axis is inverted (for mirror transform). */
+ negate_v3_v3(plane_no, mtx[axis]);
+ }
+
+ Mesh *mesh_bisect = NULL;
+ if (do_bisect) {
+ mesh_bisect = BKE_mirror_bisect_on_mirror_plane(mmd, mesh, axis, plane_co, plane_no);
+ mesh = mesh_bisect;
+ }
+
+ const int maxVerts = mesh->totvert;
+ const int maxEdges = mesh->totedge;
+ const int maxLoops = mesh->totloop;
+ const int maxPolys = mesh->totpoly;
+
+ result = BKE_mesh_new_nomain_from_template(
+ mesh, maxVerts * 2, maxEdges * 2, 0, maxLoops * 2, maxPolys * 2);
+
+ /* Copy custom-data to original geometry. */
+ CustomData_copy_data(&mesh->vdata, &result->vdata, 0, 0, maxVerts);
+ CustomData_copy_data(&mesh->edata, &result->edata, 0, 0, maxEdges);
+ CustomData_copy_data(&mesh->ldata, &result->ldata, 0, 0, maxLoops);
+ CustomData_copy_data(&mesh->pdata, &result->pdata, 0, 0, maxPolys);
+
+ /* Subsurf for eg won't have mesh data in the custom-data arrays.
+ * now add mvert/medge/mpoly layers. */
+ if (!CustomData_has_layer(&mesh->vdata, CD_MVERT)) {
+ memcpy(result->mvert, mesh->mvert, sizeof(*result->mvert) * mesh->totvert);
+ }
+ if (!CustomData_has_layer(&mesh->edata, CD_MEDGE)) {
+ memcpy(result->medge, mesh->medge, sizeof(*result->medge) * mesh->totedge);
+ }
+ if (!CustomData_has_layer(&mesh->pdata, CD_MPOLY)) {
+ memcpy(result->mloop, mesh->mloop, sizeof(*result->mloop) * mesh->totloop);
+ memcpy(result->mpoly, mesh->mpoly, sizeof(*result->mpoly) * mesh->totpoly);
+ }
+
+ /* Copy custom-data to new geometry,
+ * copy from its self because this data may have been created in the checks above. */
+ CustomData_copy_data(&result->vdata, &result->vdata, 0, maxVerts, maxVerts);
+ CustomData_copy_data(&result->edata, &result->edata, 0, maxEdges, maxEdges);
+ /* loops are copied later */
+ CustomData_copy_data(&result->pdata, &result->pdata, 0, maxPolys, maxPolys);
+
+ if (do_vtargetmap) {
+ /* second half is filled with -1 */
+ vtargetmap = MEM_malloc_arrayN(maxVerts, 2 * sizeof(int), "MOD_mirror tarmap");
+
+ vtmap_a = vtargetmap;
+ vtmap_b = vtargetmap + maxVerts;
+ }
+
+ /* mirror vertex coordinates */
+ mv_prev = result->mvert;
+ mv = mv_prev + maxVerts;
+ for (i = 0; i < maxVerts; i++, mv++, mv_prev++) {
+ mul_m4_v3(mtx, mv->co);
+
+ if (do_vtargetmap) {
+ /* compare location of the original and mirrored vertex, to see if they
+ * should be mapped for merging */
+ if (UNLIKELY(len_squared_v3v3(mv_prev->co, mv->co) < tolerance_sq)) {
+ *vtmap_a = maxVerts + i;
+ tot_vtargetmap++;
+
+ /* average location */
+ mid_v3_v3v3(mv->co, mv_prev->co, mv->co);
+ copy_v3_v3(mv_prev->co, mv->co);
+ }
+ else {
+ *vtmap_a = -1;
+ }
+
+ *vtmap_b = -1; /* fill here to avoid 2x loops */
+
+ vtmap_a++;
+ vtmap_b++;
+ }
+ }
+
+ /* handle shape keys */
+ totshape = CustomData_number_of_layers(&result->vdata, CD_SHAPEKEY);
+ for (a = 0; a < totshape; a++) {
+ float(*cos)[3] = CustomData_get_layer_n(&result->vdata, CD_SHAPEKEY, a);
+ for (i = maxVerts; i < result->totvert; i++) {
+ mul_m4_v3(mtx, cos[i]);
+ }
+ }
+
+ /* adjust mirrored edge vertex indices */
+ me = result->medge + maxEdges;
+ for (i = 0; i < maxEdges; i++, me++) {
+ me->v1 += maxVerts;
+ me->v2 += maxVerts;
+ }
+
+ /* adjust mirrored poly loopstart indices, and reverse loop order (normals) */
+ mp = result->mpoly + maxPolys;
+ ml = result->mloop;
+ for (i = 0; i < maxPolys; i++, mp++) {
+ MLoop *ml2;
+ int j, e;
+
+ /* reverse the loop, but we keep the first vertex in the face the same,
+ * to ensure that quads are split the same way as on the other side */
+ CustomData_copy_data(
+ &result->ldata, &result->ldata, mp->loopstart, mp->loopstart + maxLoops, 1);
+
+ for (j = 1; j < mp->totloop; j++) {
+ CustomData_copy_data(&result->ldata,
+ &result->ldata,
+ mp->loopstart + j,
+ mp->loopstart + maxLoops + mp->totloop - j,
+ 1);
+ }
+
+ ml2 = ml + mp->loopstart + maxLoops;
+ e = ml2[0].e;
+ for (j = 0; j < mp->totloop - 1; j++) {
+ ml2[j].e = ml2[j + 1].e;
+ }
+ ml2[mp->totloop - 1].e = e;
+
+ mp->loopstart += maxLoops;
+ }
+
+ /* adjust mirrored loop vertex and edge indices */
+ ml = result->mloop + maxLoops;
+ for (i = 0; i < maxLoops; i++, ml++) {
+ ml->v += maxVerts;
+ ml->e += maxEdges;
+ }
+
+ /* handle uvs,
+ * let tessface recalc handle updating the MTFace data */
+ if (mmd->flag & (MOD_MIR_MIRROR_U | MOD_MIR_MIRROR_V) ||
+ (is_zero_v2(mmd->uv_offset_copy) == false)) {
+ const bool do_mirr_u = (mmd->flag & MOD_MIR_MIRROR_U) != 0;
+ const bool do_mirr_v = (mmd->flag & MOD_MIR_MIRROR_V) != 0;
+
+ const int totuv = CustomData_number_of_layers(&result->ldata, CD_MLOOPUV);
+
+ for (a = 0; a < totuv; a++) {
+ MLoopUV *dmloopuv = CustomData_get_layer_n(&result->ldata, CD_MLOOPUV, a);
+ int j = maxLoops;
+ dmloopuv += j; /* second set of loops only */
+ for (; j-- > 0; dmloopuv++) {
+ if (do_mirr_u) {
+ dmloopuv->uv[0] = 1.0f - dmloopuv->uv[0] + mmd->uv_offset[0];
+ }
+ if (do_mirr_v) {
+ dmloopuv->uv[1] = 1.0f - dmloopuv->uv[1] + mmd->uv_offset[1];
+ }
+ dmloopuv->uv[0] += mmd->uv_offset_copy[0];
+ dmloopuv->uv[1] += mmd->uv_offset_copy[1];
+ }
+ }
+ }
+
+ /* handle custom split normals */
+ if (ob->type == OB_MESH && (((Mesh *)ob->data)->flag & ME_AUTOSMOOTH) &&
+ CustomData_has_layer(&result->ldata, CD_CUSTOMLOOPNORMAL)) {
+ const int totloop = result->totloop;
+ const int totpoly = result->totpoly;
+ float(*loop_normals)[3] = MEM_calloc_arrayN((size_t)totloop, sizeof(*loop_normals), __func__);
+ CustomData *ldata = &result->ldata;
+ short(*clnors)[2] = CustomData_get_layer(ldata, CD_CUSTOMLOOPNORMAL);
+ MLoopNorSpaceArray lnors_spacearr = {NULL};
+ float(*poly_normals)[3] = MEM_mallocN(sizeof(*poly_normals) * totpoly, __func__);
+
+ /* The transform matrix of a normal must be
+ * the transpose of inverse of transform matrix of the geometry... */
+ float mtx_nor[4][4];
+ invert_m4_m4(mtx_nor, mtx);
+ transpose_m4(mtx_nor);
+
+ /* calculate custom normals into loop_normals, then mirror first half into second half */
+
+ BKE_mesh_calc_normals_poly(result->mvert,
+ NULL,
+ result->totvert,
+ result->mloop,
+ result->mpoly,
+ totloop,
+ totpoly,
+ poly_normals,
+ false);
+
+ BKE_mesh_normals_loop_split(result->mvert,
+ result->totvert,
+ result->medge,
+ result->totedge,
+ result->mloop,
+ loop_normals,
+ totloop,
+ result->mpoly,
+ poly_normals,
+ totpoly,
+ true,
+ mesh->smoothresh,
+ &lnors_spacearr,
+ clnors,
+ NULL);
+
+ /* mirroring has to account for loops being reversed in polys in second half */
+ mp = result->mpoly;
+ for (i = 0; i < maxPolys; i++, mp++) {
+ MPoly *mpmirror = result->mpoly + maxPolys + i;
+ int j;
+
+ for (j = mp->loopstart; j < mp->loopstart + mp->totloop; j++) {
+ int mirrorj = mpmirror->loopstart;
+ if (j > mp->loopstart) {
+ mirrorj += mpmirror->totloop - (j - mp->loopstart);
+ }
+ copy_v3_v3(loop_normals[mirrorj], loop_normals[j]);
+ mul_m4_v3(mtx_nor, loop_normals[mirrorj]);
+ BKE_lnor_space_custom_normal_to_data(
+ lnors_spacearr.lspacearr[mirrorj], loop_normals[mirrorj], clnors[mirrorj]);
+ }
+ }
+
+ MEM_freeN(poly_normals);
+ MEM_freeN(loop_normals);
+ BKE_lnor_spacearr_free(&lnors_spacearr);
+ }
+
+ /* handle vgroup stuff */
+ if ((mmd->flag & MOD_MIR_VGROUP) && CustomData_has_layer(&result->vdata, CD_MDEFORMVERT)) {
+ MDeformVert *dvert = (MDeformVert *)CustomData_get_layer(&result->vdata, CD_MDEFORMVERT) +
+ maxVerts;
+ int *flip_map = NULL, flip_map_len = 0;
+
+ flip_map = defgroup_flip_map(ob, &flip_map_len, false);
+
+ if (flip_map) {
+ for (i = 0; i < maxVerts; dvert++, i++) {
+ /* merged vertices get both groups, others get flipped */
+ if (do_vtargetmap && (vtargetmap[i] != -1)) {
+ defvert_flip_merged(dvert, flip_map, flip_map_len);
+ }
+ else {
+ defvert_flip(dvert, flip_map, flip_map_len);
+ }
+ }
+
+ MEM_freeN(flip_map);
+ }
+ }
+
+ if (do_vtargetmap) {
+ /* slow - so only call if one or more merge verts are found,
+ * users may leave this on and not realize there is nothing to merge - campbell */
+ if (tot_vtargetmap) {
+ result = BKE_mesh_merge_verts(
+ result, vtargetmap, tot_vtargetmap, MESH_MERGE_VERTS_DUMP_IF_MAPPED);
+ }
+ MEM_freeN(vtargetmap);
+ }
+
+ if (mesh_bisect != NULL) {
+ BKE_id_free(NULL, mesh_bisect);
+ }
+
+ return result;
+}
diff --git a/source/blender/blenkernel/intern/modifier.c b/source/blender/blenkernel/intern/modifier.c
index 132d1bea91a..9fb11d26938 100644
--- a/source/blender/blenkernel/intern/modifier.c
+++ b/source/blender/blenkernel/intern/modifier.c
@@ -763,6 +763,23 @@ Object *modifiers_isDeformedByCurve(Object *ob)
return NULL;
}
+bool modifiers_usesMultires(Object *ob)
+{
+ VirtualModifierData virtualModifierData;
+ ModifierData *md = modifiers_getVirtualModifierList(ob, &virtualModifierData);
+ MultiresModifierData *mmd = NULL;
+
+ for (; md; md = md->next) {
+ if (md->type == eModifierType_Multires) {
+ mmd = (MultiresModifierData *)md;
+ if (mmd->totlvl != 0) {
+ return true;
+ }
+ }
+ }
+ return false;
+}
+
bool modifiers_usesArmature(Object *ob, bArmature *arm)
{
VirtualModifierData virtualModifierData;
diff --git a/source/blender/blenkernel/intern/movieclip.c b/source/blender/blenkernel/intern/movieclip.c
index f67bc419210..9385a9ae24d 100644
--- a/source/blender/blenkernel/intern/movieclip.c
+++ b/source/blender/blenkernel/intern/movieclip.c
@@ -409,8 +409,8 @@ typedef struct MovieClipCache {
/* cache for undistorted shot */
float principal[2];
- float polynomial_k1, polynomial_k2, polynomial_k3;
- float division_k1, division_k2;
+ float polynomial_k1;
+ float division_k1;
short distortion_model;
bool undistortion_used;
diff --git a/source/blender/blenkernel/intern/nla.c b/source/blender/blenkernel/intern/nla.c
index 2cc1083aba3..09581debd99 100644
--- a/source/blender/blenkernel/intern/nla.c
+++ b/source/blender/blenkernel/intern/nla.c
@@ -1488,7 +1488,7 @@ void BKE_nlastrip_validate_fcurves(NlaStrip *strip)
/* set default flags */
fcu->flag = (FCURVE_VISIBLE | FCURVE_SELECTED);
- fcu->auto_smoothing = FCURVE_SMOOTH_CONT_ACCEL;
+ fcu->auto_smoothing = U.auto_smoothing_new;
/* store path - make copy, and store that */
fcu->rna_path = BLI_strdupn("influence", 9);
@@ -1515,7 +1515,7 @@ void BKE_nlastrip_validate_fcurves(NlaStrip *strip)
/* set default flags */
fcu->flag = (FCURVE_VISIBLE | FCURVE_SELECTED);
- fcu->auto_smoothing = FCURVE_SMOOTH_CONT_ACCEL;
+ fcu->auto_smoothing = U.auto_smoothing_new;
/* store path - make copy, and store that */
fcu->rna_path = BLI_strdupn("strip_time", 10);
diff --git a/source/blender/blenkernel/intern/node.c b/source/blender/blenkernel/intern/node.c
index 6e45130ce44..779728cb037 100644
--- a/source/blender/blenkernel/intern/node.c
+++ b/source/blender/blenkernel/intern/node.c
@@ -947,6 +947,68 @@ void nodeChainIter(const bNodeTree *ntree,
}
}
+static void iter_backwards_ex(const bNodeTree *ntree,
+ const bNode *node_start,
+ bool (*callback)(bNode *, bNode *, void *),
+ void *userdata,
+ char recursion_mask)
+{
+ LISTBASE_FOREACH (bNodeSocket *, sock, &node_start->inputs) {
+ bNodeLink *link = sock->link;
+ if (link == NULL) {
+ continue;
+ }
+ if ((link->flag & NODE_LINK_VALID) == 0) {
+ /* Skip links marked as cyclic. */
+ continue;
+ }
+ if (link->fromnode->iter_flag & recursion_mask) {
+ continue;
+ }
+ else {
+ link->fromnode->iter_flag |= recursion_mask;
+ }
+
+ if (!callback(link->fromnode, link->tonode, userdata)) {
+ return;
+ }
+ iter_backwards_ex(ntree, link->fromnode, callback, userdata, recursion_mask);
+ }
+}
+
+/**
+ * Iterate over a chain of nodes, starting with \a node_start, executing
+ * \a callback for each node (which can return false to end iterator).
+ *
+ * Faster than nodeChainIter. Iter only once per node.
+ * Can be called recursively (using another nodeChainIterBackwards) by
+ * setting the recursion_lvl accordingly.
+ *
+ * \note Needs updated socket links (ntreeUpdateTree).
+ * \note Recursive
+ */
+void nodeChainIterBackwards(const bNodeTree *ntree,
+ const bNode *node_start,
+ bool (*callback)(bNode *, bNode *, void *),
+ void *userdata,
+ int recursion_lvl)
+{
+ if (!node_start) {
+ return;
+ }
+
+ /* Limited by iter_flag type. */
+ BLI_assert(recursion_lvl < 8);
+ char recursion_mask = (1 << recursion_lvl);
+
+ /* Reset flag. */
+ LISTBASE_FOREACH (bNode *, node, &ntree->nodes) {
+ node->iter_flag &= ~recursion_mask;
+ }
+
+ iter_backwards_ex(ntree, node_start, callback, userdata, recursion_mask);
+}
+
/**
* Iterate over all parents of \a node, executing \a callback for each parent
* (which can return false to end iterator)
@@ -3348,7 +3410,7 @@ void ntreeUpdateTree(Main *bmain, bNodeTree *ntree)
return;
}
- /* avoid reentrant updates, can be caused by RNA update callbacks */
+ /* Avoid re-entrant updates, can be caused by RNA update callbacks. */
if (ntree->is_updating) {
return;
}
@@ -3409,7 +3471,7 @@ void ntreeUpdateTree(Main *bmain, bNodeTree *ntree)
void nodeUpdate(bNodeTree *ntree, bNode *node)
{
- /* avoid reentrant updates, can be caused by RNA update callbacks */
+ /* Avoid re-entrant updates, can be caused by RNA update callbacks. */
if (ntree->is_updating) {
return;
}
@@ -3436,7 +3498,7 @@ bool nodeUpdateID(bNodeTree *ntree, ID *id)
return changed;
}
- /* avoid reentrant updates, can be caused by RNA update callbacks */
+ /* Avoid re-entrant updates, can be caused by RNA update callbacks. */
if (ntree->is_updating) {
return changed;
}
diff --git a/source/blender/blenkernel/intern/object.c b/source/blender/blenkernel/intern/object.c
index 6f27b14adcc..1cf8bb31a82 100644
--- a/source/blender/blenkernel/intern/object.c
+++ b/source/blender/blenkernel/intern/object.c
@@ -81,6 +81,7 @@
#include "BKE_curve.h"
#include "BKE_displist.h"
#include "BKE_effect.h"
+#include "BKE_font.h"
#include "BKE_fcurve.h"
#include "BKE_gpencil_modifier.h"
#include "BKE_icons.h"
@@ -625,6 +626,54 @@ bool BKE_object_data_is_in_editmode(const ID *id)
}
}
+char *BKE_object_data_editmode_flush_ptr_get(struct ID *id)
+{
+ const short type = GS(id->name);
+ switch (type) {
+ case ID_ME: {
+ BMEditMesh *em = ((Mesh *)id)->edit_mesh;
+ if (em != NULL) {
+ return &em->needs_flush_to_id;
+ }
+ break;
+ }
+ case ID_CU: {
+ if (((Curve *)id)->vfont != NULL) {
+ EditFont *ef = ((Curve *)id)->editfont;
+ if (ef != NULL) {
+ return &ef->needs_flush_to_id;
+ }
+ }
+ else {
+ EditNurb *editnurb = ((Curve *)id)->editnurb;
+ if (editnurb) {
+ return &editnurb->needs_flush_to_id;
+ }
+ }
+ break;
+ }
+ case ID_MB: {
+ MetaBall *mb = (MetaBall *)id;
+ return &mb->needs_flush_to_id;
+ }
+ case ID_LT: {
+ EditLatt *editlatt = ((Lattice *)id)->editlatt;
+ if (editlatt) {
+ return &editlatt->needs_flush_to_id;
+ }
+ break;
+ }
+ case ID_AR: {
+ bArmature *arm = (bArmature *)id;
+ return &arm->needs_flush_to_id;
+ }
+ default:
+ BLI_assert(0);
+ return NULL;
+ }
+ return NULL;
+}
+
bool BKE_object_is_in_wpaint_select_vert(const Object *ob)
{
if (ob->type == OB_MESH) {
@@ -676,7 +725,7 @@ bool BKE_object_is_mode_compat(const struct Object *ob, eObjectMode object_mode)
*/
int BKE_object_visibility(const Object *ob, const int dag_eval_mode)
{
- if ((ob->base_flag & BASE_VISIBLE) == 0) {
+ if ((ob->base_flag & BASE_VISIBLE_DEPSGRAPH) == 0) {
return 0;
}
diff --git a/source/blender/blenkernel/intern/object_update.c b/source/blender/blenkernel/intern/object_update.c
index 01f3f2e309b..21ca5e6d6a6 100644
--- a/source/blender/blenkernel/intern/object_update.c
+++ b/source/blender/blenkernel/intern/object_update.c
@@ -439,10 +439,10 @@ void BKE_object_eval_eval_base_flags(Depsgraph *depsgraph,
* assumed viewport visibility. Select-ability does not matter here. */
if (DEG_get_mode(depsgraph) == DAG_EVAL_RENDER) {
if (base->flag & BASE_ENABLED_RENDER) {
- base->flag |= BASE_VISIBLE;
+ base->flag |= BASE_VISIBLE_DEPSGRAPH;
}
else {
- base->flag &= ~BASE_VISIBLE;
+ base->flag &= ~BASE_VISIBLE_DEPSGRAPH;
}
}
diff --git a/source/blender/blenkernel/intern/packedFile.c b/source/blender/blenkernel/intern/packedFile.c
index 8e647757b40..5fa3352d497 100644
--- a/source/blender/blenkernel/intern/packedFile.c
+++ b/source/blender/blenkernel/intern/packedFile.c
@@ -141,7 +141,9 @@ int BKE_packedfile_count_all(Main *bmain)
void BKE_packedfile_free(PackedFile *pf)
{
if (pf) {
- MEM_freeN(pf->data);
+ BLI_assert(pf->data != NULL);
+
+ MEM_SAFE_FREE(pf->data);
MEM_freeN(pf);
}
else {
@@ -151,6 +153,9 @@ void BKE_packedfile_free(PackedFile *pf)
PackedFile *BKE_packedfile_duplicate(const PackedFile *pf_src)
{
+ BLI_assert(pf_src != NULL);
+ BLI_assert(pf_src->data != NULL);
+
PackedFile *pf_dst;
pf_dst = MEM_dupallocN(pf_src);
@@ -161,6 +166,8 @@ PackedFile *BKE_packedfile_duplicate(const PackedFile *pf_src)
PackedFile *BKE_packedfile_new_from_memory(void *mem, int memlen)
{
+ BLI_assert(mem != NULL);
+
PackedFile *pf = MEM_callocN(sizeof(*pf), "PackedFile");
pf->data = mem;
pf->size = memlen;
@@ -178,7 +185,7 @@ PackedFile *BKE_packedfile_new(ReportList *reports, const char *filename, const
/* render result has no filename and can be ignored
* any other files with no name can be ignored too */
if (filename[0] == '\0') {
- return NULL;
+ return pf;
}
// XXX waitcursor(1);
@@ -260,7 +267,7 @@ void BKE_packedfile_pack_all(Main *bmain, ReportList *reports, bool verbose)
}
if (tot > 0) {
- BKE_reportf(reports, RPT_INFO, "Packed %d files", tot);
+ BKE_reportf(reports, RPT_INFO, "Packed %d file(s)", tot);
}
else if (verbose) {
BKE_report(reports, RPT_INFO, "No new files have been packed");
diff --git a/source/blender/blenkernel/intern/paint.c b/source/blender/blenkernel/intern/paint.c
index 983127372ca..cc9d1b98ba4 100644
--- a/source/blender/blenkernel/intern/paint.c
+++ b/source/blender/blenkernel/intern/paint.c
@@ -224,7 +224,6 @@ const EnumPropertyItem *BKE_paint_get_tool_enum_from_paintmode(ePaintMode mode)
return rna_enum_brush_image_tool_items;
case PAINT_MODE_SCULPT_UV:
return rna_enum_brush_uv_sculpt_tool_items;
- return NULL;
case PAINT_MODE_GPENCIL:
return rna_enum_brush_gpencil_types_items;
case PAINT_MODE_INVALID:
@@ -1185,7 +1184,7 @@ static void sculpt_update_object(
Mesh *me = BKE_object_get_original_mesh(ob);
MultiresModifierData *mmd = BKE_sculpt_multires_active(scene, ob);
- ss->modifiers_active = sculpt_modifiers_active(scene, sd, ob);
+ ss->deform_modifiers_active = sculpt_modifiers_active(scene, sd, ob);
ss->show_mask = (sd->flags & SCULPT_HIDE_MASK) == 0;
ss->building_vp_handle = false;
@@ -1206,7 +1205,7 @@ static void sculpt_update_object(
/* tessfaces aren't used and will become invalid */
BKE_mesh_tessface_clear(me);
- ss->kb = (mmd == NULL) ? BKE_keyblock_from_object(ob) : NULL;
+ ss->shapekey_active = (mmd == NULL) ? BKE_keyblock_from_object(ob) : NULL;
/* NOTE: Weight pPaint require mesh info for loop lookup, but it never uses multires code path,
* so no extra checks is needed here. */
@@ -1241,14 +1240,15 @@ static void sculpt_update_object(
pbvh_show_mask_set(ss->pbvh, ss->show_mask);
- if (ss->modifiers_active) {
+ if (ss->deform_modifiers_active) {
if (!ss->orig_cos) {
int a;
BKE_sculptsession_free_deformMats(ss);
- ss->orig_cos = (ss->kb) ? BKE_keyblock_convert_to_vertcos(ob, ss->kb) :
- BKE_mesh_vert_coords_alloc(me, NULL);
+ ss->orig_cos = (ss->shapekey_active) ?
+ BKE_keyblock_convert_to_vertcos(ob, ss->shapekey_active) :
+ BKE_mesh_vert_coords_alloc(me, NULL);
BKE_crazyspace_build_sculpt(depsgraph, scene, ob, &ss->deform_imats, &ss->deform_cos);
BKE_pbvh_vert_coords_apply(ss->pbvh, ss->deform_cos, me->totvert);
@@ -1262,15 +1262,15 @@ static void sculpt_update_object(
BKE_sculptsession_free_deformMats(ss);
}
- if (ss->kb != NULL && ss->deform_cos == NULL) {
- ss->deform_cos = BKE_keyblock_convert_to_vertcos(ob, ss->kb);
+ if (ss->shapekey_active != NULL && ss->deform_cos == NULL) {
+ ss->deform_cos = BKE_keyblock_convert_to_vertcos(ob, ss->shapekey_active);
}
/* if pbvh is deformed, key block is already applied to it */
- if (ss->kb) {
+ if (ss->shapekey_active) {
bool pbvh_deformed = BKE_pbvh_is_deformed(ss->pbvh);
if (!pbvh_deformed || ss->deform_cos == NULL) {
- float(*vertCos)[3] = BKE_keyblock_convert_to_vertcos(ob, ss->kb);
+ float(*vertCos)[3] = BKE_keyblock_convert_to_vertcos(ob, ss->shapekey_active);
if (vertCos) {
if (!pbvh_deformed) {
@@ -1449,17 +1449,17 @@ static bool check_sculpt_object_deformed(Object *object, const bool for_construc
* on birth of PBVH and sculpt "layer" levels, so use PBVH only for internal brush
* stuff and show final evaluated mesh so user would see actual object shape.
*/
- deformed |= object->sculpt->modifiers_active;
+ deformed |= object->sculpt->deform_modifiers_active;
if (for_construction) {
- deformed |= object->sculpt->kb != NULL;
+ deformed |= object->sculpt->shapekey_active != NULL;
}
else {
/* As in case with modifiers, we can't synchronize deformation made against
* PBVH and non-locked keyblock, so also use PBVH only for brushes and
* final DM to give final result to user.
*/
- deformed |= object->sculpt->kb && (object->shapeflag & OB_SHAPE_LOCK) == 0;
+ deformed |= object->sculpt->shapekey_active && (object->shapeflag & OB_SHAPE_LOCK) == 0;
}
return deformed;
@@ -1489,6 +1489,7 @@ static PBVH *build_pbvh_from_regular_mesh(Object *ob, Mesh *me_eval_deform)
BKE_mesh_recalc_looptri(me->mloop, me->mpoly, me->mvert, me->totloop, me->totpoly, looptri);
BKE_pbvh_build_mesh(pbvh,
+ me,
me->mpoly,
me->mloop,
me->mvert,
@@ -1588,7 +1589,7 @@ bool BKE_sculptsession_use_pbvh_draw(const Object *ob, const View3D *v3d)
if (BKE_pbvh_type(ss->pbvh) == PBVH_FACES) {
/* Regular mesh only draws from PBVH without modifiers and shape keys. */
const bool full_shading = (v3d && (v3d->shading.type > OB_SOLID));
- return !(ss->kb || ss->modifiers_active || full_shading);
+ return !(ss->shapekey_active || ss->deform_modifiers_active || full_shading);
}
else {
/* Multires and dyntopo always draw directly from the PBVH. */
diff --git a/source/blender/blenkernel/intern/pbvh.c b/source/blender/blenkernel/intern/pbvh.c
index 0eca4489309..01612ded396 100644
--- a/source/blender/blenkernel/intern/pbvh.c
+++ b/source/blender/blenkernel/intern/pbvh.c
@@ -27,6 +27,7 @@
#include "BLI_ghash.h"
#include "BLI_task.h"
+#include "DNA_mesh_types.h"
#include "DNA_meshdata_types.h"
#include "BKE_pbvh.h"
@@ -51,8 +52,6 @@
#define STACK_FIXED_DEPTH 100
-#define PBVH_THREADED_LIMIT 4
-
typedef struct PBVHStack {
PBVHNode *node;
bool revisiting;
@@ -535,6 +534,7 @@ static void pbvh_build(PBVH *bvh, BB *cb, BBC *prim_bbc, int totprim)
* (which means it may rewrite it if needed, see #BKE_pbvh_vert_coords_apply().
*/
void BKE_pbvh_build_mesh(PBVH *bvh,
+ const Mesh *mesh,
const MPoly *mpoly,
const MLoop *mloop,
MVert *verts,
@@ -547,6 +547,7 @@ void BKE_pbvh_build_mesh(PBVH *bvh,
BBC *prim_bbc = NULL;
BB cb;
+ bvh->mesh = mesh;
bvh->type = PBVH_FACES;
bvh->mpoly = mpoly;
bvh->mloop = mloop;
@@ -990,6 +991,7 @@ typedef struct PBVHUpdateData {
float (*vnors)[3];
int flag;
+ bool show_vcol;
} PBVHUpdateData;
static void pbvh_update_normals_accum_task_cb(void *__restrict userdata,
@@ -1059,11 +1061,12 @@ static void pbvh_update_normals_store_task_cb(void *__restrict userdata,
const int v = verts[i];
MVert *mvert = &bvh->verts[v];
- /* mvert is shared between nodes, hence between threads. */
- if (atomic_fetch_and_and_char(&mvert->flag, (char)~ME_VERT_PBVH_UPDATE) &
- ME_VERT_PBVH_UPDATE) {
+ /* No atomics necessary because we are iterating over uniq_verts only,
+ * so we know only this thread will handle this vertex. */
+ if (mvert->flag & ME_VERT_PBVH_UPDATE) {
normalize_v3(vnors[v]);
normal_float_to_short_v3(mvert->no, vnors[v]);
+ mvert->flag &= ~ME_VERT_PBVH_UPDATE;
}
}
@@ -1093,17 +1096,65 @@ static void pbvh_faces_update_normals(PBVH *bvh, PBVHNode **nodes, int totnode)
.vnors = vnors,
};
- TaskParallelSettings settings;
- BLI_parallel_range_settings_defaults(&settings);
- settings.use_threading = (totnode > PBVH_THREADED_LIMIT);
-
- BLI_task_parallel_range(0, totnode, &data, pbvh_update_normals_accum_task_cb, &settings);
+ PBVHParallelSettings settings;
+ BKE_pbvh_parallel_range_settings(&settings, true, totnode);
- BLI_task_parallel_range(0, totnode, &data, pbvh_update_normals_store_task_cb, &settings);
+ BKE_pbvh_parallel_range(0, totnode, &data, pbvh_update_normals_accum_task_cb, &settings);
+ BKE_pbvh_parallel_range(0, totnode, &data, pbvh_update_normals_store_task_cb, &settings);
MEM_freeN(vnors);
}
+static void pbvh_update_mask_redraw_task_cb(void *__restrict userdata,
+ const int n,
+ const TaskParallelTLS *__restrict UNUSED(tls))
+{
+
+ PBVHUpdateData *data = userdata;
+ PBVH *bvh = data->bvh;
+ PBVHNode *node = data->nodes[n];
+ if (node->flag & PBVH_UpdateMask) {
+
+ bool has_unmasked = false;
+ bool has_masked = true;
+ if (node->flag & PBVH_Leaf) {
+ PBVHVertexIter vd;
+
+ BKE_pbvh_vertex_iter_begin(bvh, node, vd, PBVH_ITER_UNIQUE)
+ {
+ if (vd.mask && *vd.mask < 1.0f) {
+ has_unmasked = true;
+ }
+ if (vd.mask && *vd.mask > 0.0f) {
+ has_masked = false;
+ }
+ }
+ BKE_pbvh_vertex_iter_end;
+ }
+ else {
+ has_unmasked = true;
+ has_masked = true;
+ }
+ BKE_pbvh_node_fully_masked_set(node, !has_unmasked);
+ BKE_pbvh_node_fully_unmasked_set(node, has_masked);
+
+ node->flag &= ~PBVH_UpdateMask;
+ }
+}
+
+static void pbvh_update_mask_redraw(PBVH *bvh, PBVHNode **nodes, int totnode, int flag)
+{
+ PBVHUpdateData data = {
+ .bvh = bvh,
+ .nodes = nodes,
+ .flag = flag,
+ };
+
+ PBVHParallelSettings settings;
+ BKE_pbvh_parallel_range_settings(&settings, true, totnode);
+ BKE_pbvh_parallel_range(0, totnode, &data, pbvh_update_mask_redraw_task_cb, &settings);
+}
+
static void pbvh_update_BB_redraw_task_cb(void *__restrict userdata,
const int n,
const TaskParallelTLS *__restrict UNUSED(tls))
@@ -1137,10 +1188,9 @@ void pbvh_update_BB_redraw(PBVH *bvh, PBVHNode **nodes, int totnode, int flag)
.flag = flag,
};
- TaskParallelSettings settings;
- BLI_parallel_range_settings_defaults(&settings);
- settings.use_threading = (totnode > PBVH_THREADED_LIMIT);
- BLI_task_parallel_range(0, totnode, &data, pbvh_update_BB_redraw_task_cb, &settings);
+ PBVHParallelSettings settings;
+ BKE_pbvh_parallel_range_settings(&settings, true, totnode);
+ BKE_pbvh_parallel_range(0, totnode, &data, pbvh_update_BB_redraw_task_cb, &settings);
}
static int pbvh_get_buffers_update_flags(PBVH *bvh, bool show_vcol)
@@ -1151,71 +1201,106 @@ static int pbvh_get_buffers_update_flags(PBVH *bvh, bool show_vcol)
return update_flags;
}
-static void pbvh_update_draw_buffers(PBVH *bvh, PBVHNode **nodes, int totnode, bool show_vcol)
-{
- /* can't be done in parallel with OpenGL */
- for (int n = 0; n < totnode; n++) {
- PBVHNode *node = nodes[n];
-
- if (node->flag & PBVH_RebuildDrawBuffers) {
- GPU_pbvh_buffers_free(node->draw_buffers);
- switch (bvh->type) {
- case PBVH_GRIDS:
- node->draw_buffers = GPU_pbvh_grid_buffers_build(node->totprim, bvh->grid_hidden);
- break;
- case PBVH_FACES:
- node->draw_buffers = GPU_pbvh_mesh_buffers_build(node->face_vert_indices,
- bvh->mpoly,
- bvh->mloop,
- bvh->looptri,
- bvh->verts,
- node->prim_indices,
- node->totprim);
- break;
- case PBVH_BMESH:
- node->draw_buffers = GPU_pbvh_bmesh_buffers_build(bvh->flags &
- PBVH_DYNTOPO_SMOOTH_SHADING);
- break;
- }
-
- node->flag &= ~PBVH_RebuildDrawBuffers;
- }
+static void pbvh_update_draw_buffer_cb(void *__restrict userdata,
+ const int n,
+ const TaskParallelTLS *__restrict UNUSED(tls))
+{
+ /* Create and update draw buffers. The functions called here must not
+ * do any OpenGL calls. Flags are not cleared immediately, that happens
+ * after GPU_pbvh_buffer_flush() which does the final OpenGL calls. */
+ PBVHUpdateData *data = userdata;
+ PBVH *bvh = data->bvh;
+ PBVHNode *node = data->nodes[n];
- if (node->flag & PBVH_UpdateDrawBuffers) {
- const int update_flags = pbvh_get_buffers_update_flags(bvh, show_vcol);
- switch (bvh->type) {
- case PBVH_GRIDS:
- GPU_pbvh_grid_buffers_update(node->draw_buffers,
- bvh->grids,
- bvh->grid_flag_mats,
- node->prim_indices,
- node->totprim,
- &bvh->gridkey,
- update_flags);
- break;
- case PBVH_FACES:
- GPU_pbvh_mesh_buffers_update(node->draw_buffers,
- bvh->verts,
- node->vert_indices,
- node->uniq_verts + node->face_verts,
- CustomData_get_layer(bvh->vdata, CD_PAINT_MASK),
- CustomData_get_layer(bvh->ldata, CD_MLOOPCOL),
- node->face_vert_indices,
- update_flags);
- break;
- case PBVH_BMESH:
- GPU_pbvh_bmesh_buffers_update(node->draw_buffers,
- bvh->bm,
- node->bm_faces,
- node->bm_unique_verts,
- node->bm_other_verts,
- update_flags);
- break;
+ if (node->flag & PBVH_RebuildDrawBuffers) {
+ switch (bvh->type) {
+ case PBVH_GRIDS:
+ node->draw_buffers = GPU_pbvh_grid_buffers_build(node->totprim, bvh->grid_hidden);
+ break;
+ case PBVH_FACES:
+ node->draw_buffers = GPU_pbvh_mesh_buffers_build(node->face_vert_indices,
+ bvh->mpoly,
+ bvh->mloop,
+ bvh->looptri,
+ bvh->verts,
+ node->prim_indices,
+ node->totprim,
+ bvh->mesh);
+ break;
+ case PBVH_BMESH:
+ node->draw_buffers = GPU_pbvh_bmesh_buffers_build(bvh->flags &
+ PBVH_DYNTOPO_SMOOTH_SHADING);
+ break;
+ }
+ }
+
+ if (node->flag & PBVH_UpdateDrawBuffers) {
+ const int update_flags = pbvh_get_buffers_update_flags(bvh, data->show_vcol);
+ switch (bvh->type) {
+ case PBVH_GRIDS:
+ GPU_pbvh_grid_buffers_update(node->draw_buffers,
+ bvh->grids,
+ bvh->grid_flag_mats,
+ node->prim_indices,
+ node->totprim,
+ &bvh->gridkey,
+ update_flags);
+ break;
+ case PBVH_FACES:
+ GPU_pbvh_mesh_buffers_update(node->draw_buffers,
+ bvh->verts,
+ node->vert_indices,
+ node->uniq_verts + node->face_verts,
+ CustomData_get_layer(bvh->vdata, CD_PAINT_MASK),
+ CustomData_get_layer(bvh->ldata, CD_MLOOPCOL),
+ node->face_vert_indices,
+ update_flags);
+ break;
+ case PBVH_BMESH:
+ GPU_pbvh_bmesh_buffers_update(node->draw_buffers,
+ bvh->bm,
+ node->bm_faces,
+ node->bm_unique_verts,
+ node->bm_other_verts,
+ update_flags);
+ break;
+ }
+ }
+}
+
+static void pbvh_update_draw_buffers(
+ PBVH *bvh, PBVHNode **nodes, int totnode, bool show_vcol, int update_flag)
+{
+ if ((update_flag & PBVH_RebuildDrawBuffers) || ELEM(bvh->type, PBVH_GRIDS, PBVH_BMESH)) {
+ /* Free buffers uses OpenGL, so not in parallel. */
+ for (int n = 0; n < totnode; n++) {
+ PBVHNode *node = nodes[n];
+ if (node->flag & PBVH_RebuildDrawBuffers) {
+ GPU_pbvh_buffers_free(node->draw_buffers);
+ node->draw_buffers = NULL;
+ }
+ else if ((node->flag & PBVH_UpdateDrawBuffers) && node->draw_buffers) {
+ if (bvh->type == PBVH_GRIDS) {
+ GPU_pbvh_grid_buffers_update_free(
+ node->draw_buffers, bvh->grid_flag_mats, node->prim_indices);
+ }
+ else if (bvh->type == PBVH_BMESH) {
+ GPU_pbvh_bmesh_buffers_update_free(node->draw_buffers);
+ }
}
-
- node->flag &= ~PBVH_UpdateDrawBuffers;
}
}
+
+ /* Parallel creation and update of draw buffers. */
+ PBVHUpdateData data = {
+ .bvh = bvh,
+ .nodes = nodes,
+ .show_vcol = show_vcol,
+ };
+
+ PBVHParallelSettings settings;
+ BKE_pbvh_parallel_range_settings(&settings, true, totnode);
+ BKE_pbvh_parallel_range(0, totnode, &data, pbvh_update_draw_buffer_cb, &settings);
}
static int pbvh_flush_bb(PBVH *bvh, PBVHNode *node, int flag)
@@ -1270,6 +1355,24 @@ void BKE_pbvh_update_bounds(PBVH *bvh, int flag)
pbvh_flush_bb(bvh, bvh->nodes, flag);
}
+ MEM_SAFE_FREE(nodes);
+}
+
+void BKE_pbvh_update_vertex_data(PBVH *bvh, int flag)
+{
+ if (!bvh->nodes) {
+ return;
+ }
+
+ PBVHNode **nodes;
+ int totnode;
+
+ BKE_pbvh_search_gather(bvh, update_search_cb, POINTER_FROM_INT(flag), &nodes, &totnode);
+
+ if (flag & (PBVH_UpdateMask)) {
+ pbvh_update_mask_redraw(bvh, nodes, totnode, flag);
+ }
+
if (nodes) {
MEM_freeN(nodes);
}
@@ -1378,19 +1481,24 @@ BLI_bitmap **BKE_pbvh_grid_hidden(const PBVH *bvh)
return bvh->grid_hidden;
}
-void BKE_pbvh_get_grid_key(const PBVH *bvh, CCGKey *key)
+const CCGKey *BKE_pbvh_get_grid_key(const PBVH *bvh)
{
BLI_assert(bvh->type == PBVH_GRIDS);
- *key = bvh->gridkey;
+ return &bvh->gridkey;
}
-struct CCGElem **BKE_pbvh_get_grids(const PBVH *bvh, int *num_grids)
+struct CCGElem **BKE_pbvh_get_grids(const PBVH *bvh)
{
BLI_assert(bvh->type == PBVH_GRIDS);
- *num_grids = bvh->totgrid;
return bvh->grids;
}
+int BKE_pbvh_get_grid_num_vertices(const PBVH *bvh)
+{
+ BLI_assert(bvh->type == PBVH_GRIDS);
+ return bvh->totgrid * bvh->gridkey.grid_area;
+}
+
BMesh *BKE_pbvh_get_bmesh(PBVH *bvh)
{
BLI_assert(bvh->type == PBVH_BMESH);
@@ -1405,6 +1513,11 @@ void BKE_pbvh_node_mark_update(PBVHNode *node)
PBVH_UpdateDrawBuffers | PBVH_UpdateRedraw;
}
+void BKE_pbvh_node_mark_update_mask(PBVHNode *node)
+{
+ node->flag |= PBVH_UpdateMask | PBVH_UpdateDrawBuffers | PBVH_UpdateRedraw;
+}
+
void BKE_pbvh_node_mark_rebuild_draw(PBVHNode *node)
{
node->flag |= PBVH_RebuildDrawBuffers | PBVH_UpdateDrawBuffers | PBVH_UpdateRedraw;
@@ -1432,6 +1545,40 @@ void BKE_pbvh_node_fully_hidden_set(PBVHNode *node, int fully_hidden)
}
}
+void BKE_pbvh_node_fully_masked_set(PBVHNode *node, int fully_masked)
+{
+ BLI_assert(node->flag & PBVH_Leaf);
+
+ if (fully_masked) {
+ node->flag |= PBVH_FullyMasked;
+ }
+ else {
+ node->flag &= ~PBVH_FullyMasked;
+ }
+}
+
+bool BKE_pbvh_node_fully_masked_get(PBVHNode *node)
+{
+ return (node->flag & PBVH_Leaf) && (node->flag & PBVH_FullyMasked);
+}
+
+void BKE_pbvh_node_fully_unmasked_set(PBVHNode *node, int fully_masked)
+{
+ BLI_assert(node->flag & PBVH_Leaf);
+
+ if (fully_masked) {
+ node->flag |= PBVH_FullyUnmasked;
+ }
+ else {
+ node->flag &= ~PBVH_FullyUnmasked;
+ }
+}
+
+bool BKE_pbvh_node_fully_unmasked_get(PBVHNode *node)
+{
+ return (node->flag & PBVH_Leaf) && (node->flag & PBVH_FullyUnmasked);
+}
+
void BKE_pbvh_node_get_verts(PBVH *bvh,
PBVHNode *node,
const int **r_vert_indices,
@@ -1571,8 +1718,8 @@ void BKE_pbvh_node_get_bm_orco_data(PBVHNode *node,
/**
* \note doing a full search on all vertices here seems expensive,
- * however this is important to avoid having to recalculate boundbox & sync the buffers to the GPU
- * (which is far more expensive!) See: T47232.
+ * however this is important to avoid having to recalculate boundbox & sync the buffers to the
+ * GPU (which is far more expensive!) See: T47232.
*/
bool BKE_pbvh_node_vert_update_check_any(PBVH *bvh, PBVHNode *node)
{
@@ -1761,14 +1908,11 @@ static bool pbvh_faces_node_raycast(PBVH *bvh,
const MVert *vert = bvh->verts;
const MLoop *mloop = bvh->mloop;
const int *faces = node->prim_indices;
- int i, totface = node->totprim;
+ int totface = node->totprim;
bool hit = false;
- float min_depth = FLT_MAX;
- float location[3] = {0.0f};
- float nearest_vertex_co[3];
- copy_v3_fl(nearest_vertex_co, 0.0f);
+ float nearest_vertex_co[3] = {0.0f};
- for (i = 0; i < totface; i++) {
+ for (int i = 0; i < totface; i++) {
const MLoopTri *lt = &bvh->looptri[faces[i]];
const int *face_verts = node->face_vert_indices[i];
@@ -1776,35 +1920,33 @@ static bool pbvh_faces_node_raycast(PBVH *bvh,
continue;
}
+ const float *co[3];
if (origco) {
/* intersect with backuped original coordinates */
- hit |= ray_face_intersection_tri(ray_start,
- isect_precalc,
- origco[face_verts[0]],
- origco[face_verts[1]],
- origco[face_verts[2]],
- depth);
+ co[0] = origco[face_verts[0]];
+ co[1] = origco[face_verts[1]];
+ co[2] = origco[face_verts[2]];
}
else {
/* intersect with current coordinates */
- hit |= ray_face_intersection_tri(ray_start,
- isect_precalc,
- vert[mloop[lt->tri[0]].v].co,
- vert[mloop[lt->tri[1]].v].co,
- vert[mloop[lt->tri[2]].v].co,
- depth);
-
- if (hit && *depth < min_depth) {
- min_depth = *depth;
- normal_tri_v3(r_face_normal,
- vert[mloop[lt->tri[0]].v].co,
- vert[mloop[lt->tri[1]].v].co,
- vert[mloop[lt->tri[2]].v].co);
+ co[0] = vert[mloop[lt->tri[0]].v].co;
+ co[1] = vert[mloop[lt->tri[1]].v].co;
+ co[2] = vert[mloop[lt->tri[2]].v].co;
+ }
+
+ if (ray_face_intersection_tri(ray_start, isect_precalc, co[0], co[1], co[2], depth)) {
+ hit = true;
+
+ if (r_face_normal) {
+ normal_tri_v3(r_face_normal, co[0], co[1], co[2]);
+ }
+
+ if (r_active_vertex_index) {
+ float location[3] = {0.0f};
madd_v3_v3v3fl(location, ray_start, ray_normal, *depth);
for (int j = 0; j < 3; j++) {
- if (len_squared_v3v3(location, vert[mloop[lt->tri[j]].v].co) <
- len_squared_v3v3(location, nearest_vertex_co)) {
- copy_v3_v3(nearest_vertex_co, vert[mloop[lt->tri[j]].v].co);
+ if (len_squared_v3v3(location, co[j]) < len_squared_v3v3(location, nearest_vertex_co)) {
+ copy_v3_v3(nearest_vertex_co, co[j]);
*r_active_vertex_index = mloop[lt->tri[j]].v;
}
}
@@ -1819,22 +1961,28 @@ static bool pbvh_grids_node_raycast(PBVH *bvh,
PBVHNode *node,
float (*origco)[3],
const float ray_start[3],
+ const float ray_normal[3],
struct IsectRayPrecalc *isect_precalc,
- float *depth)
+ float *depth,
+ int *r_active_vertex_index,
+ float *r_face_normal)
{
const int totgrid = node->totprim;
const int gridsize = bvh->gridkey.grid_size;
bool hit = false;
+ float nearest_vertex_co[3] = {0.0};
+ const CCGKey *gridkey = &bvh->gridkey;
for (int i = 0; i < totgrid; i++) {
- CCGElem *grid = bvh->grids[node->prim_indices[i]];
+ const int grid_index = node->prim_indices[i];
+ CCGElem *grid = bvh->grids[grid_index];
BLI_bitmap *gh;
if (!grid) {
continue;
}
- gh = bvh->grid_hidden[node->prim_indices[i]];
+ gh = bvh->grid_hidden[grid_index];
for (int y = 0; y < gridsize - 1; y++) {
for (int x = 0; x < gridsize - 1; x++) {
@@ -1845,23 +1993,40 @@ static bool pbvh_grids_node_raycast(PBVH *bvh,
}
}
+ const float *co[4];
if (origco) {
- hit |= ray_face_intersection_quad(ray_start,
- isect_precalc,
- origco[y * gridsize + x],
- origco[y * gridsize + x + 1],
- origco[(y + 1) * gridsize + x + 1],
- origco[(y + 1) * gridsize + x],
- depth);
+ co[0] = origco[y * gridsize + x];
+ co[1] = origco[y * gridsize + x + 1];
+ co[2] = origco[(y + 1) * gridsize + x + 1];
+ co[3] = origco[(y + 1) * gridsize + x];
}
else {
- hit |= ray_face_intersection_quad(ray_start,
- isect_precalc,
- CCG_grid_elem_co(&bvh->gridkey, grid, x, y),
- CCG_grid_elem_co(&bvh->gridkey, grid, x + 1, y),
- CCG_grid_elem_co(&bvh->gridkey, grid, x + 1, y + 1),
- CCG_grid_elem_co(&bvh->gridkey, grid, x, y + 1),
- depth);
+ co[0] = CCG_grid_elem_co(gridkey, grid, x, y);
+ co[1] = CCG_grid_elem_co(gridkey, grid, x + 1, y);
+ co[2] = CCG_grid_elem_co(gridkey, grid, x + 1, y + 1);
+ co[3] = CCG_grid_elem_co(gridkey, grid, x, y + 1);
+ }
+
+ if (ray_face_intersection_quad(
+ ray_start, isect_precalc, co[0], co[1], co[2], co[3], depth)) {
+ hit = true;
+
+ if (r_face_normal) {
+ normal_quad_v3(r_face_normal, co[0], co[1], co[2], co[3]);
+ }
+
+ if (r_active_vertex_index) {
+ float location[3] = {0.0};
+ madd_v3_v3v3fl(location, ray_start, ray_normal, *depth);
+ for (int j = 0; j < 4; j++) {
+ if (len_squared_v3v3(location, co[j]) <
+ len_squared_v3v3(location, nearest_vertex_co)) {
+ copy_v3_v3(nearest_vertex_co, co[j]);
+ *r_active_vertex_index = gridkey->grid_area * grid_index + y * gridkey->grid_size +
+ x;
+ }
+ }
+ }
}
}
}
@@ -1904,7 +2069,15 @@ bool BKE_pbvh_node_raycast(PBVH *bvh,
face_normal);
break;
case PBVH_GRIDS:
- hit |= pbvh_grids_node_raycast(bvh, node, origco, ray_start, isect_precalc, depth);
+ hit |= pbvh_grids_node_raycast(bvh,
+ node,
+ origco,
+ ray_start,
+ ray_normal,
+ isect_precalc,
+ depth,
+ active_vertex_index,
+ face_normal);
break;
case PBVH_BMESH:
BM_mesh_elem_index_ensure(bvh->bm, BM_VERT);
@@ -2167,16 +2340,18 @@ typedef enum {
* Returns true if the AABB is at least partially within the frustum
* (ok, not a real frustum), false otherwise.
*/
-static PlaneAABBIsect test_planes_aabb(const float bb_min[3],
- const float bb_max[3],
- const float (*planes)[4])
+static PlaneAABBIsect test_frustum_aabb(const float bb_min[3],
+ const float bb_max[3],
+ PBVHFrustumPlanes *frustum)
{
- float vmin[3], vmax[3];
PlaneAABBIsect ret = ISECT_INSIDE;
+ float(*planes)[4] = frustum->planes;
+
+ for (int i = 0; i < frustum->num_planes; i++) {
+ float vmin[3], vmax[3];
- for (int i = 0; i < 4; i++) {
for (int axis = 0; axis < 3; axis++) {
- if (planes[i][axis] > 0) {
+ if (planes[i][axis] < 0) {
vmin[axis] = bb_min[axis];
vmax[axis] = bb_max[axis];
}
@@ -2186,10 +2361,10 @@ static PlaneAABBIsect test_planes_aabb(const float bb_min[3],
}
}
- if (dot_v3v3(planes[i], vmin) + planes[i][3] > 0) {
+ if (dot_v3v3(planes[i], vmin) + planes[i][3] < 0) {
return ISECT_OUTSIDE;
}
- else if (dot_v3v3(planes[i], vmax) + planes[i][3] >= 0) {
+ else if (dot_v3v3(planes[i], vmax) + planes[i][3] <= 0) {
ret = ISECT_INTERSECT;
}
}
@@ -2197,38 +2372,24 @@ static PlaneAABBIsect test_planes_aabb(const float bb_min[3],
return ret;
}
-bool BKE_pbvh_node_planes_contain_AABB(PBVHNode *node, void *data)
+bool BKE_pbvh_node_frustum_contain_AABB(PBVHNode *node, void *data)
{
const float *bb_min, *bb_max;
/* BKE_pbvh_node_get_BB */
bb_min = node->vb.bmin;
bb_max = node->vb.bmax;
- return test_planes_aabb(bb_min, bb_max, data) != ISECT_OUTSIDE;
+ return test_frustum_aabb(bb_min, bb_max, data) != ISECT_OUTSIDE;
}
-bool BKE_pbvh_node_planes_exclude_AABB(PBVHNode *node, void *data)
+bool BKE_pbvh_node_frustum_exclude_AABB(PBVHNode *node, void *data)
{
const float *bb_min, *bb_max;
/* BKE_pbvh_node_get_BB */
bb_min = node->vb.bmin;
bb_max = node->vb.bmax;
- return test_planes_aabb(bb_min, bb_max, data) != ISECT_INSIDE;
-}
-
-typedef struct PBVHNodeDrawCallbackData {
- void (*draw_fn)(void *user_data, GPU_PBVH_Buffers *buffers);
- void *user_data;
-} PBVHNodeDrawCallbackData;
-
-static void pbvh_node_draw_cb(PBVHNode *node, void *data_v)
-{
- PBVHNodeDrawCallbackData *data = data_v;
-
- if (!(node->flag & PBVH_FullyHidden)) {
- data->draw_fn(data->user_data, node->draw_buffers);
- }
+ return test_frustum_aabb(bb_min, bb_max, data) != ISECT_INSIDE;
}
void BKE_pbvh_update_normals(PBVH *bvh, struct SubdivCCG *subdiv_ccg)
@@ -2240,63 +2401,96 @@ void BKE_pbvh_update_normals(PBVH *bvh, struct SubdivCCG *subdiv_ccg)
BKE_pbvh_search_gather(
bvh, update_search_cb, POINTER_FROM_INT(PBVH_UpdateNormals), &nodes, &totnode);
- if (bvh->type == PBVH_BMESH) {
- pbvh_bmesh_normals_update(nodes, totnode);
- }
- else if (bvh->type == PBVH_FACES) {
- pbvh_faces_update_normals(bvh, nodes, totnode);
- }
- else if (bvh->type == PBVH_GRIDS) {
- struct CCGFace **faces;
- int num_faces;
- BKE_pbvh_get_grid_updates(bvh, true, (void ***)&faces, &num_faces);
- if (num_faces > 0) {
- BKE_subdiv_ccg_update_normals(subdiv_ccg, faces, num_faces);
- MEM_freeN(faces);
+ if (totnode > 0) {
+ if (bvh->type == PBVH_BMESH) {
+ pbvh_bmesh_normals_update(nodes, totnode);
+ }
+ else if (bvh->type == PBVH_FACES) {
+ pbvh_faces_update_normals(bvh, nodes, totnode);
+ }
+ else if (bvh->type == PBVH_GRIDS) {
+ struct CCGFace **faces;
+ int num_faces;
+ BKE_pbvh_get_grid_updates(bvh, true, (void ***)&faces, &num_faces);
+ if (num_faces > 0) {
+ BKE_subdiv_ccg_update_normals(subdiv_ccg, faces, num_faces);
+ MEM_freeN(faces);
+ }
}
}
- if (nodes) {
- MEM_freeN(nodes);
+ MEM_SAFE_FREE(nodes);
+}
+
+/**
+ * PBVH drawing, updating draw buffers as needed and culling any nodes outside
+ * the specified frustum.
+ */
+typedef struct PBVHDrawSearchData {
+ PBVHFrustumPlanes *frustum;
+ int accum_update_flag;
+} PBVHDrawSearchData;
+
+static bool pbvh_draw_search_cb(PBVHNode *node, void *data_v)
+{
+ PBVHDrawSearchData *data = data_v;
+ if (data->frustum && !BKE_pbvh_node_frustum_contain_AABB(node, data->frustum)) {
+ return false;
}
+
+ data->accum_update_flag |= node->flag;
+ return true;
}
-void BKE_pbvh_update_draw_buffers(PBVH *bvh, bool show_vcol)
+void BKE_pbvh_draw_cb(PBVH *bvh,
+ bool show_vcol,
+ bool update_only_visible,
+ PBVHFrustumPlanes *frustum,
+ void (*draw_fn)(void *user_data, GPU_PBVH_Buffers *buffers),
+ void *user_data)
{
- /* Update GPU buffers */
PBVHNode **nodes;
int totnode;
- BKE_pbvh_search_gather(
- bvh, update_search_cb, POINTER_FROM_INT(PBVH_UpdateDrawBuffers), &nodes, &totnode);
+ const int update_flag = PBVH_RebuildDrawBuffers | PBVH_UpdateDrawBuffers;
- pbvh_update_draw_buffers(bvh, nodes, totnode, show_vcol);
+ if (!update_only_visible) {
+ /* Update all draw buffers, also those outside the view. */
+ BKE_pbvh_search_gather(bvh, update_search_cb, POINTER_FROM_INT(update_flag), &nodes, &totnode);
- if (nodes) {
- MEM_freeN(nodes);
+ if (totnode) {
+ pbvh_update_draw_buffers(bvh, nodes, totnode, show_vcol, update_flag);
+ }
+
+ MEM_SAFE_FREE(nodes);
}
-}
-/**
- * Version of #BKE_pbvh_draw that runs a callback.
- */
-void BKE_pbvh_draw_cb(PBVH *bvh,
- float (*planes)[4],
- void (*draw_fn)(void *user_data, GPU_PBVH_Buffers *buffers),
- void *user_data)
-{
- PBVHNodeDrawCallbackData draw_data = {
- .draw_fn = draw_fn,
- .user_data = user_data,
- };
+ /* Gather visible nodes. */
+ PBVHDrawSearchData data = {.frustum = frustum, .accum_update_flag = 0};
+ BKE_pbvh_search_gather(bvh, pbvh_draw_search_cb, &data, &nodes, &totnode);
- if (planes) {
- BKE_pbvh_search_callback(
- bvh, BKE_pbvh_node_planes_contain_AABB, planes, pbvh_node_draw_cb, &draw_data);
+ if (update_only_visible && (data.accum_update_flag & update_flag)) {
+ /* Update draw buffers in visible nodes. */
+ pbvh_update_draw_buffers(bvh, nodes, totnode, show_vcol, data.accum_update_flag);
}
- else {
- BKE_pbvh_search_callback(bvh, NULL, NULL, pbvh_node_draw_cb, &draw_data);
+
+ /* Draw. */
+ for (int a = 0; a < totnode; a++) {
+ PBVHNode *node = nodes[a];
+
+ if (node->flag & PBVH_UpdateDrawBuffers) {
+ /* Flush buffers uses OpenGL, so not in parallel. */
+ GPU_pbvh_buffers_update_flush(node->draw_buffers);
+ }
+
+ node->flag &= ~(PBVH_RebuildDrawBuffers | PBVH_UpdateDrawBuffers);
+
+ if (!(node->flag & PBVH_FullyHidden)) {
+ draw_fn(user_data, node->draw_buffers);
+ }
}
+
+ MEM_SAFE_FREE(nodes);
}
void BKE_pbvh_draw_debug_cb(
@@ -2494,7 +2688,7 @@ void pbvh_vertex_iter_init(PBVH *bvh, PBVHNode *node, PBVHVertexIter *vi, int mo
BKE_pbvh_node_get_grids(bvh, node, &grid_indices, &totgrid, NULL, &gridsize, &grids);
BKE_pbvh_node_num_verts(bvh, node, &uniq_verts, &totvert);
BKE_pbvh_node_get_verts(bvh, node, &vert_indices, &verts);
- vi->key = &bvh->gridkey;
+ vi->key = bvh->gridkey;
vi->grids = grids;
vi->grid_indices = grid_indices;
@@ -2546,3 +2740,11 @@ void pbvh_show_mask_set(PBVH *bvh, bool show_mask)
{
bvh->show_mask = show_mask;
}
+
+void BKE_pbvh_parallel_range_settings(PBVHParallelSettings *settings,
+ bool use_threading,
+ int totnode)
+{
+ memset(settings, 0, sizeof(*settings));
+ settings->use_threading = use_threading && totnode > 1;
+}
diff --git a/source/blender/blenkernel/intern/pbvh_bmesh.c b/source/blender/blenkernel/intern/pbvh_bmesh.c
index c04e172f116..d4115dc0080 100644
--- a/source/blender/blenkernel/intern/pbvh_bmesh.c
+++ b/source/blender/blenkernel/intern/pbvh_bmesh.c
@@ -413,7 +413,7 @@ static bool pbvh_bmesh_node_limit_ensure(PBVH *bvh, int node_index)
/* so we can do direct lookups on 'bbc_array' */
BM_elem_index_set(f, i); /* set_dirty! */
}
- /* likely this is already dirty */
+ /* Likely this is already dirty. */
bvh->bm->elem_index_dirty |= BM_FACE;
pbvh_bmesh_node_split(bvh, bbc_array, node_index);
@@ -1516,10 +1516,8 @@ bool pbvh_bmesh_node_raycast(PBVHNode *node,
float *r_face_normal)
{
bool hit = false;
-
- float min_depth = FLT_MAX;
float nearest_vertex_co[3] = {0.0f};
- float location[3] = {0.0f};
+
if (use_original && node->bm_tot_ortri) {
for (int i = 0; i < node->bm_tot_ortri; i++) {
const int *t = node->bm_ortri[i];
@@ -1542,18 +1540,24 @@ bool pbvh_bmesh_node_raycast(PBVHNode *node,
BMVert *v_tri[3];
BM_face_as_array_vert_tri(f, v_tri);
- hit |= ray_face_intersection_tri(
- ray_start, isect_precalc, v_tri[0]->co, v_tri[1]->co, v_tri[2]->co, depth);
-
- if (hit && *depth < min_depth) {
- min_depth = *depth;
- normal_tri_v3(r_face_normal, v_tri[0]->co, v_tri[1]->co, v_tri[2]->co);
- madd_v3_v3v3fl(location, ray_start, ray_normal, *depth);
- for (int j = 0; j < 3; j++) {
- if (len_squared_v3v3(location, v_tri[j]->co) <
- len_squared_v3v3(location, nearest_vertex_co)) {
- copy_v3_v3(nearest_vertex_co, v_tri[j]->co);
- *r_active_vertex_index = BM_elem_index_get(v_tri[j]);
+
+ if (ray_face_intersection_tri(
+ ray_start, isect_precalc, v_tri[0]->co, v_tri[1]->co, v_tri[2]->co, depth)) {
+ hit = true;
+
+ if (r_face_normal) {
+ normal_tri_v3(r_face_normal, v_tri[0]->co, v_tri[1]->co, v_tri[2]->co);
+ }
+
+ if (r_active_vertex_index) {
+ float location[3] = {0.0f};
+ madd_v3_v3v3fl(location, ray_start, ray_normal, *depth);
+ for (int j = 0; j < 3; j++) {
+ if (len_squared_v3v3(location, v_tri[j]->co) <
+ len_squared_v3v3(location, nearest_vertex_co)) {
+ copy_v3_v3(nearest_vertex_co, v_tri[j]->co);
+ *r_active_vertex_index = BM_elem_index_get(v_tri[j]);
+ }
}
}
}
@@ -1919,15 +1923,14 @@ void BKE_pbvh_build_bmesh(PBVH *bvh,
nodeinfo[i] = f;
BM_ELEM_CD_SET_INT(f, cd_face_node_offset, DYNTOPO_NODE_NONE);
}
+ /* Likely this is already dirty. */
+ bm->elem_index_dirty |= BM_FACE;
BMVert *v;
BM_ITER_MESH (v, &iter, bm, BM_VERTS_OF_MESH) {
BM_ELEM_CD_SET_INT(v, cd_vert_node_offset, DYNTOPO_NODE_NONE);
}
- /* likely this is already dirty */
- bm->elem_index_dirty |= BM_FACE;
-
/* setup root node */
struct FastNodeBuildInfo rootnode = {0};
rootnode.totface = bm->totface;
@@ -1974,7 +1977,7 @@ bool BKE_pbvh_bmesh_update_topology(PBVH *bvh,
if (mode & PBVH_Collapse) {
EdgeQueue q;
- BLI_mempool *queue_pool = BLI_mempool_create(sizeof(BMVert * [2]), 0, 128, BLI_MEMPOOL_NOP);
+ BLI_mempool *queue_pool = BLI_mempool_create(sizeof(BMVert *[2]), 0, 128, BLI_MEMPOOL_NOP);
EdgeQueueContext eq_ctx = {
&q,
queue_pool,
@@ -1993,7 +1996,7 @@ bool BKE_pbvh_bmesh_update_topology(PBVH *bvh,
if (mode & PBVH_Subdivide) {
EdgeQueue q;
- BLI_mempool *queue_pool = BLI_mempool_create(sizeof(BMVert * [2]), 0, 128, BLI_MEMPOOL_NOP);
+ BLI_mempool *queue_pool = BLI_mempool_create(sizeof(BMVert *[2]), 0, 128, BLI_MEMPOOL_NOP);
EdgeQueueContext eq_ctx = {
&q,
queue_pool,
@@ -2032,7 +2035,7 @@ bool BKE_pbvh_bmesh_update_topology(PBVH *bvh,
* (currently just raycast), store the node's triangles and vertices.
*
* Skips triangles that are hidden. */
-void BKE_pbvh_bmesh_node_save_orig(PBVHNode *node)
+void BKE_pbvh_bmesh_node_save_orig(BMesh *bm, PBVHNode *node)
{
/* Skip if original coords/triangles are already saved */
if (node->bm_orco) {
@@ -2061,6 +2064,8 @@ void BKE_pbvh_bmesh_node_save_orig(PBVHNode *node)
BM_elem_index_set(v, i); /* set_dirty! */
i++;
}
+ /* Likely this is already dirty. */
+ bm->elem_index_dirty |= BM_VERT;
/* Copy the triangles */
i = 0;
diff --git a/source/blender/blenkernel/intern/pbvh_intern.h b/source/blender/blenkernel/intern/pbvh_intern.h
index bad103743eb..bdee05f1aab 100644
--- a/source/blender/blenkernel/intern/pbvh_intern.h
+++ b/source/blender/blenkernel/intern/pbvh_intern.h
@@ -127,6 +127,7 @@ struct PBVH {
int leaf_limit;
/* Mesh data */
+ const struct Mesh *mesh;
MVert *verts;
const MPoly *mpoly;
const MLoop *mloop;
diff --git a/source/blender/blenkernel/intern/pbvh_parallel.cc b/source/blender/blenkernel/intern/pbvh_parallel.cc
new file mode 100644
index 00000000000..2534fdea3ee
--- /dev/null
+++ b/source/blender/blenkernel/intern/pbvh_parallel.cc
@@ -0,0 +1,148 @@
+/*
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+#include "MEM_guardedalloc.h"
+
+#include "BLI_task.h"
+#include "BLI_threads.h"
+
+#include "BKE_pbvh.h"
+
+#include "atomic_ops.h"
+
+#ifdef WITH_TBB
+
+/* Quiet top level deprecation message, unrelated to API usage here. */
+# define TBB_SUPPRESS_DEPRECATED_MESSAGES 1
+
+# include <tbb/tbb.h>
+
+/* Functor for running TBB parallel_for and parallel_reduce. */
+struct PBVHTask {
+ PBVHParallelRangeFunc func;
+ void *userdata;
+ const PBVHParallelSettings *settings;
+
+ void *userdata_chunk;
+
+ /* Root constructor. */
+ PBVHTask(PBVHParallelRangeFunc func, void *userdata, const PBVHParallelSettings *settings)
+ : func(func), userdata(userdata), settings(settings)
+ {
+ init_chunk(settings->userdata_chunk);
+ }
+
+ /* Copy constructor. */
+ PBVHTask(const PBVHTask &other)
+ : func(other.func), userdata(other.userdata), settings(other.settings)
+ {
+ init_chunk(other.userdata_chunk);
+ }
+
+ /* Splitting constructor for parallel reduce. */
+ PBVHTask(PBVHTask &other, tbb::split)
+ : func(other.func), userdata(other.userdata), settings(other.settings)
+ {
+ init_chunk(settings->userdata_chunk);
+ }
+
+ ~PBVHTask()
+ {
+ MEM_SAFE_FREE(userdata_chunk);
+ }
+
+ void init_chunk(void *from_chunk)
+ {
+ if (from_chunk) {
+ userdata_chunk = MEM_mallocN(settings->userdata_chunk_size, "PBVHTask");
+ memcpy(userdata_chunk, from_chunk, settings->userdata_chunk_size);
+ }
+ else {
+ userdata_chunk = NULL;
+ }
+ }
+
+ void operator()(const tbb::blocked_range<int> &r) const
+ {
+ TaskParallelTLS tls;
+ tls.thread_id = get_thread_id();
+ tls.userdata_chunk = userdata_chunk;
+ for (int i = r.begin(); i != r.end(); ++i) {
+ func(userdata, i, &tls);
+ }
+ }
+
+ void join(const PBVHTask &other)
+ {
+ settings->func_reduce(userdata, userdata_chunk, other.userdata_chunk);
+ }
+
+ int get_thread_id() const
+ {
+ /* Get a unique thread ID for texture nodes. In the future we should get rid
+ * of the thread ID and change texture evaluation to not require per-thread
+ * storage that can't be efficiently allocated on the stack. */
+ static tbb::enumerable_thread_specific<int> pbvh_thread_id(-1);
+ static int pbvh_thread_id_counter = 0;
+
+ int &thread_id = pbvh_thread_id.local();
+ if (thread_id == -1) {
+ thread_id = atomic_fetch_and_add_int32(&pbvh_thread_id_counter, 1);
+ if (thread_id >= BLENDER_MAX_THREADS) {
+ BLI_assert(!"Maximum number of threads exceeded for sculpting");
+ thread_id = thread_id % BLENDER_MAX_THREADS;
+ }
+ }
+ return thread_id;
+ }
+};
+
+#endif
+
+void BKE_pbvh_parallel_range(const int start,
+ const int stop,
+ void *userdata,
+ PBVHParallelRangeFunc func,
+ const struct PBVHParallelSettings *settings)
+{
+#ifdef WITH_TBB
+ /* Multithreading. */
+ if (settings->use_threading) {
+ PBVHTask task(func, userdata, settings);
+
+ if (settings->func_reduce) {
+ parallel_reduce(tbb::blocked_range<int>(start, stop), task);
+ if (settings->userdata_chunk) {
+ memcpy(settings->userdata_chunk, task.userdata_chunk, settings->userdata_chunk_size);
+ }
+ }
+ else {
+ parallel_for(tbb::blocked_range<int>(start, stop), task);
+ }
+
+ return;
+ }
+#endif
+
+ /* Single threaded. Nothing to reduce as everything is accumulated into the
+ * main userdata chunk directly. */
+ TaskParallelTLS tls;
+ tls.thread_id = 0;
+ tls.userdata_chunk = settings->userdata_chunk;
+ for (int i = start; i < stop; i++) {
+ func(userdata, i, &tls);
+ }
+}
diff --git a/source/blender/blenkernel/intern/rigidbody.c b/source/blender/blenkernel/intern/rigidbody.c
index 514f000d73d..c57808f3dee 100644
--- a/source/blender/blenkernel/intern/rigidbody.c
+++ b/source/blender/blenkernel/intern/rigidbody.c
@@ -51,6 +51,7 @@
#include "BKE_collection.h"
#include "BKE_effect.h"
+#include "BKE_global.h"
#include "BKE_layer.h"
#include "BKE_main.h"
#include "BKE_mesh.h"
@@ -61,7 +62,6 @@
#include "BKE_rigidbody.h"
#include "BKE_scene.h"
#ifdef WITH_BULLET
-# include "BKE_global.h"
# include "BKE_library.h"
# include "BKE_library_query.h"
#endif
@@ -174,13 +174,22 @@ void BKE_rigidbody_free_object(Object *ob, RigidBodyWorld *rbw)
/* free physics references */
if (is_orig) {
if (rbo->shared->physics_object) {
- BLI_assert(rbw);
- if (rbw) {
+ if (rbw != NULL) {
/* We can only remove the body from the world if the world is known.
* The world is generally only unknown if it's an evaluated copy of
* an object that's being freed, in which case this code isn't run anyway. */
RB_dworld_remove_body(rbw->shared->physics_world, rbo->shared->physics_object);
}
+ else {
+ /* We have no access to 'owner' RBW when deleting the object ID itself... No choice bu to
+ * loop over all scenes then. */
+ for (Scene *scene = G_MAIN->scenes.first; scene != NULL; scene = scene->id.next) {
+ RigidBodyWorld *scene_rbw = scene->rigidbody_world;
+ if (scene_rbw != NULL) {
+ RB_dworld_remove_body(scene_rbw->shared->physics_world, rbo->shared->physics_object);
+ }
+ }
+ }
RB_body_delete(rbo->shared->physics_object);
rbo->shared->physics_object = NULL;
@@ -1415,7 +1424,7 @@ bool BKE_rigidbody_add_object(Main *bmain, Scene *scene, Object *ob, int type, R
return true;
}
-void BKE_rigidbody_remove_object(Main *bmain, Scene *scene, Object *ob)
+void BKE_rigidbody_remove_object(Main *bmain, Scene *scene, Object *ob, const bool free_us)
{
RigidBodyWorld *rbw = scene->rigidbody_world;
RigidBodyCon *rbc;
@@ -1438,8 +1447,13 @@ void BKE_rigidbody_remove_object(Main *bmain, Scene *scene, Object *ob)
FOREACH_COLLECTION_OBJECT_RECURSIVE_BEGIN (rbw->constraints, obt) {
if (obt && obt->rigidbody_constraint) {
rbc = obt->rigidbody_constraint;
- if (ELEM(ob, rbc->ob1, rbc->ob2)) {
- BKE_rigidbody_remove_constraint(scene, obt);
+ if (rbc->ob1 == ob) {
+ rbc->ob1 = NULL;
+ DEG_id_tag_update(&obt->id, ID_RECALC_COPY_ON_WRITE);
+ }
+ if (rbc->ob2 == ob) {
+ rbc->ob2 = NULL;
+ DEG_id_tag_update(&obt->id, ID_RECALC_COPY_ON_WRITE);
}
}
}
@@ -1454,7 +1468,7 @@ void BKE_rigidbody_remove_object(Main *bmain, Scene *scene, Object *ob)
* when we remove them from RB simulation. */
BKE_collection_object_add(bmain, scene->master_collection, ob);
}
- BKE_collection_object_remove(bmain, rbw->group, ob, false);
+ BKE_collection_object_remove(bmain, rbw->group, ob, free_us);
}
/* remove object's settings */
@@ -1468,15 +1482,24 @@ void BKE_rigidbody_remove_object(Main *bmain, Scene *scene, Object *ob)
DEG_id_tag_update(&ob->id, ID_RECALC_TRANSFORM);
}
-void BKE_rigidbody_remove_constraint(Scene *scene, Object *ob)
+void BKE_rigidbody_remove_constraint(Main *bmain, Scene *scene, Object *ob, const bool free_us)
{
RigidBodyWorld *rbw = scene->rigidbody_world;
RigidBodyCon *rbc = ob->rigidbody_constraint;
- /* remove from rigidbody world, free object won't do this */
- if (rbw && rbw->shared->physics_world && rbc->physics_constraint) {
- RB_dworld_remove_constraint(rbw->shared->physics_world, rbc->physics_constraint);
+ if (rbw != NULL) {
+ /* Remove from RBW constraints collection. */
+ if (rbw->constraints != NULL) {
+ BKE_collection_object_remove(bmain, rbw->constraints, ob, free_us);
+ DEG_id_tag_update(&rbw->constraints->id, ID_RECALC_COPY_ON_WRITE);
+ }
+
+ /* remove from rigidbody world, free object won't do this */
+ if (rbw->shared->physics_world && rbc->physics_constraint) {
+ RB_dworld_remove_constraint(rbw->shared->physics_world, rbc->physics_constraint);
+ }
}
+
/* remove object's settings */
BKE_rigidbody_free_constraint(ob);
@@ -1657,9 +1680,12 @@ static void rigidbody_update_simulation(Depsgraph *depsgraph,
float ctime = DEG_get_ctime(depsgraph);
/* update world */
- if (rebuild) {
- BKE_rigidbody_validate_sim_world(scene, rbw, true);
+ /* Note physics_world can get NULL when undoing the deletion of the last object in it (see
+ * T70667). */
+ if (rebuild || rbw->shared->physics_world == NULL) {
+ BKE_rigidbody_validate_sim_world(scene, rbw, rebuild);
}
+
rigidbody_update_sim_world(scene, rbw);
/* XXX TODO For rebuild: remove all constraints first.
@@ -2086,10 +2112,10 @@ bool BKE_rigidbody_add_object(Main *bmain, Scene *scene, Object *ob, int type, R
return false;
}
-void BKE_rigidbody_remove_object(struct Main *bmain, Scene *scene, Object *ob)
+void BKE_rigidbody_remove_object(struct Main *bmain, Scene *scene, Object *ob, const bool free_us)
{
}
-void BKE_rigidbody_remove_constraint(Scene *scene, Object *ob)
+void BKE_rigidbody_remove_constraint(Main *bmain, Scene *scene, Object *ob, const bool free_us)
{
}
void BKE_rigidbody_sync_transforms(RigidBodyWorld *rbw, Object *ob, float ctime)
diff --git a/source/blender/blenkernel/intern/scene.c b/source/blender/blenkernel/intern/scene.c
index 4f855bd7d98..53e5f1fdfe5 100644
--- a/source/blender/blenkernel/intern/scene.c
+++ b/source/blender/blenkernel/intern/scene.c
@@ -1008,19 +1008,19 @@ Object *BKE_scene_camera_switch_find(Scene *scene)
}
#endif
-int BKE_scene_camera_switch_update(Scene *scene)
+bool BKE_scene_camera_switch_update(Scene *scene)
{
#ifdef DURIAN_CAMERA_SWITCH
Object *camera = BKE_scene_camera_switch_find(scene);
- if (camera) {
+ if (camera && (camera != scene->camera)) {
scene->camera = camera;
DEG_id_tag_update(&scene->id, ID_RECALC_COPY_ON_WRITE);
- return 1;
+ return true;
}
#else
(void)scene;
#endif
- return 0;
+ return false;
}
char *BKE_scene_find_marker_name(Scene *scene, int frame)
@@ -1076,15 +1076,18 @@ int BKE_scene_frame_snap_by_seconds(Scene *scene, double interval_in_seconds, in
return (delta_prev < delta_next) ? second_prev : second_next;
}
-void BKE_scene_remove_rigidbody_object(struct Main *bmain, Scene *scene, Object *ob)
+void BKE_scene_remove_rigidbody_object(struct Main *bmain,
+ Scene *scene,
+ Object *ob,
+ const bool free_us)
{
/* remove rigid body constraint from world before removing object */
if (ob->rigidbody_constraint) {
- BKE_rigidbody_remove_constraint(scene, ob);
+ BKE_rigidbody_remove_constraint(bmain, scene, ob, free_us);
}
/* remove rigid body object from world before removing object */
if (ob->rigidbody_object) {
- BKE_rigidbody_remove_object(bmain, scene, ob);
+ BKE_rigidbody_remove_object(bmain, scene, ob, free_us);
}
}
diff --git a/source/blender/blenkernel/intern/seqcache.c b/source/blender/blenkernel/intern/seqcache.c
index 35693fbe679..ccb1869ee21 100644
--- a/source/blender/blenkernel/intern/seqcache.c
+++ b/source/blender/blenkernel/intern/seqcache.c
@@ -241,10 +241,11 @@ static SeqCacheKey *seq_cache_choose_key(Scene *scene, SeqCacheKey *lkey, SeqCac
* This can happen because only FINAL_OUT item insertion will trigger recycling
* but that is also the point, where prefetch can be suspended.
*
- * We could use temp cache as a shield and later untemp entry,
+ * We could use temp cache as a shield and later make it a non-temporary entry,
* but it is not worth of increasing system complexity.
*/
- if (scene->ed->cache_flag & SEQ_CACHE_PREFETCH_ENABLE) {
+ if (scene->ed->cache_flag & SEQ_CACHE_PREFETCH_ENABLE &&
+ BKE_sequencer_prefetch_job_is_running(scene)) {
int pfjob_start, pfjob_end;
BKE_sequencer_prefetch_get_time_range(scene, &pfjob_start, &pfjob_end);
diff --git a/source/blender/blenkernel/intern/seqeffects.c b/source/blender/blenkernel/intern/seqeffects.c
index dbdaaaa5fc3..236fb43e89c 100644
--- a/source/blender/blenkernel/intern/seqeffects.c
+++ b/source/blender/blenkernel/intern/seqeffects.c
@@ -3822,7 +3822,7 @@ void BKE_sequencer_text_font_load(TextVars *data, const bool do_id_user)
char path[FILE_MAX];
STRNCPY(path, data->text_font->name);
BLI_assert(BLI_thread_is_main());
- BLI_path_abs(path, BKE_main_blendfile_path_from_global());
+ BLI_path_abs(path, ID_BLEND_PATH_FROM_GLOBAL(&data->text_font->id));
data->text_blf_id = BLF_load(path);
}
diff --git a/source/blender/blenkernel/intern/seqmodifier.c b/source/blender/blenkernel/intern/seqmodifier.c
index a7543881dad..57b8c92de3e 100644
--- a/source/blender/blenkernel/intern/seqmodifier.c
+++ b/source/blender/blenkernel/intern/seqmodifier.c
@@ -34,6 +34,7 @@
#include "BLT_translation.h"
+#include "DNA_mask_types.h"
#include "DNA_sequence_types.h"
#include "DNA_scene_types.h"
@@ -1044,7 +1045,7 @@ ImBuf *BKE_sequence_modifier_apply_stack(const SeqRenderData *context,
frame_offset = seq->start;
}
else /*if (smd->mask_time == SEQUENCE_MASK_TIME_ABSOLUTE)*/ {
- frame_offset = 0;
+ frame_offset = ((Mask *)smd->mask_id)->sfra;
}
ImBuf *mask = modifier_mask_get(smd, context, cfra, frame_offset, ibuf->rect_float != NULL);
diff --git a/source/blender/blenkernel/intern/seqprefetch.c b/source/blender/blenkernel/intern/seqprefetch.c
index c1109347e76..6dd1c47407f 100644
--- a/source/blender/blenkernel/intern/seqprefetch.c
+++ b/source/blender/blenkernel/intern/seqprefetch.c
@@ -31,6 +31,7 @@
#include "DNA_scene_types.h"
#include "DNA_screen_types.h"
#include "DNA_windowmanager_types.h"
+#include "DNA_anim_types.h"
#include "BLI_listbase.h"
#include "BLI_threads.h"
@@ -55,6 +56,7 @@ typedef struct PrefetchJob {
struct PrefetchJob *next, *prev;
struct Main *bmain;
+ struct Main *bmain_eval;
struct Scene *scene;
struct Scene *scene_eval;
struct Depsgraph *depsgraph;
@@ -109,7 +111,7 @@ static PrefetchJob *seq_prefetch_job_get(Scene *scene)
return NULL;
}
-static bool seq_prefetch_job_is_running(Scene *scene)
+bool BKE_sequencer_prefetch_job_is_running(Scene *scene)
{
PrefetchJob *pfjob = seq_prefetch_job_get(scene);
@@ -185,12 +187,12 @@ static void seq_prefetch_free_depsgraph(PrefetchJob *pfjob)
static void seq_prefetch_update_depsgraph(PrefetchJob *pfjob)
{
DEG_evaluate_on_framechange(
- pfjob->bmain, pfjob->depsgraph, pfjob->cfra + pfjob->num_frames_prefetched);
+ pfjob->bmain_eval, pfjob->depsgraph, pfjob->cfra + pfjob->num_frames_prefetched);
}
static void seq_prefetch_init_depsgraph(PrefetchJob *pfjob)
{
- Main *bmain = pfjob->bmain;
+ Main *bmain = pfjob->bmain_eval;
Scene *scene = pfjob->scene;
ViewLayer *view_layer = BKE_view_layer_default_render(scene);
@@ -198,7 +200,7 @@ static void seq_prefetch_init_depsgraph(PrefetchJob *pfjob)
DEG_debug_name_set(pfjob->depsgraph, "SEQUENCER PREFETCH");
/* Make sure there is a correct evaluated scene pointer. */
- DEG_graph_build_for_render_pipeline(pfjob->depsgraph, pfjob->bmain, scene, view_layer);
+ DEG_graph_build_for_render_pipeline(pfjob->depsgraph, bmain, scene, view_layer);
/* Update immediately so we have proper evaluated scene. */
seq_prefetch_update_depsgraph(pfjob);
@@ -229,7 +231,9 @@ static void seq_prefetch_update_area(PrefetchJob *pfjob)
}
}
-/* Use also to update scene and context changes */
+/* Use also to update scene and context changes
+ * This function should almost always be called by cache invalidation, not directly.
+ */
void BKE_sequencer_prefetch_stop(Scene *scene)
{
PrefetchJob *pfjob;
@@ -251,7 +255,7 @@ static void seq_prefetch_update_context(const SeqRenderData *context)
PrefetchJob *pfjob;
pfjob = seq_prefetch_job_get(context->scene);
- BKE_sequencer_new_render_data(pfjob->bmain,
+ BKE_sequencer_new_render_data(pfjob->bmain_eval,
pfjob->depsgraph,
pfjob->scene_eval,
context->rectx,
@@ -314,6 +318,7 @@ void BKE_sequencer_prefetch_free(Scene *scene)
BLI_mutex_end(&pfjob->prefetch_suspend_mutex);
BLI_condition_end(&pfjob->prefetch_suspend_cond);
seq_prefetch_free_depsgraph(pfjob);
+ BKE_main_free(pfjob->bmain_eval);
MEM_freeN(pfjob);
scene->ed->prefetch_job = NULL;
}
@@ -322,16 +327,26 @@ static void *seq_prefetch_frames(void *job)
{
PrefetchJob *pfjob = (PrefetchJob *)job;
- /* set to NULL before return! */
- pfjob->scene_eval->ed->prefetch_job = pfjob;
+ while (pfjob->cfra + pfjob->num_frames_prefetched <= pfjob->scene->r.efra) {
+ pfjob->scene_eval->ed->prefetch_job = NULL;
- while (pfjob->cfra + pfjob->num_frames_prefetched < pfjob->scene->r.efra) {
- BKE_animsys_evaluate_all_animation(pfjob->context_cpy.bmain,
- pfjob->context_cpy.depsgraph,
- pfjob->context_cpy.scene,
- pfjob->cfra + pfjob->num_frames_prefetched);
+ AnimData *adt = BKE_animdata_from_id(&pfjob->context_cpy.scene->id);
+ BKE_animsys_evaluate_animdata(pfjob->context_cpy.scene,
+ &pfjob->context_cpy.scene->id,
+ adt,
+ pfjob->cfra + pfjob->num_frames_prefetched,
+ ADT_RECALC_ALL,
+ false);
seq_prefetch_update_depsgraph(pfjob);
+ /* This is quite hacky solution:
+ * We need cross-reference original scene with copy for cache.
+ * However depsgraph must not have this data, because it will try to kill this job.
+ * Scene copy don't reference original scene. Perhaps, this could be done by depsgraph.
+ * Set to NULL before return!
+ */
+ pfjob->scene_eval->ed->prefetch_job = pfjob;
+
ImBuf *ibuf = BKE_sequencer_give_ibuf(
&pfjob->context_cpy, pfjob->cfra + pfjob->num_frames_prefetched, 0);
BKE_sequencer_cache_free_temp_cache(
@@ -373,8 +388,7 @@ static void *seq_prefetch_frames(void *job)
static PrefetchJob *seq_prefetch_start(const SeqRenderData *context, float cfra)
{
- PrefetchJob *pfjob;
- pfjob = seq_prefetch_job_get(context->scene);
+ PrefetchJob *pfjob = seq_prefetch_job_get(context->scene);
if (!pfjob) {
if (context->scene->ed) {
@@ -386,6 +400,7 @@ static PrefetchJob *seq_prefetch_start(const SeqRenderData *context, float cfra)
BLI_condition_init(&pfjob->prefetch_suspend_cond);
pfjob->bmain = context->bmain;
+ pfjob->bmain_eval = BKE_main_new();
pfjob->scene = context->scene;
seq_prefetch_init_depsgraph(pfjob);
@@ -419,7 +434,7 @@ void BKE_sequencer_prefetch_start(const SeqRenderData *context, float cfra, floa
if (!context->is_prefetch_render && !context->is_proxy_render) {
bool playing = seq_prefetch_is_playing(context->bmain);
bool scrubbing = seq_prefetch_is_scrubbing(context->bmain);
- bool running = seq_prefetch_job_is_running(scene);
+ bool running = BKE_sequencer_prefetch_job_is_running(scene);
seq_prefetch_resume(scene);
/* conditions to start:
* prefetch enabled, prefetch not running, not scrubbing,
@@ -437,7 +452,7 @@ bool BKE_sequencer_prefetch_need_redraw(Main *bmain, Scene *scene)
{
bool playing = seq_prefetch_is_playing(bmain);
bool scrubbing = seq_prefetch_is_scrubbing(bmain);
- bool running = seq_prefetch_job_is_running(scene);
+ bool running = BKE_sequencer_prefetch_job_is_running(scene);
bool suspended = seq_prefetch_job_is_waiting(scene);
/* force redraw, when prefetching and using cache view. */
diff --git a/source/blender/blenkernel/intern/sequencer.c b/source/blender/blenkernel/intern/sequencer.c
index 497eefe34ee..b99d6e1684a 100644
--- a/source/blender/blenkernel/intern/sequencer.c
+++ b/source/blender/blenkernel/intern/sequencer.c
@@ -2093,7 +2093,7 @@ static int seq_proxy_context_count(Sequence *seq, Scene *scene)
return num_views;
}
-void BKE_sequencer_proxy_rebuild_context(Main *bmain,
+bool BKE_sequencer_proxy_rebuild_context(Main *bmain,
Depsgraph *depsgraph,
Scene *scene,
Sequence *seq,
@@ -2107,11 +2107,11 @@ void BKE_sequencer_proxy_rebuild_context(Main *bmain,
int i;
if (!seq->strip || !seq->strip->proxy) {
- return;
+ return true;
}
if (!(seq->flag & SEQ_USE_PROXY)) {
- return;
+ return true;
}
num_files = seq_proxy_context_count(seq, scene);
@@ -2138,9 +2138,6 @@ void BKE_sequencer_proxy_rebuild_context(Main *bmain,
context->view_id = i; /* only for images */
- link = BLI_genericNodeN(context);
- BLI_addtail(queue, link);
-
if (nseq->type == SEQ_TYPE_MOVIE) {
StripAnim *sanim;
@@ -2155,8 +2152,16 @@ void BKE_sequencer_proxy_rebuild_context(Main *bmain,
context->overwrite,
file_list);
}
+ if (!context->index_context) {
+ MEM_freeN(context);
+ return false;
+ }
}
+
+ link = BLI_genericNodeN(context);
+ BLI_addtail(queue, link);
}
+ return true;
}
void BKE_sequencer_proxy_rebuild(SeqIndexBuildContext *context,
@@ -3340,7 +3345,8 @@ static ImBuf *seq_render_mask(const SeqRenderData *context, Mask *mask, float nr
/* anim-data */
adt = BKE_animdata_from_id(&mask->id);
- BKE_animsys_evaluate_animdata(context->scene, &mask_temp->id, adt, nr, ADT_RECALC_ANIM, false);
+ BKE_animsys_evaluate_animdata(
+ context->scene, &mask_temp->id, adt, mask->sfra + nr, ADT_RECALC_ANIM, false);
maskbuf = MEM_mallocN(sizeof(float) * context->rectx * context->recty, __func__);
@@ -5544,7 +5550,7 @@ Sequence *BKE_sequencer_add_image_strip(bContext *C, ListBase *seqbasep, SeqLoad
Strip *strip;
seq = BKE_sequence_alloc(seqbasep, seq_load->start_frame, seq_load->channel, SEQ_TYPE_IMAGE);
- seq->blend_mode = SEQ_TYPE_ALPHAOVER;
+ seq->blend_mode = SEQ_TYPE_CROSS; /* so alpha adjustment fade to the strip below */
/* basic defaults */
seq->len = seq_load->len ? seq_load->len : 1;
@@ -5703,7 +5709,9 @@ Sequence *BKE_sequencer_add_movie_strip(bContext *C, ListBase *seqbasep, SeqLoad
seq->views_format = seq_load->views_format;
}
seq->flag |= seq_load->flag & SEQ_USE_VIEWS;
- seq->blend_mode = SEQ_TYPE_ALPHAOVER;
+
+ seq->type = SEQ_TYPE_MOVIE;
+ seq->blend_mode = SEQ_TYPE_CROSS; /* so alpha adjustment fade to the strip below */
for (i = 0; i < totfiles; i++) {
if (anim_arr[i]) {
diff --git a/source/blender/blenkernel/intern/shrinkwrap.c b/source/blender/blenkernel/intern/shrinkwrap.c
index 992ceda7b74..c6cac2057d6 100644
--- a/source/blender/blenkernel/intern/shrinkwrap.c
+++ b/source/blender/blenkernel/intern/shrinkwrap.c
@@ -866,9 +866,9 @@ static bool target_project_solve_point_tri(const float *vtri_co[3],
{
float x[3], tmp[3];
float dist = sqrtf(hit_dist_sq);
- float epsilon = dist * 1.0e-5f;
-
- CLAMP_MIN(epsilon, 1.0e-5f);
+ float magnitude_estimate = dist + len_manhattan_v3(vtri_co[0]) + len_manhattan_v3(vtri_co[1]) +
+ len_manhattan_v3(vtri_co[2]);
+ float epsilon = magnitude_estimate * 1.0e-6f;
/* Initial solution vector: barycentric weights plus distance along normal. */
interp_weights_tri_v3(x, UNPACK3(vtri_co), hit_co);
@@ -929,7 +929,7 @@ static bool update_hit(BVHTreeNearest *nearest,
if (dist_sq < nearest->dist_sq) {
#ifdef TRACE_TARGET_PROJECT
printf(
- "===> %d (%.3f,%.3f,%.3f) %g < %g\n", index, UNPACK3(hit_co), dist_sq, nearest->dist_sq);
+ "#=#=#> %d (%.3f,%.3f,%.3f) %g < %g\n", index, UNPACK3(hit_co), dist_sq, nearest->dist_sq);
#endif
nearest->index = index;
nearest->dist_sq = dist_sq;
@@ -1088,14 +1088,14 @@ void BKE_shrinkwrap_find_nearest_surface(struct ShrinkwrapTreeData *tree,
if (type == MOD_SHRINKWRAP_TARGET_PROJECT) {
#ifdef TRACE_TARGET_PROJECT
- printf("====== TARGET PROJECT START ======\n");
+ printf("\n====== TARGET PROJECT START ======\n");
#endif
BLI_bvhtree_find_nearest_ex(
tree->bvh, co, nearest, mesh_looptri_target_project, tree, BVH_NEAREST_OPTIMAL_ORDER);
#ifdef TRACE_TARGET_PROJECT
- printf("====== TARGET PROJECT END: %d %g ======\n", nearest->index, nearest->dist_sq);
+ printf("====== TARGET PROJECT END: %d %g ======\n\n", nearest->index, nearest->dist_sq);
#endif
if (nearest->index < 0) {
@@ -1260,7 +1260,10 @@ static void shrinkwrap_snap_with_side(float r_point_co[3],
float forcesign,
bool forcesnap)
{
- float dist = len_v3v3(point_co, hit_co);
+ float delta[3];
+ sub_v3_v3v3(delta, point_co, hit_co);
+
+ float dist = len_v3(delta);
/* If exactly on the surface, push out along normal */
if (dist < FLT_EPSILON) {
@@ -1273,13 +1276,28 @@ static void shrinkwrap_snap_with_side(float r_point_co[3],
}
/* Move to the correct side if needed */
else {
- float delta[3];
- sub_v3_v3v3(delta, point_co, hit_co);
- float dsign = signf(dot_v3v3(delta, hit_no) * forcesign);
+ float dsign = signf(dot_v3v3(delta, hit_no));
+
+ if (forcesign == 0.0f) {
+ forcesign = dsign;
+ }
/* If on the wrong side or too close, move to correct */
- if (forcesnap || dsign * dist < goal_dist) {
- interp_v3_v3v3(r_point_co, point_co, hit_co, (dist - goal_dist * dsign) / dist);
+ if (forcesnap || dsign * dist * forcesign < goal_dist) {
+ mul_v3_fl(delta, dsign / dist);
+
+ /* At very small distance, blend in the hit normal to stabilize math. */
+ float dist_epsilon = (fabsf(goal_dist) + len_manhattan_v3(hit_co)) * 1e-4f;
+
+ if (dist < dist_epsilon) {
+#ifdef TRACE_TARGET_PROJECT
+ printf("zero_factor %g = %g / %g\n", dist / dist_epsilon, dist, dist_epsilon);
+#endif
+
+ interp_v3_v3v3(delta, hit_no, delta, dist / dist_epsilon);
+ }
+
+ madd_v3_v3v3fl(r_point_co, hit_co, delta, goal_dist * forcesign);
}
else {
copy_v3_v3(r_point_co, point_co);
@@ -1304,13 +1322,13 @@ void BKE_shrinkwrap_snap_point_to_surface(const struct ShrinkwrapTreeData *tree,
const float point_co[3],
float r_point_co[3])
{
- float dist, tmp[3];
+ float tmp[3];
switch (mode) {
/* Offsets along the line between point_co and hit_co. */
case MOD_SHRINKWRAP_ON_SURFACE:
- if (goal_dist != 0 && (dist = len_v3v3(point_co, hit_co)) > FLT_EPSILON) {
- interp_v3_v3v3(r_point_co, point_co, hit_co, (dist - goal_dist) / dist);
+ if (goal_dist != 0) {
+ shrinkwrap_snap_with_side(r_point_co, point_co, hit_co, hit_no, goal_dist, 0, true);
}
else {
copy_v3_v3(r_point_co, hit_co);
@@ -1506,3 +1524,40 @@ void BKE_shrinkwrap_mesh_nearest_surface_deform(struct bContext *C,
MEM_freeN(vertexCos);
}
+
+void BKE_shrinkwrap_remesh_target_project(Mesh *src_me, Mesh *target_me, Object *ob_target)
+{
+ ShrinkwrapModifierData ssmd = {0};
+ int totvert;
+
+ ssmd.target = ob_target;
+ ssmd.shrinkType = MOD_SHRINKWRAP_PROJECT;
+ ssmd.shrinkMode = MOD_SHRINKWRAP_ON_SURFACE;
+ ssmd.shrinkOpts = MOD_SHRINKWRAP_PROJECT_ALLOW_NEG_DIR | MOD_SHRINKWRAP_PROJECT_ALLOW_POS_DIR;
+ ssmd.keepDist = 0.0f;
+ ssmd.projLimit = target_me->remesh_voxel_size;
+
+ float(*vertexCos)[3] = BKE_mesh_vert_coords_alloc(src_me, &totvert);
+
+ ShrinkwrapCalcData calc = NULL_ShrinkwrapCalcData;
+
+ calc.smd = &ssmd;
+ calc.numVerts = src_me->totvert;
+ calc.vertexCos = vertexCos;
+ calc.vgroup = -1;
+ calc.target = target_me;
+ calc.keepDist = ssmd.keepDist;
+ calc.vert = src_me->mvert;
+ BLI_SPACE_TRANSFORM_SETUP(&calc.local2target, ob_target, ob_target);
+
+ ShrinkwrapTreeData tree;
+ if (BKE_shrinkwrap_init_tree(&tree, calc.target, ssmd.shrinkType, ssmd.shrinkMode, false)) {
+ calc.tree = &tree;
+ TIMEIT_BENCH(shrinkwrap_calc_normal_projection(&calc), deform_project);
+ BKE_shrinkwrap_free_tree(&tree);
+ }
+
+ BKE_mesh_vert_coords_apply(src_me, vertexCos);
+
+ MEM_freeN(vertexCos);
+}
diff --git a/source/blender/blenkernel/intern/sound.c b/source/blender/blenkernel/intern/sound.c
index 6cbb01861e2..d42436ecb40 100644
--- a/source/blender/blenkernel/intern/sound.c
+++ b/source/blender/blenkernel/intern/sound.c
@@ -677,6 +677,9 @@ void BKE_sound_set_cfra(int cfra)
void BKE_sound_set_scene_volume(Scene *scene, float volume)
{
sound_verify_evaluated_id(&scene->id);
+ if (scene->sound_scene == NULL) {
+ return;
+ }
AUD_Sequence_setAnimationData(scene->sound_scene,
AUD_AP_VOLUME,
CFRA,
diff --git a/source/blender/blenkernel/intern/subdiv_ccg.c b/source/blender/blenkernel/intern/subdiv_ccg.c
index 471cca53900..8654c50a783 100644
--- a/source/blender/blenkernel/intern/subdiv_ccg.c
+++ b/source/blender/blenkernel/intern/subdiv_ccg.c
@@ -129,6 +129,7 @@ static void subdiv_ccg_alloc_elements(SubdivCCG *subdiv_ccg, Subdiv *subdiv)
const int num_grids = topology_refiner_count_face_corners(topology_refiner);
const int grid_size = BKE_subdiv_grid_size_from_level(subdiv_ccg->level);
const int grid_area = grid_size * grid_size;
+ subdiv_ccg->grid_element_size = element_size;
subdiv_ccg->num_grids = num_grids;
subdiv_ccg->grids = MEM_calloc_arrayN(num_grids, sizeof(CCGElem *), "subdiv ccg grids");
subdiv_ccg->grids_storage = MEM_calloc_arrayN(
@@ -385,25 +386,33 @@ static void subdiv_ccg_allocate_adjacent_edges(SubdivCCG *subdiv_ccg, const int
subdiv_ccg->num_adjacent_edges, sizeof(*subdiv_ccg->adjacent_edges), "ccg adjacent edges");
}
+static SubdivCCGCoord subdiv_ccg_coord(int grid_index, int x, int y)
+{
+ SubdivCCGCoord coord = {.grid_index = grid_index, .x = x, .y = y};
+ return coord;
+}
+
+static CCGElem *subdiv_ccg_coord_to_elem(const CCGKey *key,
+ const SubdivCCG *subdiv_ccg,
+ const SubdivCCGCoord *coord)
+{
+ return CCG_grid_elem(key, subdiv_ccg->grids[coord->grid_index], coord->x, coord->y);
+}
+
/* Returns storage where boundary elements are to be stored. */
-static CCGElem **subdiv_ccg_adjacent_edge_add_face(SubdivCCG *subdiv_ccg,
- SubdivCCGAdjacentEdge *adjacent_edge,
- SubdivCCGFace *face)
+static SubdivCCGCoord *subdiv_ccg_adjacent_edge_add_face(SubdivCCG *subdiv_ccg,
+ SubdivCCGAdjacentEdge *adjacent_edge)
{
const int grid_size = subdiv_ccg->grid_size * 2;
const int adjacent_face_index = adjacent_edge->num_adjacent_faces;
++adjacent_edge->num_adjacent_faces;
- /* Store new adjacent face. */
- adjacent_edge->faces = MEM_reallocN(
- adjacent_edge->faces, adjacent_edge->num_adjacent_faces * sizeof(*adjacent_edge->faces));
- adjacent_edge->faces[adjacent_face_index] = face;
/* Allocate memory for the boundary elements. */
- adjacent_edge->boundary_elements = MEM_reallocN(adjacent_edge->boundary_elements,
- adjacent_edge->num_adjacent_faces *
- sizeof(*adjacent_edge->boundary_elements));
- adjacent_edge->boundary_elements[adjacent_face_index] = MEM_malloc_arrayN(
- grid_size * 2, sizeof(CCGElem *), "ccg adjacent boundary");
- return adjacent_edge->boundary_elements[adjacent_face_index];
+ adjacent_edge->boundary_coords = MEM_reallocN(adjacent_edge->boundary_coords,
+ adjacent_edge->num_adjacent_faces *
+ sizeof(*adjacent_edge->boundary_coords));
+ adjacent_edge->boundary_coords[adjacent_face_index] = MEM_malloc_arrayN(
+ grid_size * 2, sizeof(SubdivCCGCoord), "ccg adjacent boundary");
+ return adjacent_edge->boundary_coords[adjacent_face_index];
}
static void subdiv_ccg_init_faces_edge_neighborhood(SubdivCCG *subdiv_ccg)
@@ -423,9 +432,6 @@ static void subdiv_ccg_init_faces_edge_neighborhood(SubdivCCG *subdiv_ccg)
StaticOrHeapIntStorage face_edges_storage;
static_or_heap_storage_init(&face_vertices_storage);
static_or_heap_storage_init(&face_edges_storage);
- /* Key to access elements. */
- CCGKey key;
- BKE_subdiv_ccg_key_top_level(&key, subdiv_ccg);
/* Store adjacency for all faces. */
const int num_faces = subdiv_ccg->num_faces;
for (int face_index = 0; face_index < num_faces; face_index++) {
@@ -447,34 +453,32 @@ static void subdiv_ccg_init_faces_edge_neighborhood(SubdivCCG *subdiv_ccg)
const bool is_edge_flipped = (edge_vertices[0] != vertex_index);
/* Grid which is adjacent to the current corner. */
const int current_grid_index = face->start_grid_index + corner;
- CCGElem *current_grid = subdiv_ccg->grids[current_grid_index];
/* Grid which is adjacent to the next corner. */
const int next_grid_index = face->start_grid_index + (corner + 1) % num_face_grids;
- CCGElem *next_grid = subdiv_ccg->grids[next_grid_index];
/* Add new face to the adjacent edge. */
SubdivCCGAdjacentEdge *adjacent_edge = &subdiv_ccg->adjacent_edges[edge_index];
- CCGElem **boundary_elements = subdiv_ccg_adjacent_edge_add_face(
- subdiv_ccg, adjacent_edge, face);
+ SubdivCCGCoord *boundary_coords = subdiv_ccg_adjacent_edge_add_face(subdiv_ccg,
+ adjacent_edge);
/* Fill CCG elements along the edge. */
int boundary_element_index = 0;
if (is_edge_flipped) {
for (int i = 0; i < grid_size; i++) {
- boundary_elements[boundary_element_index++] = CCG_grid_elem(
- &key, next_grid, grid_size - i - 1, grid_size - 1);
+ boundary_coords[boundary_element_index++] = subdiv_ccg_coord(
+ next_grid_index, grid_size - i - 1, grid_size - 1);
}
for (int i = 0; i < grid_size; i++) {
- boundary_elements[boundary_element_index++] = CCG_grid_elem(
- &key, current_grid, grid_size - 1, i);
+ boundary_coords[boundary_element_index++] = subdiv_ccg_coord(
+ current_grid_index, grid_size - 1, i);
}
}
else {
for (int i = 0; i < grid_size; i++) {
- boundary_elements[boundary_element_index++] = CCG_grid_elem(
- &key, current_grid, grid_size - 1, grid_size - i - 1);
+ boundary_coords[boundary_element_index++] = subdiv_ccg_coord(
+ current_grid_index, grid_size - 1, grid_size - i - 1);
}
for (int i = 0; i < grid_size; i++) {
- boundary_elements[boundary_element_index++] = CCG_grid_elem(
- &key, next_grid, i, grid_size - 1);
+ boundary_coords[boundary_element_index++] = subdiv_ccg_coord(
+ next_grid_index, i, grid_size - 1);
}
}
}
@@ -494,21 +498,16 @@ static void subdiv_ccg_allocate_adjacent_vertices(SubdivCCG *subdiv_ccg, const i
/* Returns storage where corner elements are to be stored. This is a pointer
* to the actual storage. */
-static CCGElem **subdiv_ccg_adjacent_vertex_add_face(SubdivCCGAdjacentVertex *adjacent_vertex,
- SubdivCCGFace *face)
+static SubdivCCGCoord *subdiv_ccg_adjacent_vertex_add_face(
+ SubdivCCGAdjacentVertex *adjacent_vertex)
{
const int adjacent_face_index = adjacent_vertex->num_adjacent_faces;
++adjacent_vertex->num_adjacent_faces;
- /* Store new adjacent face. */
- adjacent_vertex->faces = MEM_reallocN(adjacent_vertex->faces,
- adjacent_vertex->num_adjacent_faces *
- sizeof(*adjacent_vertex->faces));
- adjacent_vertex->faces[adjacent_face_index] = face;
/* Allocate memory for the boundary elements. */
- adjacent_vertex->corner_elements = MEM_reallocN(adjacent_vertex->corner_elements,
- adjacent_vertex->num_adjacent_faces *
- sizeof(*adjacent_vertex->corner_elements));
- return &adjacent_vertex->corner_elements[adjacent_face_index];
+ adjacent_vertex->corner_coords = MEM_reallocN(adjacent_vertex->corner_coords,
+ adjacent_vertex->num_adjacent_faces *
+ sizeof(*adjacent_vertex->corner_coords));
+ return &adjacent_vertex->corner_coords[adjacent_face_index];
}
static void subdiv_ccg_init_faces_vertex_neighborhood(SubdivCCG *subdiv_ccg)
@@ -541,11 +540,10 @@ static void subdiv_ccg_init_faces_vertex_neighborhood(SubdivCCG *subdiv_ccg)
const int vertex_index = face_vertices[corner];
/* Grid which is adjacent to the current corner. */
const int grid_index = face->start_grid_index + corner;
- CCGElem *grid = subdiv_ccg->grids[grid_index];
/* Add new face to the adjacent edge. */
SubdivCCGAdjacentVertex *adjacent_vertex = &subdiv_ccg->adjacent_vertices[vertex_index];
- CCGElem **corner_element = subdiv_ccg_adjacent_vertex_add_face(adjacent_vertex, face);
- *corner_element = CCG_grid_elem(&key, grid, grid_size - 1, grid_size - 1);
+ SubdivCCGCoord *corner_coord = subdiv_ccg_adjacent_vertex_add_face(adjacent_vertex);
+ *corner_coord = subdiv_ccg_coord(grid_index, grid_size - 1, grid_size - 1);
}
}
/* Free possibly heap-allocated storage. */
@@ -593,7 +591,7 @@ Mesh *BKE_subdiv_to_ccg_mesh(Subdiv *subdiv,
BKE_subdiv_stats_begin(&subdiv->stats, SUBDIV_STATS_SUBDIV_TO_CCG);
if (!BKE_subdiv_eval_update_from_mesh(subdiv, coarse_mesh, NULL)) {
if (coarse_mesh->totpoly) {
- return false;
+ return NULL;
}
}
BKE_subdiv_stats_end(&subdiv->stats, SUBDIV_STATS_SUBDIV_TO_CCG);
@@ -638,17 +636,15 @@ void BKE_subdiv_ccg_destroy(SubdivCCG *subdiv_ccg)
for (int i = 0; i < subdiv_ccg->num_adjacent_edges; i++) {
SubdivCCGAdjacentEdge *adjacent_edge = &subdiv_ccg->adjacent_edges[i];
for (int face_index = 0; face_index < adjacent_edge->num_adjacent_faces; face_index++) {
- MEM_SAFE_FREE(adjacent_edge->boundary_elements[face_index]);
+ MEM_SAFE_FREE(adjacent_edge->boundary_coords[face_index]);
}
- MEM_SAFE_FREE(adjacent_edge->faces);
- MEM_SAFE_FREE(adjacent_edge->boundary_elements);
+ MEM_SAFE_FREE(adjacent_edge->boundary_coords);
}
MEM_SAFE_FREE(subdiv_ccg->adjacent_edges);
/* Free map of adjacent vertices. */
for (int i = 0; i < subdiv_ccg->num_adjacent_vertices; i++) {
SubdivCCGAdjacentVertex *adjacent_vertex = &subdiv_ccg->adjacent_vertices[i];
- MEM_SAFE_FREE(adjacent_vertex->faces);
- MEM_SAFE_FREE(adjacent_vertex->corner_elements);
+ MEM_SAFE_FREE(adjacent_vertex->corner_coords);
}
MEM_SAFE_FREE(subdiv_ccg->adjacent_vertices);
MEM_freeN(subdiv_ccg);
@@ -1051,7 +1047,8 @@ static void subdiv_ccg_average_grids_boundary(SubdivCCG *subdiv_ccg,
}
for (int face_index = 0; face_index < num_adjacent_faces; face_index++) {
for (int i = 1; i < grid_size2 - 1; i++) {
- CCGElem *grid_element = adjacent_edge->boundary_elements[face_index][i];
+ CCGElem *grid_element = subdiv_ccg_coord_to_elem(
+ key, subdiv_ccg, &adjacent_edge->boundary_coords[face_index][i]);
element_accumulator_add(&tls->accumulators[i], subdiv_ccg, key, grid_element);
}
}
@@ -1061,7 +1058,8 @@ static void subdiv_ccg_average_grids_boundary(SubdivCCG *subdiv_ccg,
/* Copy averaged value to all the other faces. */
for (int face_index = 0; face_index < num_adjacent_faces; face_index++) {
for (int i = 1; i < grid_size2 - 1; i++) {
- CCGElem *grid_element = adjacent_edge->boundary_elements[face_index][i];
+ CCGElem *grid_element = subdiv_ccg_coord_to_elem(
+ key, subdiv_ccg, &adjacent_edge->boundary_coords[face_index][i]);
element_accumulator_copy(subdiv_ccg, key, grid_element, &tls->accumulators[i]);
}
}
@@ -1103,13 +1101,15 @@ static void subdiv_ccg_average_grids_corners(SubdivCCG *subdiv_ccg,
GridElementAccumulator accumulator;
element_accumulator_init(&accumulator);
for (int face_index = 0; face_index < num_adjacent_faces; face_index++) {
- CCGElem *grid_element = adjacent_vertex->corner_elements[face_index];
+ CCGElem *grid_element = subdiv_ccg_coord_to_elem(
+ key, subdiv_ccg, &adjacent_vertex->corner_coords[face_index]);
element_accumulator_add(&accumulator, subdiv_ccg, key, grid_element);
}
element_accumulator_mul_fl(&accumulator, 1.0f / (float)num_adjacent_faces);
/* Copy averaged value to all the other faces. */
for (int face_index = 0; face_index < num_adjacent_faces; face_index++) {
- CCGElem *grid_element = adjacent_vertex->corner_elements[face_index];
+ CCGElem *grid_element = subdiv_ccg_coord_to_elem(
+ key, subdiv_ccg, &adjacent_vertex->corner_coords[face_index]);
element_accumulator_copy(subdiv_ccg, key, grid_element, &accumulator);
}
}
@@ -1243,3 +1243,540 @@ void BKE_subdiv_ccg_topology_counters(const SubdivCCG *subdiv_ccg,
*r_num_faces = num_grids * (grid_size - 1) * (grid_size - 1);
*r_num_loops = *r_num_faces * 4;
}
+
+/* =============================================================================
+ * Neighbors.
+ */
+
+void BKE_subdiv_ccg_print_coord(const char *message, const SubdivCCGCoord *coord)
+{
+ printf("%s: grid index: %d, coord: (%d, %d)\n", message, coord->grid_index, coord->x, coord->y);
+}
+
+bool BKE_subdiv_ccg_check_coord_valid(const SubdivCCG *subdiv_ccg, const SubdivCCGCoord *coord)
+{
+ if (coord->grid_index < 0 || coord->grid_index >= subdiv_ccg->num_grids) {
+ return false;
+ }
+ const int grid_size = subdiv_ccg->grid_size;
+ if (coord->x < 0 || coord->x >= grid_size) {
+ return false;
+ }
+ if (coord->y < 0 || coord->y >= grid_size) {
+ return false;
+ }
+ return true;
+}
+
+BLI_INLINE void subdiv_ccg_neighbors_init(SubdivCCGNeighbors *neighbors,
+ const int num_unique,
+ const int num_duplicates)
+{
+ const int size = num_unique + num_duplicates;
+ neighbors->size = size;
+ neighbors->num_duplicates = num_duplicates;
+ if (size < ARRAY_SIZE(neighbors->coords_fixed)) {
+ neighbors->coords = neighbors->coords_fixed;
+ }
+ else {
+ neighbors->coords = MEM_mallocN(sizeof(*neighbors->coords) * size,
+ "SubdivCCGNeighbors.coords");
+ }
+}
+
+/* Check whether given coordinate belongs to a grid corner. */
+BLI_INLINE bool is_corner_grid_coord(const SubdivCCG *subdiv_ccg, const SubdivCCGCoord *coord)
+{
+ const int grid_size_1 = subdiv_ccg->grid_size - 1;
+ return (coord->x == 0 && coord->y == 0) || (coord->x == 0 && coord->y == grid_size_1) ||
+ (coord->x == grid_size_1 && coord->y == grid_size_1) ||
+ (coord->x == grid_size_1 && coord->y == 0);
+}
+
+/* Check whether given coordinate belongs to a grid boundary. */
+BLI_INLINE bool is_boundary_grid_coord(const SubdivCCG *subdiv_ccg, const SubdivCCGCoord *coord)
+{
+ const int grid_size_1 = subdiv_ccg->grid_size - 1;
+ return coord->x == 0 || coord->y == 0 || coord->x == grid_size_1 || coord->y == grid_size_1;
+}
+
+/* Check whether coordinate is at the boundary between two grids of the same face. */
+BLI_INLINE bool is_inner_edge_grid_coordinate(const SubdivCCG *subdiv_ccg,
+ const SubdivCCGCoord *coord)
+{
+ const int grid_size_1 = subdiv_ccg->grid_size - 1;
+ if (coord->x == 0) {
+ return coord->y > 0 && coord->y < grid_size_1;
+ }
+ if (coord->y == 0) {
+ return coord->x > 0 && coord->x < grid_size_1;
+ }
+ return false;
+}
+
+BLI_INLINE SubdivCCGCoord coord_at_prev_row(const SubdivCCG *UNUSED(subdiv_ccg),
+ const SubdivCCGCoord *coord)
+{
+ BLI_assert(coord->y > 0);
+ SubdivCCGCoord result = *coord;
+ result.y -= 1;
+ return result;
+}
+BLI_INLINE SubdivCCGCoord coord_at_next_row(const SubdivCCG *subdiv_ccg,
+ const SubdivCCGCoord *coord)
+{
+ UNUSED_VARS_NDEBUG(subdiv_ccg);
+ BLI_assert(coord->y < subdiv_ccg->grid_size - 1);
+ SubdivCCGCoord result = *coord;
+ result.y += 1;
+ return result;
+}
+
+BLI_INLINE SubdivCCGCoord coord_at_prev_col(const SubdivCCG *UNUSED(subdiv_ccg),
+ const SubdivCCGCoord *coord)
+{
+ BLI_assert(coord->x > 0);
+ SubdivCCGCoord result = *coord;
+ result.x -= 1;
+ return result;
+}
+BLI_INLINE SubdivCCGCoord coord_at_next_col(const SubdivCCG *subdiv_ccg,
+ const SubdivCCGCoord *coord)
+{
+ UNUSED_VARS_NDEBUG(subdiv_ccg);
+ BLI_assert(coord->x < subdiv_ccg->grid_size - 1);
+ SubdivCCGCoord result = *coord;
+ result.x += 1;
+ return result;
+}
+
+/* For the input coordinate which is at the boundary of the grid do one step inside. */
+static SubdivCCGCoord coord_step_inside_from_boundary(const SubdivCCG *subdiv_ccg,
+ const SubdivCCGCoord *coord)
+
+{
+ SubdivCCGCoord result = *coord;
+ const int grid_size_1 = subdiv_ccg->grid_size - 1;
+ if (result.x == grid_size_1) {
+ --result.x;
+ }
+ else if (result.y == grid_size_1) {
+ --result.y;
+ }
+ else if (result.x == 0) {
+ ++result.x;
+ }
+ else if (result.y == 0) {
+ ++result.y;
+ }
+ else {
+ BLI_assert(!"non-boundary element given");
+ }
+ return result;
+}
+
+BLI_INLINE
+int next_grid_index_from_coord(const SubdivCCG *subdiv_ccg, const SubdivCCGCoord *coord)
+{
+ SubdivCCGFace *face = subdiv_ccg->grid_faces[coord->grid_index];
+ const int face_grid_index = coord->grid_index;
+ int next_face_grid_index = face_grid_index + 1 - face->start_grid_index;
+ if (next_face_grid_index == face->num_grids) {
+ next_face_grid_index = 0;
+ }
+ return face->start_grid_index + next_face_grid_index;
+}
+BLI_INLINE int prev_grid_index_from_coord(const SubdivCCG *subdiv_ccg, const SubdivCCGCoord *coord)
+{
+ SubdivCCGFace *face = subdiv_ccg->grid_faces[coord->grid_index];
+ const int face_grid_index = coord->grid_index;
+ int prev_face_grid_index = face_grid_index - 1 - face->start_grid_index;
+ if (prev_face_grid_index < 0) {
+ prev_face_grid_index = face->num_grids - 1;
+ }
+ return face->start_grid_index + prev_face_grid_index;
+}
+
+/* Simple case of getting neighbors of a corner coordinate: the corner is a face center, so
+ * can only iterate over grid of a single face, without looking into adjacency. */
+static void neighbor_coords_corner_center_get(const SubdivCCG *subdiv_ccg,
+ const SubdivCCGCoord *coord,
+ const bool include_duplicates,
+ SubdivCCGNeighbors *r_neighbors)
+{
+ SubdivCCGFace *face = subdiv_ccg->grid_faces[coord->grid_index];
+ const int num_adjacent_grids = face->num_grids;
+
+ subdiv_ccg_neighbors_init(
+ r_neighbors, num_adjacent_grids, (include_duplicates) ? num_adjacent_grids - 1 : 0);
+
+ int duplicate_face_grid_index = num_adjacent_grids;
+ for (int face_grid_index = 0; face_grid_index < num_adjacent_grids; ++face_grid_index) {
+ SubdivCCGCoord neighbor_coord;
+ neighbor_coord.grid_index = face->start_grid_index + face_grid_index;
+ neighbor_coord.x = 1;
+ neighbor_coord.y = 0;
+ r_neighbors->coords[face_grid_index] = neighbor_coord;
+
+ if (include_duplicates && neighbor_coord.grid_index != coord->grid_index) {
+ neighbor_coord.x = 0;
+ r_neighbors->coords[duplicate_face_grid_index++] = neighbor_coord;
+ }
+ }
+}
+
+/* Get index within adjacent_vertices array for the given CCG coordinate. */
+static int adjacent_vertex_index_from_coord(const SubdivCCG *subdiv_ccg,
+ const SubdivCCGCoord *coord)
+{
+ Subdiv *subdiv = subdiv_ccg->subdiv;
+ OpenSubdiv_TopologyRefiner *topology_refiner = subdiv->topology_refiner;
+
+ const SubdivCCGFace *face = subdiv_ccg->grid_faces[coord->grid_index];
+ const int face_index = face - subdiv_ccg->faces;
+ const int face_grid_index = coord->grid_index - face->start_grid_index;
+ const int num_face_grids = face->num_grids;
+ const int num_face_vertices = num_face_grids;
+
+ StaticOrHeapIntStorage face_vertices_storage;
+ static_or_heap_storage_init(&face_vertices_storage);
+
+ int *face_vertices = static_or_heap_storage_get(&face_vertices_storage, num_face_vertices);
+ topology_refiner->getFaceVertices(topology_refiner, face_index, face_vertices);
+
+ const int adjacent_vertex_index = face_vertices[face_grid_index];
+ static_or_heap_storage_free(&face_vertices_storage);
+ return adjacent_vertex_index;
+}
+
+/* The corner is adjacent to a coarse vertex. */
+static void neighbor_coords_corner_vertex_get(const SubdivCCG *subdiv_ccg,
+ const SubdivCCGCoord *coord,
+ const bool include_duplicates,
+ SubdivCCGNeighbors *r_neighbors)
+{
+ Subdiv *subdiv = subdiv_ccg->subdiv;
+ OpenSubdiv_TopologyRefiner *topology_refiner = subdiv->topology_refiner;
+
+ const int adjacent_vertex_index = adjacent_vertex_index_from_coord(subdiv_ccg, coord);
+ BLI_assert(adjacent_vertex_index >= 0);
+ BLI_assert(adjacent_vertex_index < subdiv_ccg->num_adjacent_vertices);
+ const int num_vertex_edges = topology_refiner->getNumVertexEdges(topology_refiner,
+ adjacent_vertex_index);
+
+ SubdivCCGAdjacentVertex *adjacent_vertex = &subdiv_ccg->adjacent_vertices[adjacent_vertex_index];
+ const int num_adjacent_faces = adjacent_vertex->num_adjacent_faces;
+
+ subdiv_ccg_neighbors_init(
+ r_neighbors, num_vertex_edges, (include_duplicates) ? num_adjacent_faces - 1 : 0);
+
+ StaticOrHeapIntStorage vertex_edges_storage;
+ static_or_heap_storage_init(&vertex_edges_storage);
+
+ int *vertex_edges = static_or_heap_storage_get(&vertex_edges_storage, num_vertex_edges);
+ topology_refiner->getVertexEdges(topology_refiner, adjacent_vertex_index, vertex_edges);
+
+ for (int i = 0; i < num_vertex_edges; ++i) {
+ const int edge_index = vertex_edges[i];
+
+ /* Use very first grid of every edge. */
+ const int edge_face_index = 0;
+
+ /* Depending edge orientation we use first (zero-based) or previous-to-last point. */
+ int edge_vertices_indices[2];
+ topology_refiner->getEdgeVertices(topology_refiner, edge_index, edge_vertices_indices);
+ int edge_point_index, duplicate_edge_point_index;
+ if (edge_vertices_indices[0] == adjacent_vertex_index) {
+ duplicate_edge_point_index = 0;
+ edge_point_index = duplicate_edge_point_index + 1;
+ }
+ else {
+ /* Edge "consists" of 2 grids, which makes it 2 * grid_size elements per edge.
+ * The index of last edge element is 2 * grid_size - 1 (due to zero-based indices),
+ * and we are interested in previous to last element. */
+ duplicate_edge_point_index = subdiv_ccg->grid_size * 2 - 1;
+ edge_point_index = duplicate_edge_point_index - 1;
+ }
+
+ SubdivCCGAdjacentEdge *adjacent_edge = &subdiv_ccg->adjacent_edges[edge_index];
+ r_neighbors->coords[i] = adjacent_edge->boundary_coords[edge_face_index][edge_point_index];
+ }
+
+ if (include_duplicates) {
+ /* Add duplicates of the current grid vertex in adjacent faces if requested. */
+ for (int i = 0, duplicate_i = num_vertex_edges; i < num_adjacent_faces; i++) {
+ SubdivCCGCoord neighbor_coord = adjacent_vertex->corner_coords[i];
+ if (neighbor_coord.grid_index != coord->grid_index) {
+ r_neighbors->coords[duplicate_i++] = neighbor_coord;
+ }
+ }
+ }
+
+ static_or_heap_storage_free(&vertex_edges_storage);
+}
+
+static int adjacent_edge_index_from_coord(const SubdivCCG *subdiv_ccg, const SubdivCCGCoord *coord)
+{
+ Subdiv *subdiv = subdiv_ccg->subdiv;
+ OpenSubdiv_TopologyRefiner *topology_refiner = subdiv->topology_refiner;
+ SubdivCCGFace *face = subdiv_ccg->grid_faces[coord->grid_index];
+
+ const int face_grid_index = coord->grid_index - face->start_grid_index;
+ const int face_index = face - subdiv_ccg->faces;
+ const int num_face_edges = topology_refiner->getNumFaceEdges(topology_refiner, face_index);
+
+ StaticOrHeapIntStorage face_edges_storage;
+ static_or_heap_storage_init(&face_edges_storage);
+ int *face_edges_indices = static_or_heap_storage_get(&face_edges_storage, num_face_edges);
+ topology_refiner->getFaceEdges(topology_refiner, face_index, face_edges_indices);
+
+ const int grid_size_1 = subdiv_ccg->grid_size - 1;
+ int adjacent_edge_index = -1;
+ if (coord->x == grid_size_1) {
+ adjacent_edge_index = face_edges_indices[face_grid_index];
+ }
+ else {
+ BLI_assert(coord->y == grid_size_1);
+ adjacent_edge_index =
+ face_edges_indices[face_grid_index == 0 ? face->num_grids - 1 : face_grid_index - 1];
+ }
+
+ static_or_heap_storage_free(&face_edges_storage);
+
+ return adjacent_edge_index;
+}
+
+static int adjacent_edge_point_index_from_coord(const SubdivCCG *subdiv_ccg,
+ const SubdivCCGCoord *coord,
+ const int adjacent_edge_index)
+{
+ Subdiv *subdiv = subdiv_ccg->subdiv;
+ OpenSubdiv_TopologyRefiner *topology_refiner = subdiv->topology_refiner;
+
+ const int adjacent_vertex_index = adjacent_vertex_index_from_coord(subdiv_ccg, coord);
+ int edge_vertices_indices[2];
+ topology_refiner->getEdgeVertices(topology_refiner, adjacent_edge_index, edge_vertices_indices);
+
+ /* Vertex index of an edge which is used to see whether edge points in the right direction.
+ * Tricky part here is that depending whether input coordinate is are maximum X or Y coordinate
+ * of the grid we need to use different edge direction.
+ * Basically, the edge adjacent to a previous loop needs to point opposite direction. */
+ int directional_edge_vertex_index = -1;
+
+ const int grid_size_1 = subdiv_ccg->grid_size - 1;
+ int adjacent_edge_point_index = -1;
+ if (coord->x == grid_size_1) {
+ adjacent_edge_point_index = subdiv_ccg->grid_size - coord->y - 1;
+ directional_edge_vertex_index = edge_vertices_indices[0];
+ }
+ else {
+ BLI_assert(coord->y == grid_size_1);
+ adjacent_edge_point_index = subdiv_ccg->grid_size + coord->x;
+ directional_edge_vertex_index = edge_vertices_indices[1];
+ }
+
+ /* Flip the index if the edde points opposite direction. */
+ if (adjacent_vertex_index != directional_edge_vertex_index) {
+ const int num_edge_points = subdiv_ccg->grid_size * 2;
+ adjacent_edge_point_index = num_edge_points - adjacent_edge_point_index - 1;
+ }
+
+ return adjacent_edge_point_index;
+}
+
+/* Adjacent edge has two points in the middle which corresponds to grid corners, but which are
+ * the same point in the final geometry.
+ * So need to use extra step when calculating next/previous points, so we don't go from a corner
+ * of one grid to a corner of adjacent grid. */
+static int next_adjacent_edge_point_index(const SubdivCCG *subdiv_ccg, const int point_index)
+{
+ if (point_index == subdiv_ccg->grid_size - 1) {
+ return point_index + 2;
+ }
+ return point_index + 1;
+}
+static int prev_adjacent_edge_point_index(const SubdivCCG *subdiv_ccg, const int point_index)
+{
+ if (point_index == subdiv_ccg->grid_size) {
+ return point_index - 2;
+ }
+ return point_index - 1;
+}
+
+/* Common implementation of neighbor calculation when input coordinate is at the edge between two
+ * coarse faces, but is not at the coarse vertex. */
+static void neighbor_coords_edge_get(const SubdivCCG *subdiv_ccg,
+ const SubdivCCGCoord *coord,
+ const bool include_duplicates,
+ SubdivCCGNeighbors *r_neighbors)
+
+{
+ const int adjacent_edge_index = adjacent_edge_index_from_coord(subdiv_ccg, coord);
+ BLI_assert(adjacent_edge_index >= 0);
+ BLI_assert(adjacent_edge_index < subdiv_ccg->num_adjacent_edges);
+ const SubdivCCGAdjacentEdge *adjacent_edge = &subdiv_ccg->adjacent_edges[adjacent_edge_index];
+
+ /* 2 neighbor points along the edge, plus one inner point per every adjacent grid. */
+ const int num_adjacent_faces = adjacent_edge->num_adjacent_faces;
+ subdiv_ccg_neighbors_init(
+ r_neighbors, num_adjacent_faces + 2, (include_duplicates) ? num_adjacent_faces - 1 : 0);
+
+ const int point_index = adjacent_edge_point_index_from_coord(
+ subdiv_ccg, coord, adjacent_edge_index);
+ const int next_point_index = next_adjacent_edge_point_index(subdiv_ccg, point_index);
+ const int prev_point_index = prev_adjacent_edge_point_index(subdiv_ccg, point_index);
+
+ for (int i = 0, duplicate_i = num_adjacent_faces; i < num_adjacent_faces; ++i) {
+ SubdivCCGCoord *boundary_coords = adjacent_edge->boundary_coords[i];
+ /* One step into the grid from the edge for each adjacent face. */
+ SubdivCCGCoord grid_coord = boundary_coords[point_index];
+ r_neighbors->coords[i + 2] = coord_step_inside_from_boundary(subdiv_ccg, &grid_coord);
+
+ if (grid_coord.grid_index == coord->grid_index) {
+ /* Prev and next along the edge for the current grid. */
+ r_neighbors->coords[0] = boundary_coords[prev_point_index];
+ r_neighbors->coords[1] = boundary_coords[next_point_index];
+ }
+ else if (include_duplicates) {
+ /* Same coordinate on neighboring grids if requested. */
+ r_neighbors->coords[duplicate_i + 2] = grid_coord;
+ duplicate_i++;
+ }
+ }
+}
+
+/* The corner is at the middle of edge between faces. */
+static void neighbor_coords_corner_edge_get(const SubdivCCG *subdiv_ccg,
+ const SubdivCCGCoord *coord,
+ const bool include_duplicates,
+ SubdivCCGNeighbors *r_neighbors)
+{
+ neighbor_coords_edge_get(subdiv_ccg, coord, include_duplicates, r_neighbors);
+}
+
+/* Input coordinate is at one of 4 corners of its grid corners. */
+static void neighbor_coords_corner_get(const SubdivCCG *subdiv_ccg,
+ const SubdivCCGCoord *coord,
+ const bool include_duplicates,
+ SubdivCCGNeighbors *r_neighbors)
+{
+ if (coord->x == 0 && coord->y == 0) {
+ neighbor_coords_corner_center_get(subdiv_ccg, coord, include_duplicates, r_neighbors);
+ }
+ else {
+ const int grid_size_1 = subdiv_ccg->grid_size - 1;
+ if (coord->x == grid_size_1 && coord->y == grid_size_1) {
+ neighbor_coords_corner_vertex_get(subdiv_ccg, coord, include_duplicates, r_neighbors);
+ }
+ else {
+ neighbor_coords_corner_edge_get(subdiv_ccg, coord, include_duplicates, r_neighbors);
+ }
+ }
+}
+
+/* Simple case of getting neighbors of a boundary coordinate: the input coordinate is at the
+ * boundary between two grids of the same face and there is no need to check adjacency with
+ * other faces. */
+static void neighbor_coords_boundary_inner_get(const SubdivCCG *subdiv_ccg,
+ const SubdivCCGCoord *coord,
+ const bool include_duplicates,
+ SubdivCCGNeighbors *r_neighbors)
+{
+ subdiv_ccg_neighbors_init(r_neighbors, 4, (include_duplicates) ? 1 : 0);
+
+ if (coord->x == 0) {
+ r_neighbors->coords[0] = coord_at_prev_row(subdiv_ccg, coord);
+ r_neighbors->coords[1] = coord_at_next_row(subdiv_ccg, coord);
+ r_neighbors->coords[2] = coord_at_next_col(subdiv_ccg, coord);
+
+ r_neighbors->coords[3].grid_index = prev_grid_index_from_coord(subdiv_ccg, coord);
+ r_neighbors->coords[3].x = coord->y;
+ r_neighbors->coords[3].y = 1;
+
+ if (include_duplicates) {
+ r_neighbors->coords[4] = r_neighbors->coords[3];
+ r_neighbors->coords[4].y = 0;
+ }
+ }
+ else if (coord->y == 0) {
+ r_neighbors->coords[0] = coord_at_prev_col(subdiv_ccg, coord);
+ r_neighbors->coords[1] = coord_at_next_col(subdiv_ccg, coord);
+ r_neighbors->coords[2] = coord_at_next_row(subdiv_ccg, coord);
+
+ r_neighbors->coords[3].grid_index = next_grid_index_from_coord(subdiv_ccg, coord);
+ r_neighbors->coords[3].x = 1;
+ r_neighbors->coords[3].y = coord->x;
+
+ if (include_duplicates) {
+ r_neighbors->coords[4] = r_neighbors->coords[3];
+ r_neighbors->coords[4].x = 0;
+ }
+ }
+}
+
+/* Input coordinate is on an edge between two faces. Need to check adjacency. */
+static void neighbor_coords_boundary_outer_get(const SubdivCCG *subdiv_ccg,
+ const SubdivCCGCoord *coord,
+ const bool include_duplicates,
+ SubdivCCGNeighbors *r_neighbors)
+{
+ neighbor_coords_edge_get(subdiv_ccg, coord, include_duplicates, r_neighbors);
+}
+
+/* Input coordinate is at one of 4 boundaries of its grid.
+ * It could either be an inner boundary (which connects face center to the face edge) or could be
+ * a part of coarse face edge. */
+static void neighbor_coords_boundary_get(const SubdivCCG *subdiv_ccg,
+ const SubdivCCGCoord *coord,
+ const bool include_duplicates,
+ SubdivCCGNeighbors *r_neighbors)
+{
+ if (is_inner_edge_grid_coordinate(subdiv_ccg, coord)) {
+ neighbor_coords_boundary_inner_get(subdiv_ccg, coord, include_duplicates, r_neighbors);
+ }
+ else {
+ neighbor_coords_boundary_outer_get(subdiv_ccg, coord, include_duplicates, r_neighbors);
+ }
+}
+
+/* Input coordinate is inside of its grid, all the neighbors belong to the same grid. */
+static void neighbor_coords_inner_get(const SubdivCCG *subdiv_ccg,
+ const SubdivCCGCoord *coord,
+ SubdivCCGNeighbors *r_neighbors)
+{
+ subdiv_ccg_neighbors_init(r_neighbors, 4, 0);
+
+ r_neighbors->coords[0] = coord_at_prev_row(subdiv_ccg, coord);
+ r_neighbors->coords[1] = coord_at_next_row(subdiv_ccg, coord);
+ r_neighbors->coords[2] = coord_at_prev_col(subdiv_ccg, coord);
+ r_neighbors->coords[3] = coord_at_next_col(subdiv_ccg, coord);
+}
+
+void BKE_subdiv_ccg_neighbor_coords_get(const SubdivCCG *subdiv_ccg,
+ const SubdivCCGCoord *coord,
+ const bool include_duplicates,
+ SubdivCCGNeighbors *r_neighbors)
+{
+ BLI_assert(coord->grid_index >= 0);
+ BLI_assert(coord->grid_index < subdiv_ccg->num_grids);
+ BLI_assert(coord->x >= 0);
+ BLI_assert(coord->x < subdiv_ccg->grid_size);
+ BLI_assert(coord->y >= 0);
+ BLI_assert(coord->y < subdiv_ccg->grid_size);
+
+ if (is_corner_grid_coord(subdiv_ccg, coord)) {
+ neighbor_coords_corner_get(subdiv_ccg, coord, include_duplicates, r_neighbors);
+ }
+ else if (is_boundary_grid_coord(subdiv_ccg, coord)) {
+ neighbor_coords_boundary_get(subdiv_ccg, coord, include_duplicates, r_neighbors);
+ }
+ else {
+ neighbor_coords_inner_get(subdiv_ccg, coord, r_neighbors);
+ }
+
+#ifndef NDEBUG
+ for (int i = 0; i < r_neighbors->size; i++) {
+ BLI_assert(BKE_subdiv_ccg_check_coord_valid(subdiv_ccg, &r_neighbors->coords[i]));
+ }
+#endif
+}
diff --git a/source/blender/blenkernel/intern/text.c b/source/blender/blenkernel/intern/text.c
index 83be64e84c9..5c050dde990 100644
--- a/source/blender/blenkernel/intern/text.c
+++ b/source/blender/blenkernel/intern/text.c
@@ -312,7 +312,7 @@ bool BKE_text_reload(Text *text)
}
BLI_strncpy(filepath_abs, text->name, FILE_MAX);
- BLI_path_abs(filepath_abs, BKE_main_blendfile_path_from_global());
+ BLI_path_abs(filepath_abs, ID_BLEND_PATH_FROM_GLOBAL(&text->id));
buffer = BLI_file_read_text_as_mem(filepath_abs, 0, &buffer_len);
if (buffer == NULL) {
@@ -352,7 +352,7 @@ Text *BKE_text_load_ex(Main *bmain, const char *file, const char *relpath, const
buffer = BLI_file_read_text_as_mem(filepath_abs, 0, &buffer_len);
if (buffer == NULL) {
- return false;
+ return NULL;
}
ta = BKE_libblock_alloc(bmain, ID_TXT, BLI_path_basename(filepath_abs), 0);
@@ -477,7 +477,7 @@ int BKE_text_file_modified_check(Text *text)
}
BLI_strncpy(file, text->name, FILE_MAX);
- BLI_path_abs(file, BKE_main_blendfile_path_from_global());
+ BLI_path_abs(file, ID_BLEND_PATH_FROM_GLOBAL(&text->id));
if (!BLI_exists(file)) {
return 2;
@@ -511,7 +511,7 @@ void BKE_text_file_modified_ignore(Text *text)
}
BLI_strncpy(file, text->name, FILE_MAX);
- BLI_path_abs(file, BKE_main_blendfile_path_from_global());
+ BLI_path_abs(file, ID_BLEND_PATH_FROM_GLOBAL(&text->id));
if (!BLI_exists(file)) {
return;
@@ -1218,6 +1218,58 @@ void txt_sel_line(Text *text)
text->selc = text->sell->len;
}
+void txt_sel_set(Text *text, int startl, int startc, int endl, int endc)
+{
+ TextLine *froml, *tol;
+ int fromllen, tollen;
+
+ /* Support negative indices. */
+ if (startl < 0 || endl < 0) {
+ int end = BLI_listbase_count(&text->lines) - 1;
+ if (startl < 0) {
+ startl = end + startl + 1;
+ }
+ if (endl < 0) {
+ endl = end + endl + 1;
+ }
+ }
+ CLAMP_MIN(startl, 0);
+ CLAMP_MIN(endl, 0);
+
+ froml = BLI_findlink(&text->lines, startl);
+ if (froml == NULL) {
+ froml = text->lines.last;
+ }
+ if (startl == endl) {
+ tol = froml;
+ }
+ else {
+ tol = BLI_findlink(&text->lines, endl);
+ if (tol == NULL) {
+ tol = text->lines.last;
+ }
+ }
+
+ fromllen = BLI_strlen_utf8(froml->line);
+ tollen = BLI_strlen_utf8(tol->line);
+
+ /* Support negative indices. */
+ if (startc < 0) {
+ startc = fromllen + startc + 1;
+ }
+ if (endc < 0) {
+ endc = tollen + endc + 1;
+ }
+
+ CLAMP(startc, 0, fromllen);
+ CLAMP(endc, 0, tollen);
+
+ text->curl = froml;
+ text->curc = BLI_str_utf8_offset_from_index(froml->line, startc);
+ text->sell = tol;
+ text->selc = BLI_str_utf8_offset_from_index(tol->line, endc);
+}
+
/* -------------------------------------------------------------------- */
/** \name Buffer Conversion for Undo/Redo
*
diff --git a/source/blender/blenlib/BLI_compiler_compat.h b/source/blender/blenlib/BLI_compiler_compat.h
index bd1cd327d3c..312991e7f15 100644
--- a/source/blender/blenlib/BLI_compiler_compat.h
+++ b/source/blender/blenlib/BLI_compiler_compat.h
@@ -15,7 +15,7 @@
*/
#ifndef __BLI_COMPILER_COMPAT_H__
-# define __BLI_COMPILER_COMPAT_H__
+#define __BLI_COMPILER_COMPAT_H__
/** \file
* \ingroup bli
@@ -23,32 +23,32 @@
* Use to help with cross platform portability.
*/
-# if defined(_MSC_VER)
-# define alloca _alloca
-# endif
+#if defined(_MSC_VER)
+# define alloca _alloca
+#endif
-# if (defined(__GNUC__) || defined(__clang__)) && defined(__cplusplus)
+#if (defined(__GNUC__) || defined(__clang__)) && defined(__cplusplus)
extern "C++" {
/* Some magic to be sure we don't have reference in the type. */
template<typename T> static inline T decltype_helper(T x)
{
return x;
}
-# define typeof(x) decltype(decltype_helper(x))
+# define typeof(x) decltype(decltype_helper(x))
}
-# endif
+#endif
/* little macro so inline keyword works */
-# if defined(_MSC_VER)
-# define BLI_INLINE static __forceinline
-# else
-# define BLI_INLINE static inline __attribute__((always_inline)) __attribute__((__unused__))
-# endif
+#if defined(_MSC_VER)
+# define BLI_INLINE static __forceinline
+#else
+# define BLI_INLINE static inline __attribute__((always_inline)) __attribute__((__unused__))
+#endif
-# if defined(__GNUC__)
-# define BLI_NOINLINE __attribute__((noinline))
-# else
-# define BLI_NOINLINE
-# endif
+#if defined(__GNUC__)
+# define BLI_NOINLINE __attribute__((noinline))
+#else
+# define BLI_NOINLINE
+#endif
#endif /* __BLI_COMPILER_COMPAT_H__ */
diff --git a/source/blender/blenlib/BLI_fileops.h b/source/blender/blenlib/BLI_fileops.h
index d78f167a8fd..5c20e57181e 100644
--- a/source/blender/blenlib/BLI_fileops.h
+++ b/source/blender/blenlib/BLI_fileops.h
@@ -50,6 +50,7 @@ int BLI_exists(const char *path) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL();
int BLI_copy(const char *path, const char *to) ATTR_NONNULL();
int BLI_rename(const char *from, const char *to) ATTR_NONNULL();
int BLI_delete(const char *path, bool dir, bool recursive) ATTR_NONNULL();
+int BLI_delete_soft(const char *path, const char **error_message) ATTR_NONNULL();
#if 0 /* Unused */
int BLI_move(const char *path, const char *to) ATTR_NONNULL();
int BLI_create_symlink(const char *path, const char *to) ATTR_NONNULL();
@@ -66,6 +67,7 @@ typedef struct _stat BLI_stat_t;
typedef struct stat BLI_stat_t;
#endif
+int BLI_fstat(int fd, BLI_stat_t *buffer) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL();
int BLI_stat(const char *path, BLI_stat_t *buffer) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL();
#ifdef WIN32
int BLI_wstat(const wchar_t *path, BLI_stat_t *buffer);
diff --git a/source/blender/blenlib/BLI_gsqueue.h b/source/blender/blenlib/BLI_gsqueue.h
index 72cd5c7f4ec..b8a87e9d9fa 100644
--- a/source/blender/blenlib/BLI_gsqueue.h
+++ b/source/blender/blenlib/BLI_gsqueue.h
@@ -26,13 +26,11 @@
typedef struct _GSQueue GSQueue;
-GSQueue *BLI_gsqueue_new(size_t elem_size);
-bool BLI_gsqueue_is_empty(GSQueue *gq);
-int BLI_gsqueue_len(GSQueue *gq);
-void BLI_gsqueue_peek(GSQueue *gq, void *r_item);
+GSQueue *BLI_gsqueue_new(const size_t elem_size);
+bool BLI_gsqueue_is_empty(const GSQueue *gq);
+size_t BLI_gsqueue_len(const GSQueue *gq);
void BLI_gsqueue_pop(GSQueue *gq, void *r_item);
void BLI_gsqueue_push(GSQueue *gq, const void *item);
-void BLI_gsqueue_push_back(GSQueue *gq, const void *item);
void BLI_gsqueue_free(GSQueue *gq);
#endif /* __BLI_GSQUEUE_H__ */
diff --git a/source/blender/blenlib/BLI_map.h b/source/blender/blenlib/BLI_map.h
index 3e934480b94..1edf7653c71 100644
--- a/source/blender/blenlib/BLI_map.h
+++ b/source/blender/blenlib/BLI_map.h
@@ -624,15 +624,16 @@ template<typename KeyT, typename ValueT, typename Allocator = GuardedAllocator>
template<typename ForwardKeyT, typename ForwardValueT>
bool add_override__impl(ForwardKeyT &&key, ForwardValueT &&value)
{
- return this->add_or_modify(std::forward<ForwardKeyT>(key),
- [&](ValueT *dst) {
- new (dst) ValueT(std::forward<ForwardValueT>(value));
- return true;
- },
- [&](ValueT *old_value) {
- *old_value = std::forward<ForwardValueT>(value);
- return false;
- });
+ return this->add_or_modify(
+ std::forward<ForwardKeyT>(key),
+ [&](ValueT *dst) {
+ new (dst) ValueT(std::forward<ForwardValueT>(value));
+ return true;
+ },
+ [&](ValueT *old_value) {
+ *old_value = std::forward<ForwardValueT>(value);
+ return false;
+ });
}
template<typename ForwardKeyT, typename ForwardValueT>
diff --git a/source/blender/blenlib/BLI_math_geom.h b/source/blender/blenlib/BLI_math_geom.h
index 87517ebe060..eec5d214473 100644
--- a/source/blender/blenlib/BLI_math_geom.h
+++ b/source/blender/blenlib/BLI_math_geom.h
@@ -97,10 +97,10 @@ bool is_quad_convex_v3(const float v1[3], const float v2[3], const float v3[3],
bool is_quad_convex_v2(const float v1[2], const float v2[2], const float v3[2], const float v4[2]);
bool is_poly_convex_v2(const float verts[][2], unsigned int nr);
int is_quad_flip_v3(const float v1[3], const float v2[3], const float v3[3], const float v4[3]);
-bool is_quad_flip_v3_first_third_fast(const float v0[3],
- const float v1[3],
+bool is_quad_flip_v3_first_third_fast(const float v1[3],
const float v2[3],
- const float v3[3]);
+ const float v3[3],
+ const float v4[3]);
/********************************* Distance **********************************/
diff --git a/source/blender/blenlib/BLI_sort.h b/source/blender/blenlib/BLI_sort.h
index b6250afdee0..08e61915a83 100644
--- a/source/blender/blenlib/BLI_sort.h
+++ b/source/blender/blenlib/BLI_sort.h
@@ -31,7 +31,7 @@
# define BLI_qsort_r qsort_r
#endif
-/* Quick sort reentrant */
+/* Quick sort re-entrant */
typedef int (*BLI_sort_cmp_t)(const void *a, const void *b, void *ctx);
void BLI_qsort_r(void *a, size_t n, size_t es, BLI_sort_cmp_t cmp, void *thunk)
diff --git a/source/blender/blenlib/BLI_task.h b/source/blender/blenlib/BLI_task.h
index 568d6c9a84a..7ef5e518cc8 100644
--- a/source/blender/blenlib/BLI_task.h
+++ b/source/blender/blenlib/BLI_task.h
@@ -198,11 +198,45 @@ void BLI_task_parallel_range(const int start,
TaskParallelRangeFunc func,
const TaskParallelSettings *settings);
-typedef void (*TaskParallelListbaseFunc)(void *userdata, struct Link *iter, int index);
+/* This data is shared between all tasks, its access needs thread lock or similar protection. */
+typedef struct TaskParallelIteratorStateShared {
+ /* Maximum amount of items to acquire at once. */
+ int chunk_size;
+ /* Next item to be acquired. */
+ void *next_item;
+ /* Index of the next item to be acquired. */
+ int next_index;
+ /* Indicates that end of iteration has been reached. */
+ bool is_finished;
+ /* Helper lock to protect access to this data in iterator getter callback,
+ * can be ignored (if the callback implements its own protection system, using atomics e.g.).
+ * Will be NULL when iterator is actually processed in a single thread. */
+ SpinLock *spin_lock;
+} TaskParallelIteratorStateShared;
+
+typedef void (*TaskParallelIteratorIterFunc)(void *__restrict userdata,
+ const TaskParallelTLS *__restrict tls,
+ void **r_next_item,
+ int *r_next_index,
+ bool *r_do_abort);
+
+typedef void (*TaskParallelIteratorFunc)(void *__restrict userdata,
+ void *item,
+ int index,
+ const TaskParallelTLS *__restrict tls);
+
+void BLI_task_parallel_iterator(void *userdata,
+ TaskParallelIteratorIterFunc iter_func,
+ void *init_item,
+ const int init_index,
+ const int tot_items,
+ TaskParallelIteratorFunc func,
+ const TaskParallelSettings *settings);
+
void BLI_task_parallel_listbase(struct ListBase *listbase,
void *userdata,
- TaskParallelListbaseFunc func,
- const bool use_threading);
+ TaskParallelIteratorFunc func,
+ const TaskParallelSettings *settings);
typedef struct MempoolIterData MempoolIterData;
typedef void (*TaskParallelMempoolFunc)(void *userdata, MempoolIterData *iter);
diff --git a/source/blender/blenlib/BLI_threads.h b/source/blender/blenlib/BLI_threads.h
index b7ad6e543f1..32b7f219605 100644
--- a/source/blender/blenlib/BLI_threads.h
+++ b/source/blender/blenlib/BLI_threads.h
@@ -30,7 +30,7 @@ extern "C" {
#include <pthread.h>
#ifdef __APPLE__
-# include <os/lock.h>
+# include <libkern/OSAtomic.h>
#endif
/* for tables, button in UI, etc */
@@ -103,7 +103,7 @@ void BLI_mutex_unlock(ThreadMutex *mutex);
/* Spin Lock */
#if defined(__APPLE__)
-typedef os_unfair_lock SpinLock;
+typedef OSSpinLock SpinLock;
#elif defined(_MSC_VER)
typedef volatile int SpinLock;
#else
diff --git a/source/blender/blenlib/intern/BLI_linklist.c b/source/blender/blenlib/intern/BLI_linklist.c
index ae4f5dcebcf..0fe9fd62198 100644
--- a/source/blender/blenlib/intern/BLI_linklist.c
+++ b/source/blender/blenlib/intern/BLI_linklist.c
@@ -325,7 +325,7 @@ void BLI_linklist_apply(LinkNode *list, LinkNodeApplyFP applyfunc, void *userdat
#include "list_sort_impl.h"
#undef SORT_IMPL_FUNC
-/* reentrant call */
+/* re-entrant call */
#define SORT_IMPL_USE_THUNK
#define SORT_IMPL_FUNC linklist_sort_fn_r
#include "list_sort_impl.h"
diff --git a/source/blender/blenlib/intern/BLI_temporary_allocator.cc b/source/blender/blenlib/intern/BLI_temporary_allocator.cc
index e41cf36f66d..b145e65530d 100644
--- a/source/blender/blenlib/intern/BLI_temporary_allocator.cc
+++ b/source/blender/blenlib/intern/BLI_temporary_allocator.cc
@@ -73,7 +73,7 @@ struct ThreadLocalBuffers {
}
};
-thread_local ThreadLocalBuffers local_storage;
+static thread_local ThreadLocalBuffers local_storage;
void *BLI_temporary_allocate(uint size)
{
diff --git a/source/blender/blenlib/intern/BLI_timer.c b/source/blender/blenlib/intern/BLI_timer.c
index 0443dea9a2e..af987587d90 100644
--- a/source/blender/blenlib/intern/BLI_timer.c
+++ b/source/blender/blenlib/intern/BLI_timer.c
@@ -42,7 +42,6 @@ typedef struct TimedFunction {
typedef struct TimerContainer {
ListBase funcs;
- bool file_load_cb_registered;
} TimerContainer;
static TimerContainer GlobalTimer = {{0}};
diff --git a/source/blender/blenlib/intern/delaunay_2d.c b/source/blender/blenlib/intern/delaunay_2d.c
index d5dcd40346f..9c1e52b53a4 100644
--- a/source/blender/blenlib/intern/delaunay_2d.c
+++ b/source/blender/blenlib/intern/delaunay_2d.c
@@ -124,6 +124,17 @@ static int CCW_test(const double a[2], const double b[2], const double c[2], con
/* This is twice the signed area of triangle abc. */
det = (b[0] - a[0]) * (c[1] - a[1]) - (c[0] - a[0]) * (b[1] - a[1]);
+ if (eps == 0.0) {
+ if (det > 0) {
+ return 1;
+ }
+ else if (det < 0) {
+ return -1;
+ }
+ else {
+ return 0;
+ }
+ }
ab = len_v2v2_db(a, b);
if (ab <= eps) {
return 0;
@@ -325,6 +336,18 @@ static bool exists_edge(const CDTVert *a, const CDTVert *b)
return false;
}
+/** Is the vertex v incident on face f? */
+static bool vert_touches_face(const CDTVert *v, const CDTFace *f)
+{
+ SymEdge *se = v->symedge;
+ do {
+ if (se->face == f) {
+ return true;
+ }
+ } while ((se = se->rot) != v->symedge);
+ return false;
+}
+
/**
* Assume s1 and s2 are both SymEdges in a face with > 3 sides,
* and one is not the next of the other.
@@ -605,8 +628,9 @@ static bool locate_point_final(const double p[2],
double lambda, close[2];
bool done = false;
#ifdef DEBUG_CDT
- int dbglevel = 0;
- if (dbglevel > 0) {
+ int dbg_level = 0;
+
+ if (dbg_level > 0) {
fprintf(stderr, "locate_point_final %d\n", try_neighbors);
dump_se(tri_se, "tri_se");
fprintf(stderr, "\n");
@@ -616,7 +640,7 @@ static bool locate_point_final(const double p[2],
i = 0;
do {
#ifdef DEBUG_CDT
- if (dbglevel > 1) {
+ if (dbg_level > 1) {
fprintf(stderr, "%d: ", i);
dump_se(se, "search se");
}
@@ -628,7 +652,7 @@ static bool locate_point_final(const double p[2],
if (len_close_p < epsilon) {
if (len_v2v2_db(p, a) < epsilon) {
#ifdef DEBUG_CDT
- if (dbglevel > 0) {
+ if (dbg_level > 0) {
fprintf(stderr, "OnVert case a (%.2f,%.2f)\n", F2(a));
}
#endif
@@ -639,7 +663,7 @@ static bool locate_point_final(const double p[2],
}
else if (len_v2v2_db(p, b) < epsilon) {
#ifdef DEBUG_CDT
- if (dbglevel > 0) {
+ if (dbg_level > 0) {
fprintf(stderr, "OnVert case b (%.2f,%.2f)\n", F2(b));
}
#endif
@@ -650,7 +674,7 @@ static bool locate_point_final(const double p[2],
}
else if (lambda > 0.0 && lambda < 1.0) {
#ifdef DEBUG_CDT
- if (dbglevel > 0) {
+ if (dbg_level > 0) {
fprintf(stderr, "OnEdge case, lambda=%f\n", lambda);
dump_se(se, "se");
}
@@ -670,7 +694,7 @@ static bool locate_point_final(const double p[2],
} while (se != tri_se && !done);
if (!done) {
#ifdef DEBUG_CDT
- if (dbglevel > 1) {
+ if (dbg_level > 1) {
fprintf(stderr,
"not done, dist_inside=%f %f %f\n",
dist_inside[0],
@@ -680,7 +704,7 @@ static bool locate_point_final(const double p[2],
#endif
if (dist_inside[0] >= 0.0 && dist_inside[1] >= 0.0 && dist_inside[2] >= 0.0) {
#ifdef DEBUG_CDT
- if (dbglevel > 0) {
+ if (dbg_level > 0) {
fprintf(stderr, "InFace case\n");
dump_se_cycle(tri_se, "tri", 10);
}
@@ -728,14 +752,14 @@ static bool locate_point_final(const double p[2],
r_lr->edge_lambda = lambda;
}
#ifdef DEBUG_CDT
- if (dbglevel > 0) {
+ if (dbg_level > 0) {
fprintf(
stderr, "desperation case kind=%u lambda=%f\n", r_lr->loc_kind, r_lr->edge_lambda);
dump_se(r_lr->se, "se");
BLI_assert(0); /* While developing, catch these "should not happens" */
}
#endif
- fprintf(stderr, "desperation!\n"); // TODO: remove
+ fprintf(stderr, "desperation! point=(%g,%g)\n", p[0], p[1]); // TODO: remove
return true;
}
}
@@ -757,9 +781,9 @@ static LocateResult locate_point(CDT_state *cdt, const double p[2])
int visit = ++cdt->visit_count;
int loop_count = 0;
#ifdef DEBUG_CDT
- int dbglevel = 0;
+ int dbg_level = 0;
- if (dbglevel > 0) {
+ if (dbg_level > 0) {
fprintf(stderr, "locate_point (%.2f,%.2f), visit_index=%d\n", F2(p), visit);
}
#endif
@@ -778,7 +802,7 @@ static LocateResult locate_point(CDT_state *cdt, const double p[2])
v = cdt->vert_array[i];
dist_squared = len_squared_v2v2_db(p, v->co);
#ifdef DEBUG_CDT
- if (dbglevel > 0) {
+ if (dbg_level > 0) {
fprintf(stderr, "try start vert %d, dist_squared=%f\n", i, dist_squared);
dump_v(v, "v");
}
@@ -794,7 +818,7 @@ static LocateResult locate_point(CDT_state *cdt, const double p[2])
BLI_assert(cur_se->face != cdt->outer_face);
}
#ifdef DEBUG_CDT
- if (dbglevel > 0) {
+ if (dbg_level > 0) {
dump_se(cur_se, "start vert edge");
}
#endif
@@ -803,7 +827,7 @@ static LocateResult locate_point(CDT_state *cdt, const double p[2])
/* Find edge of cur_tri that separates p and t's centroid,
* and where other tri over the edge is unvisited. */
#ifdef DEBUG_CDT
- if (dbglevel > 0) {
+ if (dbg_level > 0) {
dump_se_cycle(cur_se, "cur search face", 5);
}
#endif
@@ -814,10 +838,10 @@ static LocateResult locate_point(CDT_state *cdt, const double p[2])
a = cur_se->vert->co;
b = cur_se->next->vert->co;
c = cur_se->next->next->vert->co;
- if (CCW_test(a, b, p, epsilon) >= 0 && CCW_test(b, c, p, epsilon) >= 0 &&
- CCW_test(c, a, p, epsilon) >= 0) {
+ if (CCW_test(a, b, p, 0.0) >= 0 && CCW_test(b, c, p, 0.0) >= 0 &&
+ CCW_test(c, a, p, 0.0) >= 0) {
#ifdef DEBUG_CDT
- if (dbglevel > 1) {
+ if (dbg_level > 1) {
fprintf(stderr, "p in current triangle\n");
}
#endif
@@ -832,28 +856,28 @@ static LocateResult locate_point(CDT_state *cdt, const double p[2])
b = next_se->next->vert->co;
c = next_se->next->next->vert->co;
#ifdef DEBUG_CDT
- if (dbglevel > 1) {
+ if (dbg_level > 1) {
dump_se(next_se, "search edge");
- fprintf(stderr, "tri centroid=(%.2f,%.2f)\n", F2(cur_tri->centroid));
+ fprintf(stderr, "tri centroid=(%.3f,%.3f)\n", F2(cur_tri->centroid));
validate_face_centroid(next_se);
}
#endif
next_se_sym = sym(next_se);
- if (CCW_test(a, b, p, epsilon) <= 0 && next_se->face != cdt->outer_face) {
+ if (CCW_test(a, b, p, 0.0) <= 0 && next_se->face != cdt->outer_face) {
#ifdef DEBUG_CDT
- if (dbglevel > 1) {
+ if (dbg_level > 1) {
fprintf(stderr, "CCW_test(a, b, p) <= 0\n");
}
#endif
#ifdef DEBUG_CDT
- if (dbglevel > 0) {
+ if (dbg_level > 0) {
dump_se(next_se_sym, "next_se_sym");
fprintf(stderr, "next_se_sym face visit=%d\n", next_se_sym->face->visit_index);
}
#endif
if (next_se_sym->face->visit_index != visit) {
#ifdef DEBUG_CDT
- if (dbglevel > 0) {
+ if (dbg_level > 0) {
fprintf(stderr, "found edge to cross\n");
}
#endif
@@ -878,32 +902,50 @@ static LocateResult locate_point(CDT_state *cdt, const double p[2])
return lr;
}
-/** return true if circumcircle(v1, v2, v3) does not contain p. */
+/** Return true if circumcircle(v1, v2, v3) does not contain p.
+ * To avoid possible infinite flip loops, we will say true even if p is inside the circle
+ * but less than epsilon from the boundary; or if v1, v2, v3, form a straight line.
+ */
static bool delaunay_check(CDTVert *v1, CDTVert *v2, CDTVert *v3, CDTVert *p, const double epsilon)
{
- double a, b, c, d, z1, z2, z3;
- const double *p1, *p2, *p3;
- double cen[2], r, len_pc;
- /* To do epislon test, need center and radius of circumcircle. */
- p1 = v1->co;
- p2 = v2->co;
- p3 = v3->co;
- z1 = dot_v2v2_db(p1, p1);
- z2 = dot_v2v2_db(p2, p2);
- z3 = dot_v2v2_db(p3, p3);
- a = p1[0] * (p2[1] - p3[1]) - p1[1] * (p2[0] - p3[0]) + p2[0] * p3[1] - p3[0] * p2[1];
- b = z1 * (p3[1] - p2[1]) + z2 * (p1[1] - p3[1]) + z3 * (p2[1] - p1[1]);
- c = z1 * (p2[0] - p3[0]) + z2 * (p3[0] - p1[0]) + z3 * (p1[0] - p2[0]);
- d = z1 * (p3[0] * p2[1] - p2[0] * p3[1]) + z2 * (p1[0] * p3[1] - p3[0] * p1[1]) +
- z3 * (p2[0] * p1[1] - p1[0] * p2[1]);
- if (a == 0.0) {
- return true; /* Not really, but this shouldn't happen. */
- }
- cen[0] = -b / (2 * a);
- cen[1] = -c / (2 * a);
- r = sqrt((b * b + c * c - 4 * a * d) / (4 * a * a));
- len_pc = len_v2v2_db(p->co, cen);
- return (len_pc >= (r - epsilon));
+ double x1, y1, x2, y2, den, cenx, ceny, rad, pc, a, b, w, z, q, s;
+
+ /* Find center and radius of circum-circle of v1,v2,v3.
+ * Transform coords so v3 is at origin to help reduce floating point error
+ * when coordinates are far from (0,0) but close together.
+ */
+ x1 = v1->co[0] - v3->co[0];
+ y1 = v1->co[1] - v3->co[1];
+ x2 = v2->co[0] - v3->co[0];
+ y2 = v2->co[1] - v3->co[1];
+ den = 2.0 * (x1 * y2 - x2 * y1);
+ if (UNLIKELY(den == 0.0)) {
+ /* v1, v2, v3 are in a line. */
+ return true;
+ }
+ /* cen[0] = det(x1**2 + y1**2, y1, x2**2 + y2**2, y2) / den
+ * cen[1] = det(x1, x1**2 + y1**2, x2, x2**2 + y2**2) / den
+ * den = 2 * det(x1, y1, x2, y2)
+ */
+ a = x1 * x1 + y1 * y1;
+ b = x2 * x2 + y2 * y2;
+ cenx = (a * y2 - b * y1) / den;
+ ceny = (x1 * b - x2 * a) / den;
+ w = x1 - cenx;
+ z = y1 - ceny;
+ rad = sqrt(w * w + z * z);
+ q = p->co[0] - v3->co[0] - cenx;
+ s = p->co[1] - v3->co[1] - ceny;
+ pc = sqrt(q * q + s * s);
+ return (pc >= rad - epsilon);
+}
+
+/* Return true if we can flip edge v1-v3 to edge v2-v4 inside quad v1v2v3v4 (in CCW order).
+ * We can do this if angles v4-v1-v2 and v2-v3-v4 are both CCW or straight.
+ */
+static inline bool can_flip(CDTVert *v1, CDTVert *v2, CDTVert *v3, CDTVert *v4)
+{
+ return CCW_test(v4->co, v1->co, v2->co, 0.0) >= 0 && CCW_test(v2->co, v3->co, v4->co, 0.0) >= 0;
}
/** Use LinkNode linked list as stack of SymEdges, allocating from cdt->listpool. */
@@ -943,12 +985,12 @@ static void flip(SymEdge *se, CDT_state *cdt)
CDTFace *t1, *t2;
CDTVert *v1, *v2;
#ifdef DEBUG_CDT
- const int dbglevel = 0;
+ const int dbg_level = 0;
#endif
sesym = sym(se);
#ifdef DEBUG_CDT
- if (dbglevel > 0) {
+ if (dbg_level > 0) {
fprintf(stderr, "flip\n");
dump_se(se, "se");
dump_se(sesym, "sesym");
@@ -963,7 +1005,7 @@ static void flip(SymEdge *se, CDT_state *cdt)
csym = sym(c);
dsym = sym(d);
#ifdef DEBUG_CDT
- if (dbglevel > 1) {
+ if (dbg_level > 1) {
dump_se(a, "a");
dump_se(b, "b");
dump_se(c, "c");
@@ -1008,7 +1050,7 @@ static void flip(SymEdge *se, CDT_state *cdt)
calc_face_centroid(sesym);
#ifdef DEBUG_CDT
- if (dbglevel > 0) {
+ if (dbg_level > 0) {
fprintf(stderr, "after flip\n");
dump_se_cycle(a, "a cycle", 5);
dump_se_cycle(sesym, "sesym cycle", 5);
@@ -1026,10 +1068,10 @@ static void flip_edges(CDTVert *v, Stack *stack, CDT_state *cdt)
SymEdge *tri_without_p;
bool is_delaunay;
const double epsilon = cdt->epsilon;
- int count = 0;
+ int count = 3;
#ifdef DEBUG_CDT
- const int dbglevel = 0;
- if (dbglevel > 0) {
+ const int dbg_level = 0;
+ if (dbg_level > 0) {
fprintf(stderr, "flip_edges, v=(%.2f,%.2f)\n", F2(v->co));
}
#endif
@@ -1040,17 +1082,17 @@ static void flip_edges(CDTVert *v, Stack *stack, CDT_state *cdt)
}
se = pop(stack, cdt);
#ifdef DEBUG_CDT
- if (dbglevel > 0) {
+ if (dbg_level > 0) {
dump_se(se, "flip_edges popped");
}
#endif
if (!is_constrained_edge(se->edge)) {
/* Edge is not constrained; is it Delaunay? */
#ifdef DEBUG_CDT
- if (dbglevel > 1) {
+ if (dbg_level > 1) {
dump_se_cycle(se, "unconstrained edge", 5);
}
- else if (dbglevel > 0) {
+ else if (dbg_level > 0) {
fprintf(stderr, "unconstrained edge\n");
}
#endif
@@ -1060,16 +1102,16 @@ static void flip_edges(CDTVert *v, Stack *stack, CDT_state *cdt)
sesym = sym(se);
d = sesym->next->next->vert;
#ifdef DEBUG_CDT
- if (dbglevel > 1) {
- fprintf(stderr, "a=(%.2f,%.2f) b=(%.2f,%.2f)\n", F2(a->co), F2(b->co));
- fprintf(stderr, "c=(%.2f,%.2f) d=(%.2f,%.2f)\n", F2(c->co), F2(d->co));
+ if (dbg_level > 1) {
+ fprintf(stderr, "a=(%.3f,%.3f) b=(%.3f,%.3f)\n", F2(a->co), F2(b->co));
+ fprintf(stderr, "c=(%.3f,%.3f) d=(%.3f,%.3f)\n", F2(c->co), F2(d->co));
}
#endif
if (v == c) {
tri_without_p = sesym;
is_delaunay = delaunay_check(a, b, c, d, epsilon);
#ifdef DEBUG_CDT
- if (dbglevel > 1) {
+ if (dbg_level > 1) {
fprintf(stderr, "v==c, delaunay(a,b,c,d)=%d\n", is_delaunay);
}
#endif
@@ -1079,21 +1121,21 @@ static void flip_edges(CDTVert *v, Stack *stack, CDT_state *cdt)
BLI_assert(d == v);
is_delaunay = delaunay_check(b, a, d, c, epsilon);
#ifdef DEBUG_CDT
- if (dbglevel > 1) {
+ if (dbg_level > 1) {
fprintf(stderr, "v!=c, delaunay(b,a,d,c)=%d\n", is_delaunay);
}
#endif
}
- if (!is_delaunay) {
+ if (!is_delaunay && can_flip(a, d, b, c)) {
/* Push two edges of tri without p that aren't se. */
#ifdef DEBUG_CDT
- if (dbglevel > 0) {
+ if (dbg_level > 0) {
fprintf(stderr, "maybe pushing more edges\n");
}
#endif
if (!is_border_edge(tri_without_p->next->edge, cdt)) {
#ifdef DEBUG_CDT
- if (dbglevel > 0) {
+ if (dbg_level > 0) {
dump_se(tri_without_p->next, "push1");
}
#endif
@@ -1101,13 +1143,20 @@ static void flip_edges(CDTVert *v, Stack *stack, CDT_state *cdt)
}
if (!is_border_edge(tri_without_p->next->next->edge, cdt)) {
#ifdef DEBUG_CDT
- if (dbglevel > 0) {
+ if (dbg_level > 0) {
dump_se(tri_without_p->next->next, "\npush2");
}
#endif
push(stack, tri_without_p->next->next, cdt);
}
flip(se, cdt);
+#ifdef DEBUG_CDT
+ if (dbg_level > 2) {
+ dump_cdt(cdt, "after flip");
+ cdt_draw(cdt, "afer flip");
+ validate_cdt(cdt, true);
+ }
+#endif
}
}
}
@@ -1193,6 +1242,14 @@ static CDTVert *insert_point_in_face(CDT_state *cdt, SymEdge *e, const double p[
CDTEdge *he, *ie, *je;
CDTFace *t1, *t2, *t3;
Stack stack;
+#ifdef DEBUG_CDT
+ int dbg_level = 0;
+
+ if (dbg_level > 0) {
+ fprintf(stderr, "insert point in face, p=(%.3f,%.3f)\n", F2(p));
+ dump_se_cycle(e, "insert face", 20);
+ }
+#endif
f = e->next;
g = f->next;
@@ -1245,6 +1302,20 @@ static CDTVert *insert_point_in_face(CDT_state *cdt, SymEdge *e, const double p[
calc_face_centroid(f);
calc_face_centroid(g);
+#ifdef DEBUG_CDT
+ if (dbg_level > 1) {
+ fprintf(stderr, "after initial insert:\n");
+ dump_se_cycle(e, "e", 20);
+ dump_se_cycle(f, "f", 20);
+ dump_se_cycle(g, "g", 20);
+ if (dbg_level > 2) {
+ dump_cdt(cdt, "after initial insert, before flip");
+ cdt_draw(cdt, "after initial insert, before flip");
+ validate_cdt(cdt, true);
+ }
+ }
+#endif
+
stack = NULL;
if (!is_border_edge(e->edge, cdt)) {
push(&stack, e, cdt);
@@ -1901,35 +1972,108 @@ static void dissolve_symedge(CDT_state *cdt, SymEdge *se)
delete_edge(cdt, se);
}
-static void remove_non_constraint_edges(CDT_state *cdt, const bool valid_bmesh)
+/* Remove all non-constraint edges. */
+static void remove_non_constraint_edges(CDT_state *cdt)
+{
+ LinkNode *ln;
+ CDTEdge *e;
+ SymEdge *se;
+
+ for (ln = cdt->edges; ln; ln = ln->next) {
+ e = (CDTEdge *)ln->link;
+ se = &e->symedges[0];
+ if (!is_deleted_edge(e) && !is_constrained_edge(e)) {
+ dissolve_symedge(cdt, se);
+ }
+ }
+}
+
+/*
+ * Remove the non-constraint edges, but leave enough of them so that all of the
+ * faces that would be bmesh faces (that is, the faces that have some input representative)
+ * are valid: they can't have holes, they can't have repeated vertices, and they can't have
+ * repeated edges.
+ *
+ * Not essential, but to make the result look more aesthetically nice,
+ * remove the edges in order of decreasing length, so that it is more likely that the
+ * final remaining support edges are short, and therefore likely to make a fairly
+ * direct path from an outer face to an inner hole face.
+ */
+
+/* For sorting edges by decreasing length (squared). */
+struct EdgeToSort {
+ double len_squared;
+ CDTEdge *e;
+};
+
+static int edge_to_sort_cmp(const void *a, const void *b)
+{
+ const struct EdgeToSort *e1 = a;
+ const struct EdgeToSort *e2 = b;
+
+ if (e1->len_squared > e2->len_squared) {
+ return -1;
+ }
+ else if (e1->len_squared < e2->len_squared) {
+ return 1;
+ }
+ return 0;
+}
+
+static void remove_non_constraint_edges_leave_valid_bmesh(CDT_state *cdt)
{
LinkNode *ln;
CDTEdge *e;
SymEdge *se, *se2;
CDTFace *fleft, *fright;
bool dissolve;
+ size_t nedges;
+ int i, ndissolvable;
+ const double *co1, *co2;
+ struct EdgeToSort *sorted_edges;
+ nedges = 0;
+ for (ln = cdt->edges; ln; ln = ln->next) {
+ nedges++;
+ }
+ if (nedges == 0) {
+ return;
+ }
+ sorted_edges = BLI_memarena_alloc(cdt->arena, nedges * sizeof(*sorted_edges));
+ i = 0;
for (ln = cdt->edges; ln; ln = ln->next) {
e = (CDTEdge *)ln->link;
- dissolve = !is_deleted_edge(e) && !is_constrained_edge(e);
- if (dissolve) {
- se = &e->symedges[0];
- if (valid_bmesh && !edge_touches_frame(e)) {
- fleft = se->face;
- fright = sym(se)->face;
- if (fleft != cdt->outer_face && fright != cdt->outer_face &&
- (fleft->input_ids != NULL || fright->input_ids != NULL)) {
- /* Is there another symedge with same left and right faces? */
- for (se2 = se->next; dissolve && se2 != se; se2 = se2->next) {
- if (sym(se2)->face == fright) {
- dissolve = false;
- }
+ if (!is_deleted_edge(e) && !is_constrained_edge(e)) {
+ sorted_edges[i].e = e;
+ co1 = e->symedges[0].vert->co;
+ co2 = e->symedges[1].vert->co;
+ sorted_edges[i].len_squared = len_squared_v2v2_db(co1, co2);
+ i++;
+ }
+ }
+ ndissolvable = i;
+ qsort(sorted_edges, ndissolvable, sizeof(*sorted_edges), edge_to_sort_cmp);
+ for (i = 0; i < ndissolvable; i++) {
+ e = sorted_edges[i].e;
+ se = &e->symedges[0];
+ dissolve = true;
+ if (!edge_touches_frame(e)) {
+ fleft = se->face;
+ fright = sym(se)->face;
+ if (fleft != cdt->outer_face && fright != cdt->outer_face &&
+ (fleft->input_ids != NULL || fright->input_ids != NULL)) {
+ /* Is there another symedge with same left and right faces?
+ * Or is there a vertex not part of e touching the same left and right faces? */
+ for (se2 = se->next; dissolve && se2 != se; se2 = se2->next) {
+ if (sym(se2)->face == fright ||
+ (se2->vert != se->next->vert && vert_touches_face(se2->vert, fright))) {
+ dissolve = false;
}
}
}
- if (dissolve) {
- dissolve_symedge(cdt, se);
- }
+ }
+ if (dissolve) {
+ dissolve_symedge(cdt, se);
}
}
}
@@ -2066,8 +2210,11 @@ static void prepare_cdt_for_output(CDT_state *cdt, const CDT_output_type output_
UNUSED_VARS(f);
#endif
- if (output_type == CDT_CONSTRAINTS || output_type == CDT_CONSTRAINTS_VALID_BMESH) {
- remove_non_constraint_edges(cdt, output_type == CDT_CONSTRAINTS_VALID_BMESH);
+ if (output_type == CDT_CONSTRAINTS) {
+ remove_non_constraint_edges(cdt);
+ }
+ else if (output_type == CDT_CONSTRAINTS_VALID_BMESH) {
+ remove_non_constraint_edges_leave_valid_bmesh(cdt);
}
else if (output_type == CDT_FULL || output_type == CDT_INSIDE) {
remove_outer_edges(cdt, output_type == CDT_INSIDE);
@@ -2230,7 +2377,7 @@ CDT_result *BLI_delaunay_2d_cdt_calc(const CDT_input *input, const CDT_output_ty
CDTEdge *face_edge;
SymEdge *face_symedge;
#ifdef DEBUG_CDT
- int dbg_level = 0;
+ int dbg_level = 1;
#endif
if ((nv > 0 && input->vert_coords == NULL) || (ne > 0 && input->edges == NULL) ||
@@ -2276,6 +2423,15 @@ CDT_result *BLI_delaunay_2d_cdt_calc(const CDT_input *input, const CDT_output_ty
vert_co[0] = (double)input->vert_coords[i][0];
vert_co[1] = (double)input->vert_coords[i][1];
verts[i] = add_point_constraint(cdt, vert_co, i);
+#ifdef DEBUG_CDT
+ if (dbg_level > 3) {
+ char namebuf[60];
+ sprintf(namebuf, "after point %d = (%f,%f)\n", i, vert_co[0], vert_co[1]);
+ cdt_draw(cdt, namebuf);
+ dump_cdt(cdt, namebuf);
+ validate_cdt(cdt, true);
+ }
+#endif
}
for (i = 0; i < ne; i++) {
v1 = input->edges[i][0];
@@ -2348,7 +2504,7 @@ CDT_result *BLI_delaunay_2d_cdt_calc(const CDT_input *input, const CDT_output_ty
add_face_ids(cdt, face_symedge, f, fedge_start, fedge_end);
}
#ifdef DEBUG_CDT
- if (dbg_level > 1) {
+ if (dbg_level > 0) {
validate_cdt(cdt, true);
}
if (dbg_level > 1) {
@@ -2424,16 +2580,16 @@ static void dump_se(const SymEdge *se, const char *lab)
{
if (se->next) {
fprintf(
- stderr, "%s((%.2f,%.2f)->(%.2f,%.2f))\n", lab, F2(se->vert->co), F2(se->next->vert->co));
+ stderr, "%s((%.3f,%.3f)->(%.3f,%.3f))\n", lab, F2(se->vert->co), F2(se->next->vert->co));
}
else {
- fprintf(stderr, "%s((%.2f,%.2f)->NULL)\n", lab, F2(se->vert->co));
+ fprintf(stderr, "%s((%.3f,%.3f)->NULL)\n", lab, F2(se->vert->co));
}
}
static void dump_v(const CDTVert *v, const char *lab)
{
- fprintf(stderr, "%s(%.2f,%.2f)\n", lab, F2(v->co));
+ fprintf(stderr, "%s(%.3f,%.3f)\n", lab, F2(v->co));
}
static void dump_se_cycle(const SymEdge *se, const char *lab, const int limit)
@@ -2463,22 +2619,47 @@ static void dump_id_list(const LinkNode *id_list, const char *lab)
}
}
+static const char *vertname(CDTVert *v)
+{
+ static char vertnamebuf[20];
+
+ if (v->index < 4) {
+ sprintf(vertnamebuf, "[%c]", "ABCD"[v->index]);
+ }
+ else {
+ sprintf(vertnamebuf, "[%d]", v->index - 4);
+ }
+ return vertnamebuf;
+}
+
# define PL(p) (POINTER_AS_UINT(p) & 0xFFFF)
static void dump_cdt(const CDT_state *cdt, const char *lab)
{
LinkNode *ln;
- CDTVert *v;
+ CDTVert *v, *vother;
CDTEdge *e;
CDTFace *f;
SymEdge *se;
- int i;
+ int i, cnt;
fprintf(stderr, "\nCDT %s\n", lab);
fprintf(stderr, "\nVERTS\n");
for (i = 0; i < cdt->vert_array_len; i++) {
v = cdt->vert_array[i];
- fprintf(stderr, "%x: (%f,%f) symedge=%x\n", PL(v), F2(v->co), PL(v->symedge));
+ fprintf(stderr, "%s %x: (%f,%f) symedge=%x\n", vertname(v), PL(v), F2(v->co), PL(v->symedge));
dump_id_list(v->input_ids, " ");
+ se = v->symedge;
+ cnt = 0;
+ if (se) {
+ fprintf(stderr, " edges out:\n");
+ do {
+ vother = sym(se)->vert;
+ fprintf(stderr, " %s (e=%x, se=%x)\n", vertname(vother), PL(se->edge), PL(se));
+ se = se->rot;
+ cnt++;
+ } while (se != v->symedge && cnt < 25);
+ fprintf(stderr, "\n");
+ }
}
fprintf(stderr, "\nEDGES\n");
for (ln = cdt->edges; ln; ln = ln->next) {
@@ -2490,12 +2671,13 @@ static void dump_cdt(const CDT_state *cdt, const char *lab)
for (i = 0; i < 2; i++) {
se = &e->symedges[i];
fprintf(stderr,
- " se[%d] @%x: next=%x, rot=%x, vert=%x (%.2f,%.2f), edge=%x, face=%x\n",
+ " se[%d] @%x: next=%x, rot=%x, vert=%x [%s] (%.2f,%.2f), edge=%x, face=%x\n",
i,
PL(se),
PL(se->next),
PL(se->rot),
PL(se->vert),
+ vertname(se->vert),
F2(se->vert->co),
PL(se->edge),
PL(se->face));
@@ -2585,7 +2767,7 @@ static void cdt_draw(CDT_state *cdt, const char *lab)
strokew = is_constrained_edge(e) ? 5 : 2;
fprintf(f,
"<line fill=\"none\" stroke=\"black\" stroke-width=\"%d\" "
- "x1=\"%.1f\" y1=\"%.1f\" x2=\"%.1f\" y2=\"%.1f\">\n",
+ "x1=\"%.3f\" y1=\"%.3f\" x2=\"%.3f\" y2=\"%.3f\">\n",
strokew,
SX(u->co[0]),
SY(u->co[1]),
@@ -2599,7 +2781,7 @@ static void cdt_draw(CDT_state *cdt, const char *lab)
for (; i < cdt->vert_array_len; i++) {
v = cdt->vert_array[i];
fprintf(f,
- "<circle fill=\"black\" cx=\"%.1f\" cy=\"%.1f\" r=\"5\">\n",
+ "<circle fill=\"black\" cx=\"%.3f\" cy=\"%.3f\" r=\"5\">\n",
SX(v->co[0]),
SY(v->co[1]));
fprintf(f, " <title>(%.3f,%.3f)</title>\n", v->co[0], v->co[1]);
@@ -2724,7 +2906,7 @@ static void validate_cdt(CDT_state *cdt, bool check_all_tris)
int totedges, totfaces, totverts, totborderedges;
CDTEdge *e;
SymEdge *se, *sesym, *s;
- CDTVert *v;
+ CDTVert *v, *v1, *v2, *v3;
CDTFace *f;
double *p;
double margin;
@@ -2779,6 +2961,14 @@ static void validate_cdt(CDT_state *cdt, bool check_all_tris)
limit = 10000;
}
BLI_assert(reachable(se->next, se, limit));
+ if (limit == 3) {
+ v1 = se->vert;
+ v2 = se->next->vert;
+ v3 = se->next->next->vert;
+ BLI_assert(CCW_test(v1->co, v2->co, v3->co, 0.0));
+ BLI_assert(CCW_test(v2->co, v3->co, v1->co, 0.0));
+ BLI_assert(CCW_test(v3->co, v1->co, v2->co, 0.0));
+ }
UNUSED_VARS_NDEBUG(limit);
BLI_assert(se->next->next != se);
s = se;
diff --git a/source/blender/blenlib/intern/expr_pylike_eval.c b/source/blender/blenlib/intern/expr_pylike_eval.c
index 14fc4c5bf26..c7631f8991e 100644
--- a/source/blender/blenlib/intern/expr_pylike_eval.c
+++ b/source/blender/blenlib/intern/expr_pylike_eval.c
@@ -504,7 +504,9 @@ static bool parse_add_func(ExprParseState *state, eOpCode code, int args, void *
if (jmp_gap >= 1 && prev_ops[-1].opcode == OPCODE_CONST) {
UnaryOpFunc func = funcptr;
- double result = func(prev_ops[-1].arg.dval);
+ /* volatile because some compilers overly aggressive optimize this call out.
+ * see D6012 for details. */
+ volatile double result = func(prev_ops[-1].arg.dval);
if (fetestexcept(FE_DIVBYZERO | FE_INVALID) == 0) {
prev_ops[-1].arg.dval = result;
@@ -520,7 +522,9 @@ static bool parse_add_func(ExprParseState *state, eOpCode code, int args, void *
prev_ops[-1].opcode == OPCODE_CONST) {
BinaryOpFunc func = funcptr;
- double result = func(prev_ops[-2].arg.dval, prev_ops[-1].arg.dval);
+ /* volatile because some compilers overly aggressive optimize this call out.
+ * see D6012 for details. */
+ volatile double result = func(prev_ops[-2].arg.dval, prev_ops[-1].arg.dval);
if (fetestexcept(FE_DIVBYZERO | FE_INVALID) == 0) {
prev_ops[-2].arg.dval = result;
diff --git a/source/blender/blenlib/intern/fileops.c b/source/blender/blenlib/intern/fileops.c
index 99149f5ea42..3a45989fb63 100644
--- a/source/blender/blenlib/intern/fileops.c
+++ b/source/blender/blenlib/intern/fileops.c
@@ -33,16 +33,24 @@
#include "zlib.h"
#ifdef WIN32
+# include <windows.h>
+# include <shellapi.h>
+# include <shobjidl.h>
# include <io.h>
# include "BLI_winstuff.h"
# include "BLI_fileops_types.h"
# include "utf_winfunc.h"
# include "utfconv.h"
#else
+# if defined(__APPLE__)
+# include <CoreFoundation/CoreFoundation.h>
+# include <objc/runtime.h>
+# include <objc/message.h>
+# endif
# include <sys/param.h>
# include <dirent.h>
# include <unistd.h>
-# include <sys/stat.h>
+# include <sys/wait.h>
#endif
#include "MEM_guardedalloc.h"
@@ -288,6 +296,64 @@ int BLI_access(const char *filename, int mode)
return uaccess(filename, mode);
}
+static bool delete_soft(const wchar_t *path_16, const char **error_message)
+{
+ /* Deletes file or directory to recycling bin. The latter moves all contained files and
+ * directories recursively to the recycling bin as well. */
+ IFileOperation *pfo;
+ IShellItem *pSI;
+
+ HRESULT hr = CoInitializeEx(NULL, COINIT_APARTMENTTHREADED | COINIT_DISABLE_OLE1DDE);
+
+ if (FAILED(hr)) {
+ *error_message = "Failed to initialize COM";
+ goto error_1;
+ }
+
+ hr = CoCreateInstance(
+ &CLSID_FileOperation, NULL, CLSCTX_ALL, &IID_IFileOperation, (void **)&pfo);
+ if (FAILED(hr)) {
+ *error_message = "Failed to create FileOperation instance";
+ goto error_2;
+ }
+
+ /* Flags for deletion:
+ * FOF_ALLOWUNDO: Enables moving file to recycling bin.
+ * FOF_SILENT: Don't show progress dialog box.
+ * FOF_WANTNUKEWARNING: Show dialog box if file can't be moved to recycling bin. */
+ hr = pfo->lpVtbl->SetOperationFlags(pfo, FOF_ALLOWUNDO | FOF_SILENT | FOF_WANTNUKEWARNING);
+
+ if (FAILED(hr)) {
+ *error_message = "Failed to set operation flags";
+ goto error_2;
+ }
+
+ hr = SHCreateItemFromParsingName(path_16, NULL, &IID_IShellItem, (void **)&pSI);
+ if (FAILED(hr)) {
+ *error_message = "Failed to parse path";
+ goto error_2;
+ }
+
+ hr = pfo->lpVtbl->DeleteItem(pfo, pSI, NULL);
+ if (FAILED(hr)) {
+ *error_message = "Failed to prepare delete operation";
+ goto error_2;
+ }
+
+ hr = pfo->lpVtbl->PerformOperations(pfo);
+
+ if (FAILED(hr)) {
+ *error_message = "Failed to delete file or directory";
+ }
+
+error_2:
+ pfo->lpVtbl->Release(pfo);
+ CoUninitialize(); /* Has to be uninitialized when CoInitializeEx returns either S_OK or S_FALSE
+ */
+error_1:
+ return FAILED(hr);
+}
+
static bool delete_unique(const char *path, const bool dir)
{
bool err;
@@ -370,6 +436,24 @@ int BLI_delete(const char *file, bool dir, bool recursive)
return err;
}
+/**
+ * Moves the files or directories to the recycling bin.
+ */
+int BLI_delete_soft(const char *file, const char **error_message)
+{
+ int err;
+
+ BLI_assert(!BLI_path_is_rel(file));
+
+ UTF16_ENCODE(file);
+
+ err = delete_soft(file_16, error_message);
+
+ UTF16_UN_ENCODE(file);
+
+ return err;
+}
+
/* Not used anywhere! */
# if 0
int BLI_move(const char *file, const char *to)
@@ -720,6 +804,100 @@ static int delete_single_file(const char *from, const char *UNUSED(to))
return RecursiveOp_Callback_OK;
}
+# ifdef __APPLE__
+static int delete_soft(const char *file, const char **error_message)
+{
+ int ret = -1;
+
+ Class NSAutoreleasePoolClass = objc_getClass("NSAutoreleasePool");
+ SEL allocSel = sel_registerName("alloc");
+ SEL initSel = sel_registerName("init");
+ id poolAlloc = ((id(*)(Class, SEL))objc_msgSend)(NSAutoreleasePoolClass, allocSel);
+ id pool = ((id(*)(id, SEL))objc_msgSend)(poolAlloc, initSel);
+
+ Class NSStringClass = objc_getClass("NSString");
+ SEL stringWithUTF8StringSel = sel_registerName("stringWithUTF8String:");
+ id pathString = ((id(*)(Class, SEL, const char *))objc_msgSend)(
+ NSStringClass, stringWithUTF8StringSel, file);
+
+ Class NSFileManagerClass = objc_getClass("NSFileManager");
+ SEL defaultManagerSel = sel_registerName("defaultManager");
+ id fileManager = ((id(*)(Class, SEL))objc_msgSend)(NSFileManagerClass, defaultManagerSel);
+
+ Class NSURLClass = objc_getClass("NSURL");
+ SEL fileURLWithPathSel = sel_registerName("fileURLWithPath:");
+ id nsurl = ((id(*)(Class, SEL, id))objc_msgSend)(NSURLClass, fileURLWithPathSel, pathString);
+
+ SEL trashItemAtURLSel = sel_registerName("trashItemAtURL:resultingItemURL:error:");
+ BOOL deleteSuccessful = ((BOOL(*)(id, SEL, id, id, id))objc_msgSend)(
+ fileManager, trashItemAtURLSel, nsurl, nil, nil);
+
+ if (deleteSuccessful) {
+ ret = 0;
+ }
+ else {
+ *error_message = "The Cocoa API call to delete file or directory failed";
+ }
+
+ SEL drainSel = sel_registerName("drain");
+ ((void (*)(id, SEL))objc_msgSend)(pool, drainSel);
+
+ return ret;
+}
+# else
+static int delete_soft(const char *file, const char **error_message)
+{
+ const char *args[5];
+ const char *process_failed;
+
+ char *xdg_current_desktop = getenv("XDG_CURRENT_DESKTOP");
+ char *xdg_session_desktop = getenv("XDG_SESSION_DESKTOP");
+
+ if ((xdg_current_desktop != NULL && strcmp(xdg_current_desktop, "KDE") == 0) ||
+ (xdg_session_desktop != NULL && strcmp(xdg_session_desktop, "KDE") == 0)) {
+ args[0] = "kioclient5";
+ args[1] = "move";
+ args[2] = file;
+ args[3] = "trash:/";
+ args[4] = NULL;
+ process_failed = "kioclient5 reported failure";
+ }
+ else {
+ args[0] = "gio";
+ args[1] = "trash";
+ args[2] = file;
+ args[3] = NULL;
+ process_failed = "gio reported failure";
+ }
+
+ int pid = fork();
+
+ if (pid != 0) {
+ /* Parent process */
+ int wstatus = 0;
+
+ waitpid(pid, &wstatus, 0);
+
+ if (!WIFEXITED(wstatus)) {
+ *error_message =
+ "Blender may not support moving files or directories to trash on your system.";
+ return -1;
+ }
+ else if (WIFEXITED(wstatus) && WEXITSTATUS(wstatus)) {
+ *error_message = process_failed;
+ return -1;
+ }
+
+ return 0;
+ }
+
+ execvp(args[0], (char **)args);
+
+ *error_message = "Forking process failed.";
+ return -1; /* This should only be reached if execvp fails and stack isn't replaced. */
+}
+# endif
+
FILE *BLI_fopen(const char *filename, const char *mode)
{
BLI_assert(!BLI_path_is_rel(filename));
@@ -770,6 +948,19 @@ int BLI_delete(const char *file, bool dir, bool recursive)
}
/**
+ * Soft deletes the specified file or directory (depending on dir) by moving the files to the
+ * recycling bin, optionally doing recursive delete of directory contents.
+ *
+ * \return zero on success (matching 'remove' behavior).
+ */
+int BLI_delete_soft(const char *file, const char **error_message)
+{
+ BLI_assert(!BLI_path_is_rel(file));
+
+ return delete_soft(file, error_message);
+}
+
+/**
* Do the two paths denote the same file-system object?
*/
static bool check_the_same(const char *path_a, const char *path_b)
diff --git a/source/blender/blenlib/intern/gsqueue.c b/source/blender/blenlib/intern/gsqueue.c
index 6d0fdfacb10..5e1fbf6eade 100644
--- a/source/blender/blenlib/intern/gsqueue.c
+++ b/source/blender/blenlib/intern/gsqueue.c
@@ -12,9 +12,6 @@
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software Foundation,
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- *
- * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
- * All rights reserved.
*/
/** \file
@@ -22,9 +19,6 @@
*
* \brief A generic structure queue
* (a queue for fixed length generally small) structures.
- *
- * \note Only use this if you need (first-in-first-out),
- * otherwise #BLI_Stack is more efficient (first-in-last-out).
*/
#include <string.h>
@@ -35,148 +29,168 @@
#include "BLI_gsqueue.h"
#include "BLI_strict_flags.h"
-typedef struct _GSQueueElem GSQueueElem;
-struct _GSQueueElem {
- GSQueueElem *next;
+/* target chunk size: 64kb */
+#define CHUNK_SIZE_DEFAULT (1 << 16)
+/* ensure we get at least this many elems per chunk */
+#define CHUNK_ELEM_MIN 32
+
+struct QueueChunk {
+ struct QueueChunk *next;
char data[0];
};
struct _GSQueue {
- GSQueueElem *head;
- GSQueueElem *tail;
- size_t elem_size;
+ struct QueueChunk *chunk_first; /* first active chunk to pop from */
+ struct QueueChunk *chunk_last; /* flast active chunk to push onto */
+ struct QueueChunk *chunk_free; /* free chunks to reuse */
+ size_t chunk_first_index; /* index into 'chunk_first' */
+ size_t chunk_last_index; /* index into 'chunk_last' */
+ size_t chunk_elem_max; /* number of elements per chunk */
+ size_t elem_size; /* memory size of elements */
+ size_t totelem; /* total number of elements */
};
-/**
- * Create a new GSQueue.
- *
- * \param elem_size: The size of the structures in the queue.
- * \retval The new queue
- */
-GSQueue *BLI_gsqueue_new(size_t elem_size)
+static void *queue_get_first_elem(GSQueue *queue)
{
- GSQueue *gq = MEM_mallocN(sizeof(*gq), "gqueue_new");
- gq->head = gq->tail = NULL;
- gq->elem_size = elem_size;
-
- return gq;
+ return ((char *)(queue)->chunk_first->data) + ((queue)->elem_size * (queue)->chunk_first_index);
}
-/**
- * Query if the queue is empty
- */
-bool BLI_gsqueue_is_empty(GSQueue *gq)
+static void *queue_get_last_elem(GSQueue *queue)
{
- return (gq->head == NULL);
+ return ((char *)(queue)->chunk_last->data) + ((queue)->elem_size * (queue)->chunk_last_index);
}
/**
- * Query number elements in the queue
+ * \return number of elements per chunk, optimized for slop-space.
*/
-int BLI_gsqueue_len(GSQueue *gq)
+static size_t queue_chunk_elem_max_calc(const size_t elem_size, size_t chunk_size)
{
- GSQueueElem *elem;
- int size = 0;
+ /* get at least this number of elems per chunk */
+ const size_t elem_size_min = elem_size * CHUNK_ELEM_MIN;
- for (elem = gq->head; elem; elem = elem->next) {
- size++;
+ BLI_assert((elem_size != 0) && (chunk_size != 0));
+
+ while (UNLIKELY(chunk_size <= elem_size_min)) {
+ chunk_size <<= 1;
}
- return size;
+ /* account for slop-space */
+ chunk_size -= (sizeof(struct QueueChunk) + MEM_SIZE_OVERHEAD);
+
+ return chunk_size / elem_size;
}
-/**
- * Access the item at the head of the queue
- * without removing it.
- *
- * \param r_item: A pointer to an appropriately
- * sized structure (the size passed to #BLI_gsqueue_new)
- */
-void BLI_gsqueue_peek(GSQueue *gq, void *r_item)
+GSQueue *BLI_gsqueue_new(const size_t elem_size)
{
- memcpy(r_item, &gq->head->data, gq->elem_size);
+ GSQueue *queue = MEM_callocN(sizeof(*queue), "BLI_gsqueue_new");
+
+ queue->chunk_elem_max = queue_chunk_elem_max_calc(elem_size, CHUNK_SIZE_DEFAULT);
+ queue->elem_size = elem_size;
+ /* force init */
+ queue->chunk_last_index = queue->chunk_elem_max - 1;
+
+ return queue;
}
-/**
- * Access the item at the head of the queue
- * and remove it.
- *
- * \param r_item: A pointer to an appropriately
- * sized structure (the size passed to #BLI_gsqueue_new).
- * Can be NULL if desired.
- */
-void BLI_gsqueue_pop(GSQueue *gq, void *r_item)
+static void queue_free_chunk(struct QueueChunk *data)
{
- GSQueueElem *elem = gq->head;
- if (elem == gq->tail) {
- gq->head = gq->tail = NULL;
- }
- else {
- gq->head = gq->head->next;
+ while (data) {
+ struct QueueChunk *data_next = data->next;
+ MEM_freeN(data);
+ data = data_next;
}
+}
- if (r_item) {
- memcpy(r_item, elem->data, gq->elem_size);
- }
- MEM_freeN(elem);
+/**
+ * Free the queue's data and the queue itself
+ */
+void BLI_gsqueue_free(GSQueue *queue)
+{
+ queue_free_chunk(queue->chunk_first);
+ queue_free_chunk(queue->chunk_free);
+ MEM_freeN(queue);
}
/**
- * Push an element onto the tail of the queue.
+ * Copies the source value onto the end of the queue
*
- * \param item: A pointer to an appropriately
- * sized structure (the size passed to BLI_gsqueue_new).
+ * \note This copies #GSQueue.elem_size bytes from \a src,
+ * (the pointer itself is not stored).
+ *
+ * \param src: source data to be copied to the queue.
*/
-void BLI_gsqueue_push(GSQueue *gq, const void *item)
+void BLI_gsqueue_push(GSQueue *queue, const void *src)
{
- GSQueueElem *elem;
+ queue->chunk_last_index++;
+ queue->totelem++;
+
+ if (UNLIKELY(queue->chunk_last_index == queue->chunk_elem_max)) {
+ struct QueueChunk *chunk;
+ if (queue->chunk_free) {
+ chunk = queue->chunk_free;
+ queue->chunk_free = chunk->next;
+ }
+ else {
+ chunk = MEM_mallocN(sizeof(*chunk) + (queue->elem_size * queue->chunk_elem_max), __func__);
+ }
- /* compare: prevent events added double in row */
- if (!BLI_gsqueue_is_empty(gq)) {
- if (0 == memcmp(item, gq->head->data, gq->elem_size)) {
- return;
+ chunk->next = NULL;
+
+ if (queue->chunk_last == NULL) {
+ queue->chunk_first = chunk;
+ }
+ else {
+ queue->chunk_last->next = chunk;
}
- }
- elem = MEM_mallocN(sizeof(*elem) + gq->elem_size, "gqueue_push");
- memcpy(elem->data, item, gq->elem_size);
- elem->next = NULL;
- if (BLI_gsqueue_is_empty(gq)) {
- gq->tail = gq->head = elem;
- }
- else {
- gq->tail = gq->tail->next = elem;
+ queue->chunk_last = chunk;
+ queue->chunk_last_index = 0;
}
+
+ BLI_assert(queue->chunk_last_index < queue->chunk_elem_max);
+
+ /* Return last of queue */
+ memcpy(queue_get_last_elem(queue), src, queue->elem_size);
}
/**
- * Push an element back onto the head of the queue (so
- * it would be returned from the next call to BLI_gsqueue_pop).
+ * Retrieves and removes the first element from the queue.
+ * The value is copies to \a dst, which must be at least \a elem_size bytes.
*
- * \param item: A pointer to an appropriately
- * sized structure (the size passed to BLI_gsqueue_new).
+ * Does not reduce amount of allocated memory.
*/
-void BLI_gsqueue_push_back(GSQueue *gq, const void *item)
+void BLI_gsqueue_pop(GSQueue *queue, void *dst)
{
- GSQueueElem *elem = MEM_mallocN(sizeof(*elem) + gq->elem_size, "gqueue_push");
- memcpy(elem->data, item, gq->elem_size);
- elem->next = gq->head;
+ BLI_assert(BLI_gsqueue_is_empty(queue) == false);
- if (BLI_gsqueue_is_empty(gq)) {
- gq->head = gq->tail = elem;
- }
- else {
- gq->head = elem;
+ memcpy(dst, queue_get_first_elem(queue), queue->elem_size);
+ queue->chunk_first_index++;
+ queue->totelem--;
+
+ if (UNLIKELY(queue->chunk_first_index == queue->chunk_elem_max || queue->totelem == 0)) {
+ struct QueueChunk *chunk_free = queue->chunk_first;
+
+ queue->chunk_first = queue->chunk_first->next;
+ queue->chunk_first_index = 0;
+ if (queue->chunk_first == NULL) {
+ queue->chunk_last = NULL;
+ queue->chunk_last_index = queue->chunk_elem_max - 1;
+ }
+
+ chunk_free->next = queue->chunk_free;
+ queue->chunk_free = chunk_free;
}
}
+size_t BLI_gsqueue_len(const GSQueue *queue)
+{
+ return queue->totelem;
+}
+
/**
- * Free the queue
+ * Returns true if the queue is empty, false otherwise
*/
-void BLI_gsqueue_free(GSQueue *gq)
+bool BLI_gsqueue_is_empty(const GSQueue *queue)
{
- while (gq->head) {
- BLI_gsqueue_pop(gq, NULL);
- }
- MEM_freeN(gq);
+ return (queue->chunk_first == NULL);
}
diff --git a/source/blender/blenlib/intern/listbase.c b/source/blender/blenlib/intern/listbase.c
index 232dc245152..fe5f9f7673f 100644
--- a/source/blender/blenlib/intern/listbase.c
+++ b/source/blender/blenlib/intern/listbase.c
@@ -312,7 +312,7 @@ static void listbase_double_from_single(Link *iter, ListBase *listbase)
#include "list_sort_impl.h"
#undef SORT_IMPL_FUNC
-/* reentrant call */
+/* re-entrant call */
#define SORT_IMPL_USE_THUNK
#define SORT_IMPL_FUNC listbase_sort_fn_r
#include "list_sort_impl.h"
diff --git a/source/blender/blenlib/intern/math_matrix.c b/source/blender/blenlib/intern/math_matrix.c
index e9d196ccdbb..48884082dd8 100644
--- a/source/blender/blenlib/intern/math_matrix.c
+++ b/source/blender/blenlib/intern/math_matrix.c
@@ -28,7 +28,9 @@
#include "BLI_strict_flags.h"
-#include "eigen_capi.h"
+#ifndef MATH_STANDALONE
+# include "eigen_capi.h"
+#endif
/********************************* Init **************************************/
@@ -1146,15 +1148,17 @@ bool invert_m4(float m[4][4])
* \return true on success (i.e. can always find a pivot) and false on failure.
* Mark Segal - 1992.
*
- * \note this is less performant than #EIG_invert_m4_m4 (Eigen), but e.g.
- * for non-invertible scale matrices, findinging a partial solution can
+ * \note this has worse performance than #EIG_invert_m4_m4 (Eigen), but e.g.
+ * for non-invertible scale matrices, finding a partial solution can
* be useful to have a valid local transform center, see T57767.
*/
bool invert_m4_m4_fallback(float inverse[4][4], const float mat[4][4])
{
+#ifndef MATH_STANDALONE
if (EIG_invert_m4_m4(inverse, mat)) {
return true;
}
+#endif
int i, j, k;
double temp;
@@ -1222,9 +1226,13 @@ bool invert_m4_m4_fallback(float inverse[4][4], const float mat[4][4])
bool invert_m4_m4(float inverse[4][4], const float mat[4][4])
{
+#ifndef MATH_STANDALONE
/* Use optimized matrix inverse from Eigen, since performance
* impact of this function is significant in complex rigs. */
return EIG_invert_m4_m4(inverse, mat);
+#else
+ return invert_m4_m4_fallback(inverse, mat);
+#endif
}
/****************************** Linear Algebra *******************************/
diff --git a/source/blender/blenlib/intern/math_solvers.c b/source/blender/blenlib/intern/math_solvers.c
index a1c3d16a404..235589abdab 100644
--- a/source/blender/blenlib/intern/math_solvers.c
+++ b/source/blender/blenlib/intern/math_solvers.c
@@ -215,10 +215,10 @@ bool BLI_newton3d_solve(Newton3D_DeltaFunc func_delta,
fdeltav = len_squared_v3(fdelta);
if (trace) {
- printf("START (%g, %g, %g) %g\n", x[0], x[1], x[2], fdeltav);
+ printf("START (%g, %g, %g) %g %g\n", x[0], x[1], x[2], fdeltav, epsilon);
}
- for (int i = 0; i < max_iterations && fdeltav > epsilon; i++) {
+ for (int i = 0; i == 0 || (i < max_iterations && fdeltav > epsilon); i++) {
/* Newton's method step. */
func_jacobian(userdata, x, jacobian);
@@ -248,7 +248,7 @@ bool BLI_newton3d_solve(Newton3D_DeltaFunc func_delta,
}
/* Line search correction. */
- while (next_fdeltav > fdeltav) {
+ while (next_fdeltav > fdeltav && next_fdeltav > epsilon) {
float g0 = sqrtf(fdeltav), g1 = sqrtf(next_fdeltav);
float g01 = -g0 / len_v3(step);
float det = 2.0f * (g1 - g0 - g01);
diff --git a/source/blender/blenlib/intern/scanfill.c b/source/blender/blenlib/intern/scanfill.c
index 08c3653153e..c9b0eb3ed5e 100644
--- a/source/blender/blenlib/intern/scanfill.c
+++ b/source/blender/blenlib/intern/scanfill.c
@@ -907,7 +907,7 @@ unsigned int BLI_scanfill_calc_ex(ScanFillContext *sf_ctx, const int flag, const
return 0;
}
- axis_dominant_v3_to_m3(mat_2d, n);
+ axis_dominant_v3_to_m3_negate(mat_2d, n);
}
/* STEP 1: COUNT POLYS */
diff --git a/source/blender/blenlib/intern/sort.c b/source/blender/blenlib/intern/sort.c
index 225015db00d..4ae87fff535 100644
--- a/source/blender/blenlib/intern/sort.c
+++ b/source/blender/blenlib/intern/sort.c
@@ -90,7 +90,7 @@ BLI_INLINE char *med3(char *a, char *b, char *c, BLI_sort_cmp_t cmp, void *thunk
}
/**
- * Quick sort reentrant.
+ * Quick sort re-entrant.
*/
void BLI_qsort_r(void *a, size_t n, size_t es, BLI_sort_cmp_t cmp, void *thunk)
{
diff --git a/source/blender/blenlib/intern/stack.c b/source/blender/blenlib/intern/stack.c
index 76aef3761ae..301675c026e 100644
--- a/source/blender/blenlib/intern/stack.c
+++ b/source/blender/blenlib/intern/stack.c
@@ -36,10 +36,6 @@
/* ensure we get at least this many elems per chunk */
#define CHUNK_ELEM_MIN 32
-/* Gets the last element in the stack */
-#define CHUNK_LAST_ELEM(_stack) \
- ((void)0, (((char *)(_stack)->chunk_curr->data) + ((_stack)->elem_size * (_stack)->chunk_index)))
-
struct StackChunk {
struct StackChunk *next;
char data[0];
@@ -56,6 +52,11 @@ struct BLI_Stack {
#endif
};
+static void *stack_get_last_elem(BLI_Stack *stack)
+{
+ return ((char *)(stack)->chunk_curr->data) + ((stack)->elem_size * (stack)->chunk_index);
+}
+
/**
* \return number of elements per chunk, optimized for slop-space.
*/
@@ -148,7 +149,7 @@ void *BLI_stack_push_r(BLI_Stack *stack)
#endif
/* Return end of stack */
- return CHUNK_LAST_ELEM(stack);
+ return stack_get_last_elem(stack);
}
/**
@@ -175,7 +176,7 @@ void BLI_stack_pop(BLI_Stack *stack, void *dst)
{
BLI_assert(BLI_stack_is_empty(stack) == false);
- memcpy(dst, CHUNK_LAST_ELEM(stack), stack->elem_size);
+ memcpy(dst, stack_get_last_elem(stack), stack->elem_size);
BLI_stack_discard(stack);
}
@@ -220,7 +221,7 @@ void *BLI_stack_peek(BLI_Stack *stack)
{
BLI_assert(BLI_stack_is_empty(stack) == false);
- return CHUNK_LAST_ELEM(stack);
+ return stack_get_last_elem(stack);
}
/**
diff --git a/source/blender/blenlib/intern/storage.c b/source/blender/blenlib/intern/storage.c
index 8d921b062dc..7c481868d64 100644
--- a/source/blender/blenlib/intern/storage.c
+++ b/source/blender/blenlib/intern/storage.c
@@ -180,8 +180,8 @@ double BLI_dir_free_space(const char *dir)
*/
size_t BLI_file_descriptor_size(int file)
{
- struct stat st;
- if ((file < 0) || (fstat(file, &st) == -1)) {
+ BLI_stat_t st;
+ if ((file < 0) || (BLI_fstat(file, &st) == -1)) {
return -1;
}
return st.st_size;
@@ -209,7 +209,6 @@ int BLI_exists(const char *name)
BLI_stat_t st;
wchar_t *tmp_16 = alloc_utf16_from_8(name, 1);
int len, res;
- unsigned int old_error_mode;
len = wcslen(tmp_16);
/* in Windows #stat doesn't recognize dir ending on a slash
@@ -230,14 +229,8 @@ int BLI_exists(const char *name)
tmp_16[3] = L'\0';
}
- /* change error mode so user does not get a "no disk in drive" popup
- * when looking for a file on an empty CD/DVD drive */
- old_error_mode = SetErrorMode(SEM_FAILCRITICALERRORS | SEM_NOOPENFILEERRORBOX);
-
res = BLI_wstat(tmp_16, &st);
- SetErrorMode(old_error_mode);
-
free(tmp_16);
if (res == -1) {
return (0);
@@ -253,6 +246,15 @@ int BLI_exists(const char *name)
}
#ifdef WIN32
+int BLI_fstat(int fd, BLI_stat_t *buffer)
+{
+# if defined(_MSC_VER)
+ return _fstat64(fd, buffer);
+# else
+ return _fstat(fd, buffer);
+# endif
+}
+
int BLI_stat(const char *path, BLI_stat_t *buffer)
{
int r;
@@ -273,6 +275,11 @@ int BLI_wstat(const wchar_t *path, BLI_stat_t *buffer)
# endif
}
#else
+int BLI_fstat(int fd, struct stat *buffer)
+{
+ return fstat(fd, buffer);
+}
+
int BLI_stat(const char *path, struct stat *buffer)
{
return stat(path, buffer);
@@ -305,8 +312,8 @@ static void *file_read_data_as_mem_impl(FILE *fp,
size_t pad_bytes,
size_t *r_size)
{
- struct stat st;
- if (fstat(fileno(fp), &st) == -1) {
+ BLI_stat_t st;
+ if (BLI_fstat(fileno(fp), &st) == -1) {
return NULL;
}
if (S_ISDIR(st.st_mode)) {
diff --git a/source/blender/blenlib/intern/task.c b/source/blender/blenlib/intern/task.c
index 6cdaec97d9a..bb69dc6452f 100644
--- a/source/blender/blenlib/intern/task.c
+++ b/source/blender/blenlib/intern/task.c
@@ -149,7 +149,7 @@ typedef struct TaskThreadLocalStorage {
* without "interrupting" for task execution.
*
* We try to accumulate as much tasks as possible in a local queue without
- * any locks first, and then we push all of them into a schedulers queue
+ * any locks first, and then we push all of them into a scheduler's queue
* from within a single mutex lock.
*/
bool do_delayed_push;
@@ -1052,14 +1052,20 @@ typedef struct ParallelRangeState {
int chunk_size;
} ParallelRangeState;
-BLI_INLINE void task_parallel_range_calc_chunk_size(const TaskParallelSettings *settings,
- const int num_tasks,
- ParallelRangeState *state)
+BLI_INLINE void task_parallel_calc_chunk_size(const TaskParallelSettings *settings,
+ const int tot_items,
+ int num_tasks,
+ int *r_chunk_size)
{
- const int tot_items = state->stop - state->start;
int chunk_size = 0;
- if (settings->min_iter_per_thread > 0) {
+ if (!settings->use_threading) {
+ /* Some users of this helper will still need a valid chunk size in case processing is not
+ * threaded. We can use a bigger one than in default threaded case then. */
+ chunk_size = 1024;
+ num_tasks = 1;
+ }
+ else if (settings->min_iter_per_thread > 0) {
/* Already set by user, no need to do anything here. */
chunk_size = settings->min_iter_per_thread;
}
@@ -1091,16 +1097,30 @@ BLI_INLINE void task_parallel_range_calc_chunk_size(const TaskParallelSettings *
BLI_assert(chunk_size > 0);
- switch (settings->scheduling_mode) {
- case TASK_SCHEDULING_STATIC:
- state->chunk_size = max_ii(chunk_size, tot_items / (num_tasks));
- break;
- case TASK_SCHEDULING_DYNAMIC:
- state->chunk_size = chunk_size;
- break;
+ if (tot_items > 0) {
+ switch (settings->scheduling_mode) {
+ case TASK_SCHEDULING_STATIC:
+ *r_chunk_size = max_ii(chunk_size, tot_items / num_tasks);
+ break;
+ case TASK_SCHEDULING_DYNAMIC:
+ *r_chunk_size = chunk_size;
+ break;
+ }
+ }
+ else {
+ /* If total amount of items is unknown, we can only use dynamic scheduling. */
+ *r_chunk_size = chunk_size;
}
}
+BLI_INLINE void task_parallel_range_calc_chunk_size(const TaskParallelSettings *settings,
+ const int num_tasks,
+ ParallelRangeState *state)
+{
+ task_parallel_calc_chunk_size(
+ settings, state->stop - state->start, num_tasks, &state->chunk_size);
+}
+
BLI_INLINE bool parallel_range_next_iter_get(ParallelRangeState *__restrict state,
int *__restrict iter,
int *__restrict count)
@@ -1256,77 +1276,239 @@ void BLI_task_parallel_range(const int start,
}
}
-#undef MALLOCA
-#undef MALLOCA_FREE
-
-typedef struct ParallelListbaseState {
+typedef struct TaskParallelIteratorState {
void *userdata;
- TaskParallelListbaseFunc func;
+ TaskParallelIteratorIterFunc iter_func;
+ TaskParallelIteratorFunc func;
+
+ /* *** Data used to 'acquire' chunks of items from the iterator. *** */
+ /* Common data also passed to the generator callback. */
+ TaskParallelIteratorStateShared iter_shared;
+ /* Total number of items. If unknown, set it to a negative number. */
+ int tot_items;
+} TaskParallelIteratorState;
+
+BLI_INLINE void task_parallel_iterator_calc_chunk_size(const TaskParallelSettings *settings,
+ const int num_tasks,
+ TaskParallelIteratorState *state)
+{
+ task_parallel_calc_chunk_size(
+ settings, state->tot_items, num_tasks, &state->iter_shared.chunk_size);
+}
- int chunk_size;
- int index;
- Link *link;
- SpinLock lock;
-} ParallelListState;
-
-BLI_INLINE Link *parallel_listbase_next_iter_get(ParallelListState *__restrict state,
- int *__restrict index,
- int *__restrict count)
+static void parallel_iterator_func_do(TaskParallelIteratorState *__restrict state,
+ void *userdata_chunk,
+ int threadid)
{
- int task_count = 0;
- BLI_spin_lock(&state->lock);
- Link *result = state->link;
- if (LIKELY(result != NULL)) {
- *index = state->index;
- while (state->link != NULL && task_count < state->chunk_size) {
- task_count++;
- state->link = state->link->next;
+ TaskParallelTLS tls = {
+ .thread_id = threadid,
+ .userdata_chunk = userdata_chunk,
+ };
+
+ void **current_chunk_items;
+ int *current_chunk_indices;
+ int current_chunk_size;
+
+ const size_t items_size = sizeof(*current_chunk_items) * (size_t)state->iter_shared.chunk_size;
+ const size_t indices_size = sizeof(*current_chunk_indices) *
+ (size_t)state->iter_shared.chunk_size;
+
+ current_chunk_items = MALLOCA(items_size);
+ current_chunk_indices = MALLOCA(indices_size);
+ current_chunk_size = 0;
+
+ for (bool do_abort = false; !do_abort;) {
+ if (state->iter_shared.spin_lock != NULL) {
+ BLI_spin_lock(state->iter_shared.spin_lock);
+ }
+
+ /* Get current status. */
+ int index = state->iter_shared.next_index;
+ void *item = state->iter_shared.next_item;
+ int i;
+
+ /* 'Acquire' a chunk of items from the iterator function. */
+ for (i = 0; i < state->iter_shared.chunk_size && !state->iter_shared.is_finished; i++) {
+ current_chunk_indices[i] = index;
+ current_chunk_items[i] = item;
+ state->iter_func(state->userdata, &tls, &item, &index, &state->iter_shared.is_finished);
+ }
+
+ /* Update current status. */
+ state->iter_shared.next_index = index;
+ state->iter_shared.next_item = item;
+ current_chunk_size = i;
+
+ do_abort = state->iter_shared.is_finished;
+
+ if (state->iter_shared.spin_lock != NULL) {
+ BLI_spin_unlock(state->iter_shared.spin_lock);
+ }
+
+ for (i = 0; i < current_chunk_size; ++i) {
+ state->func(state->userdata, current_chunk_items[i], current_chunk_indices[i], &tls);
}
- state->index += task_count;
}
- BLI_spin_unlock(&state->lock);
- *count = task_count;
- return result;
+
+ MALLOCA_FREE(current_chunk_items, items_size);
+ MALLOCA_FREE(current_chunk_indices, indices_size);
}
-static void parallel_listbase_func(TaskPool *__restrict pool,
- void *UNUSED(taskdata),
- int UNUSED(threadid))
+static void parallel_iterator_func(TaskPool *__restrict pool, void *userdata_chunk, int threadid)
{
- ParallelListState *__restrict state = BLI_task_pool_userdata(pool);
- Link *link;
- int index, count;
+ TaskParallelIteratorState *__restrict state = BLI_task_pool_userdata(pool);
- while ((link = parallel_listbase_next_iter_get(state, &index, &count)) != NULL) {
- for (int i = 0; i < count; i++) {
- state->func(state->userdata, link, index + i);
- link = link->next;
+ parallel_iterator_func_do(state, userdata_chunk, threadid);
+}
+
+static void task_parallel_iterator_no_threads(const TaskParallelSettings *settings,
+ TaskParallelIteratorState *state)
+{
+ /* Prepare user's TLS data. */
+ void *userdata_chunk = settings->userdata_chunk;
+ const size_t userdata_chunk_size = settings->userdata_chunk_size;
+ void *userdata_chunk_local = NULL;
+ const bool use_userdata_chunk = (userdata_chunk_size != 0) && (userdata_chunk != NULL);
+ if (use_userdata_chunk) {
+ userdata_chunk_local = MALLOCA(userdata_chunk_size);
+ memcpy(userdata_chunk_local, userdata_chunk, userdata_chunk_size);
+ }
+
+ /* Also marking it as non-threaded for the iterator callback. */
+ state->iter_shared.spin_lock = NULL;
+
+ parallel_iterator_func_do(state, userdata_chunk, 0);
+
+ if (use_userdata_chunk) {
+ if (settings->func_finalize != NULL) {
+ settings->func_finalize(state->userdata, userdata_chunk_local);
}
+ MALLOCA_FREE(userdata_chunk_local, userdata_chunk_size);
}
}
-static void task_parallel_listbase_no_threads(struct ListBase *listbase,
- void *userdata,
- TaskParallelListbaseFunc func)
+static void task_parallel_iterator_do(const TaskParallelSettings *settings,
+ TaskParallelIteratorState *state)
{
- int i = 0;
- for (Link *link = listbase->first; link != NULL; link = link->next, i++) {
- func(userdata, link, i);
+ TaskScheduler *task_scheduler = BLI_task_scheduler_get();
+ const int num_threads = BLI_task_scheduler_num_threads(task_scheduler);
+
+ task_parallel_iterator_calc_chunk_size(settings, num_threads, state);
+
+ if (!settings->use_threading) {
+ task_parallel_iterator_no_threads(settings, state);
+ return;
}
+
+ const int chunk_size = state->iter_shared.chunk_size;
+ const int tot_items = state->tot_items;
+ const size_t num_tasks = tot_items >= 0 ?
+ (size_t)min_ii(num_threads, state->tot_items / chunk_size) :
+ (size_t)num_threads;
+
+ BLI_assert(num_tasks > 0);
+ if (num_tasks == 1) {
+ task_parallel_iterator_no_threads(settings, state);
+ return;
+ }
+
+ SpinLock spin_lock;
+ BLI_spin_init(&spin_lock);
+ state->iter_shared.spin_lock = &spin_lock;
+
+ void *userdata_chunk = settings->userdata_chunk;
+ const size_t userdata_chunk_size = settings->userdata_chunk_size;
+ void *userdata_chunk_local = NULL;
+ void *userdata_chunk_array = NULL;
+ const bool use_userdata_chunk = (userdata_chunk_size != 0) && (userdata_chunk != NULL);
+
+ TaskPool *task_pool = BLI_task_pool_create_suspended(task_scheduler, state);
+
+ if (use_userdata_chunk) {
+ userdata_chunk_array = MALLOCA(userdata_chunk_size * num_tasks);
+ }
+
+ for (size_t i = 0; i < num_tasks; i++) {
+ if (use_userdata_chunk) {
+ userdata_chunk_local = (char *)userdata_chunk_array + (userdata_chunk_size * i);
+ memcpy(userdata_chunk_local, userdata_chunk, userdata_chunk_size);
+ }
+ /* Use this pool's pre-allocated tasks. */
+ BLI_task_pool_push_from_thread(task_pool,
+ parallel_iterator_func,
+ userdata_chunk_local,
+ false,
+ TASK_PRIORITY_HIGH,
+ task_pool->thread_id);
+ }
+
+ BLI_task_pool_work_and_wait(task_pool);
+ BLI_task_pool_free(task_pool);
+
+ if (use_userdata_chunk) {
+ if (settings->func_finalize != NULL) {
+ for (size_t i = 0; i < num_tasks; i++) {
+ userdata_chunk_local = (char *)userdata_chunk_array + (userdata_chunk_size * i);
+ settings->func_finalize(state->userdata, userdata_chunk_local);
+ }
+ }
+ MALLOCA_FREE(userdata_chunk_array, userdata_chunk_size * num_tasks);
+ }
+
+ BLI_spin_end(&spin_lock);
+ state->iter_shared.spin_lock = NULL;
}
-/* NOTE: The idea here is to compensate for rather measurable threading
- * overhead caused by fetching tasks. With too many CPU threads we are starting
- * to spend too much time in those overheads. */
-BLI_INLINE int task_parallel_listbasecalc_chunk_size(const int num_threads)
+/**
+ * This function allows to parallelize for loops using a generic iterator.
+ *
+ * \param userdata: Common userdata passed to all instances of \a func.
+ * \param iter_func: Callback function used to generate chunks of items.
+ * \param init_item: The initial item, if necessary (may be NULL if unused).
+ * \param init_index: The initial index.
+ * \param tot_items: The total amount of items to iterate over
+ * (if unkown, set it to a negative number).
+ * \param func: Callback function.
+ * \param settings: See public API doc of TaskParallelSettings for description of all settings.
+ *
+ * \note Static scheduling is only available when \a tot_items is >= 0.
+ */
+
+void BLI_task_parallel_iterator(void *userdata,
+ TaskParallelIteratorIterFunc iter_func,
+ void *init_item,
+ const int init_index,
+ const int tot_items,
+ TaskParallelIteratorFunc func,
+ const TaskParallelSettings *settings)
{
- if (num_threads > 32) {
- return 128;
- }
- else if (num_threads > 16) {
- return 64;
+ TaskParallelIteratorState state = {0};
+
+ state.tot_items = tot_items;
+ state.iter_shared.next_index = init_index;
+ state.iter_shared.next_item = init_item;
+ state.iter_shared.is_finished = false;
+ state.userdata = userdata;
+ state.iter_func = iter_func;
+ state.func = func;
+
+ task_parallel_iterator_do(settings, &state);
+}
+
+static void task_parallel_listbase_get(void *__restrict UNUSED(userdata),
+ const TaskParallelTLS *__restrict UNUSED(tls),
+ void **r_next_item,
+ int *r_next_index,
+ bool *r_do_abort)
+{
+ /* Get current status. */
+ Link *link = *r_next_item;
+
+ if (link->next == NULL) {
+ *r_do_abort = true;
}
- return 32;
+ *r_next_item = link->next;
+ (*r_next_index)++;
}
/**
@@ -1335,58 +1517,36 @@ BLI_INLINE int task_parallel_listbasecalc_chunk_size(const int num_threads)
* \param listbase: The double linked list to loop over.
* \param userdata: Common userdata passed to all instances of \a func.
* \param func: Callback function.
- * \param use_threading: If \a true, actually split-execute loop in threads,
- * else just do a sequential forloop
- * (allows caller to use any kind of test to switch on parallelization or not).
+ * \param settings: See public API doc of ParallelRangeSettings for description of all settings.
*
* \note There is no static scheduling here,
* since it would need another full loop over items to count them.
*/
-void BLI_task_parallel_listbase(struct ListBase *listbase,
+void BLI_task_parallel_listbase(ListBase *listbase,
void *userdata,
- TaskParallelListbaseFunc func,
- const bool use_threading)
+ TaskParallelIteratorFunc func,
+ const TaskParallelSettings *settings)
{
if (BLI_listbase_is_empty(listbase)) {
return;
}
- if (!use_threading) {
- task_parallel_listbase_no_threads(listbase, userdata, func);
- return;
- }
- TaskScheduler *task_scheduler = BLI_task_scheduler_get();
- const int num_threads = BLI_task_scheduler_num_threads(task_scheduler);
- /* TODO(sergey): Consider making chunk size configurable. */
- const int chunk_size = task_parallel_listbasecalc_chunk_size(num_threads);
- const int num_tasks = min_ii(num_threads, BLI_listbase_count(listbase) / chunk_size);
- if (num_tasks <= 1) {
- task_parallel_listbase_no_threads(listbase, userdata, func);
- return;
- }
- ParallelListState state;
- TaskPool *task_pool = BLI_task_pool_create_suspended(task_scheduler, &state);
+ TaskParallelIteratorState state = {0};
- state.index = 0;
- state.link = listbase->first;
+ state.tot_items = BLI_listbase_count(listbase);
+ state.iter_shared.next_index = 0;
+ state.iter_shared.next_item = listbase->first;
+ state.iter_shared.is_finished = false;
state.userdata = userdata;
+ state.iter_func = task_parallel_listbase_get;
state.func = func;
- state.chunk_size = chunk_size;
- BLI_spin_init(&state.lock);
- BLI_assert(num_tasks > 0);
- for (int i = 0; i < num_tasks; i++) {
- /* Use this pool's pre-allocated tasks. */
- BLI_task_pool_push_from_thread(
- task_pool, parallel_listbase_func, NULL, false, TASK_PRIORITY_HIGH, task_pool->thread_id);
- }
-
- BLI_task_pool_work_and_wait(task_pool);
- BLI_task_pool_free(task_pool);
-
- BLI_spin_end(&state.lock);
+ task_parallel_iterator_do(settings, &state);
}
+#undef MALLOCA
+#undef MALLOCA_FREE
+
typedef struct ParallelMempoolState {
void *userdata;
TaskParallelMempoolFunc func;
diff --git a/source/blender/blenlib/intern/threads.c b/source/blender/blenlib/intern/threads.c
index 18893ad1445..3c87df55b2b 100644
--- a/source/blender/blenlib/intern/threads.c
+++ b/source/blender/blenlib/intern/threads.c
@@ -480,7 +480,7 @@ void BLI_mutex_free(ThreadMutex *mutex)
void BLI_spin_init(SpinLock *spin)
{
#if defined(__APPLE__)
- *spin = OS_UNFAIR_LOCK_INIT;
+ *spin = OS_SPINLOCK_INIT;
#elif defined(_MSC_VER)
*spin = 0;
#else
@@ -491,7 +491,7 @@ void BLI_spin_init(SpinLock *spin)
void BLI_spin_lock(SpinLock *spin)
{
#if defined(__APPLE__)
- os_unfair_lock_lock(spin);
+ OSSpinLockLock(spin);
#elif defined(_MSC_VER)
while (InterlockedExchangeAcquire(spin, 1)) {
while (*spin) {
@@ -507,7 +507,7 @@ void BLI_spin_lock(SpinLock *spin)
void BLI_spin_unlock(SpinLock *spin)
{
#if defined(__APPLE__)
- os_unfair_lock_unlock(spin);
+ OSSpinLockUnlock(spin);
#elif defined(_MSC_VER)
_ReadWriteBarrier();
*spin = 0;
diff --git a/source/blender/blenloader/intern/readfile.c b/source/blender/blenloader/intern/readfile.c
index d62a421e049..1b7ea400fbc 100644
--- a/source/blender/blenloader/intern/readfile.c
+++ b/source/blender/blenloader/intern/readfile.c
@@ -2829,6 +2829,12 @@ static PackedFile *direct_link_packedfile(FileData *fd, PackedFile *oldpf)
if (pf) {
pf->data = newpackedadr(fd, pf->data);
+ if (pf->data == NULL) {
+ /* We cannot allow a PackedFile with a NULL data field,
+ * the whole code assumes this is not possible. See T70315. */
+ printf("%s: NULL packedfile data, cleaning up...\n", __func__);
+ MEM_SAFE_FREE(pf);
+ }
}
return pf;
@@ -3856,6 +3862,8 @@ static void direct_link_armature(FileData *fd, bArmature *arm)
link_list(fd, &arm->bonebase);
arm->bonehash = NULL;
arm->edbo = NULL;
+ /* Must always be cleared (armatures don't have their own edit-data). */
+ arm->needs_flush_to_id = 0;
arm->adt = newdataadr(fd, arm->adt);
direct_link_animdata(fd, arm->adt);
@@ -4073,6 +4081,8 @@ static void direct_link_mball(FileData *fd, MetaBall *mb)
BLI_listbase_clear(&mb->disp);
mb->editelems = NULL;
+ /* Must always be cleared (meta's don't have their own edit-data). */
+ mb->needs_flush_to_id = 0;
/* mb->edit_elems.first= mb->edit_elems.last= NULL;*/
mb->lastelem = NULL;
mb->batch_cache = NULL;
@@ -7151,6 +7161,8 @@ static void direct_link_region(FileData *fd, ARegion *ar, int spacetype)
rv3d->render_engine = NULL;
rv3d->sms = NULL;
rv3d->smooth_timer = NULL;
+
+ rv3d->rflag &= ~(RV3D_NAVIGATING | RV3D_PAINTING);
}
}
}
@@ -7249,13 +7261,6 @@ static void direct_link_area(FileData *fd, ScrArea *area)
}
v3d->shading.prev_type = OB_SOLID;
- if (v3d->fx_settings.dof) {
- v3d->fx_settings.dof = newdataadr(fd, v3d->fx_settings.dof);
- }
- if (v3d->fx_settings.ssao) {
- v3d->fx_settings.ssao = newdataadr(fd, v3d->fx_settings.ssao);
- }
-
direct_link_view3dshading(fd, &v3d->shading);
blo_do_versions_view3d_split_250(v3d, &sl->regionbase);
@@ -8231,9 +8236,9 @@ void blo_lib_link_restore(Main *oldmain,
}
/* Restore all ID pointers in Main database itself
- * (especially IDProperties might point to some worspace of other 'weirdly unchanged' ID
+ * (especially IDProperties might point to some word-space of other 'weirdly unchanged' ID
* pointers, see T69146).
- * Note that this will re;ap again a few pointers in workspaces or so,
+ * Note that this will re-apply again a few pointers in workspaces or so,
* but since we are remapping final ones already set above,
* that is just some minor harmless double-processing. */
lib_link_main_data_restore(id_map, newmain);
@@ -10092,7 +10097,7 @@ static void expand_doit_library(void *fdhandle, Main *mainvar, void *old)
}
else {
/* Convert any previously read weak link to regular link
- * to signal that we want to read this datablock. */
+ * to signal that we want to read this data-block. */
if (id->tag & LIB_TAG_ID_LINK_PLACEHOLDER) {
id->flag &= ~LIB_INDIRECT_WEAK_LINK;
}
@@ -10142,7 +10147,7 @@ static void expand_doit_library(void *fdhandle, Main *mainvar, void *old)
}
else {
/* Convert any previously read weak link to regular link
- * to signal that we want to read this datablock. */
+ * to signal that we want to read this data-block. */
if (id->tag & LIB_TAG_ID_LINK_PLACEHOLDER) {
id->flag &= ~LIB_INDIRECT_WEAK_LINK;
}
@@ -11993,7 +11998,7 @@ static void read_libraries(FileData *basefd, ListBase *mainlist)
Main *main_newid = BKE_main_new();
for (Main *mainptr = mainl->next; mainptr; mainptr = mainptr->next) {
- /* Drop weak links for which no datablock was found. */
+ /* Drop weak links for which no data-block was found. */
read_library_clear_weak_links(basefd, mainlist, mainptr);
/* Do versioning for newly added linked data-locks. If no data-locks
diff --git a/source/blender/blenloader/intern/versioning_250.c b/source/blender/blenloader/intern/versioning_250.c
index eab1a519b82..d8684dd16db 100644
--- a/source/blender/blenloader/intern/versioning_250.c
+++ b/source/blender/blenloader/intern/versioning_250.c
@@ -1673,15 +1673,13 @@ void blo_do_versions_250(FileData *fd, Library *lib, Main *bmain)
}
for (scene = bmain->scenes.first; scene; scene = scene->id.next) {
- if (scene) {
- Sequence *seq;
- SEQ_BEGIN (scene->ed, seq) {
- if (seq->sat == 0.0f) {
- seq->sat = 1.0f;
- }
+ Sequence *seq;
+ SEQ_BEGIN (scene->ed, seq) {
+ if (seq->sat == 0.0f) {
+ seq->sat = 1.0f;
}
- SEQ_END;
}
+ SEQ_END;
}
/* GSOC 2010 Sculpt - New settings for Brush */
@@ -1696,7 +1694,7 @@ void blo_do_versions_250(FileData *fd, Library *lib, Main *bmain)
/* will have no effect */
if (brush->alpha == 0) {
- brush->alpha = 0.5f;
+ brush->alpha = 1.0f;
}
/* bad radius */
diff --git a/source/blender/blenloader/intern/versioning_280.c b/source/blender/blenloader/intern/versioning_280.c
index ff088d83358..50363e3f42a 100644
--- a/source/blender/blenloader/intern/versioning_280.c
+++ b/source/blender/blenloader/intern/versioning_280.c
@@ -585,13 +585,18 @@ static void do_versions_fix_annotations(bGPdata *gpd)
}
}
-static void do_versions_remove_region(ListBase *regionbase, int regiontype)
+static void do_versions_remove_region(ListBase *regionbase, ARegion *ar)
+{
+ BLI_freelinkN(regionbase, ar);
+}
+
+static void do_versions_remove_regions_by_type(ListBase *regionbase, int regiontype)
{
ARegion *ar, *ar_next;
for (ar = regionbase->first; ar; ar = ar_next) {
ar_next = ar->next;
if (ar->regiontype == regiontype) {
- BLI_freelinkN(regionbase, ar);
+ do_versions_remove_region(regionbase, ar);
}
}
}
@@ -1267,6 +1272,22 @@ void do_versions_after_linking_280(Main *bmain, ReportList *UNUSED(reports))
ma->blend_method = MA_BM_BLEND;
}
}
+
+ {
+ /* Update all ruler layers to set new flag. */
+ LISTBASE_FOREACH (Scene *, scene, &bmain->scenes) {
+ bGPdata *gpd = scene->gpd;
+ if (gpd == NULL) {
+ continue;
+ }
+ for (bGPDlayer *gpl = gpd->layers.first; gpl; gpl = gpl->next) {
+ if (STREQ(gpl->info, "RulerData3D")) {
+ gpl->flag |= GP_LAYER_IS_RULER;
+ break;
+ }
+ }
+ }
+ }
}
}
@@ -3340,7 +3361,7 @@ void blo_do_versions_280(FileData *fd, Library *UNUSED(lib), Main *bmain)
ListBase *regionbase = (sl == sa->spacedata.first) ? &sa->regionbase : &sl->regionbase;
/* Remove multiple footers that were added by mistake. */
- do_versions_remove_region(regionbase, RGN_TYPE_FOOTER);
+ do_versions_remove_regions_by_type(regionbase, RGN_TYPE_FOOTER);
/* Add footer. */
ARegion *ar = do_versions_add_region(RGN_TYPE_FOOTER, "footer for text");
@@ -3844,8 +3865,13 @@ void blo_do_versions_280(FileData *fd, Library *UNUSED(lib), Main *bmain)
}
}
- {
- /* Versioning code until next subversion bump goes here. */
+ if (!MAIN_VERSION_ATLEAST(bmain, 281, 15)) {
+ LISTBASE_FOREACH (Scene *, scene, &bmain->scenes) {
+ if (scene->toolsettings->snap_node_mode == SCE_SNAP_MODE_NODE_X) {
+ scene->toolsettings->snap_node_mode = SCE_SNAP_MODE_GRID;
+ }
+ }
+
if (!DNA_struct_elem_find(
fd->filesdna, "LayerCollection", "short", "local_collections_bits")) {
LISTBASE_FOREACH (Scene *, scene, &bmain->scenes) {
@@ -3880,20 +3906,22 @@ void blo_do_versions_280(FileData *fd, Library *UNUSED(lib), Main *bmain)
else if (sl->spacetype == SPACE_FILE) {
ListBase *regionbase = (sl == sa->spacedata.first) ? &sa->regionbase : &sl->regionbase;
ARegion *ar_tools = do_versions_find_region_or_null(regionbase, RGN_TYPE_TOOLS);
+ ARegion *ar_header = do_versions_find_region(regionbase, RGN_TYPE_HEADER);
if (ar_tools) {
ARegion *ar_next = ar_tools->next;
/* We temporarily had two tools regions, get rid of the second one. */
if (ar_next && ar_next->regiontype == RGN_TYPE_TOOLS) {
- do_versions_remove_region(regionbase, RGN_TYPE_TOOLS);
+ do_versions_remove_region(regionbase, ar_next);
}
+
+ BLI_remlink(regionbase, ar_tools);
+ BLI_insertlinkafter(regionbase, ar_header, ar_tools);
}
else {
- ARegion *ar_ui = do_versions_find_region(regionbase, RGN_TYPE_UI);
-
ar_tools = do_versions_add_region(RGN_TYPE_TOOLS, "versioning file tools region");
- BLI_insertlinkafter(regionbase, ar_ui, ar_tools);
+ BLI_insertlinkafter(regionbase, ar_header, ar_tools);
ar_tools->alignment = RGN_ALIGN_LEFT;
}
}
@@ -3901,4 +3929,13 @@ void blo_do_versions_280(FileData *fd, Library *UNUSED(lib), Main *bmain)
}
}
}
+
+ {
+ /* Versioning code until next subversion bump goes here. */
+ for (bScreen *screen = bmain->screens.first; screen; screen = screen->id.next) {
+ for (ScrArea *sa = screen->areabase.first; sa; sa = sa->next) {
+ sa->flag &= ~AREA_FLAG_UNUSED_6;
+ }
+ }
+ }
}
diff --git a/source/blender/blenloader/intern/versioning_cycles.c b/source/blender/blenloader/intern/versioning_cycles.c
index 2c4ba4a1102..5610222e85d 100644
--- a/source/blender/blenloader/intern/versioning_cycles.c
+++ b/source/blender/blenloader/intern/versioning_cycles.c
@@ -221,7 +221,7 @@ static void square_roughness_node_insert(bNodeTree *ntree)
static void mapping_node_order_flip(bNode *node)
{
/* Flip euler order of mapping shader node */
- if (node->type == SH_NODE_MAPPING) {
+ if (node->type == SH_NODE_MAPPING && node->storage) {
TexMapping *texmap = node->storage;
float quat[4];
@@ -233,7 +233,7 @@ static void mapping_node_order_flip(bNode *node)
static void vector_curve_node_remap(bNode *node)
{
/* Remap values of vector curve node from normalized to absolute values */
- if (node->type == SH_NODE_CURVE_VEC) {
+ if (node->type == SH_NODE_CURVE_VEC && node->storage) {
CurveMapping *mapping = node->storage;
mapping->flag &= ~CUMA_DO_CLIP;
@@ -300,11 +300,11 @@ static void image_node_colorspace(bNode *node)
}
int color_space;
- if (node->type == SH_NODE_TEX_IMAGE) {
+ if (node->type == SH_NODE_TEX_IMAGE && node->storage) {
NodeTexImage *tex = node->storage;
color_space = tex->color_space;
}
- else if (node->type == SH_NODE_TEX_ENVIRONMENT) {
+ else if (node->type == SH_NODE_TEX_ENVIRONMENT && node->storage) {
NodeTexEnvironment *tex = node->storage;
color_space = tex->color_space;
}
@@ -766,7 +766,7 @@ static void update_vector_math_node_average_operator(bNodeTree *ntree)
static void update_noise_node_dimensions(bNodeTree *ntree)
{
for (bNode *node = ntree->nodes.first; node; node = node->next) {
- if (node->type == SH_NODE_TEX_NOISE) {
+ if (node->type == SH_NODE_TEX_NOISE && node->storage) {
NodeTexNoise *tex = (NodeTexNoise *)node->storage;
tex->dimensions = 3;
}
@@ -923,7 +923,7 @@ static void update_mapping_node_inputs_and_properties(bNodeTree *ntree)
static void update_musgrave_node_dimensions(bNodeTree *ntree)
{
for (bNode *node = ntree->nodes.first; node; node = node->next) {
- if (node->type == SH_NODE_TEX_MUSGRAVE) {
+ if (node->type == SH_NODE_TEX_MUSGRAVE && node->storage) {
NodeTexMusgrave *tex = (NodeTexMusgrave *)node->storage;
tex->dimensions = 3;
}
@@ -951,7 +951,7 @@ static void update_musgrave_node_color_output(bNodeTree *ntree)
static void update_voronoi_node_dimensions(bNodeTree *ntree)
{
for (bNode *node = ntree->nodes.first; node; node = node->next) {
- if (node->type == SH_NODE_TEX_VORONOI) {
+ if (node->type == SH_NODE_TEX_VORONOI && node->storage) {
NodeTexVoronoi *tex = (NodeTexVoronoi *)node->storage;
tex->dimensions = 3;
}
@@ -966,7 +966,7 @@ static void update_voronoi_node_dimensions(bNodeTree *ntree)
static void update_voronoi_node_f3_and_f4(bNodeTree *ntree)
{
for (bNode *node = ntree->nodes.first; node; node = node->next) {
- if (node->type == SH_NODE_TEX_VORONOI) {
+ if (node->type == SH_NODE_TEX_VORONOI && node->storage) {
NodeTexVoronoi *tex = (NodeTexVoronoi *)node->storage;
if (ELEM(tex->feature, 2, 3)) {
tex->feature = SHD_VORONOI_F2;
@@ -1014,7 +1014,7 @@ static void update_voronoi_node_crackle(bNodeTree *ntree)
bool need_update = false;
for (bNode *node = ntree->nodes.first; node; node = node->next) {
- if (node->type == SH_NODE_TEX_VORONOI) {
+ if (node->type == SH_NODE_TEX_VORONOI && node->storage) {
NodeTexVoronoi *tex = (NodeTexVoronoi *)node->storage;
bNodeSocket *sockDistance = nodeFindSocket(node, SOCK_OUT, "Distance");
bNodeSocket *sockColor = nodeFindSocket(node, SOCK_OUT, "Color");
@@ -1106,7 +1106,7 @@ static void update_voronoi_node_coloring(bNodeTree *ntree)
LISTBASE_FOREACH_BACKWARD_MUTABLE (bNodeLink *, link, &ntree->links) {
bNode *node = link->fromnode;
- if (node && node->type == SH_NODE_TEX_VORONOI) {
+ if (node && node->type == SH_NODE_TEX_VORONOI && node->storage) {
NodeTexVoronoi *tex = (NodeTexVoronoi *)node->storage;
if (tex->coloring == 0) {
bNodeSocket *sockColor = nodeFindSocket(node, SOCK_OUT, "Color");
@@ -1143,7 +1143,7 @@ static void update_voronoi_node_square_distance(bNodeTree *ntree)
bool need_update = false;
for (bNode *node = ntree->nodes.first; node; node = node->next) {
- if (node->type == SH_NODE_TEX_VORONOI) {
+ if (node->type == SH_NODE_TEX_VORONOI && node->storage) {
NodeTexVoronoi *tex = (NodeTexVoronoi *)node->storage;
bNodeSocket *sockDistance = nodeFindSocket(node, SOCK_OUT, "Distance");
if (tex->distance == SHD_VORONOI_EUCLIDEAN &&
diff --git a/source/blender/blenloader/intern/versioning_defaults.c b/source/blender/blenloader/intern/versioning_defaults.c
index 87c8869622a..9fce89558b6 100644
--- a/source/blender/blenloader/intern/versioning_defaults.c
+++ b/source/blender/blenloader/intern/versioning_defaults.c
@@ -41,11 +41,13 @@
#include "DNA_light_types.h"
#include "BKE_appdir.h"
+#include "BKE_brush.h"
#include "BKE_colortools.h"
#include "BKE_layer.h"
#include "BKE_library.h"
#include "BKE_main.h"
#include "BKE_node.h"
+#include "BKE_paint.h"
#include "BKE_screen.h"
#include "BKE_workspace.h"
@@ -285,6 +287,10 @@ static void blo_update_defaults_scene(Main *bmain, Scene *scene)
CURVEMAP_SLOPE_POSITIVE);
}
+ if (ts->sculpt) {
+ ts->sculpt->paint.symmetry_flags |= PAINT_SYMMETRY_FEATHER;
+ }
+
/* Correct default startup UV's. */
Mesh *me = BLI_findstring(&bmain->meshes, "Cube", offsetof(ID, name) + 2);
if (me && (me->totloop == 24) && (me->mloopuv != NULL)) {
@@ -352,6 +358,12 @@ void BLO_update_defaults_startup_blend(Main *bmain, const char *app_template)
scene->audio.flag &= ~AUDIO_SYNC;
scene->flag &= ~SCE_FRAME_DROP;
}
+
+ /* Change default selection mode for Grease Pencil. */
+ if (app_template && STREQ(app_template, "2D_Animation")) {
+ ToolSettings *ts = scene->toolsettings;
+ ts->gpencil_selectmode_edit = GP_SELECTMODE_STROKE;
+ }
}
/* Objects */
@@ -407,7 +419,8 @@ void BLO_update_defaults_startup_blend(Main *bmain, const char *app_template)
{
/* Enable for UV sculpt (other brush types will be created as needed),
* without this the grab brush will be active but not selectable from the list. */
- Brush *brush = BLI_findstring(&bmain->brushes, "Grab", offsetof(ID, name) + 2);
+ const char *brush_name = "Grab";
+ Brush *brush = BLI_findstring(&bmain->brushes, brush_name, offsetof(ID, name) + 2);
if (brush) {
brush->ob_mode |= OB_MODE_EDIT;
}
@@ -415,13 +428,106 @@ void BLO_update_defaults_startup_blend(Main *bmain, const char *app_template)
for (Brush *brush = bmain->brushes.first; brush; brush = brush->id.next) {
brush->blur_kernel_radius = 2;
+
+ /* Use full strength for all non-sculpt brushes,
+ * when painting we want to use full color/weight always.
+ *
+ * Note that sculpt is an exception,
+ * it's values are overwritten by #BKE_brush_sculpt_reset below. */
+ brush->alpha = 1.0;
+
+ /* Enable antialiasing by default */
+ brush->sampling_flag |= BRUSH_PAINT_ANTIALIASING;
}
{
/* Change the spacing of the Smear brush to 3.0% */
- Brush *brush = BLI_findstring(&bmain->brushes, "Smear", offsetof(ID, name) + 2);
+ const char *brush_name;
+ Brush *brush;
+
+ brush_name = "Smear";
+ brush = BLI_findstring(&bmain->brushes, brush_name, offsetof(ID, name) + 2);
if (brush) {
brush->spacing = 3.0;
}
+
+ brush_name = "Draw Sharp";
+ brush = BLI_findstring(&bmain->brushes, brush_name, offsetof(ID, name) + 2);
+ if (!brush) {
+ brush = BKE_brush_add(bmain, brush_name, OB_MODE_SCULPT);
+ id_us_min(&brush->id);
+ brush->sculpt_tool = SCULPT_TOOL_DRAW_SHARP;
+ }
+
+ brush_name = "Elastic Deform";
+ brush = BLI_findstring(&bmain->brushes, brush_name, offsetof(ID, name) + 2);
+ if (!brush) {
+ brush = BKE_brush_add(bmain, brush_name, OB_MODE_SCULPT);
+ id_us_min(&brush->id);
+ brush->sculpt_tool = SCULPT_TOOL_ELASTIC_DEFORM;
+ }
+
+ brush_name = "Pose";
+ brush = BLI_findstring(&bmain->brushes, brush_name, offsetof(ID, name) + 2);
+ if (!brush) {
+ brush = BKE_brush_add(bmain, brush_name, OB_MODE_SCULPT);
+ id_us_min(&brush->id);
+ brush->sculpt_tool = SCULPT_TOOL_POSE;
+ }
+
+ brush_name = "Simplify";
+ brush = BLI_findstring(&bmain->brushes, brush_name, offsetof(ID, name) + 2);
+ if (!brush) {
+ brush = BKE_brush_add(bmain, brush_name, OB_MODE_SCULPT);
+ id_us_min(&brush->id);
+ brush->sculpt_tool = SCULPT_TOOL_SIMPLIFY;
+ }
+
+ /* Use the same tool icon color in the brush cursor */
+ for (brush = bmain->brushes.first; brush; brush = brush->id.next) {
+ if (brush->ob_mode & OB_MODE_SCULPT) {
+ BLI_assert(brush->sculpt_tool != 0);
+ BKE_brush_sculpt_reset(brush);
+ }
+ }
+ }
+
+ if (app_template && STREQ(app_template, "2D_Animation")) {
+ /* Update Grease Pencil brushes. */
+ Brush *brush;
+
+ /* Pencil brush. */
+ rename_id_for_versioning(bmain, ID_BR, "Draw Pencil", "Pencil");
+
+ /* Pen brush. */
+ rename_id_for_versioning(bmain, ID_BR, "Draw Pen", "Pen");
+
+ /* Pen Soft brush. */
+ brush = (Brush *)rename_id_for_versioning(bmain, ID_BR, "Draw Soft", "Pencil Soft");
+ if (brush) {
+ brush->gpencil_settings->icon_id = GP_BRUSH_ICON_PEN;
+ }
+
+ /* Ink Pen brush. */
+ rename_id_for_versioning(bmain, ID_BR, "Draw Ink", "Ink Pen");
+
+ /* Ink Pen Rough brush. */
+ rename_id_for_versioning(bmain, ID_BR, "Draw Noise", "Ink Pen Rough");
+
+ /* Marker Bold brush. */
+ rename_id_for_versioning(bmain, ID_BR, "Draw Marker", "Marker Bold");
+
+ /* Marker Chisel brush. */
+ rename_id_for_versioning(bmain, ID_BR, "Draw Block", "Marker Chisel");
+
+ /* Remove useless Fill Area.001 brush. */
+ brush = BLI_findstring(&bmain->brushes, "Fill Area.001", offsetof(ID, name) + 2);
+ if (brush) {
+ BKE_id_delete(bmain, brush);
+ }
+
+ /* Reset all grease pencil brushes. */
+ Scene *scene = bmain->scenes.first;
+ BKE_brush_gpencil_presets(bmain, scene->toolsettings);
}
}
diff --git a/source/blender/blenloader/intern/versioning_legacy.c b/source/blender/blenloader/intern/versioning_legacy.c
index 62bd605a2c2..1b30c7371a2 100644
--- a/source/blender/blenloader/intern/versioning_legacy.c
+++ b/source/blender/blenloader/intern/versioning_legacy.c
@@ -1705,19 +1705,17 @@ void blo_do_versions_pre250(FileData *fd, Library *lib, Main *bmain)
/* add default radius values to old curve points */
for (cu = bmain->curves.first; cu; cu = cu->id.next) {
for (nu = cu->nurb.first; nu; nu = nu->next) {
- if (nu) {
- if (nu->bezt) {
- for (bezt = nu->bezt, a = 0; a < nu->pntsu; a++, bezt++) {
- if (!bezt->radius) {
- bezt->radius = 1.0;
- }
+ if (nu->bezt) {
+ for (bezt = nu->bezt, a = 0; a < nu->pntsu; a++, bezt++) {
+ if (!bezt->radius) {
+ bezt->radius = 1.0;
}
}
- else if (nu->bp) {
- for (bp = nu->bp, a = 0; a < nu->pntsu * nu->pntsv; a++, bp++) {
- if (!bp->radius) {
- bp->radius = 1.0;
- }
+ }
+ else if (nu->bp) {
+ for (bp = nu->bp, a = 0; a < nu->pntsu * nu->pntsv; a++, bp++) {
+ if (!bp->radius) {
+ bp->radius = 1.0;
}
}
}
@@ -2515,17 +2513,15 @@ void blo_do_versions_pre250(FileData *fd, Library *lib, Main *bmain)
for (cu = bmain->curves.first; cu; cu = cu->id.next) {
for (nu = cu->nurb.first; nu; nu = nu->next) {
- if (nu) {
- nu->radius_interp = 3;
-
- /* resolu and resolv are now used differently for surfaces
- * rather than using the resolution to define the entire number of divisions,
- * use it for the number of divisions per segment
- */
- if (nu->pntsv > 1) {
- nu->resolu = MAX2(1, (int)(((float)nu->resolu / (float)nu->pntsu) + 0.5f));
- nu->resolv = MAX2(1, (int)(((float)nu->resolv / (float)nu->pntsv) + 0.5f));
- }
+ nu->radius_interp = 3;
+
+ /* resolu and resolv are now used differently for surfaces
+ * rather than using the resolution to define the entire number of divisions,
+ * use it for the number of divisions per segment
+ */
+ if (nu->pntsv > 1) {
+ nu->resolu = MAX2(1, (int)(((float)nu->resolu / (float)nu->pntsu) + 0.5f));
+ nu->resolv = MAX2(1, (int)(((float)nu->resolv / (float)nu->pntsv) + 0.5f));
}
}
}
diff --git a/source/blender/blenloader/intern/versioning_userdef.c b/source/blender/blenloader/intern/versioning_userdef.c
index ad11be1a5f5..e8783f68bcb 100644
--- a/source/blender/blenloader/intern/versioning_userdef.c
+++ b/source/blender/blenloader/intern/versioning_userdef.c
@@ -29,10 +29,13 @@
#include "DNA_curve_types.h"
#include "DNA_windowmanager_types.h"
#include "DNA_scene_types.h"
+#include "DNA_space_types.h"
+#include "DNA_anim_types.h"
#include "BKE_addon.h"
#include "BKE_colorband.h"
#include "BKE_main.h"
+#include "BKE_idprop.h"
#include "BKE_keyconfig.h"
#include "BLO_readfile.h" /* Own include. */
@@ -145,14 +148,19 @@ static void do_versions_theme(const UserDef *userdef, bTheme *btheme)
FROM_DEFAULT_V4_UCHAR(space_outliner.active);
}
- /**
- * Include next version bump.
- */
- {
+ if (!USER_VERSION_ATLEAST(281, 14)) {
FROM_DEFAULT_V4_UCHAR(space_file.execution_buts);
FROM_DEFAULT_V4_UCHAR(tui.icon_folder);
FROM_DEFAULT_V4_UCHAR(space_clip.path_keyframe_before);
FROM_DEFAULT_V4_UCHAR(space_clip.path_keyframe_after);
+ copy_v4_v4_uchar(btheme->space_nla.nla_track, btheme->space_nla.header);
+ }
+
+ /**
+ * Include next version bump.
+ */
+ {
+ FROM_DEFAULT_V4_UCHAR(space_sequencer.anim_preview_range);
}
#undef FROM_DEFAULT_V4_UCHAR
@@ -192,6 +200,18 @@ static void do_version_select_mouse(UserDef *userdef, wmKeyMapItem *kmi)
}
}
+static bool keymap_item_has_invalid_wm_context_data_path(wmKeyMapItem *kmi,
+ void *UNUSED(user_data))
+{
+ if (STRPREFIX(kmi->idname, "WM_OT_context_") && kmi->properties) {
+ IDProperty *idprop = IDP_GetPropertyFromGroup(kmi->properties, "data_path");
+ if (idprop && (idprop->type == IDP_STRING) && STRPREFIX(idprop->data.pointer, "(null)")) {
+ return true;
+ }
+ }
+ return false;
+}
+
/* patching UserDef struct and Themes */
void BLO_version_defaults_userpref_blend(Main *bmain, UserDef *userdef)
{
@@ -622,6 +642,29 @@ void BLO_version_defaults_userpref_blend(Main *bmain, UserDef *userdef)
userdef->filebrowser_display_type = USER_TEMP_SPACE_DISPLAY_WINDOW;
}
+ if (!USER_VERSION_ATLEAST(281, 13)) {
+ userdef->auto_smoothing_new = FCURVE_SMOOTH_CONT_ACCEL;
+
+ if (userdef->file_space_data.display_type == FILE_DEFAULTDISPLAY) {
+ memcpy(
+ &userdef->file_space_data, &U_default.file_space_data, sizeof(userdef->file_space_data));
+ }
+ }
+
+ if (!USER_VERSION_ATLEAST(281, 16)) {
+ BKE_keyconfig_pref_filter_items(userdef,
+ &((struct wmKeyConfigFilterItemParams){
+ .check_item = true,
+ .check_diff_item_add = true,
+ }),
+ keymap_item_has_invalid_wm_context_data_path,
+ NULL);
+ }
+
+ if (!USER_VERSION_ATLEAST(282, 1)) {
+ userdef->file_space_data.filter_id = U_default.file_space_data.filter_id;
+ }
+
/**
* Include next version bump.
*/
diff --git a/source/blender/blenloader/intern/writefile.c b/source/blender/blenloader/intern/writefile.c
index 9941df6452f..105c304c428 100644
--- a/source/blender/blenloader/intern/writefile.c
+++ b/source/blender/blenloader/intern/writefile.c
@@ -26,35 +26,36 @@
* FILE FORMAT
* ===========
*
- * IFF-style structure (but not IFF compatible!)
+ * IFF-style structure (but not IFF compatible!)
*
- * start file:
+ * Start file:
* <pre>
- * BLENDER_V100 12 bytes (version 1.00)
- * V = big endian, v = little endian
- * _ = 4 byte pointer, - = 8 byte pointer
+ * `BLENDER_V100` `12` bytes (version 1.00 is just an example).
+ * `V` = big endian, `v` = little endian.
+ * `_` = 4 byte pointer, `-` = 8 byte pointer.
* </pre>
*
* data-blocks: (also see struct #BHead).
* <pre>
- * <bh.code> 4 chars
- * <bh.len> int, len data after BHead
- * <bh.old> void, old pointer
- * <bh.SDNAnr> int
- * <bh.nr> int, in case of array: number of structs
- * data
- * ...
- * ...
+ * `bh.code` `char[4]` see `BLO_blend_defs.h` for a list of known types.
+ * `bh.len` `int32` length data after #BHead in bytes.
+ * `bh.old` `void *` old pointer (the address at the time of writing the file).
+ * `bh.SDNAnr` `int32` struct index of structs stored in #DNA1 data.
+ * `bh.nr` `int32` in case of array: number of structs.
+ * data
+ * ...
+ * ...
* </pre>
*
* Almost all data in Blender are structures. Each struct saved
* gets a BHead header. With BHead the struct can be linked again
- * and compared with StructDNA .
+ * and compared with #StructDNA.
+
* WRITE
* =====
*
* Preferred writing order: (not really a must, but why would you do it random?)
- * Any case: direct data is ALWAYS after the lib block
+ * Any case: direct data is ALWAYS after the lib block.
*
* (Local file data)
* - for each LibBlock
@@ -2852,12 +2853,6 @@ static void write_area_regions(WriteData *wd, ScrArea *area)
writestruct(wd, DATA, View3D, 1, v3d->localvd);
}
- if (v3d->fx_settings.ssao) {
- writestruct(wd, DATA, GPUSSAOSettings, 1, v3d->fx_settings.ssao);
- }
- if (v3d->fx_settings.dof) {
- writestruct(wd, DATA, GPUDOFSettings, 1, v3d->fx_settings.dof);
- }
write_view3dshading(wd, &v3d->shading);
}
else if (sl->spacetype == SPACE_GRAPH) {
diff --git a/source/blender/blentranslation/msgfmt/CMakeLists.txt b/source/blender/blentranslation/msgfmt/CMakeLists.txt
index 1b46efb1bb5..0361137f5b1 100644
--- a/source/blender/blentranslation/msgfmt/CMakeLists.txt
+++ b/source/blender/blentranslation/msgfmt/CMakeLists.txt
@@ -32,6 +32,10 @@ set(SRC
add_cc_flags_custom_test(msgfmt)
+if(APPLE)
+ set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${PLATFORM_LINKFLAGS}")
+endif()
+
add_executable(msgfmt ${SRC})
target_link_libraries(msgfmt bf_blenlib)
diff --git a/source/blender/bmesh/CMakeLists.txt b/source/blender/bmesh/CMakeLists.txt
index 599871a505a..00954eb400c 100644
--- a/source/blender/bmesh/CMakeLists.txt
+++ b/source/blender/bmesh/CMakeLists.txt
@@ -99,6 +99,8 @@ set(SRC
intern/bmesh_mesh.h
intern/bmesh_mesh_conv.c
intern/bmesh_mesh_conv.h
+ intern/bmesh_mesh_duplicate.c
+ intern/bmesh_mesh_duplicate.h
intern/bmesh_mesh_validate.c
intern/bmesh_mesh_validate.h
intern/bmesh_mods.c
diff --git a/source/blender/bmesh/bmesh.h b/source/blender/bmesh/bmesh.h
index b7356a89314..bdb719e0d7a 100644
--- a/source/blender/bmesh/bmesh.h
+++ b/source/blender/bmesh/bmesh.h
@@ -216,6 +216,7 @@ extern "C" {
#include "intern/bmesh_marking.h"
#include "intern/bmesh_mesh.h"
#include "intern/bmesh_mesh_conv.h"
+#include "intern/bmesh_mesh_duplicate.h"
#include "intern/bmesh_mesh_validate.h"
#include "intern/bmesh_mods.h"
#include "intern/bmesh_operators.h"
diff --git a/source/blender/bmesh/intern/bmesh_mesh_duplicate.c b/source/blender/bmesh/intern/bmesh_mesh_duplicate.c
new file mode 100644
index 00000000000..51f9d2eab1d
--- /dev/null
+++ b/source/blender/bmesh/intern/bmesh_mesh_duplicate.c
@@ -0,0 +1,139 @@
+/*
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+/** \file
+ * \ingroup bmesh
+ *
+ * Duplicate geometry from one mesh from another.
+ */
+
+#include "DNA_object_types.h"
+
+#include "MEM_guardedalloc.h"
+
+#include "BLI_alloca.h"
+#include "BLI_math_vector.h"
+
+#include "bmesh.h"
+#include "intern/bmesh_private.h" /* for element checking */
+
+static BMVert *bm_vert_copy(BMesh *bm_src, BMesh *bm_dst, BMVert *v_src)
+{
+ BMVert *v_dst = BM_vert_create(bm_dst, v_src->co, NULL, BM_CREATE_SKIP_CD);
+ BM_elem_attrs_copy(bm_src, bm_dst, v_src, v_dst);
+ return v_dst;
+}
+
+static BMEdge *bm_edge_copy_with_arrays(BMesh *bm_src,
+ BMesh *bm_dst,
+ BMEdge *e_src,
+ BMVert **verts_dst)
+{
+ BMVert *e_dst_v1 = verts_dst[BM_elem_index_get(e_src->v1)];
+ BMVert *e_dst_v2 = verts_dst[BM_elem_index_get(e_src->v2)];
+ BMEdge *e_dst = BM_edge_create(bm_dst, e_dst_v1, e_dst_v2, NULL, BM_CREATE_SKIP_CD);
+ BM_elem_attrs_copy(bm_src, bm_dst, e_src, e_dst);
+ return e_dst;
+}
+
+static BMFace *bm_face_copy_with_arrays(
+ BMesh *bm_src, BMesh *bm_dst, BMFace *f_src, BMVert **verts_dst, BMEdge **edges_dst
+
+)
+{
+ BMFace *f_dst;
+ BMVert **vtar = BLI_array_alloca(vtar, f_src->len);
+ BMEdge **edar = BLI_array_alloca(edar, f_src->len);
+ BMLoop *l_iter_src, *l_iter_dst, *l_first_src;
+ int i;
+
+ l_first_src = BM_FACE_FIRST_LOOP(f_src);
+
+ /* Lookup verts & edges. */
+ l_iter_src = l_first_src;
+ i = 0;
+ do {
+ vtar[i] = verts_dst[BM_elem_index_get(l_iter_src->v)];
+ edar[i] = edges_dst[BM_elem_index_get(l_iter_src->e)];
+ i++;
+ } while ((l_iter_src = l_iter_src->next) != l_first_src);
+
+ /* Create new face. */
+ f_dst = BM_face_create(bm_dst, vtar, edar, f_src->len, NULL, BM_CREATE_SKIP_CD);
+
+ /* Copy attributes. */
+ BM_elem_attrs_copy(bm_src, bm_dst, f_src, f_dst);
+
+ /* Copy per-loop custom data. */
+ l_iter_src = l_first_src;
+ l_iter_dst = BM_FACE_FIRST_LOOP(f_dst);
+ do {
+ BM_elem_attrs_copy(bm_src, bm_dst, l_iter_src, l_iter_dst);
+ } while ((void)(l_iter_dst = l_iter_dst->next), (l_iter_src = l_iter_src->next) != l_first_src);
+
+ return f_dst;
+}
+
+/**
+ * Geometry must be completely isolated.
+ */
+void BM_mesh_copy_arrays(BMesh *bm_src,
+ BMesh *bm_dst,
+ BMVert **verts_src,
+ uint verts_src_len,
+ BMEdge **edges_src,
+ uint edges_src_len,
+ BMFace **faces_src,
+ uint faces_src_len)
+{
+ /* Vertices. */
+ BMVert **verts_dst = MEM_mallocN(sizeof(*verts_dst) * verts_src_len, __func__);
+ for (uint i = 0; i < verts_src_len; i++) {
+ BMVert *v_src = verts_src[i];
+ BM_elem_index_set(v_src, i); /* set_dirty! */
+
+ BMVert *v_dst = bm_vert_copy(bm_src, bm_dst, v_src);
+ BM_elem_index_set(v_dst, i); /* set_ok */
+ verts_dst[i] = v_dst;
+ }
+ bm_src->elem_index_dirty |= BM_VERT;
+ bm_dst->elem_index_dirty &= ~BM_VERT;
+
+ /* Edges. */
+ BMEdge **edges_dst = MEM_mallocN(sizeof(*edges_dst) * edges_src_len, __func__);
+ for (uint i = 0; i < edges_src_len; i++) {
+ BMEdge *e_src = edges_src[i];
+ BM_elem_index_set(e_src, i); /* set_dirty! */
+
+ BMEdge *e_dst = bm_edge_copy_with_arrays(bm_src, bm_dst, e_src, verts_dst);
+ BM_elem_index_set(e_dst, i);
+ edges_dst[i] = e_dst;
+ }
+ bm_src->elem_index_dirty |= BM_EDGE;
+ bm_dst->elem_index_dirty &= ~BM_EDGE;
+
+ /* Faces. */
+ for (uint i = 0; i < faces_src_len; i++) {
+ BMFace *f_src = faces_src[i];
+ BMFace *f_dst = bm_face_copy_with_arrays(bm_src, bm_dst, f_src, verts_dst, edges_dst);
+ BM_elem_index_set(f_dst, i);
+ }
+ bm_dst->elem_index_dirty &= ~BM_FACE;
+
+ /* Cleanup. */
+ MEM_freeN(verts_dst);
+ MEM_freeN(edges_dst);
+}
diff --git a/source/blender/bmesh/intern/bmesh_mesh_duplicate.h b/source/blender/bmesh/intern/bmesh_mesh_duplicate.h
new file mode 100644
index 00000000000..17d4071b69f
--- /dev/null
+++ b/source/blender/bmesh/intern/bmesh_mesh_duplicate.h
@@ -0,0 +1,33 @@
+/*
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+#ifndef __BMESH_MESH_DUPLICATE_H__
+#define __BMESH_MESH_DUPLICATE_H__
+
+/** \file
+ * \ingroup bmesh
+ */
+
+void BM_mesh_copy_arrays(BMesh *bm_src,
+ BMesh *bm_dst,
+ BMVert **verts_src,
+ uint verts_src_len,
+ BMEdge **edges_src,
+ uint edges_src_len,
+ BMFace **faces_src,
+ uint faces_src_len);
+
+#endif /* __BMESH_MESH_DUPLICATE_H__ */
diff --git a/source/blender/bmesh/intern/bmesh_query.c b/source/blender/bmesh/intern/bmesh_query.c
index 219bec15e5b..a121bd3b9f4 100644
--- a/source/blender/bmesh/intern/bmesh_query.c
+++ b/source/blender/bmesh/intern/bmesh_query.c
@@ -2808,6 +2808,98 @@ int BM_mesh_calc_edge_groups(BMesh *bm,
return group_curr;
}
+/**
+ * This is an alternative to #BM_mesh_calc_edge_groups.
+ *
+ * While we could call this, then create vertex & face arrays,
+ * it requires looping over geometry connectivity twice,
+ * this slows down edit-mesh separate by loose parts, see: T70864.
+ */
+int BM_mesh_calc_edge_groups_as_arrays(
+ BMesh *bm, BMVert **verts, BMEdge **edges, BMFace **faces, int (**r_groups)[3])
+{
+ int(*groups)[3] = MEM_mallocN(sizeof(*groups) * bm->totvert, __func__);
+ STACK_DECLARE(groups);
+ STACK_INIT(groups, bm->totvert);
+
+ /* Clear all selected vertices */
+ BM_mesh_elem_hflag_disable_all(bm, BM_VERT | BM_EDGE | BM_FACE, BM_ELEM_TAG, false);
+
+ BMVert **stack = MEM_mallocN(sizeof(*stack) * bm->totvert, __func__);
+ STACK_DECLARE(stack);
+ STACK_INIT(stack, bm->totvert);
+
+ STACK_DECLARE(verts);
+ STACK_INIT(verts, bm->totvert);
+
+ STACK_DECLARE(edges);
+ STACK_INIT(edges, bm->totedge);
+
+ STACK_DECLARE(faces);
+ STACK_INIT(faces, bm->totface);
+
+ BMIter iter;
+ BMVert *v_stack_init;
+ BM_ITER_MESH (v_stack_init, &iter, bm, BM_VERTS_OF_MESH) {
+ if (BM_elem_flag_test(v_stack_init, BM_ELEM_TAG)) {
+ continue;
+ }
+
+ const uint verts_init = STACK_SIZE(verts);
+ const uint edges_init = STACK_SIZE(edges);
+ const uint faces_init = STACK_SIZE(faces);
+
+ /* Initialize stack. */
+ BM_elem_flag_enable(v_stack_init, BM_ELEM_TAG);
+ STACK_PUSH(verts, v_stack_init);
+
+ if (v_stack_init->e != NULL) {
+ BMVert *v_iter = v_stack_init;
+ do {
+ BMEdge *e_iter, *e_first;
+ e_iter = e_first = v_iter->e;
+ do {
+ if (!BM_elem_flag_test(e_iter, BM_ELEM_TAG)) {
+ BM_elem_flag_enable(e_iter, BM_ELEM_TAG);
+ STACK_PUSH(edges, e_iter);
+
+ if (e_iter->l != NULL) {
+ BMLoop *l_iter, *l_first;
+ l_iter = l_first = e_iter->l;
+ do {
+ if (!BM_elem_flag_test(l_iter->f, BM_ELEM_TAG)) {
+ BM_elem_flag_enable(l_iter->f, BM_ELEM_TAG);
+ STACK_PUSH(faces, l_iter->f);
+ }
+ } while ((l_iter = l_iter->radial_next) != l_first);
+ }
+
+ BMVert *v_other = BM_edge_other_vert(e_iter, v_iter);
+ if (!BM_elem_flag_test(v_other, BM_ELEM_TAG)) {
+ BM_elem_flag_enable(v_other, BM_ELEM_TAG);
+ STACK_PUSH(verts, v_other);
+
+ STACK_PUSH(stack, v_other);
+ }
+ }
+ } while ((e_iter = BM_DISK_EDGE_NEXT(e_iter, v_iter)) != e_first);
+ } while ((v_iter = STACK_POP(stack)));
+ }
+
+ int *g = STACK_PUSH_RET(groups);
+ g[0] = STACK_SIZE(verts) - verts_init;
+ g[1] = STACK_SIZE(edges) - edges_init;
+ g[2] = STACK_SIZE(faces) - faces_init;
+ }
+
+ MEM_freeN(stack);
+
+ /* Reduce alloc to required size. */
+ groups = MEM_reallocN(groups, sizeof(*groups) * STACK_SIZE(groups));
+ *r_groups = groups;
+ return STACK_SIZE(groups);
+}
+
float bmesh_subd_falloff_calc(const int falloff, float val)
{
switch (falloff) {
diff --git a/source/blender/bmesh/intern/bmesh_query.h b/source/blender/bmesh/intern/bmesh_query.h
index 3a864fbb5dd..134e0b99691 100644
--- a/source/blender/bmesh/intern/bmesh_query.h
+++ b/source/blender/bmesh/intern/bmesh_query.h
@@ -249,6 +249,13 @@ int BM_mesh_calc_edge_groups(BMesh *bm,
void *user_data,
const char hflag_test) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(1, 2, 3);
+int BM_mesh_calc_edge_groups_as_arrays(BMesh *bm,
+ BMVert **verts,
+ BMEdge **edges,
+ BMFace **faces,
+ int (**r_groups)[3]) ATTR_WARN_UNUSED_RESULT
+ ATTR_NONNULL(1, 2, 3, 4, 5);
+
/* not really any good place to put this */
float bmesh_subd_falloff_calc(const int falloff, float val) ATTR_WARN_UNUSED_RESULT;
diff --git a/source/blender/bmesh/operators/bmo_primitive.c b/source/blender/bmesh/operators/bmo_primitive.c
index ff7dcc388b3..64687ac154c 100644
--- a/source/blender/bmesh/operators/bmo_primitive.c
+++ b/source/blender/bmesh/operators/bmo_primitive.c
@@ -1507,7 +1507,7 @@ void bmo_create_cone_exec(BMesh *bm, BMOperator *op)
BMO_op_callf(bm, op->flag, "dissolve_faces faces=%ff", FACE_NEW);
}
- BMO_op_callf(bm, op->flag, "remove_doubles verts=%fv dist=%f", VERT_MARK, 0.000001);
+ BMO_op_callf(bm, op->flag, "remove_doubles verts=%fv dist=%f", VERT_MARK, 0.0000005 * depth);
BMO_slot_buffer_from_enabled_flag(bm, op, op->slots_out, "verts.out", BM_VERT, VERT_MARK);
}
diff --git a/source/blender/bmesh/tools/bmesh_intersect_edges.c b/source/blender/bmesh/tools/bmesh_intersect_edges.c
index 6422904c83c..ffdcf179491 100644
--- a/source/blender/bmesh/tools/bmesh_intersect_edges.c
+++ b/source/blender/bmesh/tools/bmesh_intersect_edges.c
@@ -650,6 +650,8 @@ bool BM_mesh_intersect_edges(BMesh *bm, const char hflag, const float dist, GHas
BMEdge *e;
int i;
+ BM_mesh_elem_table_ensure(bm, BM_VERT | BM_EDGE);
+
/* Store all intersections in this array. */
struct EDBMSplitElem(*pair_iter)[2], (*pair_array)[2] = NULL;
BLI_Stack *pair_stack = BLI_stack_new(sizeof(*pair_array), __func__);
diff --git a/source/blender/collada/AnimationImporter.cpp b/source/blender/collada/AnimationImporter.cpp
index 79593f07383..47325c4dece 100644
--- a/source/blender/collada/AnimationImporter.cpp
+++ b/source/blender/collada/AnimationImporter.cpp
@@ -104,7 +104,7 @@ void AnimationImporter::animation_to_fcurves(COLLADAFW::AnimationCurve *curve)
fcu->flag = (FCURVE_VISIBLE | FCURVE_AUTO_HANDLES | FCURVE_SELECTED);
fcu->array_index = 0;
- fcu->auto_smoothing = FCURVE_SMOOTH_CONT_ACCEL;
+ fcu->auto_smoothing = U.auto_smoothing_new;
for (unsigned int j = 0; j < curve->getKeyCount(); j++) {
BezTriple bez;
diff --git a/source/blender/collada/BCAnimationCurve.cpp b/source/blender/collada/BCAnimationCurve.cpp
index bf32ec9148c..f944a77196c 100644
--- a/source/blender/collada/BCAnimationCurve.cpp
+++ b/source/blender/collada/BCAnimationCurve.cpp
@@ -383,7 +383,7 @@ void BCAnimationCurve::adjust_range(const int frame_index)
void BCAnimationCurve::add_value(const float val, const int frame_index)
{
FCurve *fcu = get_edit_fcurve();
- fcu->auto_smoothing = FCURVE_SMOOTH_CONT_ACCEL;
+ fcu->auto_smoothing = U.auto_smoothing_new;
insert_vert_fcurve(fcu, frame_index, val, BEZT_KEYTYPE_KEYFRAME, INSERTKEY_NOFLAGS);
if (fcu->totvert == 1) {
diff --git a/source/blender/collada/BlenderContext.cpp b/source/blender/collada/BlenderContext.cpp
index 8735d71ec40..a9783a9b9c4 100644
--- a/source/blender/collada/BlenderContext.cpp
+++ b/source/blender/collada/BlenderContext.cpp
@@ -21,6 +21,8 @@
#include <vector>
#include "BlenderContext.h"
+#include "ExportSettings.h"
+
#include "BKE_scene.h"
bool bc_is_base_node(LinkNode *export_set, Object *ob, ViewLayer *view_layer)
diff --git a/source/blender/collada/ImageExporter.cpp b/source/blender/collada/ImageExporter.cpp
index 71201c8a55c..6e31e17fb26 100644
--- a/source/blender/collada/ImageExporter.cpp
+++ b/source/blender/collada/ImageExporter.cpp
@@ -107,7 +107,7 @@ void ImagesExporter::export_UV_Image(Image *image, bool use_copies)
/* make absolute source path */
BLI_strncpy(source_path, image->name, sizeof(source_path));
- BLI_path_abs(source_path, BKE_main_blendfile_path_from_global());
+ BLI_path_abs(source_path, ID_BLEND_PATH_FROM_GLOBAL(&image->id));
BLI_cleanup_path(NULL, source_path);
if (use_copies) {
diff --git a/source/blender/collada/collada_internal.cpp b/source/blender/collada/collada_internal.cpp
index a97b5e0eca1..7e834045795 100644
--- a/source/blender/collada/collada_internal.cpp
+++ b/source/blender/collada/collada_internal.cpp
@@ -314,7 +314,7 @@ std::string get_joint_sid(Bone *bone)
{
return translate_id(bone->name);
}
-std::string get_joint_sid(EditBone *bone)
+static std::string get_joint_sid(EditBone *bone)
{
return translate_id(bone->name);
}
diff --git a/source/blender/collada/collada_utils.cpp b/source/blender/collada/collada_utils.cpp
index dd5611c4bef..b688840cb09 100644
--- a/source/blender/collada/collada_utils.cpp
+++ b/source/blender/collada/collada_utils.cpp
@@ -1149,7 +1149,7 @@ void bc_copy_m4d_v44(double (&r)[4][4], std::vector<std::vector<double>> &a)
/**
* Returns name of Active UV Layer or empty String if no active UV Layer defined
*/
-std::string bc_get_active_uvlayer_name(Mesh *me)
+static std::string bc_get_active_uvlayer_name(Mesh *me)
{
int num_layers = CustomData_number_of_layers(&me->ldata, CD_MLOOPUV);
if (num_layers) {
@@ -1165,7 +1165,7 @@ std::string bc_get_active_uvlayer_name(Mesh *me)
* Returns name of Active UV Layer or empty String if no active UV Layer defined.
* Assuming the Object is of type MESH
*/
-std::string bc_get_active_uvlayer_name(Object *ob)
+static std::string bc_get_active_uvlayer_name(Object *ob)
{
Mesh *me = (Mesh *)ob->data;
return bc_get_active_uvlayer_name(me);
@@ -1174,7 +1174,7 @@ std::string bc_get_active_uvlayer_name(Object *ob)
/**
* Returns UV Layer name or empty string if layer index is out of range
*/
-std::string bc_get_uvlayer_name(Mesh *me, int layer)
+static std::string bc_get_uvlayer_name(Mesh *me, int layer)
{
int num_layers = CustomData_number_of_layers(&me->ldata, CD_MLOOPUV);
if (num_layers && layer < num_layers) {
@@ -1206,7 +1206,7 @@ static bNodeTree *prepare_material_nodetree(Material *ma)
return ma->nodetree;
}
-bNode *bc_add_node(
+static bNode *bc_add_node(
bContext *C, bNodeTree *ntree, int node_type, int locx, int locy, std::string label)
{
bNode *node = nodeAddStaticNode(C, ntree, node_type);
@@ -1221,7 +1221,7 @@ bNode *bc_add_node(
return node;
}
-bNode *bc_add_node(bContext *C, bNodeTree *ntree, int node_type, int locx, int locy)
+static bNode *bc_add_node(bContext *C, bNodeTree *ntree, int node_type, int locx, int locy)
{
return bc_add_node(C, ntree, node_type, locx, locy, "");
}
diff --git a/source/blender/compositor/CMakeLists.txt b/source/blender/compositor/CMakeLists.txt
index 2a8914c8cd9..ed14397f73c 100644
--- a/source/blender/compositor/CMakeLists.txt
+++ b/source/blender/compositor/CMakeLists.txt
@@ -486,7 +486,7 @@ set(SRC
operations/COM_WrapOperation.cpp
operations/COM_WrapOperation.h
- #Filter operations
+ # Filter operations
operations/COM_ConvolutionEdgeFilterOperation.cpp
operations/COM_ConvolutionEdgeFilterOperation.h
operations/COM_ConvolutionFilterOperation.cpp
@@ -515,7 +515,7 @@ set(SRC
operations/COM_SetSamplerOperation.h
- #Convert operations
+ # Convert operations
operations/COM_ConvertOperation.cpp
operations/COM_ConvertOperation.h
operations/COM_IDMaskOperation.cpp
@@ -566,6 +566,7 @@ if(WITH_OPENIMAGEDENOISE)
add_definitions(-DOIDN_STATIC_LIB)
list(APPEND INC_SYS
${OPENIMAGEDENOISE_INCLUDE_DIRS}
+ ${TBB_INCLUDE_DIRS}
)
endif()
diff --git a/source/blender/compositor/operations/COM_OpenCLKernels.cl b/source/blender/compositor/operations/COM_OpenCLKernels.cl
index 4dfca1777f1..ebe8a6d08ec 100644
--- a/source/blender/compositor/operations/COM_OpenCLKernels.cl
+++ b/source/blender/compositor/operations/COM_OpenCLKernels.cl
@@ -26,22 +26,22 @@
const sampler_t SAMPLER_NEAREST = CLK_NORMALIZED_COORDS_FALSE | CLK_ADDRESS_CLAMP_TO_EDGE | CLK_FILTER_NEAREST;
const sampler_t SAMPLER_NEAREST_CLAMP = CLK_NORMALIZED_COORDS_FALSE | CLK_ADDRESS_CLAMP | CLK_FILTER_NEAREST;
-__constant const int zero = {0,0};
+__constant const int2 zero = {0,0};
// KERNEL --- BOKEH BLUR ---
__kernel void bokehBlurKernel(__read_only image2d_t boundingBox, __read_only image2d_t inputImage,
__read_only image2d_t bokehImage, __write_only image2d_t output,
- int offsetInput, int offsetOutput, int radius, int step, int dimension, int offset)
+ int2 offsetInput, int2 offsetOutput, int radius, int step, int2 dimension, int2 offset)
{
- int coords = {get_global_id(0), get_global_id(1)};
+ int2 coords = {get_global_id(0), get_global_id(1)};
coords += offset;
float tempBoundingBox;
- float color = {0.0f,0.0f,0.0f,0.0f};
- float multiplyer = {0.0f,0.0f,0.0f,0.0f};
- float bokeh;
+ float4 color = {0.0f,0.0f,0.0f,0.0f};
+ float4 multiplyer = {0.0f,0.0f,0.0f,0.0f};
+ float4 bokeh;
const float radius2 = radius*2.0f;
- const int realCoordinate = coords + offsetOutput;
- int imageCoordinates = realCoordinate - offsetInput;
+ const int2 realCoordinate = coords + offsetOutput;
+ int2 imageCoordinates = realCoordinate - offsetInput;
tempBoundingBox = read_imagef(boundingBox, SAMPLER_NEAREST, coords).s0;
diff --git a/source/blender/depsgraph/DEG_depsgraph.h b/source/blender/depsgraph/DEG_depsgraph.h
index e44dddbcf54..d5a93d21b99 100644
--- a/source/blender/depsgraph/DEG_depsgraph.h
+++ b/source/blender/depsgraph/DEG_depsgraph.h
@@ -179,14 +179,14 @@ void DEG_editors_set_update_cb(DEG_EditorUpdateIDCb id_func, DEG_EditorUpdateSce
/* Evaluation ----------------------------------- */
+bool DEG_is_evaluating(struct Depsgraph *depsgraph);
+
bool DEG_is_active(const struct Depsgraph *depsgraph);
void DEG_make_active(struct Depsgraph *depsgraph);
void DEG_make_inactive(struct Depsgraph *depsgraph);
/* Evaluation Debug ------------------------------ */
-bool DEG_debug_is_evaluating(struct Depsgraph *depsgraph);
-
void DEG_debug_print_begin(struct Depsgraph *depsgraph);
void DEG_debug_print_eval(struct Depsgraph *depsgraph,
diff --git a/source/blender/depsgraph/DEG_depsgraph_query.h b/source/blender/depsgraph/DEG_depsgraph_query.h
index 82f7f33411a..fb456611b15 100644
--- a/source/blender/depsgraph/DEG_depsgraph_query.h
+++ b/source/blender/depsgraph/DEG_depsgraph_query.h
@@ -236,9 +236,21 @@ void DEG_foreach_dependent_ID(const Depsgraph *depsgraph,
/* Starts traversal from given component of the given ID, invokes callback for every other
* component which is directly on indirectly dependent on the source one. */
+enum {
+ /* Ignore transform solvers which depends on multiple inputs and affects final transform.
+ * Is used for cases like snapping objects which are part of a rigid body simulation:
+ * without this there will be "false-positive" dependencies between transform components of
+ * objects:
+ *
+ * object 1 transform before solver ---> solver ------> object 1 final transform
+ * object 2 transform before solver -----^ \------> object 2 final transform
+ */
+ DEG_FOREACH_COMPONENT_IGNORE_TRANSFORM_SOLVERS,
+};
void DEG_foreach_dependent_ID_component(const Depsgraph *depsgraph,
const ID *id,
eDepsObjectComponentType source_component_type,
+ int flags,
DEGForeachIDComponentCallback callback,
void *user_data);
diff --git a/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc b/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc
index 7dfc863b847..d0e40d49527 100644
--- a/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc
+++ b/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc
@@ -527,6 +527,9 @@ void DepsgraphNodeBuilder::build_object(int base_index,
eDepsNode_LinkedState_Type linked_state,
bool is_visible)
{
+ if (object->proxy != NULL) {
+ object->proxy->proxy_from = object;
+ }
const bool has_object = built_map_.checkIsBuiltAndTag(object);
/* Skip rest of components if the ID node was already there. */
if (has_object) {
diff --git a/source/blender/depsgraph/intern/builder/deg_builder_relations.cc b/source/blender/depsgraph/intern/builder/deg_builder_relations.cc
index f1e7278ffdb..db7c1e5ceae 100644
--- a/source/blender/depsgraph/intern/builder/deg_builder_relations.cc
+++ b/source/blender/depsgraph/intern/builder/deg_builder_relations.cc
@@ -120,31 +120,73 @@ namespace DEG {
/* ***************** */
/* Relations Builder */
+namespace {
+
/* TODO(sergey): This is somewhat weak, but we don't want neither false-positive
- * time dependencies nor special exceptions in the depsgraph evaluation.
- */
-static bool python_driver_depends_on_time(ChannelDriver *driver)
+ * time dependencies nor special exceptions in the depsgraph evaluation. */
+
+bool python_driver_exression_depends_on_time(const char *expression)
{
- if (driver->expression[0] == '\0') {
+ if (expression[0] == '\0') {
/* Empty expression depends on nothing. */
return false;
}
- if (strchr(driver->expression, '(') != NULL) {
+ if (strchr(expression, '(') != NULL) {
/* Function calls are considered dependent on a time. */
return true;
}
- if (strstr(driver->expression, "frame") != NULL) {
+ if (strstr(expression, "frame") != NULL) {
/* Variable `frame` depends on time. */
- /* TODO(sergey): This is a bit weak, but not sure about better way of
- * handling this. */
+ /* TODO(sergey): This is a bit weak, but not sure about better way of handling this. */
+ return true;
+ }
+ /* Possible indirect time relation s should be handled via variable targets. */
+ return false;
+}
+
+bool driver_target_depends_on_time(const DriverTarget *target)
+{
+ if (target->idtype == ID_SCE &&
+ (target->rna_path != NULL && STREQ(target->rna_path, "frame_current"))) {
return true;
}
- /* Possible indirect time relation s should be handled via variable
- * targets. */
return false;
}
-static bool particle_system_depends_on_time(ParticleSystem *psys)
+bool driver_variable_depends_on_time(const DriverVar *variable)
+{
+ for (int i = 0; i < variable->num_targets; ++i) {
+ if (driver_target_depends_on_time(&variable->targets[i])) {
+ return true;
+ }
+ }
+ return false;
+}
+
+bool driver_variables_depends_on_time(const ListBase *variables)
+{
+ LISTBASE_FOREACH (const DriverVar *, variable, variables) {
+ if (driver_variable_depends_on_time(variable)) {
+ return true;
+ }
+ }
+ return false;
+}
+
+bool driver_depends_on_time(ChannelDriver *driver)
+{
+ if (driver->type == DRIVER_TYPE_PYTHON) {
+ if (python_driver_exression_depends_on_time(driver->expression)) {
+ return true;
+ }
+ }
+ if (driver_variables_depends_on_time(&driver->variables)) {
+ return true;
+ }
+ return false;
+}
+
+bool particle_system_depends_on_time(ParticleSystem *psys)
{
ParticleSettings *part = psys->part;
/* Non-hair particles we always consider dependent on time. */
@@ -159,7 +201,7 @@ static bool particle_system_depends_on_time(ParticleSystem *psys)
return false;
}
-static bool object_particles_depends_on_time(Object *object)
+bool object_particles_depends_on_time(Object *object)
{
if (object->type != OB_MESH) {
return false;
@@ -172,7 +214,7 @@ static bool object_particles_depends_on_time(Object *object)
return false;
}
-static bool check_id_has_anim_component(ID *id)
+bool check_id_has_anim_component(ID *id)
{
AnimData *adt = BKE_animdata_from_id(id);
if (adt == NULL) {
@@ -181,11 +223,11 @@ static bool check_id_has_anim_component(ID *id)
return (adt->action != NULL) || (!BLI_listbase_is_empty(&adt->nla_tracks));
}
-static OperationCode bone_target_opcode(ID *target,
- const char *subtarget,
- ID *id,
- const char *component_subdata,
- RootPChanMap *root_map)
+OperationCode bone_target_opcode(ID *target,
+ const char *subtarget,
+ ID *id,
+ const char *component_subdata,
+ RootPChanMap *root_map)
{
/* Same armature. */
if (target == id) {
@@ -200,11 +242,13 @@ static OperationCode bone_target_opcode(ID *target,
return OperationCode::BONE_DONE;
}
-static bool object_have_geometry_component(const Object *object)
+bool object_have_geometry_component(const Object *object)
{
return ELEM(object->type, OB_MESH, OB_CURVE, OB_FONT, OB_SURF, OB_MBALL, OB_LATTICE, OB_GPENCIL);
}
+} // namespace
+
/* **** General purpose functions **** */
DepsgraphRelationBuilder::DepsgraphRelationBuilder(Main *bmain,
@@ -1380,7 +1424,7 @@ void DepsgraphRelationBuilder::build_driver(ID *id, FCurve *fcu)
/* It's quite tricky to detect if the driver actually depends on time or
* not, so for now we'll be quite conservative here about optimization and
* consider all python drivers to be depending on time. */
- if ((driver->type == DRIVER_TYPE_PYTHON) && python_driver_depends_on_time(driver)) {
+ if (driver_depends_on_time(driver)) {
TimeSourceKey time_src_key;
add_relation(time_src_key, driver_key, "TimeSrc -> Driver");
}
diff --git a/source/blender/depsgraph/intern/depsgraph.cc b/source/blender/depsgraph/intern/depsgraph.cc
index dcdea87fe1a..8f9595d2476 100644
--- a/source/blender/depsgraph/intern/depsgraph.cc
+++ b/source/blender/depsgraph/intern/depsgraph.cc
@@ -76,7 +76,7 @@ Depsgraph::Depsgraph(Main *bmain, Scene *scene, ViewLayer *view_layer, eEvaluati
ctime(BKE_scene_frame_get(scene)),
scene_cow(NULL),
is_active(false),
- debug_is_evaluating(false),
+ is_evaluating(false),
is_render_pipeline_depsgraph(false)
{
BLI_spin_init(&lock);
@@ -334,6 +334,12 @@ void DEG_graph_free(Depsgraph *graph)
OBJECT_GUARDED_DELETE(deg_depsgraph, Depsgraph);
}
+bool DEG_is_evaluating(struct Depsgraph *depsgraph)
+{
+ DEG::Depsgraph *deg_graph = reinterpret_cast<DEG::Depsgraph *>(depsgraph);
+ return deg_graph->is_evaluating;
+}
+
bool DEG_is_active(const struct Depsgraph *depsgraph)
{
if (depsgraph == NULL) {
diff --git a/source/blender/depsgraph/intern/depsgraph.h b/source/blender/depsgraph/intern/depsgraph.h
index 30ae4edde34..43829f4e045 100644
--- a/source/blender/depsgraph/intern/depsgraph.h
+++ b/source/blender/depsgraph/intern/depsgraph.h
@@ -198,7 +198,7 @@ struct Depsgraph {
int debug_flags;
string debug_name;
- bool debug_is_evaluating;
+ bool is_evaluating;
/* Is set to truth for dependency graph which are used for post-processing (compositor and
* sequencer).
diff --git a/source/blender/depsgraph/intern/depsgraph_debug.cc b/source/blender/depsgraph/intern/depsgraph_debug.cc
index d079c958e04..bb60db5209c 100644
--- a/source/blender/depsgraph/intern/depsgraph_debug.cc
+++ b/source/blender/depsgraph/intern/depsgraph_debug.cc
@@ -246,12 +246,6 @@ void DEG_stats_simple(const Depsgraph *graph,
}
}
-bool DEG_debug_is_evaluating(struct Depsgraph *depsgraph)
-{
- DEG::Depsgraph *deg_graph = reinterpret_cast<DEG::Depsgraph *>(depsgraph);
- return deg_graph->debug_is_evaluating;
-}
-
static DEG::string depsgraph_name_for_logging(struct Depsgraph *depsgraph)
{
const char *name = DEG_debug_name_get(depsgraph);
diff --git a/source/blender/depsgraph/intern/depsgraph_eval.cc b/source/blender/depsgraph/intern/depsgraph_eval.cc
index b2b7d2a9d00..665a32b886c 100644
--- a/source/blender/depsgraph/intern/depsgraph_eval.cc
+++ b/source/blender/depsgraph/intern/depsgraph_eval.cc
@@ -73,7 +73,7 @@ void DEG_evaluate_on_framechange(Main *bmain, Depsgraph *graph, float ctime)
/* Update time on primary timesource. */
DEG::TimeSourceNode *tsrc = deg_graph->find_time_source();
tsrc->cfra = ctime;
- tsrc->tag_update(deg_graph, DEG::DEG_UPDATE_SOURCE_TIME);
+ deg_graph->need_update_time = true;
DEG::deg_graph_flush_updates(bmain, deg_graph);
/* Update time in scene. */
if (deg_graph->scene_cow) {
diff --git a/source/blender/depsgraph/intern/depsgraph_query_foreach.cc b/source/blender/depsgraph/intern/depsgraph_query_foreach.cc
index 33cb1ba7416..b7a40fb69bd 100644
--- a/source/blender/depsgraph/intern/depsgraph_query_foreach.cc
+++ b/source/blender/depsgraph/intern/depsgraph_query_foreach.cc
@@ -68,9 +68,20 @@ void deg_foreach_clear_flags(const Depsgraph *graph)
}
}
+bool deg_foreach_needs_visit(const OperationNode *op_node, const int flags)
+{
+ if (flags & DEG_FOREACH_COMPONENT_IGNORE_TRANSFORM_SOLVERS) {
+ if (op_node->opcode == OperationCode::RIGIDBODY_SIM) {
+ return false;
+ }
+ }
+ return true;
+}
+
void deg_foreach_dependent_operation(const Depsgraph *graph,
const ID *id,
eDepsObjectComponentType source_component_type,
+ int flags,
DEGForeachOperation callback,
void *user_data)
{
@@ -91,6 +102,9 @@ void deg_foreach_dependent_operation(const Depsgraph *graph,
continue;
}
for (OperationNode *op_node : comp_node->operations) {
+ if (!deg_foreach_needs_visit(op_node, flags)) {
+ continue;
+ }
queue.push_back(op_node);
op_node->scheduled = true;
op_node->owner->custom_flags |= DEG_NODE_VISITED;
@@ -108,7 +122,7 @@ void deg_foreach_dependent_operation(const Depsgraph *graph,
/* Schedule outgoing operation nodes. */
if (op_node->outlinks.size() == 1) {
OperationNode *to_node = (OperationNode *)op_node->outlinks[0]->to;
- if (to_node->scheduled == false) {
+ if (to_node->scheduled == false && deg_foreach_needs_visit(to_node, flags)) {
to_node->scheduled = true;
op_node = to_node;
}
@@ -119,7 +133,7 @@ void deg_foreach_dependent_operation(const Depsgraph *graph,
else {
for (Relation *rel : op_node->outlinks) {
OperationNode *to_node = (OperationNode *)rel->to;
- if (to_node->scheduled == false) {
+ if (to_node->scheduled == false && deg_foreach_needs_visit(to_node, flags)) {
queue.push_front(to_node);
to_node->scheduled = true;
}
@@ -150,6 +164,7 @@ void deg_foreach_dependent_component_callback(OperationNode *op_node, void *user
void deg_foreach_dependent_ID_component(const Depsgraph *graph,
const ID *id,
eDepsObjectComponentType source_component_type,
+ int flags,
DEGForeachIDComponentCallback callback,
void *user_data)
{
@@ -157,7 +172,7 @@ void deg_foreach_dependent_ID_component(const Depsgraph *graph,
data.callback = callback;
data.user_data = user_data;
deg_foreach_dependent_operation(
- graph, id, source_component_type, deg_foreach_dependent_component_callback, &data);
+ graph, id, source_component_type, flags, deg_foreach_dependent_component_callback, &data);
}
struct ForeachIDData {
@@ -185,7 +200,7 @@ void deg_foreach_dependent_ID(const Depsgraph *graph,
data.callback = callback;
data.user_data = user_data;
deg_foreach_dependent_operation(
- graph, id, DEG_OB_COMP_ANY, deg_foreach_dependent_ID_callback, &data);
+ graph, id, DEG_OB_COMP_ANY, 0, deg_foreach_dependent_ID_callback, &data);
}
void deg_foreach_ancestor_ID(const Depsgraph *graph,
@@ -278,11 +293,12 @@ void DEG_foreach_dependent_ID(const Depsgraph *depsgraph,
void DEG_foreach_dependent_ID_component(const Depsgraph *depsgraph,
const ID *id,
eDepsObjectComponentType source_component_type,
+ int flags,
DEGForeachIDComponentCallback callback,
void *user_data)
{
DEG::deg_foreach_dependent_ID_component(
- (const DEG::Depsgraph *)depsgraph, id, source_component_type, callback, user_data);
+ (const DEG::Depsgraph *)depsgraph, id, source_component_type, flags, callback, user_data);
}
void DEG_foreach_ancestor_ID(const Depsgraph *depsgraph,
diff --git a/source/blender/depsgraph/intern/depsgraph_query_iter.cc b/source/blender/depsgraph/intern/depsgraph_query_iter.cc
index 28789968286..db469612f76 100644
--- a/source/blender/depsgraph/intern/depsgraph_query_iter.cc
+++ b/source/blender/depsgraph/intern/depsgraph_query_iter.cc
@@ -152,7 +152,7 @@ bool deg_objects_dupli_iterator_next(BLI_Iterator *iter)
copy_v4_v4(temp_dupli_object->color, dupli_parent->color);
/* Duplicated elements shouldn't care whether their original collection is visible or not. */
- temp_dupli_object->base_flag |= BASE_VISIBLE;
+ temp_dupli_object->base_flag |= BASE_VISIBLE_DEPSGRAPH;
int ob_visibility = BKE_object_visibility(temp_dupli_object, data->eval_mode);
if ((ob_visibility & (OB_VISIBLE_SELF | OB_VISIBLE_PARTICLES)) == 0) {
diff --git a/source/blender/depsgraph/intern/depsgraph_tag.cc b/source/blender/depsgraph/intern/depsgraph_tag.cc
index 2fdce0e30a5..ce5917110d6 100644
--- a/source/blender/depsgraph/intern/depsgraph_tag.cc
+++ b/source/blender/depsgraph/intern/depsgraph_tag.cc
@@ -367,7 +367,7 @@ static void graph_id_tag_update_single_flag(Main *bmain,
eUpdateSource update_source)
{
if (tag == ID_RECALC_EDITORS) {
- if (graph != NULL) {
+ if (graph != NULL && graph->is_active) {
depsgraph_update_editors_tag(bmain, graph, id);
}
return;
@@ -462,7 +462,8 @@ const char *update_source_as_string(eUpdateSource source)
int deg_recalc_flags_for_legacy_zero()
{
- return ID_RECALC_ALL & ~(ID_RECALC_PSYS_ALL | ID_RECALC_ANIMATION | ID_RECALC_SOURCE);
+ return ID_RECALC_ALL & ~(ID_RECALC_PSYS_ALL | ID_RECALC_ANIMATION | ID_RECALC_SOURCE |
+ ID_RECALC_TIME | ID_RECALC_EDITORS);
}
int deg_recalc_flags_effective(Depsgraph *graph, int flags)
@@ -510,6 +511,14 @@ void deg_graph_on_visible_update(Main *bmain, Depsgraph *graph, const bool do_ti
* to evaluation though) with `do_time=true`. This means early output checks should be aware of
* this. */
for (DEG::IDNode *id_node : graph->id_nodes) {
+ const ID_Type id_type = GS(id_node->id_orig->name);
+ if (id_type == ID_OB) {
+ Object *object_orig = reinterpret_cast<Object *>(id_node->id_orig);
+ if (object_orig->proxy != NULL) {
+ object_orig->proxy->proxy_from = object_orig;
+ }
+ }
+
if (!id_node->visible_components_mask) {
/* ID has no components which affects anything visible.
* No need bother with it to tag or anything. */
@@ -536,7 +545,6 @@ void deg_graph_on_visible_update(Main *bmain, Depsgraph *graph, const bool do_ti
* other type of cache).
*
* TODO(sergey): Need to generalize this somehow. */
- const ID_Type id_type = GS(id_node->id_orig->name);
if (id_type == ID_OB) {
flag |= ID_RECALC_TRANSFORM | ID_RECALC_GEOMETRY;
}
@@ -614,6 +622,12 @@ void graph_id_tag_update(
Main *bmain, Depsgraph *graph, ID *id, int flag, eUpdateSource update_source)
{
const int debug_flags = (graph != NULL) ? DEG_debug_flags_get((::Depsgraph *)graph) : G.debug;
+ if (graph != NULL && graph->is_evaluating) {
+ if (debug_flags & G_DEBUG_DEPSGRAPH) {
+ printf("ID tagged for update during dependency graph evaluation.");
+ }
+ return;
+ }
if (debug_flags & G_DEBUG_DEPSGRAPH_TAG) {
printf("%s: id=%s flags=%s source=%s\n",
__func__,
@@ -808,24 +822,6 @@ static void deg_graph_clear_id_recalc_flags(ID *id)
}
}
-static void deg_graph_clear_id_node_func(void *__restrict data_v,
- const int i,
- const TaskParallelTLS *__restrict /*tls*/)
-{
- /* TODO: we clear original ID recalc flags here, but this may not work
- * correctly when there are multiple depsgraph with others still using
- * the recalc flag. */
- DEG::Depsgraph *deg_graph = reinterpret_cast<DEG::Depsgraph *>(data_v);
- DEG::IDNode *id_node = deg_graph->id_nodes[i];
-
- id_node->is_user_modified = false;
-
- deg_graph_clear_id_recalc_flags(id_node->id_cow);
- if (deg_graph->is_active) {
- deg_graph_clear_id_recalc_flags(id_node->id_orig);
- }
-}
-
void DEG_ids_clear_recalc(Main *UNUSED(bmain), Depsgraph *depsgraph)
{
DEG::Depsgraph *deg_graph = reinterpret_cast<DEG::Depsgraph *>(depsgraph);
@@ -835,10 +831,15 @@ void DEG_ids_clear_recalc(Main *UNUSED(bmain), Depsgraph *depsgraph)
return;
}
/* Go over all ID nodes nodes, clearing tags. */
- const int num_id_nodes = deg_graph->id_nodes.size();
- TaskParallelSettings settings;
- BLI_parallel_range_settings_defaults(&settings);
- settings.min_iter_per_thread = 1024;
- BLI_task_parallel_range(0, num_id_nodes, deg_graph, deg_graph_clear_id_node_func, &settings);
+ for (DEG::IDNode *id_node : deg_graph->id_nodes) {
+ /* TODO: we clear original ID recalc flags here, but this may not work
+ * correctly when there are multiple depsgraph with others still using
+ * the recalc flag. */
+ id_node->is_user_modified = false;
+ deg_graph_clear_id_recalc_flags(id_node->id_cow);
+ if (deg_graph->is_active) {
+ deg_graph_clear_id_recalc_flags(id_node->id_orig);
+ }
+ }
memset(deg_graph->id_type_updated, 0, sizeof(deg_graph->id_type_updated));
}
diff --git a/source/blender/depsgraph/intern/eval/deg_eval.cc b/source/blender/depsgraph/intern/eval/deg_eval.cc
index b2415c9e89d..d6b3c54a149 100644
--- a/source/blender/depsgraph/intern/eval/deg_eval.cc
+++ b/source/blender/depsgraph/intern/eval/deg_eval.cc
@@ -91,10 +91,6 @@ static void deg_task_run_func(TaskPool *pool, void *taskdata, int thread_id)
BLI_task_pool_delayed_push_end(pool, thread_id);
}
-struct CalculatePendingData {
- Depsgraph *graph;
-};
-
static bool check_operation_node_visible(OperationNode *op_node)
{
const ComponentNode *comp_node = op_node->owner;
@@ -106,13 +102,8 @@ static bool check_operation_node_visible(OperationNode *op_node)
return comp_node->affects_directly_visible;
}
-static void calculate_pending_func(void *__restrict data_v,
- const int i,
- const TaskParallelTLS *__restrict /*tls*/)
+static void calculate_pending_parents_for_node(OperationNode *node)
{
- CalculatePendingData *data = (CalculatePendingData *)data_v;
- Depsgraph *graph = data->graph;
- OperationNode *node = graph->operations[i];
/* Update counters, applies for both visible and invisible IDs. */
node->num_links_pending = 0;
node->scheduled = false;
@@ -134,7 +125,7 @@ static void calculate_pending_func(void *__restrict data_v,
if (!check_operation_node_visible(from)) {
continue;
}
- /* No need to vait for operation which is up to date. */
+ /* No need to wait for operation which is up to date. */
if ((from->flag & DEPSOP_FLAG_NEEDS_UPDATE) == 0) {
continue;
}
@@ -145,13 +136,9 @@ static void calculate_pending_func(void *__restrict data_v,
static void calculate_pending_parents(Depsgraph *graph)
{
- const int num_operations = graph->operations.size();
- CalculatePendingData data;
- data.graph = graph;
- TaskParallelSettings settings;
- BLI_parallel_range_settings_defaults(&settings);
- settings.min_iter_per_thread = 1024;
- BLI_task_parallel_range(0, num_operations, &data, calculate_pending_func, &settings);
+ for (OperationNode *node : graph->operations) {
+ calculate_pending_parents_for_node(node);
+ }
}
static void initialize_execution(DepsgraphEvalState *state, Depsgraph *graph)
@@ -221,7 +208,7 @@ static void schedule_node(
static void schedule_graph(TaskPool *pool, Depsgraph *graph)
{
for (OperationNode *node : graph->operations) {
- schedule_node(pool, graph, node, false, 0);
+ schedule_node(pool, graph, node, false, -1);
}
}
@@ -270,7 +257,7 @@ void deg_evaluate_on_refresh(Depsgraph *graph)
}
const bool do_time_debug = ((G.debug & G_DEBUG_DEPSGRAPH_TIME) != 0);
const double start_time = do_time_debug ? PIL_check_seconds_timer() : 0;
- graph->debug_is_evaluating = true;
+ graph->is_evaluating = true;
depsgraph_ensure_view_layer(graph);
/* Set up evaluation state. */
DepsgraphEvalState state;
@@ -311,7 +298,7 @@ void deg_evaluate_on_refresh(Depsgraph *graph)
if (need_free_scheduler) {
BLI_task_scheduler_free(task_scheduler);
}
- graph->debug_is_evaluating = false;
+ graph->is_evaluating = false;
if (do_time_debug) {
printf("Depsgraph updated in %f seconds.\n", PIL_check_seconds_timer() - start_time);
}
diff --git a/source/blender/depsgraph/intern/eval/deg_eval_copy_on_write.cc b/source/blender/depsgraph/intern/eval/deg_eval_copy_on_write.cc
index 1f9c12f604d..73a0823f84b 100644
--- a/source/blender/depsgraph/intern/eval/deg_eval_copy_on_write.cc
+++ b/source/blender/depsgraph/intern/eval/deg_eval_copy_on_write.cc
@@ -755,6 +755,25 @@ void update_animation_data_after_copy(const ID *id_orig, ID *id_cow)
update_nla_tracks_orig_pointers(&anim_data_orig->nla_tracks, &anim_data_cow->nla_tracks);
}
+/* Some builders (like motion path one) will ignore proxies from being built. This code makes it so
+ * proxy and proxy_group pointers never point to an original objects, preventing evaluation code
+ * from assign evaluated pointer to an original proxy->proxy_from. */
+void update_proxy_pointers_after_copy(const Depsgraph * /*depsgraph*/,
+ const Object * /*object_orig*/,
+ Object *object_cow)
+{
+ if (object_cow->proxy != NULL) {
+ if ((object_cow->proxy->id.tag & LIB_TAG_COPIED_ON_WRITE) == 0) {
+ object_cow->proxy = NULL;
+ }
+ }
+ if (object_cow->proxy_group != NULL) {
+ if ((object_cow->proxy_group->id.tag & LIB_TAG_COPIED_ON_WRITE) == 0) {
+ object_cow->proxy_group = NULL;
+ }
+ }
+}
+
/* Do some special treatment of data transfer from original ID to it's
* CoW complementary part.
*
@@ -788,6 +807,7 @@ void update_id_after_copy(const Depsgraph *depsgraph,
}
update_particles_after_copy(depsgraph, object_orig, object_cow);
update_modifiers_orig_pointers(object_orig, object_cow);
+ update_proxy_pointers_after_copy(depsgraph, object_orig, object_cow);
break;
}
case ID_SCE: {
diff --git a/source/blender/depsgraph/intern/eval/deg_eval_flush.cc b/source/blender/depsgraph/intern/eval/deg_eval_flush.cc
index 2479373b687..96e2974a7ab 100644
--- a/source/blender/depsgraph/intern/eval/deg_eval_flush.cc
+++ b/source/blender/depsgraph/intern/eval/deg_eval_flush.cc
@@ -87,15 +87,6 @@ typedef std::deque<OperationNode *> FlushQueue;
namespace {
-void flush_init_operation_node_func(void *__restrict data_v,
- const int i,
- const TaskParallelTLS *__restrict /*tls*/)
-{
- Depsgraph *graph = (Depsgraph *)data_v;
- OperationNode *node = graph->operations[i];
- node->scheduled = false;
-}
-
void flush_init_id_node_func(void *__restrict data_v,
const int i,
const TaskParallelTLS *__restrict /*tls*/)
@@ -110,13 +101,10 @@ void flush_init_id_node_func(void *__restrict data_v,
BLI_INLINE void flush_prepare(Depsgraph *graph)
{
- {
- const int num_operations = graph->operations.size();
- TaskParallelSettings settings;
- BLI_parallel_range_settings_defaults(&settings);
- settings.min_iter_per_thread = 1024;
- BLI_task_parallel_range(0, num_operations, graph, flush_init_operation_node_func, &settings);
+ for (OperationNode *node : graph->operations) {
+ node->scheduled = false;
}
+
{
const int num_id_nodes = graph->id_nodes.size();
TaskParallelSettings settings;
@@ -351,9 +339,6 @@ void deg_graph_flush_updates(Main *bmain, Depsgraph *graph)
BLI_assert(bmain != NULL);
BLI_assert(graph != NULL);
/* Nothing to update, early out. */
- if (BLI_gset_len(graph->entry_tags) == 0 && !graph->need_update_time) {
- return;
- }
if (graph->need_update_time) {
const Scene *scene_orig = graph->scene;
const float ctime = BKE_scene_frame_get(scene_orig);
@@ -361,6 +346,9 @@ void deg_graph_flush_updates(Main *bmain, Depsgraph *graph)
graph->ctime = ctime;
time_source->tag_update(graph, DEG::DEG_UPDATE_SOURCE_TIME);
}
+ if (BLI_gset_len(graph->entry_tags) == 0) {
+ return;
+ }
/* Reset all flags, get ready for the flush. */
flush_prepare(graph);
/* Starting from the tagged "entry" nodes, flush outwards. */
@@ -395,27 +383,13 @@ void deg_graph_flush_updates(Main *bmain, Depsgraph *graph)
invalidate_tagged_evaluated_data(graph);
}
-static void graph_clear_operation_func(void *__restrict data_v,
- const int i,
- const TaskParallelTLS *__restrict /*tls*/)
-{
- Depsgraph *graph = (Depsgraph *)data_v;
- OperationNode *node = graph->operations[i];
- /* Clear node's "pending update" settings. */
- node->flag &= ~(DEPSOP_FLAG_DIRECTLY_MODIFIED | DEPSOP_FLAG_NEEDS_UPDATE |
- DEPSOP_FLAG_USER_MODIFIED);
-}
-
/* Clear tags from all operation nodes. */
void deg_graph_clear_tags(Depsgraph *graph)
{
/* Go over all operation nodes, clearing tags. */
- {
- const int num_operations = graph->operations.size();
- TaskParallelSettings settings;
- BLI_parallel_range_settings_defaults(&settings);
- settings.min_iter_per_thread = 1024;
- BLI_task_parallel_range(0, num_operations, graph, graph_clear_operation_func, &settings);
+ for (OperationNode *node : graph->operations) {
+ node->flag &= ~(DEPSOP_FLAG_DIRECTLY_MODIFIED | DEPSOP_FLAG_NEEDS_UPDATE |
+ DEPSOP_FLAG_USER_MODIFIED);
}
/* Clear any entry tags which haven't been flushed. */
BLI_gset_clear(graph->entry_tags, NULL);
diff --git a/source/blender/draw/CMakeLists.txt b/source/blender/draw/CMakeLists.txt
index 64a5caf80d4..950adf3ddc5 100644
--- a/source/blender/draw/CMakeLists.txt
+++ b/source/blender/draw/CMakeLists.txt
@@ -293,6 +293,7 @@ data_to_c_simple(modes/shaders/edit_mesh_overlay_facefill_vert.glsl SRC)
data_to_c_simple(modes/shaders/edit_mesh_overlay_facefill_frag.glsl SRC)
data_to_c_simple(modes/shaders/edit_mesh_overlay_mesh_analysis_frag.glsl SRC)
data_to_c_simple(modes/shaders/edit_mesh_overlay_mesh_analysis_vert.glsl SRC)
+data_to_c_simple(modes/shaders/edit_mesh_skin_root_vert.glsl SRC)
data_to_c_simple(modes/shaders/edit_curve_overlay_handle_vert.glsl SRC)
data_to_c_simple(modes/shaders/edit_curve_overlay_handle_geom.glsl SRC)
data_to_c_simple(modes/shaders/edit_curve_overlay_loosevert_vert.glsl SRC)
diff --git a/source/blender/draw/engines/basic/basic_engine.c b/source/blender/draw/engines/basic/basic_engine.c
index 188e252a285..0dd1a4fd686 100644
--- a/source/blender/draw/engines/basic/basic_engine.c
+++ b/source/blender/draw/engines/basic/basic_engine.c
@@ -72,7 +72,6 @@ static struct {
typedef struct BASIC_PrivateData {
DRWShadingGroup *depth_shgrp;
DRWShadingGroup *depth_shgrp_cull;
- DRWShadingGroup *depth_shgrp_hair;
} BASIC_PrivateData; /* Transient data */
/* Functions */
diff --git a/source/blender/draw/engines/eevee/eevee_effects.c b/source/blender/draw/engines/eevee/eevee_effects.c
index 7df1c299454..d59d1f56e92 100644
--- a/source/blender/draw/engines/eevee/eevee_effects.c
+++ b/source/blender/draw/engines/eevee/eevee_effects.c
@@ -29,6 +29,7 @@
#include "eevee_private.h"
#include "GPU_texture.h"
#include "GPU_extensions.h"
+#include "GPU_platform.h"
#include "GPU_state.h"
static struct {
diff --git a/source/blender/draw/engines/eevee/eevee_lightprobes.c b/source/blender/draw/engines/eevee/eevee_lightprobes.c
index 19f3983998e..4b0af273f7f 100644
--- a/source/blender/draw/engines/eevee/eevee_lightprobes.c
+++ b/source/blender/draw/engines/eevee/eevee_lightprobes.c
@@ -51,7 +51,6 @@ static struct {
struct GPUTexture *planar_pool_placeholder;
struct GPUTexture *depth_placeholder;
struct GPUTexture *depth_array_placeholder;
- struct GPUTexture *cube_face_minmaxz;
struct GPUVertFormat *format_probe_display_cube;
struct GPUVertFormat *format_probe_display_planar;
diff --git a/source/blender/draw/engines/eevee/eevee_materials.c b/source/blender/draw/engines/eevee/eevee_materials.c
index f01c6363ccb..d0fe7c6637e 100644
--- a/source/blender/draw/engines/eevee/eevee_materials.c
+++ b/source/blender/draw/engines/eevee/eevee_materials.c
@@ -68,8 +68,6 @@ static struct {
uint sss_count;
- float alpha_hash_offset;
- float alpha_hash_scale;
float noise_offsets[3];
} e_data = {NULL}; /* Engine data */
@@ -311,6 +309,9 @@ static char *eevee_get_defines(int options)
if ((options & VAR_MAT_LOOKDEV) != 0) {
BLI_dynstr_append(ds, "#define LOOKDEV\n");
}
+ if ((options & VAR_MAT_HOLDOUT) != 0) {
+ BLI_dynstr_append(ds, "#define HOLDOUT\n");
+ }
str = BLI_dynstr_get_cstring(ds);
BLI_dynstr_free(ds);
@@ -609,14 +610,14 @@ void EEVEE_materials_init(EEVEE_ViewLayerData *sldata,
}
if (!DRW_state_is_image_render() && ((stl->effects->enabled_effects & EFFECT_TAA) == 0)) {
- e_data.alpha_hash_offset = 0.0f;
- e_data.alpha_hash_scale = 1.0f;
+ sldata->common_data.alpha_hash_offset = 0.0f;
+ sldata->common_data.alpha_hash_scale = 1.0f;
}
else {
double r;
BLI_halton_1d(5, 0.0, stl->effects->taa_current_sample - 1, &r);
- e_data.alpha_hash_offset = (float)r;
- e_data.alpha_hash_scale = 0.01f;
+ sldata->common_data.alpha_hash_offset = (float)r;
+ sldata->common_data.alpha_hash_scale = 0.01f;
}
{
@@ -865,6 +866,7 @@ static struct DRWShadingGroup *EEVEE_default_shading_group_get(EEVEE_ViewLayerDa
ParticleSystem *psys,
ModifierData *md,
bool is_hair,
+ bool holdout,
bool use_ssr)
{
static int ssr_id;
@@ -876,6 +878,7 @@ static struct DRWShadingGroup *EEVEE_default_shading_group_get(EEVEE_ViewLayerDa
BLI_assert(!is_hair || (ob && psys && md));
SET_FLAG_FROM_TEST(options, is_hair, VAR_MAT_HAIR);
+ SET_FLAG_FROM_TEST(options, holdout, VAR_MAT_HOLDOUT);
if (e_data.default_lit[options] == NULL) {
create_default_shader(options);
@@ -1116,7 +1119,8 @@ static void material_opaque(Material *ma,
struct GPUMaterial **gpumat_depth,
struct DRWShadingGroup **shgrp,
struct DRWShadingGroup **shgrp_depth,
- struct DRWShadingGroup **shgrp_depth_clip)
+ struct DRWShadingGroup **shgrp_depth_clip,
+ bool holdout)
{
EEVEE_EffectsInfo *effects = vedata->stl->effects;
const DRWContextState *draw_ctx = DRW_context_state_get();
@@ -1131,7 +1135,7 @@ static void material_opaque(Material *ma,
float *rough_p = &ma->roughness;
const bool do_cull = (ma->blend_flag & MA_BL_CULL_BACKFACE) != 0;
- const bool use_gpumat = (ma->use_nodes && ma->nodetree);
+ const bool use_gpumat = (ma->use_nodes && ma->nodetree && !holdout);
const bool use_ssrefract = ((ma->blend_flag & MA_BL_SS_REFRACTION) != 0) &&
((effects->enabled_effects & EFFECT_REFRACT) != 0);
const bool use_translucency = ((ma->blend_flag & MA_BL_TRANSLUCENCY) != 0);
@@ -1218,14 +1222,6 @@ static void material_opaque(Material *ma,
DRW_shgroup_uniform_float(*shgrp_depth, "alphaThreshold", &ma->alpha_threshold, 1);
DRW_shgroup_uniform_float(*shgrp_depth_clip, "alphaThreshold", &ma->alpha_threshold, 1);
}
- else if (ma->blend_method == MA_BM_HASHED) {
- DRW_shgroup_uniform_float(*shgrp_depth, "hashAlphaOffset", &e_data.alpha_hash_offset, 1);
- DRW_shgroup_uniform_float(
- *shgrp_depth_clip, "hashAlphaOffset", &e_data.alpha_hash_offset, 1);
- DRW_shgroup_uniform_float_copy(*shgrp_depth, "hashAlphaScale", e_data.alpha_hash_scale);
- DRW_shgroup_uniform_float_copy(
- *shgrp_depth_clip, "hashAlphaScale", e_data.alpha_hash_scale);
- }
}
}
@@ -1301,7 +1297,8 @@ static void material_opaque(Material *ma,
/* Fallback to default shader */
if (*shgrp == NULL) {
bool use_ssr = ((effects->enabled_effects & EFFECT_SSR) != 0);
- *shgrp = EEVEE_default_shading_group_get(sldata, vedata, NULL, NULL, NULL, false, use_ssr);
+ *shgrp = EEVEE_default_shading_group_get(
+ sldata, vedata, NULL, NULL, NULL, false, holdout, use_ssr);
DRW_shgroup_uniform_vec3(*shgrp, "basecol", color_p, 1);
DRW_shgroup_uniform_float(*shgrp, "metallic", metal_p, 1);
DRW_shgroup_uniform_float(*shgrp, "specular", spec_p, 1);
@@ -1453,6 +1450,7 @@ void EEVEE_materials_cache_populate(EEVEE_Data *vedata,
const DRWContextState *draw_ctx = DRW_context_state_get();
Scene *scene = draw_ctx->scene;
GHash *material_hash = stl->g_data->material_hash;
+ const bool holdout = (ob->base_flag & BASE_HOLDOUT) != 0;
bool use_sculpt_pbvh = BKE_sculptsession_use_pbvh_draw(ob, draw_ctx->v3d) &&
!DRW_state_is_image_render();
@@ -1479,6 +1477,20 @@ void EEVEE_materials_cache_populate(EEVEE_Data *vedata,
shgrp_depth_array[i] = NULL;
shgrp_depth_clip_array[i] = NULL;
+ if (holdout) {
+ material_opaque(ma_array[i],
+ material_hash,
+ sldata,
+ vedata,
+ &gpumat_array[i],
+ &gpumat_depth_array[i],
+ &shgrp_array[i],
+ &shgrp_depth_array[i],
+ &shgrp_depth_clip_array[i],
+ true);
+ continue;
+ }
+
switch (ma_array[i]->blend_method) {
case MA_BM_SOLID:
case MA_BM_CLIP:
@@ -1491,7 +1503,8 @@ void EEVEE_materials_cache_populate(EEVEE_Data *vedata,
&gpumat_depth_array[i],
&shgrp_array[i],
&shgrp_depth_array[i],
- &shgrp_depth_clip_array[i]);
+ &shgrp_depth_clip_array[i],
+ false);
break;
case MA_BM_BLEND:
material_transparent(ma_array[i],
@@ -1588,7 +1601,9 @@ void EEVEE_materials_cache_populate(EEVEE_Data *vedata,
/* Shadow Pass */
struct GPUMaterial *gpumat;
- switch (ma_array[i]->blend_shadow) {
+ const bool use_gpumat = (ma_array[i]->use_nodes && ma_array[i]->nodetree);
+ char blend_shadow = use_gpumat ? ma_array[i]->blend_shadow : MA_BS_SOLID;
+ switch (blend_shadow) {
case MA_BS_SOLID:
EEVEE_shadows_caster_add(sldata, stl, mat_geom[i], ob);
*cast_shadow = true;
@@ -1630,6 +1645,7 @@ void EEVEE_hair_cache_populate(EEVEE_Data *vedata,
Scene *scene = draw_ctx->scene;
bool use_ssr = ((stl->effects->enabled_effects & EFFECT_SSR) != 0);
+ const bool holdout = (ob->base_flag & BASE_HOLDOUT) != 0;
if (ob->type == OB_MESH) {
if (ob != draw_ctx->object_edit) {
@@ -1662,7 +1678,8 @@ void EEVEE_hair_cache_populate(EEVEE_Data *vedata,
ob, psys, md, psl->depth_pass_clip, e_data.default_hair_prepass_clip_sh);
shgrp = NULL;
- if (ma->use_nodes && ma->nodetree) {
+
+ if (ma->use_nodes && ma->nodetree && !holdout) {
static int ssr_id;
ssr_id = (use_ssr) ? 1 : -1;
static float half = 0.5f;
@@ -1713,7 +1730,8 @@ void EEVEE_hair_cache_populate(EEVEE_Data *vedata,
/* Fallback to default shader */
if (shgrp == NULL) {
- shgrp = EEVEE_default_shading_group_get(sldata, vedata, ob, psys, md, true, use_ssr);
+ shgrp = EEVEE_default_shading_group_get(
+ sldata, vedata, ob, psys, md, true, holdout, use_ssr);
DRW_shgroup_uniform_vec3(shgrp, "basecol", color_p, 1);
DRW_shgroup_uniform_float(shgrp, "metallic", metal_p, 1);
DRW_shgroup_uniform_float(shgrp, "specular", spec_p, 1);
diff --git a/source/blender/draw/engines/eevee/eevee_occlusion.c b/source/blender/draw/engines/eevee/eevee_occlusion.c
index 924b3d3b19b..48e9b5bcc13 100644
--- a/source/blender/draw/engines/eevee/eevee_occlusion.c
+++ b/source/blender/draw/engines/eevee/eevee_occlusion.c
@@ -33,6 +33,7 @@
#include "eevee_private.h"
#include "GPU_extensions.h"
+#include "GPU_platform.h"
#include "GPU_state.h"
static struct {
@@ -40,7 +41,6 @@ static struct {
struct GPUShader *gtao_sh;
struct GPUShader *gtao_layer_sh;
struct GPUShader *gtao_debug_sh;
- struct GPUTexture *src_depth;
struct GPUTexture *dummy_horizon_tx;
} e_data = {NULL}; /* Engine data */
diff --git a/source/blender/draw/engines/eevee/eevee_private.h b/source/blender/draw/engines/eevee/eevee_private.h
index f4f40d40de6..7d02aacfac7 100644
--- a/source/blender/draw/engines/eevee/eevee_private.h
+++ b/source/blender/draw/engines/eevee/eevee_private.h
@@ -157,10 +157,11 @@ enum {
VAR_MAT_BLEND = (1 << 3),
VAR_MAT_VOLUME = (1 << 4),
VAR_MAT_LOOKDEV = (1 << 5),
+ VAR_MAT_HOLDOUT = (1 << 6),
/* Max number of variation */
/* IMPORTANT : Leave it last and set
* it's value accordingly. */
- VAR_MAT_MAX = (1 << 6),
+ VAR_MAT_MAX = (1 << 7),
/* These are options that are not counted in VAR_MAT_MAX
* because they are not cumulative with the others above. */
VAR_MAT_CLIP = (1 << 9),
@@ -665,9 +666,13 @@ typedef struct EEVEE_CommonUniformBuffer {
float prb_lod_cube_max; /* float */
float prb_lod_planar_max; /* float */
/* Misc */
- int hiz_mip_offset; /* int */
- int ray_type; /* int */
- float ray_depth; /* float */
+ int hiz_mip_offset; /* int */
+ int ray_type; /* int */
+ float ray_depth; /* float */
+ float alpha_hash_offset; /* float */
+ float alpha_hash_scale; /* float */
+ float pad7; /* float */
+ float pad8; /* float */
} EEVEE_CommonUniformBuffer;
BLI_STATIC_ASSERT_ALIGN(EEVEE_CommonUniformBuffer, 16)
diff --git a/source/blender/draw/engines/eevee/eevee_screen_raytrace.c b/source/blender/draw/engines/eevee/eevee_screen_raytrace.c
index 2daf2388d63..591ca31017c 100644
--- a/source/blender/draw/engines/eevee/eevee_screen_raytrace.c
+++ b/source/blender/draw/engines/eevee/eevee_screen_raytrace.c
@@ -46,7 +46,6 @@ static struct {
/* These are just references, not actually allocated */
struct GPUTexture *depth_src;
- struct GPUTexture *color_src;
} e_data = {{NULL}}; /* Engine data */
extern char datatoc_ambient_occlusion_lib_glsl[];
diff --git a/source/blender/draw/engines/eevee/eevee_shadows.c b/source/blender/draw/engines/eevee/eevee_shadows.c
index 46fc6e07c1c..1776f535237 100644
--- a/source/blender/draw/engines/eevee/eevee_shadows.c
+++ b/source/blender/draw/engines/eevee/eevee_shadows.c
@@ -365,7 +365,7 @@ void EEVEE_shadows_draw(EEVEE_ViewLayerData *sldata, EEVEE_Data *vedata, DRWView
/* Precompute all shadow/view test before rendering and trashing the culling cache. */
BLI_bitmap *cube_visible = BLI_BITMAP_NEW_ALLOCA(MAX_SHADOW_CUBE);
- bool any_visible = false;
+ bool any_visible = linfo->cascade_len > 0;
for (int cube = 0; cube < linfo->cube_len; cube++) {
if (DRW_culling_sphere_test(view, linfo->shadow_bounds + cube)) {
BLI_BITMAP_ENABLE(cube_visible, cube);
@@ -373,7 +373,7 @@ void EEVEE_shadows_draw(EEVEE_ViewLayerData *sldata, EEVEE_Data *vedata, DRWView
}
}
- if (!any_visible && linfo->cascade_len == 0) {
+ if (any_visible) {
sldata->common_data.ray_type = EEVEE_RAY_SHADOW;
DRW_uniformbuffer_update(sldata->common_ubo, &sldata->common_data);
}
@@ -400,7 +400,7 @@ void EEVEE_shadows_draw(EEVEE_ViewLayerData *sldata, EEVEE_Data *vedata, DRWView
DRW_uniformbuffer_update(sldata->shadow_ubo, &linfo->shadow_data); /* Update all data at once */
- if (!any_visible && linfo->cascade_len == 0) {
+ if (any_visible) {
sldata->common_data.ray_type = saved_ray_type;
DRW_uniformbuffer_update(sldata->common_ubo, &sldata->common_data);
}
diff --git a/source/blender/draw/engines/eevee/eevee_volumes.c b/source/blender/draw/engines/eevee/eevee_volumes.c
index c9422c80e69..cc2e6aff7bf 100644
--- a/source/blender/draw/engines/eevee/eevee_volumes.c
+++ b/source/blender/draw/engines/eevee/eevee_volumes.c
@@ -41,6 +41,7 @@
#include "eevee_private.h"
#include "GPU_draw.h"
+#include "GPU_extensions.h"
#include "GPU_texture.h"
#include "GPU_material.h"
@@ -54,7 +55,6 @@ static struct {
struct GPUShader *volumetric_integration_sh;
struct GPUShader *volumetric_resolve_sh;
- GPUTexture *color_src;
GPUTexture *depth_src;
GPUTexture *dummy_density;
@@ -82,7 +82,9 @@ extern char datatoc_volumetric_integration_frag_glsl[];
extern char datatoc_volumetric_lib_glsl[];
extern char datatoc_common_fullscreen_vert_glsl[];
-#define USE_VOLUME_OPTI (GLEW_ARB_shader_image_load_store && GLEW_ARB_shading_language_420pack)
+#define USE_VOLUME_OPTI \
+ (GLEW_ARB_shader_image_load_store && GLEW_ARB_shading_language_420pack && \
+ !GPU_crappy_amd_driver())
static void eevee_create_shader_volumes(void)
{
diff --git a/source/blender/draw/engines/eevee/shaders/bsdf_common_lib.glsl b/source/blender/draw/engines/eevee/shaders/bsdf_common_lib.glsl
index 98012aea303..b9a971570df 100644
--- a/source/blender/draw/engines/eevee/shaders/bsdf_common_lib.glsl
+++ b/source/blender/draw/engines/eevee/shaders/bsdf_common_lib.glsl
@@ -140,6 +140,10 @@ float min_v3(vec3 v)
{
return min(v.x, min(v.y, v.z));
}
+float min_v4(vec4 v)
+{
+ return min(min(v.x, v.y), min(v.z, v.w));
+}
float max_v2(vec2 v)
{
return max(v.x, v.y);
@@ -148,6 +152,10 @@ float max_v3(vec3 v)
{
return max(v.x, max(v.y, v.z));
}
+float max_v4(vec4 v)
+{
+ return max(max(v.x, v.y), max(v.z, v.w));
+}
float sum(vec2 v)
{
@@ -918,14 +926,15 @@ void main()
Closure cl = nodetree_exec();
float holdout = 1.0 - saturate(cl.holdout);
+ float transmit = saturate(avg(cl.transmittance));
+ float alpha = 1.0 - transmit;
# ifdef USE_ALPHA_BLEND
vec2 uvs = gl_FragCoord.xy * volCoordScale.zw;
vec3 vol_transmit, vol_scatter;
volumetric_resolve(uvs, gl_FragCoord.z, vol_transmit, vol_scatter);
- float transmit = saturate(avg(cl.transmittance));
- outRadiance = vec4(cl.radiance * vol_transmit + vol_scatter, (1.0 - transmit) * holdout);
+ outRadiance = vec4(cl.radiance * vol_transmit + vol_scatter, alpha * holdout);
outTransmittance = vec4(cl.transmittance, transmit * holdout);
# else
outRadiance = vec4(cl.radiance, holdout);
@@ -953,6 +962,15 @@ void main()
outRadiance.rgb += cl.sss_irradiance.rgb * cl.sss_albedo.rgb * fac;
# endif
+
+# ifndef USE_ALPHA_BLEND
+ float alpha_div = 1.0 / max(1e-8, alpha);
+ outRadiance.rgb *= alpha_div;
+ ssrData.rgb *= alpha_div;
+# ifdef USE_SSS
+ sssAlbedo.rgb *= alpha_div;
+# endif
+# endif
}
# endif /* MESH_SHADER && !SHADOW_SHADER */
diff --git a/source/blender/draw/engines/eevee/shaders/common_uniforms_lib.glsl b/source/blender/draw/engines/eevee/shaders/common_uniforms_lib.glsl
index c7ae2417904..7f255b0859d 100644
--- a/source/blender/draw/engines/eevee/shaders/common_uniforms_lib.glsl
+++ b/source/blender/draw/engines/eevee/shaders/common_uniforms_lib.glsl
@@ -43,6 +43,10 @@ layout(std140) uniform common_block
int hizMipOffset;
int rayType;
float rayDepth;
+ float alphaHashOffset;
+ float alphaHashScale;
+ float pad7;
+ float pad8;
};
/* rayType (keep in sync with ray_type) */
diff --git a/source/blender/draw/engines/eevee/shaders/default_frag.glsl b/source/blender/draw/engines/eevee/shaders/default_frag.glsl
index ca06d458f6e..a031ed193b6 100644
--- a/source/blender/draw/engines/eevee/shaders/default_frag.glsl
+++ b/source/blender/draw/engines/eevee/shaders/default_frag.glsl
@@ -41,5 +41,10 @@ Closure nodetree_exec(void)
gl_FragDepth = 0.0;
#endif
+#ifdef HOLDOUT
+ cl = CLOSURE_DEFAULT;
+ cl.holdout = 1.0;
+#endif
+
return cl;
}
diff --git a/source/blender/draw/engines/eevee/shaders/effect_translucency_frag.glsl b/source/blender/draw/engines/eevee/shaders/effect_translucency_frag.glsl
index 86f53522bc6..6531ceb8dbe 100644
--- a/source/blender/draw/engines/eevee/shaders/effect_translucency_frag.glsl
+++ b/source/blender/draw/engines/eevee/shaders/effect_translucency_frag.glsl
@@ -70,6 +70,18 @@ float light_translucent_power_with_falloff(LightData ld, vec3 N, vec4 l_vector)
#define scube(x) shadows_cube_data[x]
#define scascade(x) shadows_cascade_data[x]
+float shadow_cube_radial_depth(vec3 cubevec, float tex_id, int shadow_id)
+{
+ float depth = sample_cube(sssShadowCubes, cubevec, tex_id).r;
+ /* To reverting the constant bias from shadow rendering. (Tweaked for 16bit shadowmaps) */
+ const float depth_bias = 3.1e-5;
+ depth = saturate(depth - depth_bias);
+
+ depth = linear_depth(true, depth, sd(shadow_id).sh_far, sd(shadow_id).sh_near);
+ depth *= length(cubevec / max_v3(abs(cubevec)));
+ return depth;
+}
+
vec3 light_translucent(LightData ld, vec3 W, vec3 N, vec4 l_vector, vec2 rand, float sss_scale)
{
int shadow_id = int(ld.l_shadowid);
@@ -79,12 +91,12 @@ vec3 light_translucent(LightData ld, vec3 W, vec3 N, vec4 l_vector, vec2 rand, f
/* We use the full l_vector.xyz so that the spread is minimize
* if the shading point is further away from the light source */
/* TODO(fclem) do something better than this. */
- // vec3 T, B;
- // make_orthonormal_basis(L.xyz / L.w, T, B);
- // rand.xy *= data.sh_blur;
- // W = W + T * rand.x + B * rand.y;
+ vec3 T, B;
+ make_orthonormal_basis(L.xyz / L.w, T, B);
- float s, dist;
+ vec3 n;
+ vec4 depths;
+ float d, dist;
int data_id = int(sd(shadow_id).sh_data_index);
if (ld.l_type == SUN) {
vec4 view_z = vec4(dot(W - cameraPos, cameraForward));
@@ -105,20 +117,62 @@ vec3 light_translucent(LightData ld, vec3 W, vec3 N, vec4 l_vector, vec2 rand, f
return vec3(0.0);
}
- float tex_id = scascade(data_id).sh_tex_index;
- s = sample_cascade(sssShadowCascades, shpos.xy, tex_id + id).r;
- s *= range;
+ float tex_id = scascade(data_id).sh_tex_index + id;
+
+ /* Assume cascades have same height and width. */
+ vec2 ofs = vec2(1.0, 0.0) / float(textureSize(sssShadowCascades, 0).x);
+ d = sample_cascade(sssShadowCascades, shpos.xy, tex_id).r;
+ depths.x = sample_cascade(sssShadowCascades, shpos.xy + ofs.xy, tex_id).r;
+ depths.y = sample_cascade(sssShadowCascades, shpos.xy + ofs.yx, tex_id).r;
+ depths.z = sample_cascade(sssShadowCascades, shpos.xy - ofs.xy, tex_id).r;
+ depths.w = sample_cascade(sssShadowCascades, shpos.xy - ofs.yx, tex_id).r;
+
+ /* To reverting the constant bias from shadow rendering. (Tweaked for 16bit shadowmaps) */
+ float depth_bias = 3.1e-5;
+ depths = saturate(depths - depth_bias);
+ d = saturate(d - depth_bias);
+
+ /* Size of a texel in world space.
+ * FIXME This is only correct if l_right is the same right vector used for shadowmap creation.
+ * This won't work if the shadow matrix is rotated (soft shadows).
+ * TODO precompute */
+ float unit_world_in_uv_space = length(mat3(scascade(data_id).shadowmat[int(id)]) * ld.l_right);
+ float dx_scale = 2.0 * ofs.x / unit_world_in_uv_space;
+
+ d *= range;
+ depths *= range;
+
+ /* This is the normal of the occluder in world space. */
+ // vec3 T = ld.l_forward * dx + ld.l_right * dx_scale;
+ // vec3 B = ld.l_forward * dy + ld.l_up * dx_scale;
+ // n = normalize(cross(T, B));
}
else {
+ float ofs = 1.0 / float(textureSize(sssShadowCubes, 0).x);
+
vec3 cubevec = transform_point(scube(data_id).shadowmat, W);
dist = length(cubevec);
cubevec /= dist;
/* tex_id == data_id for cube shadowmap */
float tex_id = float(data_id);
- s = sample_cube(sssShadowCubes, cubevec, tex_id).r;
- s = length(cubevec / max_v3(abs(cubevec))) *
- linear_depth(true, s, sd(shadow_id).sh_far, sd(shadow_id).sh_near);
+ d = shadow_cube_radial_depth(cubevec, tex_id, shadow_id);
+ /* NOTE: The offset is irregular in respect to cubeface uvs. But it has
+ * a much more uniform behavior than biasing based on face derivatives. */
+ depths.x = shadow_cube_radial_depth(cubevec + T * ofs, tex_id, shadow_id);
+ depths.y = shadow_cube_radial_depth(cubevec + B * ofs, tex_id, shadow_id);
+ depths.z = shadow_cube_radial_depth(cubevec - T * ofs, tex_id, shadow_id);
+ depths.w = shadow_cube_radial_depth(cubevec - B * ofs, tex_id, shadow_id);
}
+
+ float dx = depths.x - depths.z;
+ float dy = depths.y - depths.w;
+
+ float s = min(d, min_v4(depths));
+
+ /* To avoid light leak from depth discontinuity and shadowmap aliasing. */
+ float slope_bias = (abs(dx) + abs(dy)) * 0.5;
+ s -= slope_bias;
+
float delta = dist - s;
float power = light_translucent_power_with_falloff(ld, N, l_vector);
diff --git a/source/blender/draw/engines/eevee/shaders/lights_lib.glsl b/source/blender/draw/engines/eevee/shaders/lights_lib.glsl
index b1c78cae54f..6427f02ed25 100644
--- a/source/blender/draw/engines/eevee/shaders/lights_lib.glsl
+++ b/source/blender/draw/engines/eevee/shaders/lights_lib.glsl
@@ -70,7 +70,6 @@ vec2 cubeFaceCoordEEVEE(vec3 P, float face, sampler2DArrayShadow tex)
vec4 sample_cube(sampler2DArray tex, vec3 cubevec, float cube)
{
/* Manual Shadow Cube Layer indexing. */
- /* TODO Shadow Cube Array. */
float face = cubeFaceIndexEEVEE(cubevec);
vec2 uv = cubeFaceCoordEEVEE(cubevec, face, tex);
diff --git a/source/blender/draw/engines/eevee/shaders/prepass_frag.glsl b/source/blender/draw/engines/eevee/shaders/prepass_frag.glsl
index dea6bc020ec..b49dbfceba2 100644
--- a/source/blender/draw/engines/eevee/shaders/prepass_frag.glsl
+++ b/source/blender/draw/engines/eevee/shaders/prepass_frag.glsl
@@ -12,14 +12,11 @@ float hash3d(vec3 a)
return hash(vec2(hash(a.xy), a.z));
}
-uniform float hashAlphaOffset;
-uniform float hashAlphaScale = 1.0; /* Roughly in pixel */
-
float hashed_alpha_threshold(vec3 co)
{
/* Find the discretized derivatives of our coordinates. */
float max_deriv = max(length(dFdx(co)), length(dFdy(co)));
- float pix_scale = 1.0 / (hashAlphaScale * max_deriv);
+ float pix_scale = 1.0 / (alphaHashScale * max_deriv);
/* Find two nearest log-discretized noise scales. */
float pix_scale_log = log2(pix_scale);
@@ -52,7 +49,7 @@ float hashed_alpha_threshold(vec3 co)
threshold = clamp(threshold, 1.0e-6, 1.0);
/* Jitter the threshold for TAA accumulation. */
- return fract(threshold + hashAlphaOffset);
+ return fract(threshold + alphaHashOffset);
}
#endif
diff --git a/source/blender/draw/engines/gpencil/gpencil_cache_utils.c b/source/blender/draw/engines/gpencil/gpencil_cache_utils.c
index 33e6d73eeeb..f9df1342bf8 100644
--- a/source/blender/draw/engines/gpencil/gpencil_cache_utils.c
+++ b/source/blender/draw/engines/gpencil/gpencil_cache_utils.c
@@ -50,10 +50,6 @@ static bool gpencil_has_noninstanced_object(Object *ob_instance)
if (ob->type != OB_GPENCIL) {
continue;
}
- /* object must be visible (invisible objects don't create VBO data) */
- if (!(DRW_object_visibility_in_active_context(ob) & OB_VISIBLE_SELF)) {
- continue;
- }
/* is not duplicated and the name is equals */
if ((ob->base_flag & BASE_FROM_DUPLI) == 0) {
if (STREQ(ob->id.name, ob_instance->id.name)) {
diff --git a/source/blender/draw/engines/gpencil/gpencil_draw_utils.c b/source/blender/draw/engines/gpencil/gpencil_draw_utils.c
index 743a2fb546c..efc73fd1056 100644
--- a/source/blender/draw/engines/gpencil/gpencil_draw_utils.c
+++ b/source/blender/draw/engines/gpencil/gpencil_draw_utils.c
@@ -37,7 +37,6 @@
#include "DNA_gpencil_types.h"
#include "DNA_material_types.h"
#include "DNA_view3d_types.h"
-#include "DNA_gpencil_modifier_types.h"
/* If builtin shaders are needed */
#include "GPU_shader.h"
@@ -140,20 +139,15 @@ static void gpencil_calc_vertex(GPENCIL_StorageList *stl,
}
Object *ob = cache_ob->ob;
- const DRWContextState *draw_ctx = DRW_context_state_get();
- const bool main_onion = draw_ctx->v3d != NULL ?
- (draw_ctx->v3d->gp_flag & V3D_GP_SHOW_ONION_SKIN) :
- true;
+ const bool main_onion = stl->storage->is_main_onion;
const bool playing = stl->storage->is_playing;
- const bool overlay = draw_ctx->v3d != NULL ?
- (bool)((draw_ctx->v3d->flag2 & V3D_HIDE_OVERLAYS) == 0) :
- true;
+ const bool overlay = stl->storage->is_main_overlay;
const bool do_onion = (bool)((gpd->flag & GP_DATA_STROKE_WEIGHTMODE) == 0) && overlay &&
main_onion && !playing && gpencil_onion_active(gpd);
const bool is_multiedit = (bool)GPENCIL_MULTIEDIT_SESSIONS_ON(gpd);
- /* Onion skining. */
+ /* Onion skinning. */
const int step = gpd->gstep;
const int mode = gpd->onion_mode;
const short onion_keytype = gpd->onion_keytype;
@@ -170,6 +164,32 @@ static void gpencil_calc_vertex(GPENCIL_StorageList *stl,
continue;
}
+ /* Relative onion mode needs to find the frame range before. */
+ int frame_from = -9999;
+ int frame_to = 9999;
+ if ((is_onion) && (mode == GP_ONION_MODE_RELATIVE)) {
+ /* 1) Found first Frame. */
+ int idx = 0;
+ if (gpl->actframe) {
+ for (bGPDframe *gf = gpl->actframe->prev; gf; gf = gf->prev) {
+ idx++;
+ frame_from = gf->framenum;
+ if (idx >= step) {
+ break;
+ }
+ }
+ /* 2) Found last Frame. */
+ idx = 0;
+ for (bGPDframe *gf = gpl->actframe->next; gf; gf = gf->next) {
+ idx++;
+ frame_to = gf->framenum;
+ if (idx >= gpd->gstep_next) {
+ break;
+ }
+ }
+ }
+ }
+
/* If multiedit or onion skin need to count all frames of the layer. */
if ((is_multiedit) || (is_onion)) {
init_gpf = gpl->frames.first;
@@ -192,21 +212,32 @@ static void gpencil_calc_vertex(GPENCIL_StorageList *stl,
}
}
else {
- /* Only selected frames. */
- if ((mode == GP_ONION_MODE_SELECTED) && ((gpf->flag & GP_FRAME_SELECT) == 0)) {
- continue;
- }
- /* Verify keyframe type. */
- if ((onion_keytype > -1) && (gpf->key_type != onion_keytype)) {
- continue;
- }
- /* Absolute range. */
- if (mode == GP_ONION_MODE_ABSOLUTE) {
- if ((gpl->actframe) && (abs(gpl->actframe->framenum - gpf->framenum) > step)) {
+ bool select = ((is_multiedit) &&
+ ((gpf == gpl->actframe) || (gpf->flag & GP_FRAME_SELECT)));
+
+ if (!select) {
+ /* Only selected frames. */
+ if ((mode == GP_ONION_MODE_SELECTED) && ((gpf->flag & GP_FRAME_SELECT) == 0)) {
continue;
}
+ /* Verify keyframe type. */
+ if ((onion_keytype > -1) && (gpf->key_type != onion_keytype)) {
+ continue;
+ }
+ /* Absolute range. */
+ if (mode == GP_ONION_MODE_ABSOLUTE) {
+ if ((gpl->actframe) && (abs(gpl->actframe->framenum - gpf->framenum) > step)) {
+ continue;
+ }
+ }
+ /* Relative range. */
+ if (mode == GP_ONION_MODE_RELATIVE) {
+ if ((gpf->framenum < frame_from) || (gpf->framenum > frame_to)) {
+ continue;
+ }
+ }
}
- /* For relative range it takes too much time compute, so use all frames. */
+
cache_ob->tot_vertex += gps->totpoints + 3;
cache_ob->tot_triangles += gps->totpoints - 1;
}
@@ -225,23 +256,6 @@ static void gpencil_calc_vertex(GPENCIL_StorageList *stl,
cache->b_point.tot_vertex = cache_ob->tot_vertex;
cache->b_edit.tot_vertex = cache_ob->tot_vertex;
cache->b_edlin.tot_vertex = cache_ob->tot_vertex;
-
- /* some modifiers can change the number of points */
- int factor = 0;
- GpencilModifierData *md;
- for (md = ob->greasepencil_modifiers.first; md; md = md->next) {
- const GpencilModifierTypeInfo *mti = BKE_gpencil_modifierType_getInfo(md->type);
- /* only modifiers that change size */
- if (mti && mti->getDuplicationFactor) {
- factor = mti->getDuplicationFactor(md);
-
- cache->b_fill.tot_vertex *= factor;
- cache->b_stroke.tot_vertex *= factor;
- cache->b_point.tot_vertex *= factor;
- cache->b_edit.tot_vertex *= factor;
- cache->b_edlin.tot_vertex *= factor;
- }
- }
}
/* Helper for doing all the checks on whether a stroke can be drawn */
@@ -1114,11 +1128,12 @@ static void gpencil_add_editpoints_vertexdata(GpencilBatchCache *cache,
*/
const bool show_points = (show_sculpt_points) || (is_weight_paint) ||
(GPENCIL_EDIT_MODE(gpd) &&
- (ts->gpencil_selectmode_edit != GP_SELECTMODE_STROKE));
+ ((ts->gpencil_selectmode_edit != GP_SELECTMODE_STROKE) ||
+ (gps->totpoints == 1)));
if (cache->is_dirty) {
if ((obact == ob) && ((v3d->flag2 & V3D_HIDE_OVERLAYS) == 0) &&
- (v3d->gp_flag & V3D_GP_SHOW_EDIT_LINES)) {
+ (v3d->gp_flag & V3D_GP_SHOW_EDIT_LINES) && (gps->totpoints > 1)) {
/* line of the original stroke */
gpencil_get_edlin_geom(&cache->b_edlin, gps, edit_alpha, hide_select);
@@ -1245,9 +1260,11 @@ static void gpencil_draw_strokes(GpencilBatchCache *cache,
gpencil_add_fill_vertexdata(
cache, ob, gpl, gpf, gps, opacity, tintcolor, false, custonion);
}
- /* stroke */
- /* No fill strokes, must show stroke always */
- if (((gp_style->flag & GP_STYLE_STROKE_SHOW) || (gps->flag & GP_STROKE_NOFILL)) &&
+ /* stroke
+ * No fill strokes, must show stroke always or if the total points is lower than 3,
+ * because the stroke cannot be filled and it would be invisible. */
+ if (((gp_style->flag & GP_STYLE_STROKE_SHOW) || (gps->flag & GP_STROKE_NOFILL) ||
+ (gps->totpoints < 3)) &&
((gp_style->stroke_rgba[3] > GPENCIL_ALPHA_OPACITY_THRESH) ||
(gpl->blend_mode == eGplBlendMode_Regular))) {
/* recalc strokes uv (geometry can be changed by modifiers) */
@@ -1267,12 +1284,14 @@ static void gpencil_draw_strokes(GpencilBatchCache *cache,
if (!stl->g_data->shgrps_edit_line) {
stl->g_data->shgrps_edit_line = DRW_shgroup_create(e_data->gpencil_line_sh,
psl->edit_pass);
+ DRW_shgroup_uniform_mat4(stl->g_data->shgrps_edit_line, "gpModelMatrix", ob->obmat);
}
if (!stl->g_data->shgrps_edit_point) {
stl->g_data->shgrps_edit_point = DRW_shgroup_create(e_data->gpencil_edit_point_sh,
psl->edit_pass);
const float *viewport_size = DRW_viewport_size_get();
DRW_shgroup_uniform_vec2(stl->g_data->shgrps_edit_point, "Viewport", viewport_size, 1);
+ DRW_shgroup_uniform_mat4(stl->g_data->shgrps_edit_point, "gpModelMatrix", ob->obmat);
}
gpencil_add_editpoints_vertexdata(cache, ob, gpd, gpl, gpf, gps);
@@ -1355,19 +1374,19 @@ static void gpencil_draw_onionskins(GpencilBatchCache *cache,
int idx;
float fac = 1.0f;
int step = 0;
- int mode = 0;
bool colflag = false;
- bGPDframe *gpf_loop = NULL;
+ const int mode = gpd->onion_mode;
+ bGPDframe *gpf_loop = ((gpd->onion_flag & GP_ONION_LOOP) && (mode != GP_ONION_MODE_SELECTED)) ?
+ gpl->frames.first :
+ NULL;
int last = gpf->framenum;
- colflag = (bool)gpd->onion_flag & GP_ONION_GHOST_PREVCOL;
+ colflag = (gpd->onion_flag & GP_ONION_GHOST_PREVCOL) != 0;
const short onion_keytype = gpd->onion_keytype;
-
/* -------------------------------
* 1) Draw Previous Frames First
* ------------------------------- */
step = gpd->gstep;
- mode = gpd->onion_mode;
if (gpd->onion_flag & GP_ONION_GHOST_PREVCOL) {
copy_v3_v3(color, gpd->gcolor_prev);
@@ -1416,7 +1435,7 @@ static void gpencil_draw_onionskins(GpencilBatchCache *cache,
}
/* if loop option, save the frame to use later */
- if ((mode != GP_ONION_MODE_ABSOLUTE) && (gpd->onion_flag & GP_ONION_LOOP)) {
+ if ((mode == GP_ONION_MODE_SELECTED) && (gpd->onion_flag & GP_ONION_LOOP)) {
gpf_loop = gf;
}
@@ -1427,7 +1446,6 @@ static void gpencil_draw_onionskins(GpencilBatchCache *cache,
* 2) Now draw next frames
* ------------------------------- */
step = gpd->gstep_next;
- mode = gpd->onion_mode;
if (gpd->onion_flag & GP_ONION_GHOST_NEXTCOL) {
copy_v3_v3(color, gpd->gcolor_next);
@@ -1782,8 +1800,8 @@ static void gpencil_shgroups_create(GPENCIL_e_data *e_data,
const bool overlay = draw_ctx->v3d != NULL ?
(bool)((draw_ctx->v3d->flag2 & V3D_HIDE_OVERLAYS) == 0) :
true;
- const bool main_onion = v3d != NULL ? (v3d->gp_flag & V3D_GP_SHOW_ONION_SKIN) : true;
- const bool do_onion = (bool)((gpd->flag & GP_DATA_STROKE_WEIGHTMODE) == 0) && main_onion &&
+ const bool screen_onion = v3d != NULL ? (v3d->gp_flag & V3D_GP_SHOW_ONION_SKIN) : true;
+ const bool do_onion = (bool)((gpd->flag & GP_DATA_STROKE_WEIGHTMODE) == 0) && screen_onion &&
overlay && gpencil_onion_active(gpd);
int start_stroke = 0;
@@ -2063,13 +2081,9 @@ void gpencil_populate_datablock(GPENCIL_e_data *e_data,
bGPdata *gpd_eval = (bGPdata *)ob->data;
bGPdata *gpd = (bGPdata *)DEG_get_original_id(&gpd_eval->id);
- const bool main_onion = draw_ctx->v3d != NULL ?
- (draw_ctx->v3d->gp_flag & V3D_GP_SHOW_ONION_SKIN) :
- true;
+ const bool main_onion = stl->storage->is_main_onion;
const bool playing = stl->storage->is_playing;
- const bool overlay = draw_ctx->v3d != NULL ?
- (bool)((draw_ctx->v3d->flag2 & V3D_HIDE_OVERLAYS) == 0) :
- true;
+ const bool overlay = stl->storage->is_main_overlay;
const bool do_onion = (bool)((gpd->flag & GP_DATA_STROKE_WEIGHTMODE) == 0) && overlay &&
main_onion && !playing && gpencil_onion_active(gpd);
diff --git a/source/blender/draw/engines/gpencil/gpencil_engine.c b/source/blender/draw/engines/gpencil/gpencil_engine.c
index 10e9a79d143..9554e9c0275 100644
--- a/source/blender/draw/engines/gpencil/gpencil_engine.c
+++ b/source/blender/draw/engines/gpencil/gpencil_engine.c
@@ -24,11 +24,13 @@
#include "BKE_gpencil.h"
#include "BKE_library.h"
+#include "BKE_main.h"
#include "BKE_object.h"
#include "BKE_paint.h"
#include "BKE_shader_fx.h"
#include "DNA_gpencil_types.h"
+#include "DNA_screen_types.h"
#include "DNA_view3d_types.h"
#include "draw_mode_engines.h"
@@ -305,6 +307,43 @@ static void GPENCIL_engine_free(void)
GPENCIL_delete_fx_shaders(&e_data);
}
+/* Helper: Check if the main overlay and onion switches are enabled in any screen.
+ *
+ * This is required to generate the onion skin and limit the times the cache is updated because the
+ * cache is generated only in the first screen and if the first screen has the onion disabled the
+ * cache for onion skin is not generated. The loop adds time, but always is faster than regenerate
+ * the cache all the times.
+ */
+static void gpencil_check_screen_switches(const DRWContextState *draw_ctx,
+ GPENCIL_StorageList *stl)
+{
+ stl->storage->is_main_overlay = false;
+ stl->storage->is_main_onion = false;
+ /* Check if main onion switch is enabled in any screen. */
+ Main *bmain = CTX_data_main(draw_ctx->evil_C);
+
+ for (bScreen *screen = bmain->screens.first; screen; screen = screen->id.next) {
+ for (const ScrArea *sa = screen->areabase.first; sa; sa = sa->next) {
+ if (sa && sa->spacetype == SPACE_VIEW3D) {
+ View3D *v3d = sa->spacedata.first;
+ if (v3d == NULL) {
+ continue;
+ }
+ if ((v3d->flag2 & V3D_HIDE_OVERLAYS) == 0) {
+ stl->storage->is_main_overlay = true;
+ }
+ if (v3d->gp_flag & V3D_GP_SHOW_ONION_SKIN) {
+ stl->storage->is_main_onion = true;
+ }
+ }
+ /* If found, don't need loop more. */
+ if ((stl->storage->is_main_overlay) && (stl->storage->is_main_onion)) {
+ return;
+ }
+ }
+ }
+}
+
void GPENCIL_cache_init(void *vedata)
{
GPENCIL_PassList *psl = ((GPENCIL_Data *)vedata)->psl;
@@ -315,6 +354,7 @@ void GPENCIL_cache_init(void *vedata)
ToolSettings *ts = scene->toolsettings;
View3D *v3d = draw_ctx->v3d;
Brush *brush = BKE_paint_brush(&ts->gp_paint->paint);
+ const View3DCursor *cursor = &scene->cursor;
/* Special handling for when active object is GP object (e.g. for draw mode) */
Object *obact = draw_ctx->obact;
@@ -390,10 +430,15 @@ void GPENCIL_cache_init(void *vedata)
stl->storage->reset_cache = true;
}
stl->storage->is_playing = playing;
+
+ /* Found if main overlay and onion switches are enabled in any screen. */
+ gpencil_check_screen_switches(draw_ctx, stl);
}
else {
stl->storage->is_playing = false;
stl->storage->reset_cache = false;
+ stl->storage->is_main_overlay = false;
+ stl->storage->is_main_onion = false;
}
/* save render state */
stl->storage->is_render = DRW_state_is_image_render();
@@ -540,11 +585,42 @@ void GPENCIL_cache_init(void *vedata)
}
/* grid pass */
- if (v3d) {
+ if ((v3d) && (obact) && (obact->type == OB_GPENCIL)) {
psl->grid_pass = DRW_pass_create("GPencil Grid Pass",
DRW_STATE_WRITE_COLOR | DRW_STATE_BLEND_ALPHA |
DRW_STATE_WRITE_DEPTH | DRW_STATE_DEPTH_ALWAYS);
stl->g_data->shgrps_grid = DRW_shgroup_create(e_data.gpencil_line_sh, psl->grid_pass);
+
+ /* define grid orientation */
+ switch (ts->gp_sculpt.lock_axis) {
+ case GP_LOCKAXIS_VIEW: {
+ /* align always to view */
+ invert_m4_m4(stl->storage->grid_matrix, draw_ctx->rv3d->viewmat);
+ /* copy ob location */
+ copy_v3_v3(stl->storage->grid_matrix[3], obact->obmat[3]);
+ break;
+ }
+ case GP_LOCKAXIS_CURSOR: {
+ float scale[3] = {1.0f, 1.0f, 1.0f};
+ loc_eul_size_to_mat4(
+ stl->storage->grid_matrix, cursor->location, cursor->rotation_euler, scale);
+ break;
+ }
+ default: {
+ copy_m4_m4(stl->storage->grid_matrix, obact->obmat);
+ break;
+ }
+ }
+
+ /* Move the origin to Object or Cursor */
+ if (ts->gpencil_v3d_align & GP_PROJECT_CURSOR) {
+ copy_v3_v3(stl->storage->grid_matrix[3], cursor->location);
+ }
+ else {
+ copy_v3_v3(stl->storage->grid_matrix[3], obact->obmat[3]);
+ }
+ DRW_shgroup_uniform_mat4(
+ stl->g_data->shgrps_grid, "gpModelMatrix", stl->storage->grid_matrix);
}
/* blend layers pass */
@@ -615,8 +691,6 @@ void GPENCIL_cache_populate(void *vedata, Object *ob)
Scene *scene = draw_ctx->scene;
ToolSettings *ts = scene->toolsettings;
View3D *v3d = draw_ctx->v3d;
- const View3DCursor *cursor = &scene->cursor;
- float grid_matrix[4][4];
if (ob->type == OB_GPENCIL && ob->data) {
bGPdata *gpd = (bGPdata *)ob->data;
@@ -677,36 +751,7 @@ void GPENCIL_cache_populate(void *vedata, Object *ob)
((ts->gpencil_v3d_align & GP_PROJECT_DEPTH_STROKE) == 0)) {
stl->g_data->batch_grid = gpencil_get_grid(ob);
-
- /* define grid orientation */
- switch (ts->gp_sculpt.lock_axis) {
- case GP_LOCKAXIS_VIEW: {
- /* align always to view */
- invert_m4_m4(grid_matrix, draw_ctx->rv3d->viewmat);
- /* copy ob location */
- copy_v3_v3(grid_matrix[3], ob->obmat[3]);
- break;
- }
- case GP_LOCKAXIS_CURSOR: {
- float scale[3] = {1.0f, 1.0f, 1.0f};
- loc_eul_size_to_mat4(grid_matrix, cursor->location, cursor->rotation_euler, scale);
- break;
- }
- default: {
- copy_m4_m4(grid_matrix, ob->obmat);
- break;
- }
- }
-
- /* Move the origin to Object or Cursor */
- if (ts->gpencil_v3d_align & GP_PROJECT_CURSOR) {
- copy_v3_v3(grid_matrix[3], cursor->location);
- }
- else {
- copy_v3_v3(grid_matrix[3], ob->obmat[3]);
- }
-
- DRW_shgroup_call_obmat(stl->g_data->shgrps_grid, stl->g_data->batch_grid, grid_matrix);
+ DRW_shgroup_call(stl->g_data->shgrps_grid, stl->g_data->batch_grid, NULL);
}
}
}
diff --git a/source/blender/draw/engines/gpencil/gpencil_engine.h b/source/blender/draw/engines/gpencil/gpencil_engine.h
index b014717e6f5..36bc205f41a 100644
--- a/source/blender/draw/engines/gpencil/gpencil_engine.h
+++ b/source/blender/draw/engines/gpencil/gpencil_engine.h
@@ -143,6 +143,8 @@ typedef struct GPENCIL_Storage {
bool is_playing;
bool is_render;
bool is_mat_preview;
+ bool is_main_overlay;
+ bool is_main_onion;
bool background_ready;
int is_xray;
bool is_ontop;
@@ -153,6 +155,7 @@ typedef struct GPENCIL_Storage {
int do_select_outline;
float select_color[4];
short multisamples;
+ float grid_matrix[4][4];
short framebuffer_flag; /* flag what framebuffer need to create */
diff --git a/source/blender/draw/engines/workbench/shaders/workbench_background_lib.glsl b/source/blender/draw/engines/workbench/shaders/workbench_background_lib.glsl
index a6d7c4b393b..3ac220aee59 100644
--- a/source/blender/draw/engines/workbench/shaders/workbench_background_lib.glsl
+++ b/source/blender/draw/engines/workbench/shaders/workbench_background_lib.glsl
@@ -1,5 +1,5 @@
vec3 background_color(WorldData world_data, float y)
{
return mix(world_data.background_color_low, world_data.background_color_high, y).xyz +
- bayer_dither_noise();
+ (world_data.background_dither_factor * bayer_dither_noise());
}
diff --git a/source/blender/draw/engines/workbench/shaders/workbench_data_lib.glsl b/source/blender/draw/engines/workbench/shaders/workbench_data_lib.glsl
index 16df56b393a..f60eca24821 100644
--- a/source/blender/draw/engines/workbench/shaders/workbench_data_lib.glsl
+++ b/source/blender/draw/engines/workbench/shaders/workbench_data_lib.glsl
@@ -16,5 +16,6 @@ struct WorldData {
float background_alpha;
float curvature_ridge;
float curvature_valley;
- int pad[3];
+ float background_dither_factor;
+ int pad[2];
};
diff --git a/source/blender/draw/engines/workbench/shaders/workbench_volume_frag.glsl b/source/blender/draw/engines/workbench/shaders/workbench_volume_frag.glsl
index c24c335189e..c38d8fe06bc 100644
--- a/source/blender/draw/engines/workbench/shaders/workbench_volume_frag.glsl
+++ b/source/blender/draw/engines/workbench/shaders/workbench_volume_frag.glsl
@@ -213,14 +213,14 @@ void main()
vec3 vs_ray_dir = (is_persp) ? (vs_ray_end - vs_ray_ori) : vec3(0.0, 0.0, -1.0);
vs_ray_dir /= abs(vs_ray_dir.z);
- /* TODO(fclem) Precompute the matrix/ */
- vec3 ls_ray_dir = mat3(ViewMatrixInverse) * vs_ray_dir * OrcoTexCoFactors[1].xyz * 2.0;
- ls_ray_dir = mat3(ModelMatrixInverse) * ls_ray_dir;
+ vec3 ls_ray_dir = point_view_to_object(vs_ray_ori + vs_ray_dir);
vec3 ls_ray_ori = point_view_to_object(vs_ray_ori);
vec3 ls_ray_end = point_view_to_object(vs_ray_end);
+ ls_ray_dir = (OrcoTexCoFactors[0].xyz + ls_ray_dir * OrcoTexCoFactors[1].xyz) * 2.0 - 1.0;
ls_ray_ori = (OrcoTexCoFactors[0].xyz + ls_ray_ori * OrcoTexCoFactors[1].xyz) * 2.0 - 1.0;
ls_ray_end = (OrcoTexCoFactors[0].xyz + ls_ray_end * OrcoTexCoFactors[1].xyz) * 2.0 - 1.0;
+ ls_ray_dir -= ls_ray_ori;
/* TODO: Align rays to volume center so that it mimics old behaviour of slicing the volume. */
diff --git a/source/blender/draw/engines/workbench/workbench_data.c b/source/blender/draw/engines/workbench/workbench_data.c
index 743a1fc42b6..3e63f05ca64 100644
--- a/source/blender/draw/engines/workbench/workbench_data.c
+++ b/source/blender/draw/engines/workbench/workbench_data.c
@@ -111,6 +111,7 @@ void workbench_private_data_init(WORKBENCH_PrivateData *wpd)
zero_v3(wd->background_color_low);
zero_v3(wd->background_color_high);
}
+ wd->background_dither_factor = workbench_background_dither_factor(wpd);
studiolight_update_world(wpd, wpd->studio_light, wd);
diff --git a/source/blender/draw/engines/workbench/workbench_deferred.c b/source/blender/draw/engines/workbench/workbench_deferred.c
index 4b30bc34d5a..9e6aaa2dc26 100644
--- a/source/blender/draw/engines/workbench/workbench_deferred.c
+++ b/source/blender/draw/engines/workbench/workbench_deferred.c
@@ -78,7 +78,6 @@ static struct {
struct GPUTexture *object_id_tx; /* ref only, not alloced */
struct GPUTexture *color_buffer_tx; /* ref only, not alloced */
struct GPUTexture *cavity_buffer_tx; /* ref only, not alloced */
- struct GPUTexture *metallic_buffer_tx; /* ref only, not alloced */
struct GPUTexture *normal_buffer_tx; /* ref only, not alloced */
struct GPUTexture *composite_buffer_tx; /* ref only, not alloced */
diff --git a/source/blender/draw/engines/workbench/workbench_effect_taa.c b/source/blender/draw/engines/workbench/workbench_effect_taa.c
index 06442060623..772d859392b 100644
--- a/source/blender/draw/engines/workbench/workbench_effect_taa.c
+++ b/source/blender/draw/engines/workbench/workbench_effect_taa.c
@@ -139,7 +139,7 @@ void workbench_taa_engine_init(WORKBENCH_Data *vedata)
/* reset complete drawing when navigating. */
if (effect_info->jitter_index != 0) {
- if (rv3d && rv3d->rflag & RV3D_NAVIGATING) {
+ if (rv3d && rv3d->rflag & (RV3D_NAVIGATING | RV3D_PAINTING)) {
effect_info->jitter_index = 0;
}
}
diff --git a/source/blender/draw/engines/workbench/workbench_private.h b/source/blender/draw/engines/workbench/workbench_private.h
index f51da581827..595b92d19d0 100644
--- a/source/blender/draw/engines/workbench/workbench_private.h
+++ b/source/blender/draw/engines/workbench/workbench_private.h
@@ -75,7 +75,8 @@
V3D_SHADING_VERTEX_COLOR))
#define IS_NAVIGATING(wpd) \
- ((DRW_context_state_get()->rv3d) && (DRW_context_state_get()->rv3d->rflag & RV3D_NAVIGATING))
+ ((DRW_context_state_get()->rv3d) && \
+ (DRW_context_state_get()->rv3d->rflag & (RV3D_NAVIGATING | RV3D_PAINTING)))
#define OBJECT_OUTLINE_ENABLED(wpd) (wpd->shading.flag & V3D_SHADING_OBJECT_OUTLINE)
#define OBJECT_ID_PASS_ENABLED(wpd) (OBJECT_OUTLINE_ENABLED(wpd) || CURVATURE_ENABLED(wpd))
@@ -193,7 +194,8 @@ typedef struct WORKBENCH_UBO_World {
float background_alpha;
float curvature_ridge;
float curvature_valley;
- int pad[3];
+ float background_dither_factor;
+ int pad[2];
} WORKBENCH_UBO_World;
BLI_STATIC_ASSERT_ALIGN(WORKBENCH_UBO_World, 16)
@@ -405,6 +407,13 @@ BLI_INLINE eGPUTextureFormat workbench_color_texture_format(const WORKBENCH_Priv
return result;
}
+BLI_INLINE bool workbench_background_dither_factor(const WORKBENCH_PrivateData *wpd)
+{
+ /* Only apply dithering when rendering on a RGBA8 texture.
+ * The dithering will remove banding when using a gradient as background */
+ return workbench_color_texture_format(wpd) == GPU_RGBA8;
+}
+
/* workbench_deferred.c */
void workbench_deferred_engine_init(WORKBENCH_Data *vedata);
void workbench_deferred_engine_free(void);
diff --git a/source/blender/draw/engines/workbench/workbench_studiolight.c b/source/blender/draw/engines/workbench/workbench_studiolight.c
index ac27ff0b736..941a6741998 100644
--- a/source/blender/draw/engines/workbench/workbench_studiolight.c
+++ b/source/blender/draw/engines/workbench/workbench_studiolight.c
@@ -131,7 +131,7 @@ void studiolight_update_world(WORKBENCH_PrivateData *wpd,
static void compute_parallel_lines_nor_and_dist(const float v1[2],
const float v2[2],
const float v3[2],
- float r_line[2])
+ float r_line[4])
{
sub_v2_v2v2(r_line, v2, v1);
/* Find orthogonal vector. */
diff --git a/source/blender/draw/engines/workbench/workbench_volume.c b/source/blender/draw/engines/workbench/workbench_volume.c
index 4dc55141f0e..9078f2db562 100644
--- a/source/blender/draw/engines/workbench/workbench_volume.c
+++ b/source/blender/draw/engines/workbench/workbench_volume.c
@@ -46,8 +46,6 @@ enum {
static struct {
struct GPUShader *volume_sh[VOLUME_SH_MAX];
struct GPUShader *volume_coba_sh;
- struct GPUShader *volume_slice_sh;
- struct GPUShader *volume_slice_coba_sh;
struct GPUTexture *dummy_tex;
struct GPUTexture *dummy_coba_tex;
} e_data = {{NULL}};
diff --git a/source/blender/draw/intern/DRW_render.h b/source/blender/draw/intern/DRW_render.h
index 935920310dd..2c51eb8b7f8 100644
--- a/source/blender/draw/intern/DRW_render.h
+++ b/source/blender/draw/intern/DRW_render.h
@@ -75,12 +75,12 @@ struct RenderEngineType;
struct bContext;
struct rcti;
+typedef struct DRWCallBuffer DRWCallBuffer;
typedef struct DRWInterface DRWInterface;
typedef struct DRWPass DRWPass;
typedef struct DRWShadingGroup DRWShadingGroup;
typedef struct DRWUniform DRWUniform;
typedef struct DRWView DRWView;
-typedef struct DRWCallBuffer DRWCallBuffer;
/* TODO Put it somewhere else? */
typedef struct BoundSphere {
diff --git a/source/blender/draw/intern/draw_armature.c b/source/blender/draw/intern/draw_armature.c
index 865cfea14e3..e16dfb5004b 100644
--- a/source/blender/draw/intern/draw_armature.c
+++ b/source/blender/draw/intern/draw_armature.c
@@ -60,7 +60,6 @@ static struct {
Object *ob;
/* Reset when changing current_armature */
DRWCallBuffer *bone_octahedral_solid;
- DRWCallBuffer *bone_octahedral_wire;
DRWCallBuffer *bone_octahedral_outline;
DRWCallBuffer *bone_box_solid;
DRWCallBuffer *bone_box_wire;
@@ -1351,7 +1350,8 @@ static void draw_points(const EditBone *eBone,
bone_hint_color_shade(col_hint_tail, (g_theme.const_color) ? col_solid_tail : col_wire_tail);
/* Draw root point if we are not connected to our parent */
- if ((BONE_FLAG(eBone, pchan) & BONE_CONNECTED) == 0) {
+ if (!(eBone ? (eBone->parent && (eBone->flag & BONE_CONNECTED)) :
+ (pchan->bone->parent && (pchan->bone->flag & BONE_CONNECTED)))) {
if (select_id != -1) {
DRW_select_load_id(select_id | BONESEL_ROOT);
}
@@ -1519,29 +1519,32 @@ static void draw_bone_line(EditBone *eBone,
const float *col_head = no_display;
const float *col_tail = col_bone;
- if (eBone) {
- if (eBone->flag & BONE_TIPSEL) {
- col_tail = g_theme.vertex_select_color;
- }
- if (boneflag & BONE_SELECTED) {
- col_bone = g_theme.edge_select_color;
- }
- col_wire = g_theme.wire_color;
+ if (g_theme.const_color != NULL) {
+ col_wire = no_display; /* actually shrink the display. */
+ col_bone = col_head = col_tail = g_theme.const_color;
}
-
- /* Draw root point if we are not connected to our parent */
- if ((BONE_FLAG(eBone, pchan) & BONE_CONNECTED) == 0) {
+ else {
if (eBone) {
- col_head = (eBone->flag & BONE_ROOTSEL) ? g_theme.vertex_select_color : col_bone;
- }
- else if (pchan) {
- col_head = col_bone;
+ if (eBone->flag & BONE_TIPSEL) {
+ col_tail = g_theme.vertex_select_color;
+ }
+ if (boneflag & BONE_SELECTED) {
+ col_bone = g_theme.edge_select_color;
+ }
+ col_wire = g_theme.wire_color;
}
- }
- if (g_theme.const_color != NULL) {
- col_wire = no_display; /* actually shrink the display. */
- col_bone = col_head = col_tail = g_theme.const_color;
+ /* Draw root point if we are not connected to our parent. */
+ if (!(eBone ? (eBone->parent && (eBone->flag & BONE_CONNECTED)) :
+ (pchan->bone->parent && (pchan->bone->flag & BONE_CONNECTED)))) {
+
+ if (eBone) {
+ col_head = (eBone->flag & BONE_ROOTSEL) ? g_theme.vertex_select_color : col_bone;
+ }
+ else {
+ col_head = col_bone;
+ }
+ }
}
if (select_id == -1) {
diff --git a/source/blender/draw/intern/draw_cache.c b/source/blender/draw/intern/draw_cache.c
index 019098e5b90..b085d402e81 100644
--- a/source/blender/draw/intern/draw_cache.c
+++ b/source/blender/draw/intern/draw_cache.c
@@ -53,7 +53,6 @@ static struct DRWShapeCache {
GPUBatch *drw_cursor;
GPUBatch *drw_cursor_only_circle;
GPUBatch *drw_fullscreen_quad;
- GPUBatch *drw_fullscreen_quad_texcoord;
GPUBatch *drw_quad;
GPUBatch *drw_quad_wires;
GPUBatch *drw_grid;
@@ -72,8 +71,6 @@ static struct DRWShapeCache {
GPUBatch *drw_empty_capsule_body;
GPUBatch *drw_empty_capsule_cap;
GPUBatch *drw_empty_cone;
- GPUBatch *drw_arrows;
- GPUBatch *drw_axis_names;
GPUBatch *drw_image_plane;
GPUBatch *drw_image_plane_wire;
GPUBatch *drw_field_wind;
@@ -99,7 +96,6 @@ static struct DRWShapeCache {
GPUBatch *drw_bone_octahedral_wire;
GPUBatch *drw_bone_box;
GPUBatch *drw_bone_box_wire;
- GPUBatch *drw_bone_wire_wire;
GPUBatch *drw_bone_envelope;
GPUBatch *drw_bone_envelope_outline;
GPUBatch *drw_bone_point;
@@ -111,7 +107,6 @@ static struct DRWShapeCache {
GPUBatch *drw_camera;
GPUBatch *drw_camera_frame;
GPUBatch *drw_camera_tria;
- GPUBatch *drw_camera_focus;
GPUBatch *drw_particle_cross;
GPUBatch *drw_particle_circle;
GPUBatch *drw_particle_axis;
diff --git a/source/blender/draw/intern/draw_cache_extract.h b/source/blender/draw/intern/draw_cache_extract.h
index 75b8d820884..b1eab3c73ae 100644
--- a/source/blender/draw/intern/draw_cache_extract.h
+++ b/source/blender/draw/intern/draw_cache_extract.h
@@ -48,6 +48,9 @@ typedef struct DRW_MeshCDMask {
uint32_t vcol : 8;
uint32_t orco : 1;
uint32_t tan_orco : 1;
+ /** Edit uv layer is from the base edit mesh as
+ * modifiers could remove it. (see T68857) */
+ uint32_t edit_uv : 1;
} DRW_MeshCDMask;
typedef enum eMRIterType {
@@ -78,7 +81,7 @@ BLI_INLINE int mesh_render_mat_len_get(Mesh *me)
typedef struct MeshBufferCache {
/* Every VBO below contains at least enough
- * data for every loops in the mesh (except fdots).
+ * data for every loops in the mesh (except fdots and skin roots).
* For some VBOs, it extends to (in this exact order) :
* loops + loose_edges*2 + loose_verts */
struct {
@@ -101,6 +104,7 @@ typedef struct MeshBufferCache {
GPUVertBuf *fdots_uv;
// GPUVertBuf *fdots_edit_data; /* inside fdots_nor for now. */
GPUVertBuf *fdots_edituv_data;
+ GPUVertBuf *skin_roots;
/* Selection */
GPUVertBuf *vert_idx; /* extend */
GPUVertBuf *edge_idx; /* extend */
@@ -154,6 +158,7 @@ typedef enum DRWBatchFlag {
MBC_WIRE_LOOPS = (1 << 24),
MBC_WIRE_LOOPS_UVS = (1 << 25),
MBC_SURF_PER_MAT = (1 << 26),
+ MBC_SKIN_ROOTS = (1 << 27),
} DRWBatchFlag;
#define MBC_EDITUV \
@@ -182,6 +187,7 @@ typedef struct MeshBatchCache {
GPUBatch *edit_lnor;
GPUBatch *edit_fdots;
GPUBatch *edit_mesh_analysis;
+ GPUBatch *edit_skin_roots;
/* Edit UVs */
GPUBatch *edituv_faces_stretch_area;
GPUBatch *edituv_faces_stretch_angle;
diff --git a/source/blender/draw/intern/draw_cache_extract_mesh.c b/source/blender/draw/intern/draw_cache_extract_mesh.c
index eb0ddbc825e..c30cf9f6328 100644
--- a/source/blender/draw/intern/draw_cache_extract_mesh.c
+++ b/source/blender/draw/intern/draw_cache_extract_mesh.c
@@ -484,7 +484,7 @@ static void *extract_tris_init(const MeshRenderData *mr, void *UNUSED(ibo))
return data;
}
-static void extract_tris_looptri_bmesh(const MeshRenderData *UNUSED(mr),
+static void extract_tris_looptri_bmesh(const MeshRenderData *mr,
int UNUSED(t),
BMLoop **elt,
void *_data)
@@ -492,8 +492,9 @@ static void extract_tris_looptri_bmesh(const MeshRenderData *UNUSED(mr),
if (!BM_elem_flag_test(elt[0]->f, BM_ELEM_HIDDEN)) {
MeshExtract_Tri_Data *data = _data;
int *mat_tri_ofs = data->tri_mat_end;
+ int mat = min_ii(elt[0]->f->mat_nr, mr->mat_len - 1);
GPU_indexbuf_set_tri_verts(&data->elb,
- mat_tri_ofs[elt[0]->f->mat_nr]++,
+ mat_tri_ofs[mat]++,
BM_elem_index_get(elt[0]),
BM_elem_index_get(elt[1]),
BM_elem_index_get(elt[2]));
@@ -1183,8 +1184,7 @@ static void extract_edituv_lines_loop_mesh(const MeshRenderData *mr,
{
int loopend = mpoly->totloop + mpoly->loopstart - 1;
int loop_next_idx = (loop_idx == loopend) ? mpoly->loopstart : (loop_idx + 1);
- const bool real_edge = (mr->extract_type == MR_EXTRACT_MAPPED &&
- mr->e_origindex[mloop->e] != ORIGINDEX_NONE);
+ const bool real_edge = (mr->e_origindex == NULL || mr->e_origindex[mloop->e] != ORIGINDEX_NONE);
edituv_edge_add(data,
(mpoly->flag & ME_HIDE) != 0 || !real_edge,
(mpoly->flag & ME_FACE_SEL) != 0,
@@ -1602,6 +1602,14 @@ static void *extract_uv_init(const MeshRenderData *mr, void *buf)
CustomData *cd_ldata = (mr->extract_type == MR_EXTRACT_BMESH) ? &mr->bm->ldata : &mr->me->ldata;
uint32_t uv_layers = mr->cache->cd_used.uv;
+ /* HACK to fix T68857 */
+ if (mr->extract_type == MR_EXTRACT_BMESH && mr->cache->cd_used.edit_uv == 1) {
+ int layer = CustomData_get_active_layer(cd_ldata, CD_MLOOPUV);
+ if (layer != -1) {
+ uv_layers |= (1 << layer);
+ }
+ }
+
for (int i = 0; i < MAX_MTFACE; i++) {
if (uv_layers & (1 << i)) {
char attr_name[32], attr_safe_name[GPU_MAX_SAFE_ATTRIB_NAME];
@@ -3853,6 +3861,69 @@ static const MeshExtract extract_fdots_edituv_data = {
/** \} */
/* ---------------------------------------------------------------------- */
+/** \name Extract Skin Modifier Roots
+ * \{ */
+
+typedef struct SkinRootData {
+ float size;
+ float local_pos[3];
+} SkinRootData;
+
+static void *extract_skin_roots_init(const MeshRenderData *mr, void *buf)
+{
+ /* Exclusively for edit mode. */
+ BLI_assert(mr->bm);
+
+ static GPUVertFormat format = {0};
+ if (format.attr_len == 0) {
+ GPU_vertformat_attr_add(&format, "size", GPU_COMP_F32, 1, GPU_FETCH_FLOAT);
+ GPU_vertformat_attr_add(&format, "local_pos", GPU_COMP_F32, 3, GPU_FETCH_FLOAT);
+ }
+ GPUVertBuf *vbo = buf;
+ GPU_vertbuf_init_with_format(vbo, &format);
+ GPU_vertbuf_data_alloc(vbo, mr->bm->totvert);
+
+ SkinRootData *vbo_data = (SkinRootData *)vbo->data;
+
+ int root_len = 0;
+ int cd_ofs = CustomData_get_offset(&mr->bm->vdata, CD_MVERT_SKIN);
+
+ BMIter iter;
+ BMVert *eve;
+ BM_ITER_MESH (eve, &iter, mr->bm, BM_VERTS_OF_MESH) {
+ const MVertSkin *vs = BM_ELEM_CD_GET_VOID_P(eve, cd_ofs);
+ if (vs->flag & MVERT_SKIN_ROOT) {
+ vbo_data->size = (vs->radius[0] + vs->radius[1]) * 0.5f;
+ copy_v3_v3(vbo_data->local_pos, eve->co);
+ vbo_data++;
+ root_len++;
+ }
+ }
+
+ /* It's really unlikely that all verts will be roots. Resize to avoid loosing VRAM. */
+ GPU_vertbuf_data_len_set(vbo, root_len);
+
+ return NULL;
+}
+
+static const MeshExtract extract_skin_roots = {
+ extract_skin_roots_init,
+ NULL,
+ NULL,
+ NULL,
+ NULL,
+ NULL,
+ NULL,
+ NULL,
+ NULL,
+ NULL,
+ 0,
+ false,
+};
+
+/** \} */
+
+/* ---------------------------------------------------------------------- */
/** \name Extract Selection Index
* \{ */
@@ -4284,6 +4355,7 @@ void mesh_buffer_cache_create_requested(MeshBatchCache *cache,
TEST_ASSIGN(VBO, vbo, edge_idx);
TEST_ASSIGN(VBO, vbo, vert_idx);
TEST_ASSIGN(VBO, vbo, fdot_idx);
+ TEST_ASSIGN(VBO, vbo, skin_roots);
TEST_ASSIGN(IBO, ibo, tris);
TEST_ASSIGN(IBO, ibo, lines);
@@ -4351,6 +4423,7 @@ void mesh_buffer_cache_create_requested(MeshBatchCache *cache,
EXTRACT(vbo, edge_idx);
EXTRACT(vbo, vert_idx);
EXTRACT(vbo, fdot_idx);
+ EXTRACT(vbo, skin_roots);
EXTRACT(ibo, tris);
EXTRACT(ibo, lines);
diff --git a/source/blender/draw/intern/draw_cache_impl.h b/source/blender/draw/intern/draw_cache_impl.h
index 970b6053cf9..8cb318bd0bb 100644
--- a/source/blender/draw/intern/draw_cache_impl.h
+++ b/source/blender/draw/intern/draw_cache_impl.h
@@ -142,6 +142,7 @@ struct GPUBatch *DRW_mesh_batch_cache_get_edit_edges(struct Mesh *me);
struct GPUBatch *DRW_mesh_batch_cache_get_edit_vnors(struct Mesh *me);
struct GPUBatch *DRW_mesh_batch_cache_get_edit_lnors(struct Mesh *me);
struct GPUBatch *DRW_mesh_batch_cache_get_edit_facedots(struct Mesh *me);
+struct GPUBatch *DRW_mesh_batch_cache_get_edit_skin_roots(struct Mesh *me);
/* edit-mesh selection */
struct GPUBatch *DRW_mesh_batch_cache_get_triangles_with_select_id(struct Mesh *me);
struct GPUBatch *DRW_mesh_batch_cache_get_facedots_with_select_id(struct Mesh *me);
@@ -151,8 +152,8 @@ struct GPUBatch *DRW_mesh_batch_cache_get_verts_with_select_id(struct Mesh *me);
struct GPUBatch *DRW_mesh_batch_cache_get_wireframes_face(struct Mesh *me);
/* edit-mesh UV editor */
struct GPUBatch *DRW_mesh_batch_cache_get_edituv_faces_stretch_area(struct Mesh *me,
- float *tot_area,
- float *tot_uv_area);
+ float **tot_area,
+ float **tot_uv_area);
struct GPUBatch *DRW_mesh_batch_cache_get_edituv_faces_stretch_angle(struct Mesh *me);
struct GPUBatch *DRW_mesh_batch_cache_get_edituv_faces(struct Mesh *me);
struct GPUBatch *DRW_mesh_batch_cache_get_edituv_edges(struct Mesh *me);
diff --git a/source/blender/draw/intern/draw_cache_impl_mesh.c b/source/blender/draw/intern/draw_cache_impl_mesh.c
index e399b784145..ca185fa7d7d 100644
--- a/source/blender/draw/intern/draw_cache_impl_mesh.c
+++ b/source/blender/draw/intern/draw_cache_impl_mesh.c
@@ -90,9 +90,15 @@ BLI_INLINE void mesh_cd_layers_type_clear(DRW_MeshCDMask *a)
*((uint32_t *)a) = 0;
}
+static void mesh_cd_calc_edit_uv_layer(const Mesh *UNUSED(me), DRW_MeshCDMask *cd_used)
+{
+ cd_used->edit_uv = 1;
+}
+
static void mesh_cd_calc_active_uv_layer(const Mesh *me, DRW_MeshCDMask *cd_used)
{
- const CustomData *cd_ldata = (me->edit_mesh) ? &me->edit_mesh->bm->ldata : &me->ldata;
+ const Mesh *me_final = (me->edit_mesh) ? me->edit_mesh->mesh_eval_final : me;
+ const CustomData *cd_ldata = &me_final->ldata;
int layer = CustomData_get_active_layer(cd_ldata, CD_MLOOPUV);
if (layer != -1) {
@@ -102,7 +108,8 @@ static void mesh_cd_calc_active_uv_layer(const Mesh *me, DRW_MeshCDMask *cd_used
static void mesh_cd_calc_active_mask_uv_layer(const Mesh *me, DRW_MeshCDMask *cd_used)
{
- const CustomData *cd_ldata = (me->edit_mesh) ? &me->edit_mesh->bm->ldata : &me->ldata;
+ const Mesh *me_final = (me->edit_mesh) ? me->edit_mesh->mesh_eval_final : me;
+ const CustomData *cd_ldata = &me_final->ldata;
int layer = CustomData_get_stencil_layer(cd_ldata, CD_MLOOPUV);
if (layer != -1) {
@@ -112,7 +119,8 @@ static void mesh_cd_calc_active_mask_uv_layer(const Mesh *me, DRW_MeshCDMask *cd
static void mesh_cd_calc_active_vcol_layer(const Mesh *me, DRW_MeshCDMask *cd_used)
{
- const CustomData *cd_ldata = (me->edit_mesh) ? &me->edit_mesh->bm->ldata : &me->ldata;
+ const Mesh *me_final = (me->edit_mesh) ? me->edit_mesh->mesh_eval_final : me;
+ const CustomData *cd_ldata = &me_final->ldata;
int layer = CustomData_get_active_layer(cd_ldata, CD_MLOOPCOL);
if (layer != -1) {
@@ -124,7 +132,8 @@ static DRW_MeshCDMask mesh_cd_calc_used_gpu_layers(const Mesh *me,
struct GPUMaterial **gpumat_array,
int gpumat_array_len)
{
- const CustomData *cd_ldata = (me->edit_mesh) ? &me->edit_mesh->bm->ldata : &me->ldata;
+ const Mesh *me_final = (me->edit_mesh) ? me->edit_mesh->mesh_eval_final : me;
+ const CustomData *cd_ldata = &me_final->ldata;
/* See: DM_vertex_attributes_from_gpu for similar logic */
DRW_MeshCDMask cd_used;
@@ -227,7 +236,8 @@ static void mesh_cd_extract_auto_layers_names_and_srgb(Mesh *me,
int **r_auto_layers_srgb,
int *r_auto_layers_len)
{
- const CustomData *cd_ldata = (me->edit_mesh) ? &me->edit_mesh->bm->ldata : &me->ldata;
+ const Mesh *me_final = (me->edit_mesh) ? me->edit_mesh->mesh_eval_final : me;
+ const CustomData *cd_ldata = &me_final->ldata;
int uv_len_used = count_bits_i(cd_used.uv);
int vcol_len_used = count_bits_i(cd_used.vcol);
@@ -458,6 +468,16 @@ static void mesh_batch_cache_check_vertex_group(MeshBatchCache *cache,
}
}
+static void mesh_batch_cache_discard_shaded_batches(MeshBatchCache *cache)
+{
+ if (cache->surface_per_mat) {
+ for (int i = 0; i < cache->mat_len; i++) {
+ GPU_BATCH_DISCARD_SAFE(cache->surface_per_mat[i]);
+ }
+ }
+ cache->batch_ready &= ~MBC_SURF_PER_MAT;
+}
+
static void mesh_batch_cache_discard_shaded_tri(MeshBatchCache *cache)
{
FOREACH_MESH_BUFFER_CACHE(cache, mbufcache)
@@ -468,21 +488,13 @@ static void mesh_batch_cache_discard_shaded_tri(MeshBatchCache *cache)
GPU_VERTBUF_DISCARD_SAFE(mbufcache->vbo.vcol);
GPU_VERTBUF_DISCARD_SAFE(mbufcache->vbo.orco);
}
+ mesh_batch_cache_discard_shaded_batches(cache);
+ mesh_cd_layers_type_clear(&cache->cd_used);
- if (cache->surface_per_mat) {
- for (int i = 0; i < cache->mat_len; i++) {
- GPU_BATCH_DISCARD_SAFE(cache->surface_per_mat[i]);
- }
- }
MEM_SAFE_FREE(cache->surface_per_mat);
-
- cache->batch_ready &= ~MBC_SURF_PER_MAT;
-
MEM_SAFE_FREE(cache->auto_layer_names);
MEM_SAFE_FREE(cache->auto_layer_is_srgb);
- mesh_cd_layers_type_clear(&cache->cd_used);
-
cache->mat_len = 0;
}
@@ -513,6 +525,37 @@ static void mesh_batch_cache_discard_uvedit(MeshBatchCache *cache)
cache->tot_uv_area = 0.0f;
cache->batch_ready &= ~MBC_EDITUV;
+
+ /* We discarded the vbo.uv so we need to reset the cd_used flag. */
+ cache->cd_used.uv = 0;
+ cache->cd_used.edit_uv = 0;
+
+ /* Discard other batches that uses vbo.uv */
+ mesh_batch_cache_discard_shaded_batches(cache);
+
+ GPU_BATCH_DISCARD_SAFE(cache->batch.surface);
+ cache->batch_ready &= ~MBC_SURFACE;
+}
+
+static void mesh_batch_cache_discard_uvedit_select(MeshBatchCache *cache)
+{
+ FOREACH_MESH_BUFFER_CACHE(cache, mbufcache)
+ {
+ GPU_VERTBUF_DISCARD_SAFE(mbufcache->vbo.edituv_data);
+ GPU_VERTBUF_DISCARD_SAFE(mbufcache->vbo.fdots_edituv_data);
+ GPU_INDEXBUF_DISCARD_SAFE(mbufcache->ibo.edituv_tris);
+ GPU_INDEXBUF_DISCARD_SAFE(mbufcache->ibo.edituv_lines);
+ GPU_INDEXBUF_DISCARD_SAFE(mbufcache->ibo.edituv_points);
+ GPU_INDEXBUF_DISCARD_SAFE(mbufcache->ibo.edituv_fdots);
+ }
+ GPU_BATCH_DISCARD_SAFE(cache->batch.edituv_faces_stretch_area);
+ GPU_BATCH_DISCARD_SAFE(cache->batch.edituv_faces_stretch_angle);
+ GPU_BATCH_DISCARD_SAFE(cache->batch.edituv_faces);
+ GPU_BATCH_DISCARD_SAFE(cache->batch.edituv_edges);
+ GPU_BATCH_DISCARD_SAFE(cache->batch.edituv_verts);
+ GPU_BATCH_DISCARD_SAFE(cache->batch.edituv_fdots);
+ GPU_BATCH_DISCARD_SAFE(cache->batch.wire_loops_uvs);
+ cache->batch_ready &= ~MBC_EDITUV;
}
void DRW_mesh_batch_cache_dirty_tag(Mesh *me, int mode)
@@ -541,8 +584,8 @@ void DRW_mesh_batch_cache_dirty_tag(Mesh *me, int mode)
MBC_EDIT_FACEDOTS | MBC_EDIT_SELECTION_FACEDOTS |
MBC_EDIT_SELECTION_FACES | MBC_EDIT_SELECTION_EDGES |
MBC_EDIT_SELECTION_VERTS | MBC_EDIT_MESH_ANALYSIS);
- /* Because visible UVs depends on edit mode selection, discard everything. */
- mesh_batch_cache_discard_uvedit(cache);
+ /* Because visible UVs depends on edit mode selection, discard topology. */
+ mesh_batch_cache_discard_uvedit_select(cache);
break;
case BKE_MESH_BATCH_DIRTY_SELECT_PAINT:
/* Paint mode selection flag is packed inside the nor attrib.
@@ -836,6 +879,13 @@ GPUBatch *DRW_mesh_batch_cache_get_edit_facedots(Mesh *me)
return DRW_batch_request(&cache->batch.edit_fdots);
}
+GPUBatch *DRW_mesh_batch_cache_get_edit_skin_roots(Mesh *me)
+{
+ MeshBatchCache *cache = mesh_batch_cache_get(me);
+ mesh_batch_cache_add_request(cache, MBC_SKIN_ROOTS);
+ return DRW_batch_request(&cache->batch.edit_skin_roots);
+}
+
/** \} */
/* ---------------------------------------------------------------------- */
@@ -876,24 +926,37 @@ GPUBatch *DRW_mesh_batch_cache_get_verts_with_select_id(Mesh *me)
/** \name UV Image editor API
* \{ */
+static void edituv_request_active_uv(MeshBatchCache *cache, Mesh *me)
+{
+ DRW_MeshCDMask cd_needed;
+ mesh_cd_layers_type_clear(&cd_needed);
+ mesh_cd_calc_edit_uv_layer(me, &cd_needed);
+
+ BLI_assert(cd_needed.edit_uv != 0 &&
+ "No uv layer available in edituv, but batches requested anyway!");
+
+ mesh_cd_calc_active_mask_uv_layer(me, &cd_needed);
+ mesh_cd_layers_type_merge(&cache->cd_needed, cd_needed);
+}
+
/* Creates the GPUBatch for drawing the UV Stretching Area Overlay.
* Optional retrieves the total area or total uv area of the mesh.
*
* The `cache->tot_area` and cache->tot_uv_area` update are calculation are
* only valid after calling `DRW_mesh_batch_cache_create_requested`. */
GPUBatch *DRW_mesh_batch_cache_get_edituv_faces_stretch_area(Mesh *me,
- float *tot_area,
- float *tot_uv_area)
+ float **tot_area,
+ float **tot_uv_area)
{
MeshBatchCache *cache = mesh_batch_cache_get(me);
- texpaint_request_active_uv(cache, me);
+ edituv_request_active_uv(cache, me);
mesh_batch_cache_add_request(cache, MBC_EDITUV_FACES_STRETCH_AREA);
if (tot_area != NULL) {
- *tot_area = cache->tot_area;
+ *tot_area = &cache->tot_area;
}
if (tot_uv_area != NULL) {
- *tot_uv_area = cache->tot_uv_area;
+ *tot_uv_area = &cache->tot_uv_area;
}
return DRW_batch_request(&cache->batch.edituv_faces_stretch_area);
}
@@ -901,7 +964,7 @@ GPUBatch *DRW_mesh_batch_cache_get_edituv_faces_stretch_area(Mesh *me,
GPUBatch *DRW_mesh_batch_cache_get_edituv_faces_stretch_angle(Mesh *me)
{
MeshBatchCache *cache = mesh_batch_cache_get(me);
- texpaint_request_active_uv(cache, me);
+ edituv_request_active_uv(cache, me);
mesh_batch_cache_add_request(cache, MBC_EDITUV_FACES_STRETCH_ANGLE);
return DRW_batch_request(&cache->batch.edituv_faces_stretch_angle);
}
@@ -909,7 +972,7 @@ GPUBatch *DRW_mesh_batch_cache_get_edituv_faces_stretch_angle(Mesh *me)
GPUBatch *DRW_mesh_batch_cache_get_edituv_faces(Mesh *me)
{
MeshBatchCache *cache = mesh_batch_cache_get(me);
- texpaint_request_active_uv(cache, me);
+ edituv_request_active_uv(cache, me);
mesh_batch_cache_add_request(cache, MBC_EDITUV_FACES);
return DRW_batch_request(&cache->batch.edituv_faces);
}
@@ -917,7 +980,7 @@ GPUBatch *DRW_mesh_batch_cache_get_edituv_faces(Mesh *me)
GPUBatch *DRW_mesh_batch_cache_get_edituv_edges(Mesh *me)
{
MeshBatchCache *cache = mesh_batch_cache_get(me);
- texpaint_request_active_uv(cache, me);
+ edituv_request_active_uv(cache, me);
mesh_batch_cache_add_request(cache, MBC_EDITUV_EDGES);
return DRW_batch_request(&cache->batch.edituv_edges);
}
@@ -925,7 +988,7 @@ GPUBatch *DRW_mesh_batch_cache_get_edituv_edges(Mesh *me)
GPUBatch *DRW_mesh_batch_cache_get_edituv_verts(Mesh *me)
{
MeshBatchCache *cache = mesh_batch_cache_get(me);
- texpaint_request_active_uv(cache, me);
+ edituv_request_active_uv(cache, me);
mesh_batch_cache_add_request(cache, MBC_EDITUV_VERTS);
return DRW_batch_request(&cache->batch.edituv_verts);
}
@@ -933,7 +996,7 @@ GPUBatch *DRW_mesh_batch_cache_get_edituv_verts(Mesh *me)
GPUBatch *DRW_mesh_batch_cache_get_edituv_facedots(Mesh *me)
{
MeshBatchCache *cache = mesh_batch_cache_get(me);
- texpaint_request_active_uv(cache, me);
+ edituv_request_active_uv(cache, me);
mesh_batch_cache_add_request(cache, MBC_EDITUV_FACEDOTS);
return DRW_batch_request(&cache->batch.edituv_fdots);
}
@@ -941,7 +1004,7 @@ GPUBatch *DRW_mesh_batch_cache_get_edituv_facedots(Mesh *me)
GPUBatch *DRW_mesh_batch_cache_get_uv_edges(Mesh *me)
{
MeshBatchCache *cache = mesh_batch_cache_get(me);
- texpaint_request_active_uv(cache, me);
+ edituv_request_active_uv(cache, me);
mesh_batch_cache_add_request(cache, MBC_WIRE_LOOPS_UVS);
return DRW_batch_request(&cache->batch.wire_loops_uvs);
}
@@ -1031,6 +1094,9 @@ void DRW_mesh_batch_cache_create_requested(
GPU_BATCH_CLEAR_SAFE(cache->batch.edit_triangles);
GPU_BATCH_CLEAR_SAFE(cache->batch.edit_lnor);
GPU_BATCH_CLEAR_SAFE(cache->batch.edit_selection_faces);
+ for (int i = 0; i < cache->mat_len; i++) {
+ GPU_BATCH_CLEAR_SAFE(cache->surface_per_mat[i]);
+ }
cache->batch_ready &= ~(MBC_SURFACE | MBC_SURFACE_WEIGHTS | MBC_EDIT_MESH_ANALYSIS |
MBC_EDIT_TRIANGLES | MBC_EDIT_LNOR | MBC_EDIT_SELECTION_FACES);
@@ -1041,7 +1107,9 @@ void DRW_mesh_batch_cache_create_requested(
MBC_EDITUV_FACES_STRETCH_ANGLE | MBC_EDITUV_FACES | MBC_EDITUV_EDGES | MBC_EDITUV_VERTS)) {
/* Modifiers will only generate an orco layer if the mesh is deformed. */
if (cache->cd_needed.orco != 0) {
- if (CustomData_get_layer(&me->vdata, CD_ORCO) == NULL) {
+ /* Orco is always extracted from final mesh. */
+ Mesh *me_final = (me->edit_mesh) ? me->edit_mesh->mesh_eval_final : me;
+ if (CustomData_get_layer(&me_final->vdata, CD_ORCO) == NULL) {
/* Skip orco calculation */
cache->cd_needed.orco = 0;
}
@@ -1103,9 +1171,6 @@ void DRW_mesh_batch_cache_create_requested(
FOREACH_MESH_BUFFER_CACHE(cache, mbuffercache)
{
GPU_VERTBUF_DISCARD_SAFE(mbuffercache->vbo.edituv_data);
- GPU_VERTBUF_DISCARD_SAFE(mbuffercache->vbo.stretch_angle);
- GPU_VERTBUF_DISCARD_SAFE(mbuffercache->vbo.stretch_area);
- GPU_VERTBUF_DISCARD_SAFE(mbuffercache->vbo.uv);
GPU_VERTBUF_DISCARD_SAFE(mbuffercache->vbo.fdots_uv);
GPU_INDEXBUF_DISCARD_SAFE(mbuffercache->ibo.edituv_tris);
GPU_INDEXBUF_DISCARD_SAFE(mbuffercache->ibo.edituv_lines);
@@ -1261,6 +1326,18 @@ void DRW_mesh_batch_cache_create_requested(
DRW_vbo_request(cache->batch.edit_fdots, &mbufcache->vbo.fdots_pos);
DRW_vbo_request(cache->batch.edit_fdots, &mbufcache->vbo.fdots_nor);
}
+ if (DRW_batch_requested(cache->batch.edit_skin_roots, GPU_PRIM_LINES)) {
+ DRW_vbo_request(cache->batch.edit_skin_roots, &mbufcache->vbo.skin_roots);
+ /* HACK(fclem): This is to workaround the deferred batch init
+ * that prevent drawing using DRW_shgroup_call_instances_with_attribs.
+ * So we instead create the whole instancing batch here.
+ * Note that we use GPU_PRIM_LINES instead of expected GPU_PRIM_LINE_STRIP
+ * in order to mimic the old stipple pattern. */
+ cache->batch.edit_skin_roots->inst = cache->batch.edit_skin_roots->verts[0];
+ cache->batch.edit_skin_roots->verts[0] = NULL;
+ GPUBatch *circle = DRW_cache_screenspace_circle_get();
+ GPU_batch_vertbuf_add(cache->batch.edit_skin_roots, circle->verts[0]);
+ }
/* Selection */
if (DRW_batch_requested(cache->batch.edit_selection_verts, GPU_PRIM_POINTS)) {
diff --git a/source/blender/draw/intern/draw_common.c b/source/blender/draw/intern/draw_common.c
index 7f679dd5581..c04425ded3f 100644
--- a/source/blender/draw/intern/draw_common.c
+++ b/source/blender/draw/intern/draw_common.c
@@ -83,6 +83,7 @@ void DRW_globals_update(void)
UI_GetThemeColor4fv(TH_VNORMAL, gb->colorVNormal);
UI_GetThemeColor4fv(TH_LNORMAL, gb->colorLNormal);
UI_GetThemeColor4fv(TH_FACE_DOT, gb->colorFaceDot);
+ UI_GetThemeColor4fv(TH_SKIN_ROOT, gb->colorSkinRoot);
UI_GetThemeColor4fv(TH_BACK, gb->colorBackground);
/* Custom median color to slightly affect the edit mesh colors. */
@@ -277,7 +278,6 @@ static struct {
struct GPUVertFormat *instance_scaled;
struct GPUVertFormat *instance_sized;
struct GPUVertFormat *instance_outline;
- struct GPUVertFormat *instance;
struct GPUVertFormat *instance_camera;
struct GPUVertFormat *instance_distance_lines;
struct GPUVertFormat *instance_spot;
diff --git a/source/blender/draw/intern/draw_common.h b/source/blender/draw/intern/draw_common.h
index 9899b6c0194..01c0946247a 100644
--- a/source/blender/draw/intern/draw_common.h
+++ b/source/blender/draw/intern/draw_common.h
@@ -73,6 +73,7 @@ typedef struct GlobalsUboStorage {
float colorVNormal[4];
float colorLNormal[4];
float colorFaceDot[4];
+ float colorSkinRoot[4];
float colorDeselect[4];
float colorOutline[4];
diff --git a/source/blender/draw/intern/draw_manager.c b/source/blender/draw/intern/draw_manager.c
index 4e4ff2d6dc6..9e28627ba3d 100644
--- a/source/blender/draw/intern/draw_manager.c
+++ b/source/blender/draw/intern/draw_manager.c
@@ -164,7 +164,7 @@ struct DRWTextStore *DRW_text_cache_ensure(void)
bool DRW_object_is_renderable(const Object *ob)
{
- BLI_assert((ob->base_flag & BASE_VISIBLE) != 0);
+ BLI_assert((ob->base_flag & BASE_VISIBLE_DEPSGRAPH) != 0);
if (ob->type == OB_MESH) {
if ((ob == DST.draw_ctx.object_edit) || BKE_object_is_in_editmode(ob)) {
@@ -1171,7 +1171,7 @@ static void drw_engines_cache_finish(void)
MEM_freeN(DST.vedata_array);
}
-static void drw_engines_draw_background(void)
+static bool drw_engines_draw_background(void)
{
for (LinkData *link = DST.enabled_engines.first; link; link = link->next) {
DrawEngineType *engine = link->data;
@@ -1185,10 +1185,20 @@ static void drw_engines_draw_background(void)
DRW_stats_group_end();
PROFILE_END_UPDATE(data->background_time, stime);
- return;
+ return true;
}
}
+ /* No draw engines draw the background. We clear the background.
+ * We draw the background after drawing of the scene so the camera background
+ * images can be drawn using ALPHA Under. Otherwise the background always
+ * interfered with the alpha blending. */
+ DRW_clear_background();
+ return false;
+}
+
+static void drw_draw_background_alpha_under(void)
+{
/* No draw_background found, doing default background */
const bool do_alpha_checker = !DRW_state_draw_background();
DRW_draw_background(do_alpha_checker);
@@ -1565,20 +1575,6 @@ void DRW_draw_view(const bContext *C)
DRW_draw_render_loop_ex(depsgraph, engine_type, ar, v3d, viewport, C);
}
-static bool is_object_visible_in_viewport(View3D *v3d, Object *ob)
-{
- if (v3d->localvd && ((v3d->local_view_uuid & ob->base_local_view_bits) == 0)) {
- return false;
- }
-
- if ((v3d->flag & V3D_LOCAL_COLLECTIONS) &&
- ((v3d->local_collections_uuid & ob->runtime.local_collections_bits) == 0)) {
- return false;
- }
-
- return true;
-}
-
/**
* Used for both regular and off-screen drawing.
* Need to reset DST before calling this function
@@ -1654,7 +1650,7 @@ void DRW_draw_render_loop_ex(struct Depsgraph *depsgraph,
if ((object_type_exclude_viewport & (1 << ob->type)) != 0) {
continue;
}
- if (!is_object_visible_in_viewport(v3d, ob)) {
+ if (!BKE_object_is_visible_in_viewport(v3d, ob)) {
continue;
}
DST.dupli_parent = data_.dupli_parent;
@@ -1685,7 +1681,7 @@ void DRW_draw_render_loop_ex(struct Depsgraph *depsgraph,
DRW_hair_update();
- drw_engines_draw_background();
+ const bool background_drawn = drw_engines_draw_background();
GPU_framebuffer_bind(DST.default_framebuffer);
@@ -1696,6 +1692,10 @@ void DRW_draw_render_loop_ex(struct Depsgraph *depsgraph,
drw_engines_draw_scene();
+ if (!background_drawn) {
+ drw_draw_background_alpha_under();
+ }
+
/* Fix 3D view being "laggy" on macos and win+nvidia. (See T56996, T61474) */
GPU_flush();
@@ -2350,7 +2350,7 @@ void DRW_draw_select_loop(struct Depsgraph *depsgraph,
v3d->object_type_exclude_select);
bool filter_exclude = false;
DEG_OBJECT_ITER_FOR_RENDER_ENGINE_BEGIN (depsgraph, ob) {
- if (!is_object_visible_in_viewport(v3d, ob)) {
+ if (!BKE_object_is_visible_in_viewport(v3d, ob)) {
continue;
}
if ((ob->base_flag & BASE_SELECTABLE) &&
@@ -2500,7 +2500,7 @@ static void drw_draw_depth_loop_imp(struct Depsgraph *depsgraph,
if ((object_type_exclude_viewport & (1 << ob->type)) != 0) {
continue;
}
- if (!is_object_visible_in_viewport(v3d, ob)) {
+ if (!BKE_object_is_visible_in_viewport(v3d, ob)) {
continue;
}
DST.dupli_parent = data_.dupli_parent;
@@ -2630,7 +2630,13 @@ void DRW_draw_select_id(Depsgraph *depsgraph, ARegion *ar, View3D *v3d, const rc
drw_engines_cache_finish();
+#if 0 /* This is a workaround to a nasty bug that seems to be a nasty driver bug. (See T69377) */
DRW_render_instance_buffer_finish();
+#else
+ DST.buffer_finish_called = true;
+ // DRW_instance_buffer_finish(DST.idatalist);
+ drw_resource_buffer_finish(DST.vmempool);
+#endif
}
/* Start Drawing */
diff --git a/source/blender/draw/intern/draw_manager_data.c b/source/blender/draw/intern/draw_manager_data.c
index 4bed8cf6a40..330f72eda18 100644
--- a/source/blender/draw/intern/draw_manager_data.c
+++ b/source/blender/draw/intern/draw_manager_data.c
@@ -807,8 +807,7 @@ void DRW_shgroup_call_instances_with_attribs(DRWShadingGroup *shgroup,
drw_command_draw(shgroup, batch, handle);
}
-// #define SCULPT_DEBUG_BUFFERS
-
+#define SCULPT_DEBUG_BUFFERS (G.debug_value == 889)
typedef struct DRWSculptCallbackData {
Object *ob;
DRWShadingGroup **shading_groups;
@@ -816,13 +815,11 @@ typedef struct DRWSculptCallbackData {
bool use_mats;
bool use_mask;
bool fast_mode; /* Set by draw manager. Do not init. */
-#ifdef SCULPT_DEBUG_BUFFERS
- int node_nr;
-#endif
+
+ int debug_node_nr;
} DRWSculptCallbackData;
-#ifdef SCULPT_DEBUG_BUFFERS
-# define SCULPT_DEBUG_COLOR(id) (sculpt_debug_colors[id % 9])
+#define SCULPT_DEBUG_COLOR(id) (sculpt_debug_colors[id % 9])
static float sculpt_debug_colors[9][4] = {
{1.0f, 0.2f, 0.2f, 1.0f},
{0.2f, 1.0f, 0.2f, 1.0f},
@@ -834,59 +831,72 @@ static float sculpt_debug_colors[9][4] = {
{0.2f, 1.0f, 0.7f, 1.0f},
{0.7f, 0.2f, 1.0f, 1.0f},
};
-#endif
static void sculpt_draw_cb(DRWSculptCallbackData *scd, GPU_PBVH_Buffers *buffers)
{
- GPUBatch *geom = GPU_pbvh_buffers_batch_get(buffers, scd->fast_mode, scd->use_wire);
- short index = 0;
-
/* Meh... use_mask is a bit misleading here. */
if (scd->use_mask && !GPU_pbvh_buffers_has_mask(buffers)) {
return;
}
+ GPUBatch *geom = GPU_pbvh_buffers_batch_get(buffers, scd->fast_mode, scd->use_wire);
+ short index = 0;
+
if (scd->use_mats) {
index = GPU_pbvh_buffers_material_index_get(buffers);
}
DRWShadingGroup *shgrp = scd->shading_groups[index];
if (geom != NULL && shgrp != NULL) {
-#ifdef SCULPT_DEBUG_BUFFERS
- /* Color each buffers in different colors. Only work in solid/Xray mode. */
- shgrp = DRW_shgroup_create_sub(shgrp);
- DRW_shgroup_uniform_vec3(shgrp, "materialDiffuseColor", SCULPT_DEBUG_COLOR(scd->node_nr++), 1);
-#endif
+ if (SCULPT_DEBUG_BUFFERS) {
+ /* Color each buffers in different colors. Only work in solid/Xray mode. */
+ shgrp = DRW_shgroup_create_sub(shgrp);
+ DRW_shgroup_uniform_vec3(
+ shgrp, "materialDiffuseColor", SCULPT_DEBUG_COLOR(scd->debug_node_nr++), 1);
+ }
/* DRW_shgroup_call_no_cull reuses matrices calculations for all the drawcalls of this
* object. */
DRW_shgroup_call_no_cull(shgrp, geom, scd->ob);
}
}
-#ifdef SCULPT_DEBUG_BUFFERS
static void sculpt_debug_cb(void *user_data,
const float bmin[3],
const float bmax[3],
PBVHNodeFlags flag)
{
- int *node_nr = (int *)user_data;
+ int *debug_node_nr = (int *)user_data;
BoundBox bb;
BKE_boundbox_init_from_minmax(&bb, bmin, bmax);
-# if 0 /* Nodes hierarchy. */
+#if 0 /* Nodes hierarchy. */
if (flag & PBVH_Leaf) {
DRW_debug_bbox(&bb, (float[4]){0.0f, 1.0f, 0.0f, 1.0f});
}
else {
DRW_debug_bbox(&bb, (float[4]){0.5f, 0.5f, 0.5f, 0.6f});
}
-# else /* Color coded leaf bounds. */
+#else /* Color coded leaf bounds. */
if (flag & PBVH_Leaf) {
- DRW_debug_bbox(&bb, SCULPT_DEBUG_COLOR((*node_nr)++));
+ DRW_debug_bbox(&bb, SCULPT_DEBUG_COLOR((*debug_node_nr)++));
}
-# endif
-}
#endif
+}
+
+static void drw_sculpt_get_frustum_planes(Object *ob, float planes[6][4])
+{
+ /* TODO: take into account partial redraw for clipping planes. */
+ DRW_view_frustum_planes_get(DRW_view_default_get(), planes);
+
+ /* Transform clipping planes to object space. Transforming a plane with a
+ * 4x4 matrix is done by multiplying with the transpose inverse.
+ * The inverse cancels out here since we transform by inverse(obmat). */
+ float tmat[4][4];
+ transpose_m4_m4(tmat, ob->obmat);
+ for (int i = 0; i < 6; i++) {
+ mul_m4_v4(tmat, planes[i]);
+ }
+}
static void drw_sculpt_generate_calls(DRWSculptCallbackData *scd, bool use_vcol)
{
@@ -896,31 +906,46 @@ static void drw_sculpt_generate_calls(DRWSculptCallbackData *scd, bool use_vcol)
return;
}
- float(*planes)[4] = NULL; /* TODO proper culling. */
- scd->fast_mode = false;
-
const DRWContextState *drwctx = DRW_context_state_get();
+ RegionView3D *rv3d = drwctx->rv3d;
+
+ /* Frustum planes to show only visible PBVH nodes. */
+ float planes[6][4];
+ drw_sculpt_get_frustum_planes(scd->ob, planes);
+ PBVHFrustumPlanes frustum = {.planes = planes, .num_planes = 6};
+
+ /* Fast mode to show low poly multires while navigating. */
+ scd->fast_mode = false;
if (drwctx->evil_C != NULL) {
Paint *p = BKE_paint_get_active_from_context(drwctx->evil_C);
if (p && (p->flags & PAINT_FAST_NAVIGATE)) {
- scd->fast_mode = (drwctx->rv3d->rflag & RV3D_NAVIGATING) != 0;
+ scd->fast_mode = rv3d && (rv3d->rflag & RV3D_NAVIGATING);
}
}
+ /* Update draw buffers only for visible nodes while painting.
+ * But do update them otherwise so navigating stays smooth. */
+ const bool update_only_visible = rv3d && (rv3d->rflag & RV3D_PAINTING);
+
Mesh *mesh = scd->ob->data;
BKE_pbvh_update_normals(pbvh, mesh->runtime.subdiv_ccg);
- BKE_pbvh_update_draw_buffers(pbvh, use_vcol);
- BKE_pbvh_draw_cb(pbvh, planes, (void (*)(void *, GPU_PBVH_Buffers *))sculpt_draw_cb, scd);
+ BKE_pbvh_draw_cb(pbvh,
+ use_vcol,
+ update_only_visible,
+ &frustum,
+ (void (*)(void *, GPU_PBVH_Buffers *))sculpt_draw_cb,
+ scd);
-#ifdef SCULPT_DEBUG_BUFFERS
- int node_nr = 0;
- DRW_debug_modelmat(scd->ob->obmat);
- BKE_pbvh_draw_debug_cb(
- pbvh,
- (void (*)(void *d, const float min[3], const float max[3], PBVHNodeFlags f))sculpt_debug_cb,
- &node_nr);
-#endif
+ if (SCULPT_DEBUG_BUFFERS) {
+ int debug_node_nr = 0;
+ DRW_debug_modelmat(scd->ob->obmat);
+ BKE_pbvh_draw_debug_cb(
+ pbvh,
+ (void (*)(
+ void *d, const float min[3], const float max[3], PBVHNodeFlags f))sculpt_debug_cb,
+ &debug_node_nr);
+ }
}
void DRW_shgroup_call_sculpt(
@@ -1821,11 +1846,6 @@ void DRW_pass_foreach_shgroup(DRWPass *pass,
}
}
-typedef struct ZSortData {
- const float *axis;
- const float *origin;
-} ZSortData;
-
static int pass_shgroup_dist_sort(const void *a, const void *b)
{
const DRWShadingGroup *shgrp_a = (const DRWShadingGroup *)a;
diff --git a/source/blender/draw/intern/draw_manager_exec.c b/source/blender/draw/intern/draw_manager_exec.c
index 3de9ce74dbc..fa7c44c1b1f 100644
--- a/source/blender/draw/intern/draw_manager_exec.c
+++ b/source/blender/draw/intern/draw_manager_exec.c
@@ -29,6 +29,7 @@
#include "BKE_global.h"
#include "GPU_extensions.h"
+#include "GPU_platform.h"
#include "intern/gpu_shader_private.h"
#include "intern/gpu_primitive_private.h"
diff --git a/source/blender/draw/intern/draw_view.c b/source/blender/draw/intern/draw_view.c
index 7aa2e007f79..58643eb12a8 100644
--- a/source/blender/draw/intern/draw_view.c
+++ b/source/blender/draw/intern/draw_view.c
@@ -41,11 +41,9 @@
#include "BKE_object.h"
#include "BKE_paint.h"
-#include "DRW_render.h"
-
#include "view3d_intern.h"
-#include "draw_view.h"
+#include "draw_manager.h"
/* ******************** region info ***************** */
@@ -60,18 +58,17 @@ void DRW_draw_region_info(void)
}
/* ************************* Background ************************** */
+void DRW_clear_background()
+{
+ GPU_clear_color(0.0, 0.0, 0.0, 0.0);
+ GPU_clear(GPU_COLOR_BIT | GPU_DEPTH_BIT | GPU_STENCIL_BIT);
+}
void DRW_draw_background(bool do_alpha_checker)
{
- /* Just to make sure */
- glDepthMask(GL_TRUE);
- glColorMask(GL_TRUE, GL_TRUE, GL_TRUE, GL_TRUE);
- glStencilMask(0xFF);
-
+ drw_state_set(DRW_STATE_WRITE_COLOR | DRW_STATE_BLEND_ALPHA_UNDER_PREMUL);
if (do_alpha_checker) {
/* Transparent render, do alpha checker. */
- GPU_depth_test(false);
-
GPU_matrix_push();
GPU_matrix_identity_set();
GPU_matrix_identity_projection_set();
@@ -79,18 +76,11 @@ void DRW_draw_background(bool do_alpha_checker)
imm_draw_box_checker_2d(-1.0f, -1.0f, 1.0f, 1.0f);
GPU_matrix_pop();
-
- GPU_clear(GPU_DEPTH_BIT | GPU_STENCIL_BIT);
-
- GPU_depth_test(true);
}
- else if (UI_GetThemeValue(TH_SHOW_BACK_GRAD)) {
+ else {
float m[4][4];
unit_m4(m);
- /* Gradient background Color */
- GPU_depth_test(false);
-
GPUVertFormat *format = immVertexFormat();
uint pos = GPU_vertformat_attr_add(format, "pos", GPU_COMP_F32, 2, GPU_FETCH_FLOAT);
uint color = GPU_vertformat_attr_add(
@@ -103,8 +93,8 @@ void DRW_draw_background(bool do_alpha_checker)
immBindBuiltinProgram(GPU_SHADER_2D_SMOOTH_COLOR_DITHER);
- UI_GetThemeColor3ubv(TH_BACK_GRAD, col_lo);
UI_GetThemeColor3ubv(TH_BACK, col_hi);
+ UI_GetThemeColor3ubv(UI_GetThemeValue(TH_SHOW_BACK_GRAD) ? TH_BACK_GRAD : TH_BACK, col_lo);
immBegin(GPU_PRIM_TRI_FAN, 4);
immAttr3ubv(color, col_lo);
@@ -119,16 +109,6 @@ void DRW_draw_background(bool do_alpha_checker)
immUnbindProgram();
GPU_matrix_pop();
-
- GPU_clear(GPU_DEPTH_BIT | GPU_STENCIL_BIT);
-
- GPU_depth_test(true);
- }
- else {
- /* Solid background Color */
- UI_ThemeClearColorAlpha(TH_BACK, 1.0f);
-
- GPU_clear(GPU_COLOR_BIT | GPU_DEPTH_BIT | GPU_STENCIL_BIT);
}
}
diff --git a/source/blender/draw/intern/draw_view.h b/source/blender/draw/intern/draw_view.h
index 715c3c0d40c..7be186f1c72 100644
--- a/source/blender/draw/intern/draw_view.h
+++ b/source/blender/draw/intern/draw_view.h
@@ -24,6 +24,7 @@
#define __DRAW_VIEW_H__
void DRW_draw_region_info(void);
+void DRW_clear_background(void);
void DRW_draw_background(bool do_alpha_checker);
void DRW_draw_cursor(void);
void DRW_draw_gizmo_3d(void);
diff --git a/source/blender/draw/modes/edit_mesh_mode.c b/source/blender/draw/modes/edit_mesh_mode.c
index c2e30765258..9957dbae3fb 100644
--- a/source/blender/draw/modes/edit_mesh_mode.c
+++ b/source/blender/draw/modes/edit_mesh_mode.c
@@ -55,6 +55,7 @@ extern char datatoc_edit_mesh_overlay_mesh_analysis_frag_glsl[];
extern char datatoc_edit_mesh_overlay_mesh_analysis_vert_glsl[];
extern char datatoc_edit_normals_vert_glsl[];
extern char datatoc_edit_normals_geom_glsl[];
+extern char datatoc_edit_mesh_skin_root_vert_glsl[];
extern char datatoc_common_globals_lib_glsl[];
extern char datatoc_common_view_lib_glsl[];
@@ -103,8 +104,6 @@ typedef struct EDIT_MESH_Data {
EDIT_MESH_StorageList *stl;
} EDIT_MESH_Data;
-#define MAX_SHADERS 16
-
/** Can only contain shaders (freed as array). */
typedef struct EDIT_MESH_Shaders {
/* weight */
@@ -116,6 +115,7 @@ typedef struct EDIT_MESH_Shaders {
GPUShader *overlay_edge_flat;
GPUShader *overlay_face;
GPUShader *overlay_facedot;
+ GPUShader *overlay_skin_root;
GPUShader *overlay_mix;
GPUShader *overlay_facefill;
@@ -143,6 +143,7 @@ typedef struct EDIT_MESH_ComponentShadingGroupList {
DRWShadingGroup *faces;
DRWShadingGroup *faces_cage;
DRWShadingGroup *facedots;
+ DRWShadingGroup *skin_roots;
} EDIT_MESH_ComponentShadingGroupList;
typedef struct EDIT_MESH_PrivateData {
@@ -268,6 +269,12 @@ static void EDIT_MESH_engine_init(void *vedata)
.frag = (const char *[]){lib, datatoc_edit_mesh_overlay_facefill_frag_glsl, NULL},
.defs = (const char *[]){sh_cfg_data->def, NULL},
});
+ sh_data->overlay_skin_root = GPU_shader_create_from_arrays({
+ .vert = (const char *[]){lib, datatoc_edit_mesh_skin_root_vert_glsl, NULL},
+ .frag = (const char *[]){datatoc_gpu_shader_flat_color_frag_glsl, NULL},
+ .defs = (const char *[]){sh_cfg_data->def, NULL},
+ });
+
MEM_freeN(lib);
sh_data->overlay_mix = DRW_shader_create_fullscreen(datatoc_edit_mesh_overlay_mix_frag_glsl,
@@ -343,6 +350,7 @@ static void edit_mesh_create_overlay_passes(float face_alpha,
GPUShader *edge_sh = (select_vert) ? sh_data->overlay_edge : sh_data->overlay_edge_flat;
GPUShader *face_sh = sh_data->overlay_face;
GPUShader *facedot_sh = sh_data->overlay_facedot;
+ GPUShader *skin_root_sh = sh_data->overlay_skin_root;
/* Faces */
passes->faces = DRW_pass_create("Edit Mesh Faces", DRW_STATE_WRITE_COLOR | statemod);
@@ -390,6 +398,10 @@ static void edit_mesh_create_overlay_passes(float face_alpha,
if (rv3d->rflag & RV3D_CLIPPING) {
DRW_shgroup_state_enable(grp, DRW_STATE_CLIP_PLANES);
}
+
+ grp = shgrps->skin_roots = DRW_shgroup_create(skin_root_sh, passes->verts);
+ DRW_shgroup_uniform_block(grp, "globalsBlock", G_draw.block_ubo);
+ DRW_shgroup_uniform_vec3(grp, "screen_vecs[0]", DRW_viewport_screenvecs_get(), 2);
}
if (select_face) {
grp = shgrps->facedots = DRW_shgroup_create(facedot_sh, passes->verts);
@@ -634,21 +646,24 @@ static void EDIT_MESH_cache_init(void *vedata)
static void edit_mesh_add_ob_to_pass(Scene *scene,
Object *ob,
+ DRWShadingGroup *skin_roots_shgrp,
DRWShadingGroup *vert_shgrp,
DRWShadingGroup *edge_shgrp,
DRWShadingGroup *face_shgrp,
DRWShadingGroup *face_cage_shgrp,
DRWShadingGroup *facedot_shgrp)
{
- struct GPUBatch *geom_tris, *geom_verts, *geom_edges, *geom_fcenter;
+ struct GPUBatch *geom_tris, *geom_verts, *geom_edges, *geom_fcenter, *skin_roots;
ToolSettings *tsettings = scene->toolsettings;
bool has_edit_mesh_cage = false;
+ bool has_skin_roots = false;
/* TODO: Should be its own function. */
Mesh *me = (Mesh *)ob->data;
BMEditMesh *embm = me->edit_mesh;
if (embm) {
has_edit_mesh_cage = embm->mesh_eval_cage && (embm->mesh_eval_cage != embm->mesh_eval_final);
+ has_skin_roots = CustomData_get_offset(&embm->bm->vdata, CD_MVERT_SKIN) != -1;
}
face_shgrp = (has_edit_mesh_cage) ? face_cage_shgrp : face_shgrp;
@@ -661,6 +676,21 @@ static void edit_mesh_add_ob_to_pass(Scene *scene,
if ((tsettings->selectmode & SCE_SELECT_VERTEX) != 0) {
geom_verts = DRW_mesh_batch_cache_get_edit_vertices(ob->data);
DRW_shgroup_call_no_cull(vert_shgrp, geom_verts, ob);
+
+ if (has_skin_roots) {
+ DRWShadingGroup *grp = DRW_shgroup_create_sub(skin_roots_shgrp);
+ /* We need to upload the matrix. But the ob can be temporary allocated so we cannot
+ * use direct reference to ob->obmat. */
+ DRW_shgroup_uniform_vec4_copy(grp, "editModelMat[0]", ob->obmat[0]);
+ DRW_shgroup_uniform_vec4_copy(grp, "editModelMat[1]", ob->obmat[1]);
+ DRW_shgroup_uniform_vec4_copy(grp, "editModelMat[2]", ob->obmat[2]);
+ DRW_shgroup_uniform_vec4_copy(grp, "editModelMat[3]", ob->obmat[3]);
+
+ skin_roots = DRW_mesh_batch_cache_get_edit_skin_roots(ob->data);
+ /* NOTE(fclem) We cannot use ob here since it would offset the instance attribs with
+ * base instance offset. */
+ DRW_shgroup_call(grp, skin_roots, NULL);
+ }
}
if (facedot_shgrp && (tsettings->selectmode & SCE_SELECT_FACE) != 0) {
@@ -723,6 +753,7 @@ static void EDIT_MESH_cache_populate(void *vedata, Object *ob)
if (g_data->do_zbufclip) {
edit_mesh_add_ob_to_pass(scene,
ob,
+ g_data->edit_shgrps.skin_roots,
g_data->edit_shgrps.verts,
g_data->edit_shgrps.edges,
g_data->facefill_occluded_shgrp,
@@ -732,6 +763,7 @@ static void EDIT_MESH_cache_populate(void *vedata, Object *ob)
else if (do_in_front) {
edit_mesh_add_ob_to_pass(scene,
ob,
+ g_data->edit_in_front_shgrps.skin_roots,
g_data->edit_in_front_shgrps.verts,
g_data->edit_in_front_shgrps.edges,
g_data->edit_in_front_shgrps.faces,
@@ -741,6 +773,7 @@ static void EDIT_MESH_cache_populate(void *vedata, Object *ob)
else {
edit_mesh_add_ob_to_pass(scene,
ob,
+ g_data->edit_shgrps.skin_roots,
g_data->edit_shgrps.verts,
g_data->edit_shgrps.edges,
g_data->edit_shgrps.faces,
diff --git a/source/blender/draw/modes/object_mode.c b/source/blender/draw/modes/object_mode.c
index 9fc025645d6..f8e623ffe01 100644
--- a/source/blender/draw/modes/object_mode.c
+++ b/source/blender/draw/modes/object_mode.c
@@ -122,8 +122,9 @@ typedef struct OBJECT_PassList {
struct DRWPass *bone_axes[2];
struct DRWPass *particle;
struct DRWPass *lightprobes;
- struct DRWPass *camera_images_back;
- struct DRWPass *camera_images_front;
+ struct DRWPass *camera_images_back_alpha_under;
+ struct DRWPass *camera_images_back_alpha_over;
+ struct DRWPass *camera_images_front_alpha_over;
} OBJECT_PassList;
typedef struct OBJECT_FramebufferList {
@@ -991,13 +992,19 @@ static void DRW_shgroup_empty_image(OBJECT_Shaders *sh_data,
}
}
-/* Draw Camera Background Images */
+/* -------------------------------------------------------------------- */
+/** \name Camera Background Images
+ * \{ */
typedef struct CameraEngineData {
DrawData dd;
ListBase bg_data;
} CameraEngineData;
+
typedef struct CameraEngineBGData {
+ CameraBGImage *camera_image;
+ GPUTexture *texture;
float transform_mat[4][4];
+ bool premultiplied;
} CameraEngineBGData;
static void camera_engine_data_free(DrawData *dd)
@@ -1032,6 +1039,26 @@ static void camera_background_images_stereo_setup(Scene *scene,
iuser->flag &= ~IMA_SHOW_STEREO;
}
}
+static void camera_background_images_add_shgroup(DRWPass *pass,
+ CameraEngineBGData *bg_data,
+ GPUShader *shader,
+ GPUBatch *batch)
+{
+ CameraBGImage *camera_image = bg_data->camera_image;
+ DRWShadingGroup *grp = DRW_shgroup_create(shader, pass);
+
+ DRW_shgroup_uniform_float_copy(
+ grp, "depth", camera_image->flag & CAM_BGIMG_FLAG_FOREGROUND ? 0.000001f : 0.999999f);
+ DRW_shgroup_uniform_float_copy(grp, "alpha", camera_image->alpha);
+ DRW_shgroup_uniform_texture(grp, "image", bg_data->texture);
+ DRW_shgroup_uniform_bool_copy(grp, "imagePremultiplied", bg_data->premultiplied);
+ DRW_shgroup_uniform_float_copy(
+ grp, "flipX", (camera_image->flag & CAM_BGIMG_FLAG_FLIP_X) ? -1.0 : 1.0);
+ DRW_shgroup_uniform_float_copy(
+ grp, "flipY", (camera_image->flag & CAM_BGIMG_FLAG_FLIP_Y) ? -1.0 : 1.0);
+ DRW_shgroup_uniform_mat4(grp, "TransformMat", bg_data->transform_mat);
+ DRW_shgroup_call(grp, batch, NULL);
+}
static void DRW_shgroup_camera_background_images(OBJECT_Shaders *sh_data,
OBJECT_PassList *psl,
@@ -1208,22 +1235,42 @@ static void DRW_shgroup_camera_background_images(OBJECT_Shaders *sh_data,
uv2img_space[1][1] = image_height;
const float fit_scale = image_aspect / camera_aspect;
- img2cam_space[0][0] = 1.0 / image_width;
- img2cam_space[1][1] = 1.0 / fit_scale / image_height;
+ if (camera_aspect < image_aspect) {
+ img2cam_space[0][0] = 1.0 / (1.0 / fit_scale) / image_width;
+ img2cam_space[1][1] = 1.0 / image_height;
+ }
+ else {
+ img2cam_space[0][0] = 1.0 / image_width;
+ img2cam_space[1][1] = 1.0 / fit_scale / image_height;
+ }
/* Update scaling based on image and camera framing */
float scale_x = bgpic->scale;
float scale_y = bgpic->scale;
+ float scale_x_offset = image_width;
+ float scale_y_offset = image_height;
+ if (image_aspect > 1.0f) {
+ scale_x_offset /= image_aspect;
+ if (camera_aspect > 1.0f) {
+ scale_x_offset *= min_ff(image_aspect, camera_aspect);
+ scale_y_offset *= min_ff(image_aspect, camera_aspect);
+ }
+ }
+ else {
+ scale_y_offset *= image_aspect;
+ if (camera_aspect < 1.0f) {
+ scale_x_offset /= max_ff(image_aspect, camera_aspect);
+ scale_y_offset /= max_ff(image_aspect, camera_aspect);
+ }
+ }
+
if (bgpic->flag & CAM_BGIMG_FLAG_CAMERA_ASPECT) {
if (bgpic->flag & CAM_BGIMG_FLAG_CAMERA_CROP) {
- if (image_aspect > camera_aspect) {
- scale_x *= fit_scale;
- scale_y *= fit_scale;
- }
+ /* pass */
}
else {
- if (image_aspect > camera_aspect) {
+ if (camera_aspect < image_aspect) {
scale_x /= fit_scale;
scale_y /= fit_scale;
}
@@ -1235,7 +1282,12 @@ static void DRW_shgroup_camera_background_images(OBJECT_Shaders *sh_data,
}
else {
/* Stretch image to camera aspect */
- scale_y /= 1.0 / fit_scale;
+ if (camera_aspect < image_aspect) {
+ scale_x /= fit_scale;
+ }
+ else {
+ scale_y *= fit_scale;
+ }
}
// scale image to match the desired aspect ratio
@@ -1243,8 +1295,8 @@ static void DRW_shgroup_camera_background_images(OBJECT_Shaders *sh_data,
scale_m4[1][1] = scale_y;
/* Translate */
- translate_m4[3][0] = image_width * bgpic->offset[0] * 2.0f;
- translate_m4[3][1] = image_height * bgpic->offset[1] * 2.0f;
+ translate_m4[3][0] = bgpic->offset[0] * 2.0f * scale_x_offset;
+ translate_m4[3][1] = bgpic->offset[1] * 2.0f * scale_y_offset;
mul_m4_series(bg_data->transform_mat,
win_m4_translate,
@@ -1255,25 +1307,46 @@ static void DRW_shgroup_camera_background_images(OBJECT_Shaders *sh_data,
scale_m4,
uv2img_space);
- DRWPass *pass = (bgpic->flag & CAM_BGIMG_FLAG_FOREGROUND) ? psl->camera_images_front :
- psl->camera_images_back;
- GPUShader *shader = DRW_state_do_color_management() ? sh_data->object_camera_image_cm :
- sh_data->object_camera_image;
- DRWShadingGroup *grp = DRW_shgroup_create(shader, pass);
+ /* Keep the references so we can reverse the loop */
+ bg_data->camera_image = bgpic;
+ bg_data->texture = tex;
+ bg_data->premultiplied = premultiplied;
+ }
- DRW_shgroup_uniform_float_copy(
- grp, "depth", (bgpic->flag & CAM_BGIMG_FLAG_FOREGROUND) ? 0.000001 : 0.999999);
- DRW_shgroup_uniform_float_copy(grp, "alpha", bgpic->alpha);
- DRW_shgroup_uniform_texture(grp, "image", tex);
- DRW_shgroup_uniform_bool_copy(grp, "imagePremultiplied", premultiplied);
+ /* Mark the rest bg_data's to be reused in the next drawing call */
+ LinkData *last_node = list_node ? list_node->prev : camera_engine_data->bg_data.last;
+ while (list_node != NULL) {
+ CameraEngineBGData *bg_data = (CameraEngineBGData *)list_node->data;
+ bg_data->texture = NULL;
+ bg_data->camera_image = NULL;
+ list_node = list_node->next;
+ }
- DRW_shgroup_uniform_float_copy(
- grp, "flipX", (bgpic->flag & CAM_BGIMG_FLAG_FLIP_X) ? -1.0 : 1.0);
- DRW_shgroup_uniform_float_copy(
- grp, "flipY", (bgpic->flag & CAM_BGIMG_FLAG_FLIP_Y) ? -1.0 : 1.0);
- DRW_shgroup_uniform_mat4(grp, "TransformMat", bg_data->transform_mat);
+ GPUShader *shader = DRW_state_do_color_management() ? sh_data->object_camera_image_cm :
+ sh_data->object_camera_image;
+ /* loop 1: camera images alpha under */
+ for (list_node = last_node; list_node; list_node = list_node->prev) {
+ CameraEngineBGData *bg_data = (CameraEngineBGData *)list_node->data;
+ CameraBGImage *camera_image = bg_data->camera_image;
+ if ((camera_image->flag & CAM_BGIMG_FLAG_FOREGROUND) == 0) {
+ camera_background_images_add_shgroup(
+ psl->camera_images_back_alpha_under, bg_data, shader, batch);
+ }
+ }
- DRW_shgroup_call(grp, batch, NULL);
+ /* loop 2: camera images alpha over */
+ for (list_node = camera_engine_data->bg_data.first; list_node; list_node = list_node->next) {
+ CameraEngineBGData *bg_data = (CameraEngineBGData *)list_node->data;
+ CameraBGImage *camera_image = bg_data->camera_image;
+ if (camera_image == NULL) {
+ break;
+ }
+ camera_background_images_add_shgroup((camera_image->flag & CAM_BGIMG_FLAG_FOREGROUND) ?
+ psl->camera_images_front_alpha_over :
+ psl->camera_images_back_alpha_over,
+ bg_data,
+ shader,
+ batch);
}
}
}
@@ -1286,6 +1359,7 @@ static void camera_background_images_free_textures(void)
}
BLI_freelistN(&e_data.movie_clips);
}
+/* \} */
static void OBJECT_cache_init(void *vedata)
{
@@ -1427,9 +1501,15 @@ static void OBJECT_cache_init(void *vedata)
/* Camera background images */
{
- DRWState state = DRW_STATE_WRITE_COLOR | DRW_STATE_DEPTH_LESS_EQUAL | DRW_STATE_BLEND_ALPHA;
- psl->camera_images_back = DRW_pass_create("Camera Images Back", state);
- psl->camera_images_front = DRW_pass_create("Camera Images Front", state);
+ psl->camera_images_back_alpha_over = DRW_pass_create(
+ "Camera Images Back Over",
+ DRW_STATE_WRITE_COLOR | DRW_STATE_DEPTH_LESS_EQUAL | DRW_STATE_BLEND_ALPHA_PREMUL);
+ psl->camera_images_back_alpha_under = DRW_pass_create(
+ "Camera Images Back Under",
+ DRW_STATE_WRITE_COLOR | DRW_STATE_DEPTH_GREATER | DRW_STATE_BLEND_ALPHA_UNDER_PREMUL);
+ psl->camera_images_front_alpha_over = DRW_pass_create(
+ "Camera Images Front Over",
+ DRW_STATE_WRITE_COLOR | DRW_STATE_DEPTH_LESS_EQUAL | DRW_STATE_BLEND_ALPHA_PREMUL);
}
for (int i = 0; i < 2; i++) {
@@ -2019,7 +2099,8 @@ static void camera_view3d_stereoscopy_display_extra(OBJECT_ShadingGroupList *sgl
if (cam->stereo.convergence_mode == CAM_S3D_OFFAXIS) {
const float shift_x = ((BKE_camera_multiview_shift_x(&scene->r, ob, viewnames[eye]) -
cam->shiftx) *
- (drawsize * scale[0] * fac));
+ (drawsize * scale[0] * fac)) *
+ (cam->stereo.pivot == CAM_S3D_PIVOT_CENTER ? 1.0f : 2.0f);
for (int i = 0; i < 4; i++) {
cam->runtime.drw_corners[eye][i][0] += shift_x;
@@ -2612,21 +2693,22 @@ static void DRW_shgroup_volume_extra(OBJECT_ShadingGroupList *sgl,
DRW_object_wire_theme_get(ob, view_layer, &color);
- /* Small cube showing voxel size (adjusts with adaptive domain) */
- float min[3], max[3], size[3];
+ /* Small cube showing voxel size. */
+ float min[3];
madd_v3fl_v3fl_v3fl_v3i(min, mds->p0, mds->cell_size, mds->res_min);
- madd_v3fl_v3fl_v3fl_v3i(max, mds->p0, mds->cell_size, mds->res_max);
- sub_v3_v3v3(size, max, min);
float voxel_cubemat[4][4] = {{0.0f}};
- /* scale small cube */
- voxel_cubemat[0][0] = (1.0f / (float)mds->res[0]) * size[0] * 0.5;
- voxel_cubemat[1][1] = (1.0f / (float)mds->res[1]) * size[1] * 0.5;
- voxel_cubemat[2][2] = (1.0f / (float)mds->res[2]) * size[2] * 0.5;
- /* translate small cube */
+ /* scale small cube to voxel size */
+ voxel_cubemat[0][0] = 1.0f / (float)mds->base_res[0];
+ voxel_cubemat[1][1] = 1.0f / (float)mds->base_res[1];
+ voxel_cubemat[2][2] = 1.0f / (float)mds->base_res[2];
+ voxel_cubemat[3][0] = voxel_cubemat[3][1] = voxel_cubemat[3][2] = -1.0f;
+ voxel_cubemat[3][3] = 1.0f;
+ /* translate small cube to corner */
voxel_cubemat[3][0] = min[0];
voxel_cubemat[3][1] = min[1];
voxel_cubemat[3][2] = min[2];
voxel_cubemat[3][3] = 1.0f;
+
/* move small cube into the domain (otherwise its centered on vertex of domain object) */
translate_m4(voxel_cubemat, 1.0f, 1.0f, 1.0f);
/* apply transformation matrix to voxel cube matrix */
@@ -2659,11 +2741,15 @@ static void DRW_shgroup_volume_extra(OBJECT_ShadingGroupList *sgl,
DRWShadingGroup *grp = DRW_shgroup_create(volume_velocity_shader_get(use_needle),
sgl->non_meshes);
+
DRW_shgroup_uniform_texture(grp, "velocityX", mds->tex_velocity_x);
DRW_shgroup_uniform_texture(grp, "velocityY", mds->tex_velocity_y);
DRW_shgroup_uniform_texture(grp, "velocityZ", mds->tex_velocity_z);
DRW_shgroup_uniform_float_copy(grp, "displaySize", mds->vector_scale);
DRW_shgroup_uniform_float_copy(grp, "slicePosition", mds->slice_depth);
+ DRW_shgroup_uniform_vec3_copy(grp, "cellSize", mds->cell_size);
+ DRW_shgroup_uniform_vec3_copy(grp, "domainOriginOffset", mds->p0);
+ DRW_shgroup_uniform_ivec3_copy(grp, "adaptiveCellOffset", mds->res_min);
DRW_shgroup_uniform_int_copy(grp, "sliceAxis", slice_axis);
DRW_shgroup_call_procedural_lines(grp, ob, line_count);
@@ -2742,6 +2828,7 @@ static void DRW_shgroup_lightprobe(OBJECT_Shaders *sh_data,
int outline_id = shgroup_theme_id_to_outline_id(theme_id, ob->base_flag);
uint cell_count = prb->grid_resolution_x * prb->grid_resolution_y * prb->grid_resolution_z;
DRWShadingGroup *grp = DRW_shgroup_create(sh_data->lightprobe_grid, psl->lightprobes);
+ DRW_shgroup_uniform_block(grp, "globalsBlock", G_draw.block_ubo);
DRW_shgroup_uniform_int_copy(grp, "outlineId", outline_id);
DRW_shgroup_uniform_vec3_copy(grp, "corner", corner);
DRW_shgroup_uniform_vec3_copy(grp, "increment_x", increment[0]);
@@ -3065,7 +3152,8 @@ static void DRW_shgroup_texture_space(OBJECT_ShadingGroupList *sgl, Object *ob,
DRW_buffer_add_entry(sgl->texspace, color, &one, tmp);
}
-static void DRW_shgroup_bounds(OBJECT_ShadingGroupList *sgl, Object *ob, int theme_id)
+static void DRW_shgroup_bounds(
+ OBJECT_ShadingGroupList *sgl, Object *ob, int theme_id, char boundtype, bool around_origin)
{
float color[4], center[3], size[3], tmp[4][4], final_mat[4][4], one = 1.0f;
BoundBox bb_local;
@@ -3091,10 +3179,16 @@ static void DRW_shgroup_bounds(OBJECT_ShadingGroupList *sgl, Object *ob, int the
}
UI_GetThemeColor4fv(theme_id, color);
- BKE_boundbox_calc_center_aabb(bb, center);
BKE_boundbox_calc_size_aabb(bb, size);
- switch (ob->boundtype) {
+ if (around_origin) {
+ zero_v3(center);
+ }
+ else {
+ BKE_boundbox_calc_center_aabb(bb, center);
+ }
+
+ switch (boundtype) {
case OB_BOUND_BOX:
size_to_mat4(tmp, size);
copy_v3_v3(tmp[3], center);
@@ -3147,6 +3241,27 @@ static void DRW_shgroup_bounds(OBJECT_ShadingGroupList *sgl, Object *ob, int the
}
}
+static void DRW_shgroup_collision(OBJECT_ShadingGroupList *sgl, Object *ob, int theme_id)
+{
+ switch (ob->rigidbody_object->shape) {
+ case RB_SHAPE_BOX:
+ DRW_shgroup_bounds(sgl, ob, theme_id, OB_BOUND_BOX, true);
+ break;
+ case RB_SHAPE_SPHERE:
+ DRW_shgroup_bounds(sgl, ob, theme_id, OB_BOUND_SPHERE, true);
+ break;
+ case RB_SHAPE_CONE:
+ DRW_shgroup_bounds(sgl, ob, theme_id, OB_BOUND_CONE, true);
+ break;
+ case RB_SHAPE_CYLINDER:
+ DRW_shgroup_bounds(sgl, ob, theme_id, OB_BOUND_CYLINDER, true);
+ break;
+ case RB_SHAPE_CAPSULE:
+ DRW_shgroup_bounds(sgl, ob, theme_id, OB_BOUND_CAPSULE, true);
+ break;
+ }
+}
+
static void OBJECT_cache_populate_particles(OBJECT_Shaders *sh_data,
Object *ob,
OBJECT_PassList *psl)
@@ -3495,6 +3610,10 @@ static void OBJECT_cache_populate(void *vedata, Object *ob)
if (hide_object_extra) {
break;
}
+ if ((ob->base_flag & BASE_FROM_DUPLI) && (ob->transflag & OB_DUPLICOLLECTION) &&
+ ob->instance_collection) {
+ break;
+ }
DRW_shgroup_empty(sh_data, sgl, ob, view_layer, rv3d, draw_ctx->sh_cfg);
break;
case OB_SPEAKER:
@@ -3572,7 +3691,7 @@ static void OBJECT_cache_populate(void *vedata, Object *ob)
if (theme_id == TH_UNDEFINED) {
theme_id = DRW_object_wire_theme_get(ob, view_layer, NULL);
}
- DRW_shgroup_bounds(sgl, ob, theme_id);
+ DRW_shgroup_bounds(sgl, ob, theme_id, ob->boundtype, false);
}
/* Helpers for when we're transforming origins. */
@@ -3631,7 +3750,7 @@ static void OBJECT_cache_populate(void *vedata, Object *ob)
/* Don't draw bounding box again if draw type is bound box. */
if ((ob->dtx & OB_DRAWBOUNDOX) && (ob->dt != OB_BOUNDBOX) &&
!ELEM(ob->type, OB_LAMP, OB_CAMERA, OB_EMPTY, OB_SPEAKER, OB_LIGHTPROBE)) {
- DRW_shgroup_bounds(sgl, ob, theme_id);
+ DRW_shgroup_bounds(sgl, ob, theme_id, ob->boundtype, false);
}
if (ob->dtx & OB_AXIS) {
@@ -3641,6 +3760,10 @@ static void OBJECT_cache_populate(void *vedata, Object *ob)
DRW_buffer_add_entry(sgl->empties.empty_axes, color, &axes_size, ob->obmat);
}
+ if (ob->rigidbody_object) {
+ DRW_shgroup_collision(sgl, ob, theme_id);
+ }
+
if ((md = modifiers_findByType(ob, eModifierType_Manta)) &&
(modifier_isEnabled(scene, md, eModifierMode_Realtime)) &&
(((MantaModifierData *)md)->domain != NULL)) {
@@ -3675,7 +3798,8 @@ static void OBJECT_draw_scene(void *vedata)
float clearcol[4] = {0.0f, 0.0f, 0.0f, 0.0f};
- DRW_draw_pass(psl->camera_images_back);
+ DRW_draw_pass(psl->camera_images_back_alpha_under);
+ DRW_draw_pass(psl->camera_images_back_alpha_over);
/* Don't draw Transparent passes in MSAA buffer. */
// DRW_draw_pass(psl->bone_envelope); /* Never drawn in Object mode currently. */
@@ -3783,7 +3907,7 @@ static void OBJECT_draw_scene(void *vedata)
batch_camera_path_free(&stl->g_data->sgl_ghost.camera_path);
- DRW_draw_pass(psl->camera_images_front);
+ DRW_draw_pass(psl->camera_images_front_alpha_over);
camera_background_images_free_textures();
DRW_draw_pass(psl->ob_center);
diff --git a/source/blender/draw/modes/overlay_mode.c b/source/blender/draw/modes/overlay_mode.c
index 587046589ee..9106e89663d 100644
--- a/source/blender/draw/modes/overlay_mode.c
+++ b/source/blender/draw/modes/overlay_mode.c
@@ -239,11 +239,6 @@ static void overlay_cache_init(void *vedata)
geometry_shader_uniforms(g_data->face_wires_shgrp);
geometry_shader_uniforms(g_data->face_wires_xray_shgrp);
}
- if (rv3d->rflag & RV3D_CLIPPING) {
- DRW_shgroup_state_enable(g_data->face_wires_shgrp, DRW_STATE_CLIP_PLANES);
- DRW_shgroup_state_enable(g_data->face_wires_xray_shgrp, DRW_STATE_CLIP_PLANES);
- }
-
g_data->wire_step_param = stl->g_data->overlay.wireframe_threshold - 254.0f / 255.0f;
}
}
@@ -414,6 +409,10 @@ static void overlay_cache_populate(void *vedata, Object *ob)
shgrp = DRW_shgroup_create_sub(pd->face_wires_shgrp);
}
+ if (draw_ctx->rv3d->rflag & RV3D_CLIPPING) {
+ DRW_shgroup_state_enable(shgrp, DRW_STATE_CLIP_PLANES);
+ }
+
float wire_step_param = 10.0f;
if (!use_sculpt_pbvh) {
wire_step_param = (all_wires) ? 1.0f : pd->wire_step_param;
diff --git a/source/blender/draw/modes/sculpt_mode.c b/source/blender/draw/modes/sculpt_mode.c
index 1b196cd8bb7..f32eb3b73ba 100644
--- a/source/blender/draw/modes/sculpt_mode.c
+++ b/source/blender/draw/modes/sculpt_mode.c
@@ -156,7 +156,8 @@ static void SCULPT_cache_populate(void *vedata, Object *ob)
const DRWContextState *draw_ctx = DRW_context_state_get();
if ((ob == draw_ctx->obact) &&
- (BKE_sculptsession_use_pbvh_draw(ob, draw_ctx->v3d) || !ob->sculpt->modifiers_active)) {
+ (BKE_sculptsession_use_pbvh_draw(ob, draw_ctx->v3d) ||
+ !ob->sculpt->deform_modifiers_active || ob->sculpt->shapekey_active)) {
PBVH *pbvh = ob->sculpt->pbvh;
if (pbvh && pbvh_has_mask(pbvh)) {
DRW_shgroup_call_sculpt(stl->g_data->mask_overlay_grp, ob, false, true, false);
diff --git a/source/blender/draw/modes/shaders/common_globals_lib.glsl b/source/blender/draw/modes/shaders/common_globals_lib.glsl
index e559224eb9e..d147b193ccf 100644
--- a/source/blender/draw/modes/shaders/common_globals_lib.glsl
+++ b/source/blender/draw/modes/shaders/common_globals_lib.glsl
@@ -34,6 +34,7 @@ layout(std140) uniform globalsBlock
vec4 colorVNormal;
vec4 colorLNormal;
vec4 colorFaceDot;
+ vec4 colorSkinRoot;
vec4 colorDeselect;
vec4 colorOutline;
vec4 colorLightNoAlpha;
diff --git a/source/blender/draw/modes/shaders/common_view_lib.glsl b/source/blender/draw/modes/shaders/common_view_lib.glsl
index fa4bb4f68c0..76089d1ae41 100644
--- a/source/blender/draw/modes/shaders/common_view_lib.glsl
+++ b/source/blender/draw/modes/shaders/common_view_lib.glsl
@@ -71,7 +71,7 @@ flat in int resourceIDFrag;
# define resource_id resourceIDFrag
#endif
-#if !defined(GPU_INTEL) && !defined(GPU_DEPRECATED_AMD_DRIVER)
+#if !defined(GPU_INTEL) && !defined(GPU_DEPRECATED_AMD_DRIVER) && !defined(OS_MAC)
struct ObjectMatrices {
mat4 drw_modelMatrix;
mat4 drw_modelMatrixInverse;
@@ -88,6 +88,8 @@ layout(std140) uniform modelBlock
#else /* GPU_INTEL */
/* Intel GPU seems to suffer performance impact when the model matrix is in UBO storage.
* So for now we just force using the legacy path. */
+/* Note that this is also a workaround of a problem on osx (amd or nvidia)
+ * and older amd driver on windows. */
uniform mat4 ModelMatrix;
uniform mat4 ModelMatrixInverse;
#endif
diff --git a/source/blender/draw/modes/shaders/edit_mesh_skin_root_vert.glsl b/source/blender/draw/modes/shaders/edit_mesh_skin_root_vert.glsl
new file mode 100644
index 00000000000..5187571b27b
--- /dev/null
+++ b/source/blender/draw/modes/shaders/edit_mesh_skin_root_vert.glsl
@@ -0,0 +1,30 @@
+/* Need dedicated obmat since we use instancing attribs
+ * (we cannot let have baseinstance mess them). */
+uniform vec4 editModelMat[4];
+uniform vec3 screen_vecs[2];
+
+/* ---- Instantiated Attrs ---- */
+in vec2 pos;
+
+/* ---- Per instance Attrs ---- */
+in float size;
+in vec3 local_pos;
+
+flat out vec4 finalColor;
+
+void main()
+{
+ mat4 obmat = mat4(editModelMat[0], editModelMat[1], editModelMat[2], editModelMat[3]);
+ /* Could be optimized... but it is only for a handful of verts so not a priority. */
+ mat3 imat = inverse(mat3(obmat));
+ vec3 right = normalize(imat * vec3(screen_vecs[0]));
+ vec3 up = normalize(imat * vec3(screen_vecs[1]));
+ vec3 screen_pos = (right * pos.x + up * pos.y) * size;
+ vec4 pos_4d = obmat * vec4(local_pos + screen_pos, 1.0);
+ gl_Position = ViewProjectionMatrix * pos_4d;
+ finalColor = colorSkinRoot;
+
+#ifdef USE_WORLD_CLIP_PLANES
+ world_clip_planes_calc_clip_distance(pos_4d.xyz);
+#endif
+}
diff --git a/source/blender/draw/modes/shaders/object_camera_image_frag.glsl b/source/blender/draw/modes/shaders/object_camera_image_frag.glsl
index 5d8ad3c79ea..7804ebdb8c9 100644
--- a/source/blender/draw/modes/shaders/object_camera_image_frag.glsl
+++ b/source/blender/draw/modes/shaders/object_camera_image_frag.glsl
@@ -19,5 +19,7 @@ void main()
#endif
color.a *= alpha;
+ color.rgb *= color.a;
+
fragColor = color;
}
diff --git a/source/blender/draw/modes/shaders/volume_velocity_vert.glsl b/source/blender/draw/modes/shaders/volume_velocity_vert.glsl
index e96a789b8b1..64f88bd74fa 100644
--- a/source/blender/draw/modes/shaders/volume_velocity_vert.glsl
+++ b/source/blender/draw/modes/shaders/volume_velocity_vert.glsl
@@ -6,6 +6,13 @@ uniform float displaySize = 1.0;
uniform float slicePosition;
uniform int sliceAxis; /* -1 is no slice, 0 is X, 1 is Y, 2 is Z. */
+/* SmokeDomainSettings.cell_size */
+uniform vec3 cellSize;
+/* SmokeDomainSettings.p0 */
+uniform vec3 domainOriginOffset;
+/* SmokeDomainSettings.res_min */
+uniform ivec3 adaptiveCellOffset;
+
flat out vec4 finalColor;
const vec3 corners[4] = vec3[4](vec3(0.0, 0.2, -0.5),
@@ -66,7 +73,6 @@ void main()
#endif
ivec3 volume_size = textureSize(velocityX, 0);
- float voxel_size = 1.0 / float(max(max(volume_size.x, volume_size.y), volume_size.z));
ivec3 cell_ofs = ivec3(0);
ivec3 cell_div = volume_size;
@@ -89,8 +95,7 @@ void main()
cell_co.z = cell / (cell_div.x * cell_div.y);
cell_co += cell_ofs;
- vec3 pos = (vec3(cell_co) + 0.5) / vec3(volume_size);
- pos = pos * 2.0 - 1.0;
+ vec3 pos = domainOriginOffset + cellSize * (vec3(cell_co + adaptiveCellOffset) + 0.5);
vec3 velocity;
velocity.x = texelFetch(velocityX, cell_co, 0).r;
@@ -102,9 +107,9 @@ void main()
#ifdef USE_NEEDLE
mat3 rot_mat = rotation_from_vector(velocity);
vec3 rotated_pos = rot_mat * corners[indices[gl_VertexID % 12]];
- pos += rotated_pos * length(velocity) * displaySize * voxel_size;
+ pos += rotated_pos * length(velocity) * displaySize * cellSize;
#else
- pos += (((gl_VertexID % 2) == 1) ? velocity : vec3(0.0)) * displaySize * voxel_size;
+ pos += ((gl_VertexID % 2) == 1) ? velocity * displaySize * cellSize : vec3(0.0);
#endif
vec3 world_pos = point_object_to_world(pos);
diff --git a/source/blender/editors/animation/anim_channels_defines.c b/source/blender/editors/animation/anim_channels_defines.c
index d80b96f0d74..8951677b32f 100644
--- a/source/blender/editors/animation/anim_channels_defines.c
+++ b/source/blender/editors/animation/anim_channels_defines.c
@@ -3411,7 +3411,7 @@ static void acf_nlatrack_color(bAnimContext *UNUSED(ac), bAnimListElem *ale, flo
}
/* set color for nla track */
- UI_GetThemeColorShade3fv(TH_HEADER, ((nonSolo == false) ? 20 : -20), r_color);
+ UI_GetThemeColorShade3fv(TH_NLA_TRACK, ((nonSolo == false) ? 20 : -20), r_color);
}
/* name for nla track entries */
diff --git a/source/blender/editors/animation/anim_filter.c b/source/blender/editors/animation/anim_filter.c
index 48493c9e961..f73c8a5b71a 100644
--- a/source/blender/editors/animation/anim_filter.c
+++ b/source/blender/editors/animation/anim_filter.c
@@ -1818,7 +1818,7 @@ static size_t animdata_filter_gpencil(bAnimContext *ac,
!(ads->filterflag & ADS_FILTER_INCL_HIDDEN)) {
/* Layer visibility - we check both object and base,
* since these may not be in sync yet. */
- if ((base->flag & BASE_VISIBLE) == 0) {
+ if ((base->flag & BASE_VISIBLE_DEPSGRAPH) == 0) {
continue;
}
@@ -3017,7 +3017,7 @@ static bool animdata_filter_base_is_ok(bDopeSheet *ads, Base *base, int filter_m
*/
if ((filter_mode & ANIMFILTER_DATA_VISIBLE) && !(ads->filterflag & ADS_FILTER_INCL_HIDDEN)) {
/* layer visibility - we check both object and base, since these may not be in sync yet */
- if ((base->flag & BASE_VISIBLE) == 0) {
+ if ((base->flag & BASE_VISIBLE_DEPSGRAPH) == 0) {
return false;
}
diff --git a/source/blender/editors/animation/anim_markers.c b/source/blender/editors/animation/anim_markers.c
index 2a35acdefcb..36583ecf060 100644
--- a/source/blender/editors/animation/anim_markers.c
+++ b/source/blender/editors/animation/anim_markers.c
@@ -1148,33 +1148,48 @@ static void deselect_markers(ListBase *markers)
}
/* select/deselect TimeMarker at current frame */
-static void select_timeline_marker_frame(ListBase *markers, int frame, bool extend)
+static int select_timeline_marker_frame(ListBase *markers,
+ int frame,
+ bool extend,
+ bool wait_to_deselect_others)
{
- TimeMarker *marker, *marker_first = NULL;
+ TimeMarker *marker, *marker_selected = NULL;
+ int ret_val = OPERATOR_FINISHED;
+
+ if (extend) {
+ wait_to_deselect_others = false;
+ }
/* support for selection cycling */
for (marker = markers->first; marker; marker = marker->next) {
if (marker->frame == frame) {
if (marker->flag & SELECT) {
- marker_first = marker->next;
+ marker_selected = marker->next;
break;
}
}
}
- /* if extend is not set, then deselect markers */
- if (extend == false) {
- deselect_markers(markers);
+ if (wait_to_deselect_others && marker_selected) {
+ ret_val = OPERATOR_RUNNING_MODAL;
}
+ /* if extend is not set, then deselect markers */
+ else {
+ if (extend == false) {
+ deselect_markers(markers);
+ }
- LISTBASE_CIRCULAR_FORWARD_BEGIN (markers, marker, marker_first) {
- /* this way a not-extend select will always give 1 selected marker */
- if (marker->frame == frame) {
- marker->flag ^= SELECT;
- break;
+ LISTBASE_CIRCULAR_FORWARD_BEGIN (markers, marker, marker_selected) {
+ /* this way a not-extend select will always give 1 selected marker */
+ if (marker->frame == frame) {
+ marker->flag ^= SELECT;
+ break;
+ }
}
+ LISTBASE_CIRCULAR_FORWARD_END(markers, marker, marker_selected);
}
- LISTBASE_CIRCULAR_FORWARD_END(markers, marker, marker_first);
+
+ return ret_val;
}
static void select_marker_camera_switch(
@@ -1221,17 +1236,17 @@ static void select_marker_camera_switch(
#endif
}
-static int ed_marker_select(bContext *C, const wmEvent *event, bool extend, bool camera)
+static int ed_marker_select(
+ bContext *C, const int mval[2], bool extend, bool camera, bool wait_to_deselect_others)
{
ListBase *markers = ED_context_get_markers(C);
- ARegion *ar = CTX_wm_region(C);
View2D *v2d = UI_view2d_fromcontext(C);
+ int ret_val = OPERATOR_FINISHED;
- float mouse_region_x = event->x - ar->winrct.xmin;
- if (region_position_is_over_marker(v2d, markers, mouse_region_x)) {
- float frame_at_mouse_position = UI_view2d_region_to_view_x(v2d, mouse_region_x);
+ if (region_position_is_over_marker(v2d, markers, mval[0])) {
+ float frame_at_mouse_position = UI_view2d_region_to_view_x(v2d, mval[0]);
int cfra = ED_markers_find_nearest_marker_time(markers, frame_at_mouse_position);
- select_timeline_marker_frame(markers, cfra, extend);
+ ret_val = select_timeline_marker_frame(markers, cfra, extend, wait_to_deselect_others);
select_marker_camera_switch(C, camera, extend, markers, cfra);
}
@@ -1243,17 +1258,22 @@ static int ed_marker_select(bContext *C, const wmEvent *event, bool extend, bool
WM_event_add_notifier(C, NC_ANIMATION | ND_MARKERS, NULL);
/* allowing tweaks, but needs OPERATOR_FINISHED, otherwise renaming fails... [#25987] */
- return OPERATOR_FINISHED | OPERATOR_PASS_THROUGH;
+ return ret_val | OPERATOR_PASS_THROUGH;
}
-static int ed_marker_select_invoke(bContext *C, wmOperator *op, const wmEvent *event)
+static int ed_marker_select_exec(bContext *C, wmOperator *op)
{
const bool extend = RNA_boolean_get(op->ptr, "extend");
+ const bool wait_to_deselect_others = RNA_boolean_get(op->ptr, "wait_to_deselect_others");
bool camera = false;
#ifdef DURIAN_CAMERA_SWITCH
camera = RNA_boolean_get(op->ptr, "camera");
#endif
- return ed_marker_select(C, event, extend, camera);
+ int mval[2];
+ mval[0] = RNA_int_get(op->ptr, "mouse_x");
+ mval[1] = RNA_int_get(op->ptr, "mouse_y");
+
+ return ed_marker_select(C, mval, extend, camera, wait_to_deselect_others);
}
static void MARKER_OT_select(wmOperatorType *ot)
@@ -1266,12 +1286,15 @@ static void MARKER_OT_select(wmOperatorType *ot)
ot->idname = "MARKER_OT_select";
/* api callbacks */
- ot->invoke = ed_marker_select_invoke;
ot->poll = ed_markers_poll_markers_exist;
+ ot->exec = ed_marker_select_exec;
+ ot->invoke = WM_generic_select_invoke;
+ ot->modal = WM_generic_select_modal;
/* flags */
ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO;
+ WM_operator_properties_generic_select(ot);
prop = RNA_def_boolean(ot->srna, "extend", 0, "Extend", "Extend the selection");
RNA_def_property_flag(prop, PROP_SKIP_SAVE);
#ifdef DURIAN_CAMERA_SWITCH
diff --git a/source/blender/editors/animation/anim_motion_paths.c b/source/blender/editors/animation/anim_motion_paths.c
index 30bf837f6c0..e6ab3609507 100644
--- a/source/blender/editors/animation/anim_motion_paths.c
+++ b/source/blender/editors/animation/anim_motion_paths.c
@@ -236,10 +236,8 @@ static void motionpath_get_global_framerange(ListBase *targets, int *r_sfra, int
static int motionpath_get_prev_keyframe(MPathTarget *mpt, DLRBT_Tree *fcu_keys, int current_frame)
{
- /* If the current frame is outside of the configured motion path range we ignore update of this
- * motion path by using invalid frame range where start frame is above the end frame. */
if (current_frame <= mpt->mpath->start_frame) {
- return INT_MAX;
+ return mpt->mpath->start_frame;
}
float current_frame_float = current_frame;
@@ -262,10 +260,8 @@ static int motionpath_get_prev_prev_keyframe(MPathTarget *mpt,
static int motionpath_get_next_keyframe(MPathTarget *mpt, DLRBT_Tree *fcu_keys, int current_frame)
{
- /* If the current frame is outside of the configured motion path range we ignore update of this
- * motion path by using invalid frame range where start frame is above the end frame. */
if (current_frame >= mpt->mpath->end_frame) {
- return INT_MIN;
+ return mpt->mpath->end_frame;
}
float current_frame_float = current_frame;
@@ -305,6 +301,15 @@ static void motionpath_calculate_update_range(MPathTarget *mpt,
int *r_sfra,
int *r_efra)
{
+ *r_sfra = INT_MAX;
+ *r_efra = INT_MIN;
+
+ /* If the current frame is outside of the configured motion path range we ignore update of this
+ * motion path by using invalid frame range where start frame is above the end frame. */
+ if (current_frame < mpt->mpath->start_frame || current_frame > mpt->mpath->end_frame) {
+ return;
+ }
+
/* Similar to the case when there is only a single keyframe: need to update en entire range to
* a constant value. */
if (!motionpath_check_can_use_keyframe_range(mpt, adt, fcurve_list)) {
@@ -313,9 +318,6 @@ static void motionpath_calculate_update_range(MPathTarget *mpt,
return;
}
- *r_sfra = INT_MAX;
- *r_efra = INT_MIN;
-
/* NOTE: Iterate over individual f-curves, and check their keyframes individually and pick a
* widest range from them. This is because it's possible to have more narrow keyframe on a
* channel which wasn't edited.
@@ -344,6 +346,13 @@ static void motionpath_calculate_update_range(MPathTarget *mpt,
}
}
+static void motionpath_free_free_tree_data(ListBase *targets)
+{
+ for (MPathTarget *mpt = targets->first; mpt; mpt = mpt->next) {
+ BLI_dlrbTree_free(&mpt->keys);
+ }
+}
+
/* Perform baking of the given object's and/or its bones' transforms to motion paths
* - scene: current scene
* - ob: object whose flagged motionpaths should get calculated
@@ -444,6 +453,7 @@ void animviz_calc_motionpaths(Depsgraph *depsgraph,
}
if (sfra > efra) {
+ motionpath_free_free_tree_data(targets);
return;
}
diff --git a/source/blender/editors/animation/drivers.c b/source/blender/editors/animation/drivers.c
index 7b9e6a10f44..64f7fe034dc 100644
--- a/source/blender/editors/animation/drivers.c
+++ b/source/blender/editors/animation/drivers.c
@@ -62,13 +62,11 @@
/* Get (or add relevant data to be able to do so) F-Curve from the driver stack,
* for the given Animation Data block. This assumes that all the destinations are valid.
- *
- * - add: 0 - don't add anything if not found,
- * 1 - add new Driver FCurve (with keyframes for visual tweaking),
- * 2 - add new Driver FCurve (with generator, for script backwards compatibility)
- * -1 - add new Driver FCurve without driver stuff (for pasting)
*/
-FCurve *verify_driver_fcurve(ID *id, const char rna_path[], const int array_index, short add)
+FCurve *verify_driver_fcurve(ID *id,
+ const char rna_path[],
+ const int array_index,
+ eDriverFCurveCreationMode creation_mode)
{
AnimData *adt;
FCurve *fcu;
@@ -80,7 +78,7 @@ FCurve *verify_driver_fcurve(ID *id, const char rna_path[], const int array_inde
/* init animdata if none available yet */
adt = BKE_animdata_from_id(id);
- if ((adt == NULL) && (add)) {
+ if (adt == NULL && creation_mode != DRIVER_FCURVE_LOOKUP_ONLY) {
adt = BKE_animdata_add_id(id);
}
if (adt == NULL) {
@@ -94,9 +92,9 @@ FCurve *verify_driver_fcurve(ID *id, const char rna_path[], const int array_inde
*/
fcu = list_find_fcurve(&adt->drivers, rna_path, array_index);
- if ((fcu == NULL) && (add)) {
+ if (fcu == NULL && creation_mode != DRIVER_FCURVE_LOOKUP_ONLY) {
/* use default settings to make a F-Curve */
- fcu = alloc_driver_fcurve(rna_path, array_index, add);
+ fcu = alloc_driver_fcurve(rna_path, array_index, creation_mode);
/* just add F-Curve to end of driver list */
BLI_addtail(&adt->drivers, fcu);
@@ -106,12 +104,14 @@ FCurve *verify_driver_fcurve(ID *id, const char rna_path[], const int array_inde
return fcu;
}
-struct FCurve *alloc_driver_fcurve(const char rna_path[], const int array_index, short add)
+struct FCurve *alloc_driver_fcurve(const char rna_path[],
+ const int array_index,
+ eDriverFCurveCreationMode creation_mode)
{
FCurve *fcu = MEM_callocN(sizeof(FCurve), "FCurve");
fcu->flag = (FCURVE_VISIBLE | FCURVE_SELECTED);
- fcu->auto_smoothing = FCURVE_SMOOTH_CONT_ACCEL;
+ fcu->auto_smoothing = U.auto_smoothing_new;
/* store path - make copy, and store that */
if (rna_path) {
@@ -119,18 +119,12 @@ struct FCurve *alloc_driver_fcurve(const char rna_path[], const int array_index,
}
fcu->array_index = array_index;
- /* If add is negative, don't init this data yet,
- * since it will be filled in by the pasted driver. */
- if (add > 0) {
- BezTriple *bezt;
- size_t i;
-
+ if (!ELEM(creation_mode, DRIVER_FCURVE_LOOKUP_ONLY, DRIVER_FCURVE_EMPTY)) {
/* add some new driver data */
fcu->driver = MEM_callocN(sizeof(ChannelDriver), "ChannelDriver");
/* F-Modifier or Keyframes? */
- // FIXME: replace these magic numbers with defines
- if (add == 2) {
+ if (creation_mode == DRIVER_FCURVE_GENERATOR) {
/* Python API Backwards compatibility hack:
* Create FModifier so that old scripts won't break
* for now before 2.7 series -- (September 4, 2013)
@@ -142,14 +136,10 @@ struct FCurve *alloc_driver_fcurve(const char rna_path[], const int array_index,
* - These are configured to 0,0 and 1,1 to give a 1-1 mapping
* which can be easily tweaked from there.
*/
- insert_vert_fcurve(fcu, 0.0f, 0.0f, BEZT_KEYTYPE_KEYFRAME, INSERTKEY_FAST);
- insert_vert_fcurve(fcu, 1.0f, 1.0f, BEZT_KEYTYPE_KEYFRAME, INSERTKEY_FAST);
-
- /* configure this curve to extrapolate */
- for (i = 0, bezt = fcu->bezt; (i < fcu->totvert) && bezt; i++, bezt++) {
- bezt->h1 = bezt->h2 = HD_VECT;
- }
-
+ insert_vert_fcurve(
+ fcu, 0.0f, 0.0f, BEZT_KEYTYPE_KEYFRAME, INSERTKEY_FAST | INSERTKEY_NO_USERPREF);
+ insert_vert_fcurve(
+ fcu, 1.0f, 1.0f, BEZT_KEYTYPE_KEYFRAME, INSERTKEY_FAST | INSERTKEY_NO_USERPREF);
fcu->extend = FCURVE_EXTRAPOLATE_LINEAR;
calchandles_fcurve(fcu);
}
@@ -177,7 +167,8 @@ static int add_driver_with_target(ReportList *UNUSED(reports),
int driver_type)
{
FCurve *fcu;
- short add_mode = (flag & CREATEDRIVER_WITH_FMODIFIER) ? 2 : 1;
+ short add_mode = (flag & CREATEDRIVER_WITH_FMODIFIER) ? DRIVER_FCURVE_GENERATOR :
+ DRIVER_FCURVE_KEYFRAMES;
const char *prop_name = RNA_property_identifier(src_prop);
/* Create F-Curve with Driver */
@@ -593,7 +584,7 @@ bool ANIM_remove_driver(ReportList *UNUSED(reports),
* Note: here is one of the places where we don't want new F-Curve + Driver added!
* so 'add' var must be 0
*/
- fcu = verify_driver_fcurve(id, rna_path, array_index, 0);
+ fcu = verify_driver_fcurve(id, rna_path, array_index, DRIVER_FCURVE_LOOKUP_ONLY);
if (fcu) {
BLI_remlink(&adt->drivers, fcu);
free_fcurve(fcu);
@@ -653,7 +644,7 @@ bool ANIM_copy_driver(
}
/* try to get F-Curve with Driver */
- fcu = verify_driver_fcurve(id, rna_path, array_index, 0);
+ fcu = verify_driver_fcurve(id, rna_path, array_index, DRIVER_FCURVE_LOOKUP_ONLY);
/* clear copy/paste buffer first (for consistency with other copy/paste buffers) */
ANIM_drivers_copybuf_free();
@@ -711,7 +702,7 @@ bool ANIM_paste_driver(
}
/* create Driver F-Curve, but without data which will be copied across... */
- fcu = verify_driver_fcurve(id, rna_path, array_index, -1);
+ fcu = verify_driver_fcurve(id, rna_path, array_index, DRIVER_FCURVE_EMPTY);
if (fcu) {
/* copy across the curve data from the buffer curve
@@ -855,7 +846,7 @@ void ANIM_copy_as_driver(struct ID *target_id, const char *target_path, const ch
ANIM_driver_vars_copybuf_free();
/* Create a dummy driver F-Curve. */
- FCurve *fcu = alloc_driver_fcurve(NULL, 0, 1);
+ FCurve *fcu = alloc_driver_fcurve(NULL, 0, DRIVER_FCURVE_KEYFRAMES);
ChannelDriver *driver = fcu->driver;
/* Create a variable. */
diff --git a/source/blender/editors/animation/keyframes_draw.c b/source/blender/editors/animation/keyframes_draw.c
index c174ce83bea..479e7192b0e 100644
--- a/source/blender/editors/animation/keyframes_draw.c
+++ b/source/blender/editors/animation/keyframes_draw.c
@@ -545,8 +545,7 @@ int actkeyblock_get_valid_hold(ActKeyColumn *ac)
return 0;
}
- const int hold_mask = (ACTKEYBLOCK_FLAG_ANY_HOLD | ACTKEYBLOCK_FLAG_STATIC_HOLD |
- ACTKEYBLOCK_FLAG_ANY_HOLD);
+ const int hold_mask = (ACTKEYBLOCK_FLAG_ANY_HOLD | ACTKEYBLOCK_FLAG_STATIC_HOLD);
return (ac->block.flag & ~ac->block.conflict) & hold_mask;
}
diff --git a/source/blender/editors/animation/keyframing.c b/source/blender/editors/animation/keyframing.c
index 0f8b8742659..8203a9131fa 100644
--- a/source/blender/editors/animation/keyframing.c
+++ b/source/blender/editors/animation/keyframing.c
@@ -202,7 +202,7 @@ FCurve *verify_fcurve(Main *bmain,
fcu = MEM_callocN(sizeof(FCurve), "FCurve");
fcu->flag = (FCURVE_VISIBLE | FCURVE_SELECTED);
- fcu->auto_smoothing = FCURVE_SMOOTH_CONT_ACCEL;
+ fcu->auto_smoothing = U.auto_smoothing_new;
if (BLI_listbase_is_empty(&act->curves)) {
fcu->flag |= FCURVE_ACTIVE; /* first one added active */
}
diff --git a/source/blender/editors/armature/editarmature_undo.c b/source/blender/editors/armature/editarmature_undo.c
index 4a82a8fccee..4e3ab11a9f7 100644
--- a/source/blender/editors/armature/editarmature_undo.c
+++ b/source/blender/editors/armature/editarmature_undo.c
@@ -32,6 +32,7 @@
#include "BKE_context.h"
#include "BKE_layer.h"
+#include "BKE_main.h"
#include "BKE_undo_system.h"
#include "DEG_depsgraph.h"
@@ -142,9 +143,7 @@ static bool armature_undosys_poll(bContext *C)
return editarm_object_from_context(C) != NULL;
}
-static bool armature_undosys_step_encode(struct bContext *C,
- struct Main *UNUSED(bmain),
- UndoStep *us_p)
+static bool armature_undosys_step_encode(struct bContext *C, struct Main *bmain, UndoStep *us_p)
{
ArmatureUndoStep *us = (ArmatureUndoStep *)us_p;
@@ -165,17 +164,18 @@ static bool armature_undosys_step_encode(struct bContext *C,
elem->obedit_ref.ptr = ob;
bArmature *arm = elem->obedit_ref.ptr->data;
undoarm_from_editarm(&elem->data, arm);
+ arm->needs_flush_to_id = 1;
us->step.data_size += elem->data.undo_size;
}
MEM_freeN(objects);
+
+ bmain->is_memfile_undo_flush_needed = true;
+
return true;
}
-static void armature_undosys_step_decode(struct bContext *C,
- struct Main *UNUSED(bmain),
- UndoStep *us_p,
- int UNUSED(dir),
- bool UNUSED(is_final))
+static void armature_undosys_step_decode(
+ struct bContext *C, struct Main *bmain, UndoStep *us_p, int UNUSED(dir), bool UNUSED(is_final))
{
ArmatureUndoStep *us = (ArmatureUndoStep *)us_p;
@@ -198,6 +198,7 @@ static void armature_undosys_step_decode(struct bContext *C,
continue;
}
undoarm_to_editarm(&elem->data, arm);
+ arm->needs_flush_to_id = 1;
DEG_id_tag_update(&obedit->id, ID_RECALC_GEOMETRY);
}
@@ -205,6 +206,8 @@ static void armature_undosys_step_decode(struct bContext *C,
ED_undo_object_set_active_or_warn(
CTX_data_view_layer(C), us->elems[0].obedit_ref.ptr, us_p->name, &LOG);
+ bmain->is_memfile_undo_flush_needed = true;
+
WM_event_add_notifier(C, NC_GEOM | ND_DATA, NULL);
}
diff --git a/source/blender/editors/armature/pose_select.c b/source/blender/editors/armature/pose_select.c
index c3a7d45f598..a60b9c56dc6 100644
--- a/source/blender/editors/armature/pose_select.c
+++ b/source/blender/editors/armature/pose_select.c
@@ -372,12 +372,8 @@ bool ED_pose_deselect_all_multi(bContext *C, int select_mode, const bool ignore_
ViewContext vc;
ED_view3d_viewcontext_init(C, &vc, depsgraph);
uint bases_len = 0;
- Base **bases = BKE_view_layer_array_from_bases_in_mode(vc.view_layer,
- vc.v3d,
- &bases_len,
- {
- .object_mode = OB_MODE_POSE,
- });
+
+ Base **bases = BKE_object_pose_base_array_get_unique(vc.view_layer, vc.v3d, &bases_len);
bool changed_multi = ED_pose_deselect_all_multi_ex(
bases, bases_len, select_mode, ignore_visibility);
MEM_freeN(bases);
@@ -775,8 +771,8 @@ static bool pose_select_same_group(bContext *C, bool extend)
uint ob_index;
uint objects_len = 0;
- Object **objects = BKE_view_layer_array_from_objects_in_mode_unique_data(
- view_layer, CTX_wm_view3d(C), &objects_len, OB_MODE_POSE);
+ Object **objects = BKE_object_pose_array_get_unique(view_layer, CTX_wm_view3d(C), &objects_len);
+
for (ob_index = 0; ob_index < objects_len; ob_index++) {
Object *ob = BKE_object_pose_armature_get(objects[ob_index]);
bArmature *arm = (ob) ? ob->data : NULL;
@@ -876,8 +872,8 @@ static bool pose_select_same_layer(bContext *C, bool extend)
bool changed = false;
uint objects_len = 0;
- Object **objects = BKE_view_layer_array_from_objects_in_mode_unique_data(
- view_layer, CTX_wm_view3d(C), &objects_len, OB_MODE_POSE);
+ Object **objects = BKE_object_pose_array_get_unique(view_layer, CTX_wm_view3d(C), &objects_len);
+
for (ob_index = 0; ob_index < objects_len; ob_index++) {
Object *ob = objects[ob_index];
ob->id.tag &= ~LIB_TAG_DOIT;
@@ -990,8 +986,8 @@ static bool pose_select_same_keyingset(bContext *C, ReportList *reports, bool ex
}
uint objects_len = 0;
- Object **objects = BKE_view_layer_array_from_objects_in_mode_unique_data(
- view_layer, CTX_wm_view3d(C), &objects_len, OB_MODE_POSE);
+ Object **objects = BKE_object_pose_array_get_unique(view_layer, CTX_wm_view3d(C), &objects_len);
+
for (uint ob_index = 0; ob_index < objects_len; ob_index++) {
Object *ob = BKE_object_pose_armature_get(objects[ob_index]);
bArmature *arm = (ob) ? ob->data : NULL;
@@ -1132,8 +1128,8 @@ static int pose_select_mirror_exec(bContext *C, wmOperator *op)
const bool extend = RNA_boolean_get(op->ptr, "extend");
uint objects_len = 0;
- Object **objects = BKE_view_layer_array_from_objects_in_mode_unique_data(
- view_layer, CTX_wm_view3d(C), &objects_len, OB_MODE_POSE);
+ Object **objects = BKE_object_pose_array_get_unique(view_layer, CTX_wm_view3d(C), &objects_len);
+
for (uint ob_index = 0; ob_index < objects_len; ob_index++) {
Object *ob = objects[ob_index];
bArmature *arm = ob->data;
diff --git a/source/blender/editors/armature/pose_slide.c b/source/blender/editors/armature/pose_slide.c
index 6274eb549da..7ed41b5b4d0 100644
--- a/source/blender/editors/armature/pose_slide.c
+++ b/source/blender/editors/armature/pose_slide.c
@@ -368,30 +368,14 @@ static void pose_slide_apply_val(tPoseSlideOp *pso, FCurve *fcu, Object *ob, flo
switch (pso->mode) {
case POSESLIDE_PUSH: /* make the current pose more pronounced */
{
- /* perform a weighted average here, favoring the middle pose
- * - numerator should be larger than denominator to 'expand' the result
- * - perform this weighting a number of times given by the percentage...
- */
- /* TODO: maybe a sensitivity ctrl on top of this is needed */
- int iters = (int)ceil(10.0f * pso->percentage);
-
- while (iters-- > 0) {
- (*val) = (-((sVal * w2) + (eVal * w1)) + ((*val) * 6.0f)) / 5.0f;
- }
+ /* Slide the pose away from the breakdown pose in the timeline */
+ (*val) -= ((sVal * w2) + (eVal * w1) - (*val)) * pso->percentage;
break;
}
case POSESLIDE_RELAX: /* make the current pose more like its surrounding ones */
{
- /* perform a weighted average here, favoring the middle pose
- * - numerator should be smaller than denominator to 'relax' the result
- * - perform this weighting a number of times given by the percentage...
- */
- /* TODO: maybe a sensitivity ctrl on top of this is needed */
- int iters = (int)ceil(10.0f * pso->percentage);
-
- while (iters-- > 0) {
- (*val) = (((sVal * w2) + (eVal * w1)) + ((*val) * 5.0f)) / 6.0f;
- }
+ /* Slide the pose towards the breakdown pose in the timeline */
+ (*val) += ((sVal * w2) + (eVal * w1) - (*val)) * pso->percentage;
break;
}
case POSESLIDE_BREAKDOWN: /* make the current pose slide around between the endpoints */
@@ -1003,7 +987,7 @@ static int pose_slide_invoke_common(bContext *C, wmOperator *op, tPoseSlideOp *p
pose_slide_refresh(C, pso);
/* set cursor to indicate modal */
- WM_cursor_modal_set(win, BC_EW_SCROLLCURSOR);
+ WM_cursor_modal_set(win, WM_CURSOR_EW_SCROLL);
/* header print */
pose_slide_draw_status(pso);
diff --git a/source/blender/editors/armature/pose_transform.c b/source/blender/editors/armature/pose_transform.c
index 7229002dcbd..55c9b661074 100644
--- a/source/blender/editors/armature/pose_transform.c
+++ b/source/blender/editors/armature/pose_transform.c
@@ -574,8 +574,8 @@ static bPoseChannel *pose_bone_do_paste(Object *ob,
}
/* only loc rot size
- * - only copies transform info for the pose
- */
+ * - only copies transform info for the pose
+ */
copy_v3_v3(pchan->loc, chan->loc);
copy_v3_v3(pchan->size, chan->size);
pchan->flag = chan->flag;
@@ -674,9 +674,9 @@ static bPoseChannel *pose_bone_do_paste(Object *ob,
if (chan->prop) {
if (pchan->prop) {
/* if we have existing properties on a bone, just copy over the values of
- * matching properties (i.e. ones which will have some impact) on to the
- * target instead of just blinding replacing all [
- */
+ * matching properties (i.e. ones which will have some impact) on to the
+ * target instead of just blinding replacing all [
+ */
IDP_SyncGroupValues(pchan->prop, chan->prop);
}
else {
diff --git a/source/blender/editors/armature/pose_utils.c b/source/blender/editors/armature/pose_utils.c
index 3f6db956643..8d2d7d790d2 100644
--- a/source/blender/editors/armature/pose_utils.c
+++ b/source/blender/editors/armature/pose_utils.c
@@ -32,6 +32,7 @@
#include "DNA_scene_types.h"
#include "BKE_action.h"
+#include "BKE_animsys.h"
#include "BKE_armature.h"
#include "BKE_idprop.h"
#include "BKE_layer.h"
@@ -223,6 +224,11 @@ void poseAnim_mapping_refresh(bContext *C, Scene *UNUSED(scene), Object *ob)
{
DEG_id_tag_update(&ob->id, ID_RECALC_GEOMETRY);
WM_event_add_notifier(C, NC_OBJECT | ND_POSE, ob);
+
+ AnimData *adt = BKE_animdata_from_id(&ob->id);
+ if (adt && adt->action) {
+ DEG_id_tag_update(&adt->action->id, ID_RECALC_ANIMATION_NO_FLUSH);
+ }
}
/* reset changes made to current pose */
diff --git a/source/blender/editors/curve/editcurve_paint.c b/source/blender/editors/curve/editcurve_paint.c
index fffb62019b4..4c4bac6a249 100644
--- a/source/blender/editors/curve/editcurve_paint.c
+++ b/source/blender/editors/curve/editcurve_paint.c
@@ -1064,7 +1064,7 @@ static int curve_draw_invoke(bContext *C, wmOperator *op, const wmEvent *event)
cdd->draw_handle_view = ED_region_draw_cb_activate(
cdd->vc.ar->type, curve_draw_stroke_3d, op, REGION_DRAW_POST_VIEW);
- WM_cursor_modal_set(cdd->vc.win, BC_PAINTBRUSHCURSOR);
+ WM_cursor_modal_set(cdd->vc.win, WM_CURSOR_PAINT_BRUSH);
{
View3D *v3d = cdd->vc.v3d;
diff --git a/source/blender/editors/curve/editcurve_undo.c b/source/blender/editors/curve/editcurve_undo.c
index f21b4f06246..ff3a1386fd9 100644
--- a/source/blender/editors/curve/editcurve_undo.c
+++ b/source/blender/editors/curve/editcurve_undo.c
@@ -208,9 +208,7 @@ static bool curve_undosys_poll(bContext *C)
return (obedit != NULL);
}
-static bool curve_undosys_step_encode(struct bContext *C,
- struct Main *UNUSED(bmain),
- UndoStep *us_p)
+static bool curve_undosys_step_encode(struct bContext *C, struct Main *bmain, UndoStep *us_p)
{
CurveUndoStep *us = (CurveUndoStep *)us_p;
@@ -226,13 +224,18 @@ static bool curve_undosys_step_encode(struct bContext *C,
for (uint i = 0; i < objects_len; i++) {
Object *ob = objects[i];
+ Curve *cu = ob->data;
CurveUndoStep_Elem *elem = &us->elems[i];
elem->obedit_ref.ptr = ob;
undocurve_from_editcurve(&elem->data, ob->data, ob->shapenr);
+ cu->editnurb->needs_flush_to_id = 1;
us->step.data_size += elem->data.undo_size;
}
MEM_freeN(objects);
+
+ bmain->is_memfile_undo_flush_needed = true;
+
return true;
}
@@ -260,6 +263,7 @@ static void curve_undosys_step_decode(
continue;
}
undocurve_to_editcurve(bmain, &elem->data, obedit->data, &obedit->shapenr);
+ cu->editnurb->needs_flush_to_id = 1;
DEG_id_tag_update(&obedit->id, ID_RECALC_GEOMETRY);
}
@@ -267,6 +271,8 @@ static void curve_undosys_step_decode(
ED_undo_object_set_active_or_warn(
CTX_data_view_layer(C), us->elems[0].obedit_ref.ptr, us_p->name, &LOG);
+ bmain->is_memfile_undo_flush_needed = true;
+
WM_event_add_notifier(C, NC_GEOM | ND_DATA, NULL);
}
diff --git a/source/blender/editors/curve/editfont.c b/source/blender/editors/curve/editfont.c
index 603b0967ace..e11807d818f 100644
--- a/source/blender/editors/curve/editfont.c
+++ b/source/blender/editors/curve/editfont.c
@@ -1876,6 +1876,7 @@ void ED_curve_editfont_make(Object *obedit)
memcpy(ef->textbufinfo, cu->strinfo, ef->len * sizeof(CharInfo));
+ ef->pos = cu->pos;
if (ef->pos > ef->len) {
ef->pos = ef->len;
}
@@ -1883,7 +1884,6 @@ void ED_curve_editfont_make(Object *obedit)
cu->curinfo = ef->textbufinfo[ef->pos ? ef->pos - 1 : 0];
/* Other vars */
- ef->pos = cu->pos;
ef->selstart = cu->selstart;
ef->selend = cu->selend;
diff --git a/source/blender/editors/curve/editfont_undo.c b/source/blender/editors/curve/editfont_undo.c
index ae858ec4c24..26c0e5cf6c9 100644
--- a/source/blender/editors/curve/editfont_undo.c
+++ b/source/blender/editors/curve/editfont_undo.c
@@ -32,6 +32,7 @@
#include "BKE_context.h"
#include "BKE_font.h"
+#include "BKE_main.h"
#include "BKE_undo_system.h"
#include "DEG_depsgraph.h"
@@ -341,23 +342,21 @@ static bool font_undosys_poll(bContext *C)
return editfont_object_from_context(C) != NULL;
}
-static bool font_undosys_step_encode(struct bContext *C,
- struct Main *UNUSED(bmain),
- UndoStep *us_p)
+static bool font_undosys_step_encode(struct bContext *C, struct Main *bmain, UndoStep *us_p)
{
FontUndoStep *us = (FontUndoStep *)us_p;
us->obedit_ref.ptr = editfont_object_from_context(C);
Curve *cu = us->obedit_ref.ptr->data;
undofont_from_editfont(&us->data, cu);
us->step.data_size = us->data.undo_size;
+ cu->editfont->needs_flush_to_id = 1;
+ bmain->is_memfile_undo_flush_needed = true;
+
return true;
}
-static void font_undosys_step_decode(struct bContext *C,
- struct Main *UNUSED(bmain),
- UndoStep *us_p,
- int UNUSED(dir),
- bool UNUSED(is_final))
+static void font_undosys_step_decode(
+ struct bContext *C, struct Main *bmain, UndoStep *us_p, int UNUSED(dir), bool UNUSED(is_final))
{
/* TODO(campbell): undo_system: use low-level API to set mode. */
ED_object_mode_set(C, OB_MODE_EDIT);
@@ -368,6 +367,8 @@ static void font_undosys_step_decode(struct bContext *C,
Curve *cu = obedit->data;
undofont_to_editfont(&us->data, cu);
DEG_id_tag_update(&obedit->id, ID_RECALC_GEOMETRY);
+ cu->editfont->needs_flush_to_id = 1;
+ bmain->is_memfile_undo_flush_needed = true;
WM_event_add_notifier(C, NC_GEOM | ND_DATA, NULL);
}
diff --git a/source/blender/editors/datafiles/CMakeLists.txt b/source/blender/editors/datafiles/CMakeLists.txt
index 3ad881f12e7..ea85c79c680 100644
--- a/source/blender/editors/datafiles/CMakeLists.txt
+++ b/source/blender/editors/datafiles/CMakeLists.txt
@@ -692,6 +692,7 @@ set_property(GLOBAL PROPERTY ICON_GEOM_NAMES
ops.gpencil.primitive_circle
ops.gpencil.primitive_curve
ops.gpencil.primitive_line
+ ops.gpencil.primitive_polyline
ops.gpencil.radius
ops.gpencil.sculpt_clone
ops.gpencil.sculpt_grab
@@ -727,6 +728,7 @@ set_property(GLOBAL PROPERTY ICON_GEOM_NAMES
ops.mesh.spin.duplicate
ops.mesh.vertices_smooth
ops.node.links_cut
+ ops.paint.eyedropper_add
ops.paint.vertex_color_fill
ops.paint.weight_fill
ops.paint.weight_gradient
@@ -776,20 +778,20 @@ if(WITH_BLENDER)
data_to_c_simple(../../../../release/datafiles/splash.png SRC)
data_to_c_simple(../../../../release/datafiles/splash_2x.png SRC)
# XXX These are handy, but give nasty "false changes" in svn :/
- #svg_to_png(../../../../release/datafiles/blender_icons.svg
- #../../../../release/datafiles/blender_icons16.png
- #90 SRC)
+ # svg_to_png(../../../../release/datafiles/blender_icons.svg
+ # ../../../../release/datafiles/blender_icons16.png
+ # 90 SRC)
data_to_c_simple_icons(../../../../release/datafiles/blender_icons16 "icon16_" "${ICON_NAMES}" SRC)
- #data_to_c_simple(../../../../release/datafiles/blender_icons16.png SRC)
- #svg_to_png(../../../../release/datafiles/blender_icons.svg
- #../../../../release/datafiles/blender_icons32.png
- #180 SRC)
+ # data_to_c_simple(../../../../release/datafiles/blender_icons16.png SRC)
+ # svg_to_png(../../../../release/datafiles/blender_icons.svg
+ # ../../../../release/datafiles/blender_icons32.png
+ # 180 SRC)
data_to_c_simple_icons(../../../../release/datafiles/blender_icons32 "icon32_" "${ICON_NAMES}" SRC)
- #data_to_c_simple(../../../../release/datafiles/blender_icons32.png SRC)
- #svg_to_png(../../../../release/datafiles/prvicons.svg
- #../../../../release/datafiles/prvicons.png
- #90 SRC)
+ # data_to_c_simple(../../../../release/datafiles/blender_icons32.png SRC)
+ # svg_to_png(../../../../release/datafiles/prvicons.svg
+ # ../../../../release/datafiles/prvicons.png
+ # 90 SRC)
data_to_c_simple(../../../../release/datafiles/prvicons.png SRC)
# brushes
diff --git a/source/blender/editors/gizmo_library/gizmo_types/button2d_gizmo.c b/source/blender/editors/gizmo_library/gizmo_types/button2d_gizmo.c
index 1a132c2957a..ecbc503e084 100644
--- a/source/blender/editors/gizmo_library/gizmo_types/button2d_gizmo.c
+++ b/source/blender/editors/gizmo_library/gizmo_types/button2d_gizmo.c
@@ -258,9 +258,9 @@ static int gizmo_button2d_test_select(bContext *C, wmGizmo *gz, const int mval[2
static int gizmo_button2d_cursor_get(wmGizmo *gz)
{
if (RNA_boolean_get(gz->ptr, "show_drag")) {
- return BC_NSEW_SCROLLCURSOR;
+ return WM_CURSOR_NSEW_SCROLL;
}
- return CURSOR_STD;
+ return WM_CURSOR_DEFAULT;
}
static void gizmo_button2d_free(wmGizmo *gz)
diff --git a/source/blender/editors/gizmo_library/gizmo_types/cage2d_gizmo.c b/source/blender/editors/gizmo_library/gizmo_types/cage2d_gizmo.c
index ba3b8c2602e..ef4fd23b64d 100644
--- a/source/blender/editors/gizmo_library/gizmo_types/cage2d_gizmo.c
+++ b/source/blender/editors/gizmo_library/gizmo_types/cage2d_gizmo.c
@@ -752,30 +752,30 @@ static int gizmo_cage2d_get_cursor(wmGizmo *gz)
int highlight_part = gz->highlight_part;
if (gz->parent_gzgroup->type->flag & WM_GIZMOGROUPTYPE_3D) {
- return BC_NSEW_SCROLLCURSOR;
+ return WM_CURSOR_NSEW_SCROLL;
}
switch (highlight_part) {
case ED_GIZMO_CAGE2D_PART_TRANSLATE:
- return BC_NSEW_SCROLLCURSOR;
+ return WM_CURSOR_NSEW_SCROLL;
case ED_GIZMO_CAGE2D_PART_SCALE_MIN_X:
case ED_GIZMO_CAGE2D_PART_SCALE_MAX_X:
- return CURSOR_X_MOVE;
+ return WM_CURSOR_X_MOVE;
case ED_GIZMO_CAGE2D_PART_SCALE_MIN_Y:
case ED_GIZMO_CAGE2D_PART_SCALE_MAX_Y:
- return CURSOR_Y_MOVE;
+ return WM_CURSOR_Y_MOVE;
/* TODO diagonal cursor */
case ED_GIZMO_CAGE2D_PART_SCALE_MIN_X_MIN_Y:
case ED_GIZMO_CAGE2D_PART_SCALE_MAX_X_MIN_Y:
- return BC_NSEW_SCROLLCURSOR;
+ return WM_CURSOR_NSEW_SCROLL;
case ED_GIZMO_CAGE2D_PART_SCALE_MIN_X_MAX_Y:
case ED_GIZMO_CAGE2D_PART_SCALE_MAX_X_MAX_Y:
- return BC_NSEW_SCROLLCURSOR;
+ return WM_CURSOR_NSEW_SCROLL;
case ED_GIZMO_CAGE2D_PART_ROTATE:
- return BC_CROSSCURSOR;
+ return WM_CURSOR_CROSS;
default:
- return CURSOR_STD;
+ return WM_CURSOR_DEFAULT;
}
}
diff --git a/source/blender/editors/gizmo_library/gizmo_types/cage3d_gizmo.c b/source/blender/editors/gizmo_library/gizmo_types/cage3d_gizmo.c
index 406f76bc65e..723be3cfe6b 100644
--- a/source/blender/editors/gizmo_library/gizmo_types/cage3d_gizmo.c
+++ b/source/blender/editors/gizmo_library/gizmo_types/cage3d_gizmo.c
@@ -424,10 +424,10 @@ static void gizmo_cage3d_draw(const bContext *C, wmGizmo *gz)
static int gizmo_cage3d_get_cursor(wmGizmo *gz)
{
if (gz->parent_gzgroup->type->flag & WM_GIZMOGROUPTYPE_3D) {
- return BC_NSEW_SCROLLCURSOR;
+ return WM_CURSOR_NSEW_SCROLL;
}
- return CURSOR_STD;
+ return WM_CURSOR_DEFAULT;
}
typedef struct RectTransformInteraction {
diff --git a/source/blender/editors/gizmo_library/gizmo_types/move3d_gizmo.c b/source/blender/editors/gizmo_library/gizmo_types/move3d_gizmo.c
index 37ee95d5058..5342f8695b2 100644
--- a/source/blender/editors/gizmo_library/gizmo_types/move3d_gizmo.c
+++ b/source/blender/editors/gizmo_library/gizmo_types/move3d_gizmo.c
@@ -412,7 +412,7 @@ static void gizmo_move_property_update(wmGizmo *gz, wmGizmoProperty *gz_prop)
static int gizmo_move_cursor_get(wmGizmo *UNUSED(gz))
{
- return BC_NSEW_SCROLLCURSOR;
+ return WM_CURSOR_NSEW_SCROLL;
}
/* -------------------------------------------------------------------- */
diff --git a/source/blender/editors/gpencil/annotate_paint.c b/source/blender/editors/gpencil/annotate_paint.c
index 22f1753a810..7a10547f35c 100644
--- a/source/blender/editors/gpencil/annotate_paint.c
+++ b/source/blender/editors/gpencil/annotate_paint.c
@@ -1560,10 +1560,10 @@ static int gpencil_draw_init(bContext *C, wmOperator *op, const wmEvent *event)
static void gpencil_draw_cursor_set(tGPsdata *p)
{
if (p->paintmode == GP_PAINTMODE_ERASER) {
- WM_cursor_modal_set(p->win, BC_CROSSCURSOR); /* XXX need a better cursor */
+ WM_cursor_modal_set(p->win, WM_CURSOR_ERASER);
}
else {
- WM_cursor_modal_set(p->win, BC_PAINTBRUSHCURSOR);
+ WM_cursor_modal_set(p->win, WM_CURSOR_PAINT_BRUSH);
}
}
diff --git a/source/blender/editors/gpencil/gpencil_brush.c b/source/blender/editors/gpencil/gpencil_brush.c
index 0f76d1421cf..4948df606ee 100644
--- a/source/blender/editors/gpencil/gpencil_brush.c
+++ b/source/blender/editors/gpencil/gpencil_brush.c
@@ -154,6 +154,9 @@ typedef struct tGP_BrushEditData {
wmTimer *timer;
bool timerTick; /* is this event from a timer */
+ /* Object invert matrix */
+ float inv_mat[4][4];
+
RNG *rng;
} tGP_BrushEditData;
@@ -637,7 +640,7 @@ static bool gp_brush_push_apply(tGP_BrushEditData *gso,
mul_v3_v3fl(delta, gso->dvec, inf);
/* apply */
- mul_mat3_m4_v3(gso->object->obmat, delta); /* only rotation component */
+ mul_mat3_m4_v3(gso->inv_mat, delta); /* only rotation component */
add_v3_v3(&pt->x, delta);
/* compute lock axis */
@@ -1324,6 +1327,7 @@ static bool gpsculpt_brush_init(bContext *C, wmOperator *op)
gso->scene = scene;
gso->object = ob;
if (ob) {
+ invert_m4_m4(gso->inv_mat, ob->obmat);
gso->vrgroup = ob->actdef - 1;
if (!BLI_findlink(&ob->defbase, gso->vrgroup)) {
gso->vrgroup = -1;
@@ -1332,6 +1336,7 @@ static bool gpsculpt_brush_init(bContext *C, wmOperator *op)
gso->is_transformed = BKE_gpencil_has_transform_modifiers(ob);
}
else {
+ unit_m4(gso->inv_mat);
gso->vrgroup = -1;
gso->is_transformed = false;
}
@@ -1402,7 +1407,7 @@ static bool gpsculpt_brush_init(bContext *C, wmOperator *op)
gpsculpt_brush_header_set(C, gso);
/* setup cursor drawing */
- // WM_cursor_modal_set(CTX_wm_window(C), BC_CROSSCURSOR);
+ // WM_cursor_modal_set(CTX_wm_window(C), WM_CURSOR_CROSS);
if (gso->sa->spacetype != SPACE_VIEW3D) {
ED_gpencil_toggle_brush_cursor(C, true, NULL);
}
diff --git a/source/blender/editors/gpencil/gpencil_data.c b/source/blender/editors/gpencil/gpencil_data.c
index fdbbd899366..67ffc6adc9f 100644
--- a/source/blender/editors/gpencil/gpencil_data.c
+++ b/source/blender/editors/gpencil/gpencil_data.c
@@ -1580,7 +1580,9 @@ void GPENCIL_OT_stroke_lock_color(wmOperatorType *ot)
/* ******************* Brush create presets ************************** */
static int gp_brush_presets_create_exec(bContext *C, wmOperator *UNUSED(op))
{
- BKE_brush_gpencil_presets(C);
+ Main *bmain = CTX_data_main(C);
+ ToolSettings *ts = CTX_data_tool_settings(C);
+ BKE_brush_gpencil_presets(bmain, ts);
/* notifiers */
WM_event_add_notifier(C, NC_GPENCIL | ND_DATA | NA_EDITED, NULL);
diff --git a/source/blender/editors/gpencil/gpencil_edit.c b/source/blender/editors/gpencil/gpencil_edit.c
index 2aea1084ad6..3ab11f8f3f7 100644
--- a/source/blender/editors/gpencil/gpencil_edit.c
+++ b/source/blender/editors/gpencil/gpencil_edit.c
@@ -355,7 +355,7 @@ static int gpencil_paintmode_toggle_exec(bContext *C, wmOperator *op)
Paint *paint = &ts->gp_paint->paint;
/* if not exist, create a new one */
if ((paint->brush == NULL) || (paint->brush->gpencil_settings == NULL)) {
- BKE_brush_gpencil_presets(C);
+ BKE_brush_gpencil_presets(bmain, ts);
}
BKE_paint_toolslots_brush_validate(bmain, &ts->gp_paint->paint);
}
@@ -1538,6 +1538,7 @@ void GPENCIL_OT_move_to_layer(wmOperatorType *ot)
/* GPencil layer to use. */
ot->prop = RNA_def_int(ot->srna, "layer", 0, 0, INT_MAX, "Grease Pencil Layer", "", 0, INT_MAX);
+ RNA_def_property_flag(ot->prop, PROP_HIDDEN | PROP_SKIP_SAVE);
}
/* ********************* Add Blank Frame *************************** */
diff --git a/source/blender/editors/gpencil/gpencil_fill.c b/source/blender/editors/gpencil/gpencil_fill.c
index ea93f861c6e..993ec15248f 100644
--- a/source/blender/editors/gpencil/gpencil_fill.c
+++ b/source/blender/editors/gpencil/gpencil_fill.c
@@ -1394,7 +1394,7 @@ static int gpencil_fill_invoke(bContext *C, wmOperator *op, const wmEvent *UNUSE
tgpf->ar->type, gpencil_fill_draw_3d, tgpf, REGION_DRAW_POST_VIEW);
}
- WM_cursor_modal_set(CTX_wm_window(C), BC_PAINTBRUSHCURSOR);
+ WM_cursor_modal_set(CTX_wm_window(C), WM_CURSOR_PAINT_BRUSH);
gpencil_fill_status_indicators(C, tgpf);
diff --git a/source/blender/editors/gpencil/gpencil_intern.h b/source/blender/editors/gpencil/gpencil_intern.h
index a8f8ec0e8c5..1af641e5c84 100644
--- a/source/blender/editors/gpencil/gpencil_intern.h
+++ b/source/blender/editors/gpencil/gpencil_intern.h
@@ -214,6 +214,8 @@ typedef struct tGPDprimitive {
int sel_cp;
/** flag to determine operations in progress */
int flag;
+ /** flag to determine operations previous mode */
+ int prev_flag;
/** recorded mouse-position */
float mval[2];
/** previous recorded mouse-position */
@@ -465,6 +467,7 @@ enum {
GP_STROKE_CIRCLE = 2,
GP_STROKE_ARC = 3,
GP_STROKE_CURVE = 4,
+ GP_STROKE_POLYLINE = 5,
};
enum {
diff --git a/source/blender/editors/gpencil/gpencil_interpolate.c b/source/blender/editors/gpencil/gpencil_interpolate.c
index 86de9a75a56..3c4d43b5f53 100644
--- a/source/blender/editors/gpencil/gpencil_interpolate.c
+++ b/source/blender/editors/gpencil/gpencil_interpolate.c
@@ -560,7 +560,7 @@ static int gpencil_interpolate_invoke(bContext *C, wmOperator *op, const wmEvent
tgpi->ar->type, gpencil_interpolate_draw_3d, tgpi, REGION_DRAW_POST_VIEW);
/* set cursor to indicate modal */
- WM_cursor_modal_set(win, BC_EW_SCROLLCURSOR);
+ WM_cursor_modal_set(win, WM_CURSOR_EW_SCROLL);
/* update shift indicator in header */
gpencil_interpolate_status_indicators(C, tgpi);
@@ -585,6 +585,7 @@ static int gpencil_interpolate_modal(bContext *C, wmOperator *op, const wmEvent
switch (event->type) {
case LEFTMOUSE: /* confirm */
+ case PADENTER:
case RETKEY: {
/* return to normal cursor and header status */
ED_area_status_text(tgpi->sa, NULL);
diff --git a/source/blender/editors/gpencil/gpencil_merge.c b/source/blender/editors/gpencil/gpencil_merge.c
index 930911ffac5..36cef3ccdc0 100644
--- a/source/blender/editors/gpencil/gpencil_merge.c
+++ b/source/blender/editors/gpencil/gpencil_merge.c
@@ -35,6 +35,7 @@
#include "BKE_brush.h"
#include "BKE_context.h"
#include "BKE_gpencil.h"
+#include "BKE_main.h"
#include "BKE_material.h"
#include "WM_api.h"
@@ -97,6 +98,7 @@ static void gpencil_insert_points_to_stroke(bGPDstroke *gps,
static bGPDstroke *gpencil_prepare_stroke(bContext *C, wmOperator *op, int totpoints)
{
+ Main *bmain = CTX_data_main(C);
ToolSettings *ts = CTX_data_tool_settings(C);
Object *ob = CTX_data_active_object(C);
bGPDlayer *gpl = CTX_data_active_gpencil_layer(C);
@@ -111,7 +113,7 @@ static bGPDstroke *gpencil_prepare_stroke(bContext *C, wmOperator *op, int totpo
/* if not exist, create a new one */
if ((paint->brush == NULL) || (paint->brush->gpencil_settings == NULL)) {
/* create new brushes */
- BKE_brush_gpencil_presets(C);
+ BKE_brush_gpencil_presets(bmain, ts);
}
Brush *brush = paint->brush;
diff --git a/source/blender/editors/gpencil/gpencil_ops_versioning.c b/source/blender/editors/gpencil/gpencil_ops_versioning.c
index af49587f9ad..3d56cb0fcb1 100644
--- a/source/blender/editors/gpencil/gpencil_ops_versioning.c
+++ b/source/blender/editors/gpencil/gpencil_ops_versioning.c
@@ -54,6 +54,9 @@
#include "ED_object.h"
#include "ED_gpencil.h"
+#include "DEG_depsgraph.h"
+#include "DEG_depsgraph_query.h"
+
#include "gpencil_intern.h"
/* Free all of a gp-colors */
@@ -111,6 +114,7 @@ static int gpencil_convert_old_files_exec(bContext *C, wmOperator *op)
ob = BKE_object_add_for_data(
bmain, view_layer, OB_GPENCIL, "GP_Scene", &scene->gpd->id, false);
zero_v3(ob->loc);
+ DEG_relations_tag_update(bmain); /* added object */
/* convert grease pencil palettes (version >= 2.78) to materials and weights */
for (const bGPDpalette *palette = gpd->palettes.first; palette; palette = palette->next) {
diff --git a/source/blender/editors/gpencil/gpencil_paint.c b/source/blender/editors/gpencil/gpencil_paint.c
index 50da804a911..67830d0e501 100644
--- a/source/blender/editors/gpencil/gpencil_paint.c
+++ b/source/blender/editors/gpencil/gpencil_paint.c
@@ -636,6 +636,110 @@ static void gp_smooth_buffer(tGPsdata *p, float inf, int idx)
ptc->strength = interpf(ptc->strength, strength, inf);
}
+/* Helper: Apply smooth to segment from Index to Index */
+static void gp_smooth_segment(bGPdata *gpd, const float inf, int from_idx, int to_idx)
+{
+ const short num_points = to_idx - from_idx;
+ /* Do nothing if not enough points to smooth out */
+ if ((num_points < 3) || (inf == 0.0f)) {
+ return;
+ }
+
+ if (from_idx <= 2) {
+ return;
+ }
+
+ tGPspoint *points = (tGPspoint *)gpd->runtime.sbuffer;
+ const float average_fac = 0.25f;
+
+ for (int i = from_idx; i < to_idx + 1; i++) {
+
+ tGPspoint *pta = i >= 3 ? &points[i - 3] : NULL;
+ tGPspoint *ptb = i >= 2 ? &points[i - 2] : NULL;
+ tGPspoint *ptc = i >= 1 ? &points[i - 1] : &points[i];
+ tGPspoint *ptd = &points[i];
+
+ float sco[2] = {0.0f};
+
+ /* Compute smoothed coordinate by taking the ones nearby */
+ if (pta) {
+ madd_v2_v2fl(sco, &pta->x, average_fac);
+ }
+ else {
+ madd_v2_v2fl(sco, &ptc->x, average_fac);
+ }
+
+ if (ptb) {
+ madd_v2_v2fl(sco, &ptb->x, average_fac);
+ }
+ else {
+ madd_v2_v2fl(sco, &ptc->x, average_fac);
+ }
+
+ madd_v2_v2fl(sco, &ptc->x, average_fac);
+
+ madd_v2_v2fl(sco, &ptd->x, average_fac);
+
+ /* Based on influence factor, blend between original and optimal smoothed coordinate. */
+ interp_v2_v2v2(&ptc->x, &ptc->x, sco, inf);
+ }
+}
+
+/* Smooth all the sections created with fake events to avoid abrupt transitions.
+ *
+ * As the fake events add points between two real events, this produces a straight line, but if
+ * there is 3 or more real points that used fakes, the stroke is not smooth and produces abrupt
+ * angles.
+ * This function reads these segments and finds the real points and smooth with the surrounding
+ * points. */
+static void gp_smooth_fake_segments(tGPsdata *p)
+{
+ bGPdata *gpd = p->gpd;
+ Brush *brush = p->brush;
+
+ if (brush->gpencil_settings->input_samples < 2) {
+ return;
+ }
+
+ tGPspoint *points = (tGPspoint *)gpd->runtime.sbuffer;
+ tGPspoint *pt = NULL;
+ /* Index where segment starts. */
+ int from_idx = 0;
+ /* Index where segment ends. */
+ int to_idx = 0;
+
+ bool doit = false;
+ /* Loop all points except the extremes. */
+ for (int i = 1; i < gpd->runtime.sbuffer_used - 1; i++) {
+ pt = &points[i];
+ bool is_fake = (bool)(pt->tflag & GP_TPOINT_FAKE);
+ to_idx = i;
+
+ /* Detect fake points in the stroke. */
+ if ((!doit) && (is_fake)) {
+ from_idx = i;
+ doit = true;
+ }
+ /* If detect control point after fake points, select a segment with same length in both sides,
+ * except if it is more than stroke length. */
+ if ((doit) && (!is_fake)) {
+ if (i + (i - from_idx) < gpd->runtime.sbuffer_used - 1) {
+ to_idx = i + (i - from_idx);
+ /* Smooth this segments (need loop to get cumulative smooth). */
+ for (int r = 0; r < 5; r++) {
+ gp_smooth_segment(gpd, 0.1f, from_idx, to_idx);
+ }
+ }
+ else {
+ break;
+ }
+ /* Reset to new segments. */
+ from_idx = i;
+ doit = false;
+ }
+ }
+}
+
/* Smooth the section added with fake events when pen moves very fast. */
static void gp_smooth_fake_events(tGPsdata *p, int size_before, int size_after)
{
@@ -676,7 +780,8 @@ static void gp_smooth_fake_events(tGPsdata *p, int size_before, int size_after)
}
/* add current stroke-point to buffer (returns whether point was successfully added) */
-static short gp_stroke_addpoint(tGPsdata *p, const float mval[2], float pressure, double curtime)
+static short gp_stroke_addpoint(
+ tGPsdata *p, const float mval[2], float pressure, double curtime, bool is_fake)
{
bGPdata *gpd = p->gpd;
Brush *brush = p->brush;
@@ -732,9 +837,22 @@ static short gp_stroke_addpoint(tGPsdata *p, const float mval[2], float pressure
gpd->runtime.sbuffer = ED_gpencil_sbuffer_ensure(
gpd->runtime.sbuffer, &gpd->runtime.sbuffer_size, &gpd->runtime.sbuffer_used, false);
+ /* Check the buffer was created. */
+ if (gpd->runtime.sbuffer == NULL) {
+ return GP_STROKEADD_INVALID;
+ }
+
/* get pointer to destination point */
pt = ((tGPspoint *)(gpd->runtime.sbuffer) + gpd->runtime.sbuffer_used);
+ /* Set if point was created by fake events. */
+ if (is_fake) {
+ pt->tflag |= GP_TPOINT_FAKE;
+ }
+ else {
+ pt->tflag &= ~GP_TPOINT_FAKE;
+ }
+
/* store settings */
/* pressure */
if (brush->gpencil_settings->flag & GP_BRUSH_USE_PRESSURE) {
@@ -892,7 +1010,7 @@ static short gp_stroke_addpoint(tGPsdata *p, const float mval[2], float pressure
bGPDspoint *pts;
MDeformVert *dvert = NULL;
- /* first time point is adding to temporary buffer -- need to allocate new point in stroke */
+ /* First time point is adding to temporary buffer (need to allocate new point in stroke) */
if (gpd->runtime.sbuffer_used == 0) {
gps->points = MEM_reallocN(gps->points, sizeof(bGPDspoint) * (gps->totpoints + 1));
if (gps->dvert != NULL) {
@@ -1249,6 +1367,9 @@ static void gp_stroke_newfrombuffer(tGPsdata *p)
}
}
+ /* Smooth any point created with fake events when the mouse/pen move very fast. */
+ gp_smooth_fake_segments(p);
+
pt = gps->points;
dvert = gps->dvert;
@@ -1896,6 +2017,7 @@ static void gp_set_default_eraser(Main *bmain, Brush *brush_dft)
/* initialize a drawing brush */
static void gp_init_drawing_brush(bContext *C, tGPsdata *p)
{
+ Main *bmain = CTX_data_main(C);
Scene *scene = CTX_data_scene(C);
ToolSettings *ts = CTX_data_tool_settings(C);
@@ -1904,7 +2026,7 @@ static void gp_init_drawing_brush(bContext *C, tGPsdata *p)
/* if not exist, create a new one */
if ((paint->brush == NULL) || (paint->brush->gpencil_settings == NULL)) {
/* create new brushes */
- BKE_brush_gpencil_presets(C);
+ BKE_brush_gpencil_presets(bmain, ts);
changed = true;
}
/* be sure curves are initializated */
@@ -2551,10 +2673,10 @@ static void gpencil_draw_cursor_set(tGPsdata *p)
#if 0
Brush *brush = p->brush;
if ((p->paintmode == GP_PAINTMODE_ERASER) || (brush->gpencil_tool == GPAINT_TOOL_ERASE)) {
- WM_cursor_modal_set(p->win, BC_CROSSCURSOR); /* XXX need a better cursor */
+ WM_cursor_modal_set(p->win, WM_CURSOR_CROSS); /* XXX need a better cursor */
}
else {
- WM_cursor_modal_set(p->win, CURSOR_NONE);
+ WM_cursor_modal_set(p->win, WM_CURSOR_NONE);
}
#endif
}
@@ -2631,7 +2753,8 @@ static void gpencil_draw_status_indicators(bContext *C, tGPsdata *p)
/* ------------------------------- */
/* create a new stroke point at the point indicated by the painting context */
-static void gpencil_draw_apply(bContext *C, wmOperator *op, tGPsdata *p, Depsgraph *depsgraph)
+static void gpencil_draw_apply(
+ bContext *C, wmOperator *op, tGPsdata *p, Depsgraph *depsgraph, bool is_fake)
{
bGPdata *gpd = p->gpd;
tGPspoint *pt = NULL;
@@ -2660,7 +2783,7 @@ static void gpencil_draw_apply(bContext *C, wmOperator *op, tGPsdata *p, Depsgra
}
/* try to add point */
- short ok = gp_stroke_addpoint(p, p->mval, p->pressure, p->curtime);
+ short ok = gp_stroke_addpoint(p, p->mval, p->pressure, p->curtime, is_fake);
/* handle errors while adding point */
if ((ok == GP_STROKEADD_FULL) || (ok == GP_STROKEADD_OVERFLOW)) {
@@ -2674,12 +2797,12 @@ static void gpencil_draw_apply(bContext *C, wmOperator *op, tGPsdata *p, Depsgra
/* XXX We only need to reuse previous point if overflow! */
if (ok == GP_STROKEADD_OVERFLOW) {
p->inittime = p->ocurtime;
- gp_stroke_addpoint(p, p->mvalo, p->opressure, p->ocurtime);
+ gp_stroke_addpoint(p, p->mvalo, p->opressure, p->ocurtime, is_fake);
}
else {
p->inittime = p->curtime;
}
- gp_stroke_addpoint(p, p->mval, p->pressure, p->curtime);
+ gp_stroke_addpoint(p, p->mval, p->pressure, p->curtime, is_fake);
}
else if (ok == GP_STROKEADD_INVALID) {
/* the painting operation cannot continue... */
@@ -2885,8 +3008,13 @@ static void gpencil_speed_guide(tGPsdata *p, GP_Sculpt_Guide *guide)
}
/* handle draw event */
-static void gpencil_draw_apply_event(
- bContext *C, wmOperator *op, const wmEvent *event, Depsgraph *depsgraph, float x, float y)
+static void gpencil_draw_apply_event(bContext *C,
+ wmOperator *op,
+ const wmEvent *event,
+ Depsgraph *depsgraph,
+ float x,
+ float y,
+ const bool is_fake)
{
tGPsdata *p = op->customdata;
GP_Sculpt_Guide *guide = &p->scene->toolsettings->gp_sculpt.guide;
@@ -3039,10 +3167,10 @@ static void gpencil_draw_apply_event(
/* create fake events */
float tmp[2];
copy_v2_v2(tmp, p->mval);
- gpencil_draw_apply_event(C, op, event, depsgraph, pt[0], pt[1]);
+ gpencil_draw_apply_event(C, op, event, depsgraph, pt[0], pt[1], false);
if (len_v2v2(p->mval, p->mvalo)) {
sub_v2_v2v2(pt, p->mval, p->mvalo);
- gpencil_draw_apply_event(C, op, event, depsgraph, pt[0], pt[1]);
+ gpencil_draw_apply_event(C, op, event, depsgraph, pt[0], pt[1], false);
}
copy_v2_v2(p->mval, tmp);
}
@@ -3073,7 +3201,7 @@ static void gpencil_draw_apply_event(
RNA_float_set(&itemptr, "time", p->curtime - p->inittime);
/* apply the current latest drawing point */
- gpencil_draw_apply(C, op, p, depsgraph);
+ gpencil_draw_apply(C, op, p, depsgraph, is_fake);
/* force refresh */
/* just active area for now, since doing whole screen is too slow */
@@ -3139,7 +3267,7 @@ static int gpencil_draw_exec(bContext *C, wmOperator *op)
}
/* apply this data as necessary now (as per usual) */
- gpencil_draw_apply(C, op, p, depsgraph);
+ gpencil_draw_apply(C, op, p, depsgraph, false);
}
RNA_END;
@@ -3168,7 +3296,8 @@ static void gpencil_guide_event_handling(bContext *C,
/* Enter or exit set center point mode */
if ((event->type == OKEY) && (event->val == KM_RELEASE)) {
- if (p->paintmode == GP_PAINTMODE_DRAW && guide->reference_point != GP_GUIDE_REF_OBJECT) {
+ if ((p->paintmode == GP_PAINTMODE_DRAW) && guide->use_guide &&
+ (guide->reference_point != GP_GUIDE_REF_OBJECT)) {
add_notifier = true;
p->paintmode = GP_PAINTMODE_SET_CP;
ED_gpencil_toggle_brush_cursor(C, false, NULL);
@@ -3312,8 +3441,6 @@ static int gpencil_draw_invoke(bContext *C, wmOperator *op, const wmEvent *event
/* TODO: set any additional settings that we can take from the events?
* TODO? if tablet is erasing, force eraser to be on? */
- /* TODO: move cursor setting stuff to stroke-start so that paintmode can be changed midway... */
-
/* if eraser is on, draw radial aid */
if (p->paintmode == GP_PAINTMODE_ERASER) {
gpencil_draw_toggle_eraser_cursor(C, p, true);
@@ -3334,7 +3461,8 @@ static int gpencil_draw_invoke(bContext *C, wmOperator *op, const wmEvent *event
p->status = GP_STATUS_PAINTING;
/* handle the initial drawing - i.e. for just doing a simple dot */
- gpencil_draw_apply_event(C, op, event, CTX_data_ensure_evaluated_depsgraph(C), 0.0f, 0.0f);
+ gpencil_draw_apply_event(
+ C, op, event, CTX_data_ensure_evaluated_depsgraph(C), 0.0f, 0.0f, false);
op->flag |= OP_IS_MODAL_CURSOR_REGION;
}
else {
@@ -3451,11 +3579,8 @@ static void gpencil_move_last_stroke_to_back(bContext *C)
BLI_insertlinkbefore(&gpf->strokes, gpf->strokes.first, gps);
}
-/* add events for missing mouse movements when the artist draw very fast */
-static bool gpencil_add_missing_events(bContext *C,
- wmOperator *op,
- const wmEvent *event,
- tGPsdata *p)
+/* Add fake events for missing mouse movements when the artist draw very fast */
+static bool gpencil_add_fake_events(bContext *C, wmOperator *op, const wmEvent *event, tGPsdata *p)
{
Brush *brush = p->brush;
GP_Sculpt_Guide *guide = &p->scene->toolsettings->gp_sculpt.guide;
@@ -3518,7 +3643,7 @@ static bool gpencil_add_missing_events(bContext *C,
interp_v2_v2v2(pt, a, b, 0.5f);
sub_v2_v2v2(pt, b, pt);
/* create fake event */
- gpencil_draw_apply_event(C, op, event, depsgraph, pt[0], pt[1]);
+ gpencil_draw_apply_event(C, op, event, depsgraph, pt[0], pt[1], true);
added_events = true;
}
else if (dist >= factor) {
@@ -3528,7 +3653,7 @@ static bool gpencil_add_missing_events(bContext *C,
interp_v2_v2v2(pt, a, b, n * i);
sub_v2_v2v2(pt, b, pt);
/* create fake event */
- gpencil_draw_apply_event(C, op, event, depsgraph, pt[0], pt[1]);
+ gpencil_draw_apply_event(C, op, event, depsgraph, pt[0], pt[1], true);
added_events = true;
}
}
@@ -3541,6 +3666,7 @@ static int gpencil_draw_modal(bContext *C, wmOperator *op, const wmEvent *event)
tGPsdata *p = op->customdata;
ToolSettings *ts = CTX_data_tool_settings(C);
GP_Sculpt_Guide *guide = &p->scene->toolsettings->gp_sculpt.guide;
+
/* default exit state - pass through to support MMB view nav, etc. */
int estate = OPERATOR_PASS_THROUGH;
@@ -3565,7 +3691,7 @@ static int gpencil_draw_modal(bContext *C, wmOperator *op, const wmEvent *event)
/* special mode for editing control points */
if (p->paintmode == GP_PAINTMODE_SET_CP) {
wmWindow *win = p->win;
- WM_cursor_modal_set(win, BC_NSEW_SCROLLCURSOR);
+ WM_cursor_modal_set(win, WM_CURSOR_NSEW_SCROLL);
bool drawmode = false;
switch (event->type) {
@@ -3589,6 +3715,7 @@ static int gpencil_draw_modal(bContext *C, wmOperator *op, const wmEvent *event)
if (drawmode) {
p->status = GP_STATUS_IDLING;
p->paintmode = GP_PAINTMODE_DRAW;
+ WM_cursor_modal_restore(p->win);
ED_gpencil_toggle_brush_cursor(C, true, NULL);
DEG_id_tag_update(&p->scene->id, ID_RECALC_COPY_ON_WRITE);
}
@@ -3663,7 +3790,8 @@ static int gpencil_draw_modal(bContext *C, wmOperator *op, const wmEvent *event)
}
/* toggle painting mode upon mouse-button movement
- * - LEFTMOUSE = standard drawing (all) / straight line drawing (all) / polyline (toolbox only)
+ * - LEFTMOUSE = standard drawing (all) / straight line drawing (all) / polyline (toolbox
+ * only)
* - RIGHTMOUSE = polyline (hotkey) / eraser (all)
* (Disabling RIGHTMOUSE case here results in bugs like [#32647])
* also making sure we have a valid event value, to not exit too early
@@ -3840,12 +3968,17 @@ static int gpencil_draw_modal(bContext *C, wmOperator *op, const wmEvent *event)
int size_before = p->gpd->runtime.sbuffer_used;
bool added_events = false;
if (((p->flags & GP_PAINTFLAG_FIRSTRUN) == 0) && (p->paintmode != GP_PAINTMODE_ERASER)) {
- added_events = gpencil_add_missing_events(C, op, event, p);
+ added_events = gpencil_add_fake_events(C, op, event, p);
}
- gpencil_draw_apply_event(C, op, event, CTX_data_depsgraph_pointer(C), 0.0f, 0.0f);
+ gpencil_draw_apply_event(C, op, event, CTX_data_depsgraph_pointer(C), 0.0f, 0.0f, false);
int size_after = p->gpd->runtime.sbuffer_used;
+ /* Last point of the event is always real (not fake). */
+ tGPspoint *points = (tGPspoint *)p->gpd->runtime.sbuffer;
+ tGPspoint *pt = &points[size_after - 1];
+ pt->tflag &= ~GP_TPOINT_FAKE;
+
/* Smooth the fake events to get smoother strokes, specially at ends. */
if (added_events) {
gp_smooth_fake_events(p, size_before, size_after);
diff --git a/source/blender/editors/gpencil/gpencil_primitive.c b/source/blender/editors/gpencil/gpencil_primitive.c
index 8d4c75d2e8c..f0ff38e60b1 100644
--- a/source/blender/editors/gpencil/gpencil_primitive.c
+++ b/source/blender/editors/gpencil/gpencil_primitive.c
@@ -90,6 +90,7 @@
#define IN_MOVE 3
#define IN_BRUSH_SIZE 4
#define IN_BRUSH_STRENGTH 5
+#define IN_POLYLINE 6
#define SELECT_NONE 0
#define SELECT_START 1
@@ -184,6 +185,29 @@ static void gpencil_primitive_to_square(tGPDprimitive *tgpi, const float x, cons
}
}
+/* Helper to constrain a primitive */
+static void gpencil_primitive_constrain(tGPDprimitive *tgpi, bool line_mode)
+{
+ float x = tgpi->end[0] - tgpi->origin[0];
+ float y = tgpi->end[1] - tgpi->origin[1];
+
+ if (line_mode) {
+ float angle = fabsf(atan2f(y, x));
+ if (angle < 0.4f || angle > (M_PI - 0.4f)) {
+ tgpi->end[1] = tgpi->origin[1];
+ }
+ else if (angle > (M_PI_2 - 0.4f) && angle < (M_PI_2 + 0.4f)) {
+ tgpi->end[0] = tgpi->origin[0];
+ }
+ else {
+ gpencil_primitive_to_square(tgpi, x, y);
+ }
+ }
+ else {
+ gpencil_primitive_to_square(tgpi, x, y);
+ }
+}
+
/* Helper to rotate point around origin */
static void gp_rotate_v2_v2v2fl(float v[2],
const float p[2],
@@ -404,6 +428,11 @@ static void gpencil_primitive_status_indicators(bContext *C, tGPDprimitive *tgpi
"adjust subdivision number, Shift to align, Alt to center, E: extrude"),
UI_MAX_DRAW_STR);
}
+ else if (tgpi->type == GP_STROKE_POLYLINE) {
+ BLI_strncpy(msg_str,
+ TIP_("Line: ESC to cancel, LMB to set, Enter/MMB to confirm, Shift to align"),
+ UI_MAX_DRAW_STR);
+ }
else if (tgpi->type == GP_STROKE_BOX) {
BLI_strncpy(msg_str,
TIP_("Rectangle: ESC to cancel, LMB set origin, Enter/MMB to confirm, WHEEL/+- "
@@ -429,7 +458,12 @@ static void gpencil_primitive_status_indicators(bContext *C, tGPDprimitive *tgpi
UI_MAX_DRAW_STR);
}
- if (ELEM(tgpi->type, GP_STROKE_CIRCLE, GP_STROKE_ARC, GP_STROKE_LINE, GP_STROKE_BOX)) {
+ if (ELEM(tgpi->type,
+ GP_STROKE_CIRCLE,
+ GP_STROKE_ARC,
+ GP_STROKE_LINE,
+ GP_STROKE_BOX,
+ GP_STROKE_POLYLINE)) {
if (hasNumInput(&tgpi->num)) {
char str_offs[NUM_STR_REP_LEN];
@@ -528,7 +562,7 @@ static void gp_primitive_rectangle(tGPDprimitive *tgpi, tGPspoint *points2D)
}
/* create a line */
-static void gp_primitive_line(tGPDprimitive *tgpi, tGPspoint *points2D)
+static void gp_primitive_line(tGPDprimitive *tgpi, tGPspoint *points2D, bool editable)
{
const int totpoints = (tgpi->tot_edges + tgpi->tot_stored_edges);
const float step = 1.0f / (float)(tgpi->tot_edges - 1);
@@ -540,15 +574,22 @@ static void gp_primitive_line(tGPDprimitive *tgpi, tGPspoint *points2D)
a += step;
}
- float color[4];
- UI_GetThemeColor4fv(TH_GIZMO_PRIMARY, color);
- gp_primitive_set_cp(tgpi, tgpi->end, color, BIG_SIZE_CTL);
- if (tgpi->tot_stored_edges) {
- UI_GetThemeColor4fv(TH_REDALERT, color);
- gp_primitive_set_cp(tgpi, tgpi->start, color, SMALL_SIZE_CTL);
+ if (editable) {
+ float color[4];
+ UI_GetThemeColor4fv(TH_GIZMO_PRIMARY, color);
+ gp_primitive_set_cp(tgpi, tgpi->end, color, BIG_SIZE_CTL);
+ if (tgpi->tot_stored_edges) {
+ UI_GetThemeColor4fv(TH_REDALERT, color);
+ gp_primitive_set_cp(tgpi, tgpi->start, color, SMALL_SIZE_CTL);
+ }
+ else {
+ gp_primitive_set_cp(tgpi, tgpi->start, color, BIG_SIZE_CTL);
+ }
}
else {
- gp_primitive_set_cp(tgpi, tgpi->start, color, BIG_SIZE_CTL);
+ float color[4];
+ UI_GetThemeColor4fv(TH_REDALERT, color);
+ gp_primitive_set_cp(tgpi, tgpi->start, color, SMALL_SIZE_CTL);
}
}
@@ -693,7 +734,10 @@ static void gp_primitive_update_strokes(bContext *C, tGPDprimitive *tgpi)
gp_primitive_rectangle(tgpi, points2D);
break;
case GP_STROKE_LINE:
- gp_primitive_line(tgpi, points2D);
+ gp_primitive_line(tgpi, points2D, true);
+ break;
+ case GP_STROKE_POLYLINE:
+ gp_primitive_line(tgpi, points2D, false);
break;
case GP_STROKE_CIRCLE:
gp_primitive_circle(tgpi, points2D);
@@ -1041,6 +1085,7 @@ static void gpencil_primitive_update(bContext *C, wmOperator *op, tGPDprimitive
gp_primitive_update_strokes(C, tgpi);
}
+/* Initialise mouse points */
static void gpencil_primitive_interaction_begin(tGPDprimitive *tgpi, const wmEvent *event)
{
copy_v2fl_v2i(tgpi->mval, event->mval);
@@ -1134,7 +1179,7 @@ static void gpencil_primitive_init(bContext *C, wmOperator *op)
/* if brush doesn't exist, create a new set (fix damaged files from old versions) */
if ((paint->brush == NULL) || (paint->brush->gpencil_settings == NULL)) {
- BKE_brush_gpencil_presets(C);
+ BKE_brush_gpencil_presets(bmain, ts);
}
/* Set Draw brush. */
@@ -1164,6 +1209,10 @@ static void gpencil_primitive_init(bContext *C, wmOperator *op)
/* set default edge count */
switch (tgpi->type) {
+ case GP_STROKE_POLYLINE: {
+ RNA_int_set(op->ptr, "edges", 8);
+ break;
+ }
case GP_STROKE_LINE: {
RNA_int_set(op->ptr, "edges", 8);
break;
@@ -1214,7 +1263,7 @@ static int gpencil_primitive_invoke(bContext *C, wmOperator *op, const wmEvent *
op->flag |= OP_IS_MODAL_CURSOR_REGION;
/* set cursor to indicate modal */
- WM_cursor_modal_set(win, BC_CROSSCURSOR);
+ WM_cursor_modal_set(win, WM_CURSOR_CROSS);
/* update sindicator in header */
gpencil_primitive_status_indicators(C, tgpi);
@@ -1319,21 +1368,57 @@ static void gpencil_primitive_edit_event_handling(
if (tgpi->flag == IN_CURVE_EDIT) {
if ((a < BIG_SIZE_CTL && tgpi->tot_stored_edges == 0) || b < BIG_SIZE_CTL) {
move = MOVE_ENDS;
- WM_cursor_modal_set(win, BC_NSEW_SCROLLCURSOR);
+ WM_cursor_modal_set(win, WM_CURSOR_NSEW_SCROLL);
}
else if (tgpi->curve) {
move = MOVE_CP;
- WM_cursor_modal_set(win, BC_HANDCURSOR);
+ WM_cursor_modal_set(win, WM_CURSOR_HAND);
}
else {
- WM_cursor_modal_set(win, BC_CROSSCURSOR);
+ WM_cursor_modal_set(win, WM_CURSOR_CROSS);
}
}
else if (tgpi->flag == IN_PROGRESS) {
- WM_cursor_modal_set(win, BC_NSEW_SCROLLCURSOR);
+ WM_cursor_modal_set(win, WM_CURSOR_NSEW_SCROLL);
}
switch (event->type) {
+ case LEFTMOUSE: {
+ if ((event->val == KM_RELEASE) && (tgpi->flag == IN_PROGRESS)) {
+ /* set control points and enter edit mode */
+ if ((ELEM(tgpi->type, GP_STROKE_POLYLINE))) {
+ gpencil_primitive_add_segment(tgpi);
+ copy_v2_v2(tgpi->start, tgpi->end);
+ copy_v2_v2(tgpi->origin, tgpi->start);
+ gp_primitive_update_cps(tgpi);
+
+ tgpi->flag = IN_POLYLINE;
+ WM_cursor_modal_set(win, WM_CURSOR_CROSS);
+ }
+ else {
+ tgpi->flag = IN_CURVE_EDIT;
+ gp_primitive_update_cps(tgpi);
+ gpencil_primitive_update(C, op, tgpi);
+ }
+ }
+ else if ((event->val == KM_PRESS) && !ELEM(tgpi->type, GP_STROKE_POLYLINE)) {
+ /* find nearest cp based on stroke end points */
+ if (move == MOVE_ENDS) {
+ tgpi->sel_cp = (a < b) ? SELECT_START : SELECT_END;
+ }
+ else if (move == MOVE_CP) {
+ tgpi->sel_cp = (c < d) ? SELECT_CP1 : SELECT_CP2;
+ }
+ else {
+ tgpi->sel_cp = SELECT_NONE;
+ }
+ break;
+ }
+ else {
+ tgpi->sel_cp = SELECT_NONE;
+ }
+ break;
+ }
case MOUSEMOVE: {
if ((event->val == KM_PRESS) && tgpi->sel_cp != SELECT_NONE) {
if (tgpi->sel_cp == SELECT_START && tgpi->tot_stored_edges == 0) {
@@ -1366,31 +1451,6 @@ static void gpencil_primitive_edit_event_handling(
}
break;
}
- case LEFTMOUSE: {
- if ((event->val == KM_PRESS)) {
- /* find nearest cp based on stroke end points */
- if (move == MOVE_ENDS) {
- tgpi->sel_cp = (a < b) ? SELECT_START : SELECT_END;
- }
- else if (move == MOVE_CP) {
- tgpi->sel_cp = (c < d) ? SELECT_CP1 : SELECT_CP2;
- }
- else {
- tgpi->sel_cp = SELECT_NONE;
- }
- break;
- }
- else if ((event->val == KM_RELEASE) && (tgpi->flag == IN_PROGRESS)) {
- /* set control points and enter edit mode */
- tgpi->flag = IN_CURVE_EDIT;
- gp_primitive_update_cps(tgpi);
- gpencil_primitive_update(C, op, tgpi);
- }
- else {
- tgpi->sel_cp = SELECT_NONE;
- }
- break;
- }
case MKEY: {
if ((event->val == KM_PRESS) && (tgpi->curve) && (ELEM(tgpi->orign_type, GP_STROKE_ARC))) {
tgpi->flip ^= 1;
@@ -1402,7 +1462,7 @@ static void gpencil_primitive_edit_event_handling(
case EKEY: {
if (tgpi->flag == IN_CURVE_EDIT && !ELEM(tgpi->type, GP_STROKE_BOX, GP_STROKE_CIRCLE)) {
tgpi->flag = IN_PROGRESS;
- WM_cursor_modal_set(win, BC_NSEW_SCROLLCURSOR);
+ WM_cursor_modal_set(win, WM_CURSOR_NSEW_SCROLL);
gpencil_primitive_add_segment(tgpi);
copy_v2_v2(tgpi->start, tgpi->end);
copy_v2_v2(tgpi->origin, tgpi->start);
@@ -1524,6 +1584,96 @@ static int gpencil_primitive_modal(bContext *C, wmOperator *op, const wmEvent *e
copy_v2_v2(tgpi->mvalo, tgpi->mval);
return OPERATOR_RUNNING_MODAL;
}
+ else if (tgpi->flag == IN_POLYLINE) {
+
+ switch (event->type) {
+
+ case ESCKEY: {
+ /* return to normal cursor and header status */
+ ED_workspace_status_text(C, NULL);
+ WM_cursor_modal_restore(win);
+
+ /* clean up temp data */
+ gpencil_primitive_exit(C, op);
+
+ /* canceled! */
+ return OPERATOR_CANCELLED;
+ }
+ case LEFTMOUSE: {
+ if (event->val == KM_PRESS) {
+ WM_cursor_modal_set(win, WM_CURSOR_CROSS);
+ gpencil_primitive_add_segment(tgpi);
+
+ gpencil_primitive_update(C, op, tgpi);
+ copy_v2_v2(tgpi->start, tgpi->end);
+ copy_v2_v2(tgpi->origin, tgpi->end);
+ }
+ break;
+ }
+ case SPACEKEY: /* confirm */
+ case MIDDLEMOUSE:
+ case RETKEY:
+ case RIGHTMOUSE: {
+ if (event->val == KM_PRESS) {
+ tgpi->flag = IDLE;
+ tgpi->tot_edges = tgpi->tot_stored_edges ? 1 : 0;
+ gp_primitive_update_strokes(C, tgpi);
+ gpencil_primitive_interaction_end(C, op, win, tgpi);
+ return OPERATOR_FINISHED;
+ }
+ break;
+ }
+ case MOUSEMOVE: {
+ WM_cursor_modal_set(win, WM_CURSOR_NSEW_SCROLL);
+ copy_v2_v2(tgpi->end, tgpi->mval);
+
+ if (event->shift) {
+ gpencil_primitive_constrain(tgpi, true);
+ }
+
+ gpencil_primitive_update(C, op, tgpi);
+ break;
+ }
+ case PADPLUSKEY:
+ case WHEELUPMOUSE: {
+ if ((event->val != KM_RELEASE)) {
+ tgpi->tot_edges = tgpi->tot_edges + 1;
+ CLAMP(tgpi->tot_edges, MIN_EDGES, MAX_EDGES);
+ RNA_int_set(op->ptr, "edges", tgpi->tot_edges);
+ gpencil_primitive_update(C, op, tgpi);
+ }
+ break;
+ }
+ case PADMINUS:
+ case WHEELDOWNMOUSE: {
+ if ((event->val != KM_RELEASE)) {
+ tgpi->tot_edges = tgpi->tot_edges - 1;
+ CLAMP(tgpi->tot_edges, MIN_EDGES, MAX_EDGES);
+ RNA_int_set(op->ptr, "edges", tgpi->tot_edges);
+ gpencil_primitive_update(C, op, tgpi);
+ }
+ break;
+ }
+ case FKEY: /* brush thickness/ brush strength */
+ {
+ if ((event->val == KM_PRESS)) {
+ if (event->shift) {
+ tgpi->prev_flag = tgpi->flag;
+ tgpi->flag = IN_BRUSH_STRENGTH;
+ }
+ else {
+ tgpi->prev_flag = tgpi->flag;
+ tgpi->flag = IN_BRUSH_SIZE;
+ }
+ WM_cursor_modal_set(win, WM_CURSOR_NS_SCROLL);
+ }
+ break;
+ }
+ }
+
+ copy_v2_v2(tgpi->mvalo, tgpi->mval);
+ return OPERATOR_RUNNING_MODAL;
+ }
else if (tgpi->flag == IN_BRUSH_SIZE) {
switch (event->type) {
case MOUSEMOVE:
@@ -1534,11 +1684,11 @@ static int gpencil_primitive_modal(bContext *C, wmOperator *op, const wmEvent *e
case MIDDLEMOUSE:
case LEFTMOUSE:
tgpi->brush_size = 0;
- tgpi->flag = IN_CURVE_EDIT;
+ tgpi->flag = tgpi->prev_flag;
break;
case RIGHTMOUSE:
if (event->val == KM_RELEASE) {
- tgpi->flag = IN_CURVE_EDIT;
+ tgpi->flag = tgpi->prev_flag;
gpencil_primitive_size(tgpi, true);
gpencil_primitive_update(C, op, tgpi);
}
@@ -1557,11 +1707,11 @@ static int gpencil_primitive_modal(bContext *C, wmOperator *op, const wmEvent *e
case MIDDLEMOUSE:
case LEFTMOUSE:
tgpi->brush_strength = 0.0f;
- tgpi->flag = IN_CURVE_EDIT;
+ tgpi->flag = tgpi->prev_flag;
break;
case RIGHTMOUSE:
if (event->val == KM_RELEASE) {
- tgpi->flag = IN_CURVE_EDIT;
+ tgpi->flag = tgpi->prev_flag;
gpencil_primitive_strength(tgpi, true);
gpencil_primitive_update(C, op, tgpi);
}
@@ -1570,7 +1720,7 @@ static int gpencil_primitive_modal(bContext *C, wmOperator *op, const wmEvent *e
copy_v2_v2(tgpi->mvalo, tgpi->mval);
return OPERATOR_RUNNING_MODAL;
}
- else if (tgpi->flag != IDLE) {
+ else if (!ELEM(tgpi->flag, IDLE) && !ELEM(tgpi->type, GP_STROKE_POLYLINE)) {
gpencil_primitive_edit_event_handling(C, op, win, event, tgpi);
}
@@ -1581,24 +1731,38 @@ static int gpencil_primitive_modal(bContext *C, wmOperator *op, const wmEvent *e
/* TODO: Ignore if not in main region yet */
tgpi->flag = IN_PROGRESS;
gpencil_primitive_interaction_begin(tgpi, event);
+ if (ELEM(tgpi->type, GP_STROKE_POLYLINE)) {
+ tgpi->flag = IN_POLYLINE;
+ gpencil_primitive_update(C, op, tgpi);
+ return OPERATOR_RUNNING_MODAL;
+ }
}
- else if ((event->val == KM_RELEASE) && (tgpi->flag == IN_MOVE)) {
- tgpi->flag = IN_CURVE_EDIT;
- }
- else if ((event->val == KM_RELEASE) && (tgpi->flag == IN_PROGRESS)) {
+ else if ((event->val == KM_RELEASE) && (tgpi->flag == IN_PROGRESS) &&
+ (!ELEM(tgpi->type, GP_STROKE_POLYLINE))) {
/* set control points and enter edit mode */
tgpi->flag = IN_CURVE_EDIT;
gp_primitive_update_cps(tgpi);
gpencil_primitive_update(C, op, tgpi);
}
else if ((event->val == KM_RELEASE) && (tgpi->flag == IN_PROGRESS) &&
- (tgpi->type != GP_STROKE_CURVE)) {
+ (!ELEM(tgpi->type, GP_STROKE_CURVE, GP_STROKE_POLYLINE))) {
/* stop drawing primitive */
tgpi->flag = IDLE;
gpencil_primitive_interaction_end(C, op, win, tgpi);
/* done! */
return OPERATOR_FINISHED;
}
+ else if ((event->val == KM_RELEASE) && (tgpi->flag == IN_PROGRESS) &&
+ (ELEM(tgpi->type, GP_STROKE_POLYLINE))) {
+ /* set control points and enter edit mode */
+ tgpi->flag = IN_POLYLINE;
+ gpencil_primitive_update(C, op, tgpi);
+ copy_v2_v2(tgpi->mvalo, tgpi->mval);
+ return OPERATOR_RUNNING_MODAL;
+ }
+ else if ((event->val == KM_RELEASE) && (tgpi->flag == IN_MOVE)) {
+ tgpi->flag = IN_CURVE_EDIT;
+ }
else {
if (G.debug & G_DEBUG) {
printf("GP Add Primitive Modal: LEFTMOUSE %d, Status = %d\n", event->val, tgpi->flag);
@@ -1608,6 +1772,7 @@ static int gpencil_primitive_modal(bContext *C, wmOperator *op, const wmEvent *e
}
case SPACEKEY: /* confirm */
case MIDDLEMOUSE:
+ case PADENTER:
case RETKEY: {
tgpi->flag = IDLE;
gpencil_primitive_interaction_end(C, op, win, tgpi);
@@ -1618,7 +1783,7 @@ static int gpencil_primitive_modal(bContext *C, wmOperator *op, const wmEvent *e
/* exception to cancel current stroke when we have previous strokes in buffer */
if (tgpi->tot_stored_edges > 0) {
tgpi->flag = IDLE;
- tgpi->tot_edges = 0;
+ tgpi->tot_edges = tgpi->tot_stored_edges ? 1 : 0;
gp_primitive_update_strokes(C, tgpi);
gpencil_primitive_interaction_end(C, op, win, tgpi);
/* done! */
@@ -1665,7 +1830,7 @@ static int gpencil_primitive_modal(bContext *C, wmOperator *op, const wmEvent *e
{
if ((event->val == KM_PRESS)) {
tgpi->flag = IN_MOVE;
- WM_cursor_modal_set(win, BC_NSEW_SCROLLCURSOR);
+ WM_cursor_modal_set(win, WM_CURSOR_NSEW_SCROLL);
}
break;
}
@@ -1673,12 +1838,14 @@ static int gpencil_primitive_modal(bContext *C, wmOperator *op, const wmEvent *e
{
if ((event->val == KM_PRESS)) {
if (event->shift) {
+ tgpi->prev_flag = tgpi->flag;
tgpi->flag = IN_BRUSH_STRENGTH;
}
else {
+ tgpi->prev_flag = tgpi->flag;
tgpi->flag = IN_BRUSH_SIZE;
}
- WM_cursor_modal_set(win, BC_NS_SCROLLCURSOR);
+ WM_cursor_modal_set(win, WM_CURSOR_NS_SCROLL);
}
break;
}
@@ -1704,7 +1871,7 @@ static int gpencil_primitive_modal(bContext *C, wmOperator *op, const wmEvent *e
case TABKEY: {
if (tgpi->flag == IN_CURVE_EDIT) {
tgpi->flag = IN_PROGRESS;
- WM_cursor_modal_set(win, BC_NSEW_SCROLLCURSOR);
+ WM_cursor_modal_set(win, WM_CURSOR_NSEW_SCROLL);
gp_primitive_update_cps(tgpi);
gpencil_primitive_update(C, op, tgpi);
}
@@ -1712,7 +1879,7 @@ static int gpencil_primitive_modal(bContext *C, wmOperator *op, const wmEvent *e
}
case MOUSEMOVE: /* calculate new position */
{
- if (tgpi->flag == IN_CURVE_EDIT) {
+ if (ELEM(tgpi->flag, IN_CURVE_EDIT)) {
break;
}
/* only handle mousemove if not doing numinput */
@@ -1725,26 +1892,11 @@ static int gpencil_primitive_modal(bContext *C, wmOperator *op, const wmEvent *e
}
/* Keep square if shift key */
if (event->shift) {
- float x = tgpi->end[0] - tgpi->origin[0];
- float y = tgpi->end[1] - tgpi->origin[1];
- if (tgpi->type == GP_STROKE_LINE || tgpi->curve) {
- float angle = fabsf(atan2f(y, x));
- if (angle < 0.4f || angle > (M_PI - 0.4f)) {
- tgpi->end[1] = tgpi->origin[1];
- }
- else if (angle > (M_PI_2 - 0.4f) && angle < (M_PI_2 + 0.4f)) {
- tgpi->end[0] = tgpi->origin[0];
- }
- else {
- gpencil_primitive_to_square(tgpi, x, y);
- }
- }
- else {
- gpencil_primitive_to_square(tgpi, x, y);
- }
+ gpencil_primitive_constrain(
+ tgpi, (ELEM(tgpi->type, GP_STROKE_LINE, GP_STROKE_POLYLINE) || tgpi->curve));
}
/* Center primitive if alt key */
- if (event->alt) {
+ if (event->alt && !ELEM(tgpi->type, GP_STROKE_POLYLINE)) {
tgpi->start[0] = tgpi->origin[0] - (tgpi->end[0] - tgpi->origin[0]);
tgpi->start[1] = tgpi->origin[1] - (tgpi->end[1] - tgpi->origin[1]);
}
@@ -1796,6 +1948,7 @@ void GPENCIL_OT_primitive(wmOperatorType *ot)
static EnumPropertyItem primitive_type[] = {
{GP_STROKE_BOX, "BOX", 0, "Box", ""},
{GP_STROKE_LINE, "LINE", 0, "Line", ""},
+ {GP_STROKE_POLYLINE, "POLYLINE", 0, "Polyline", ""},
{GP_STROKE_CIRCLE, "CIRCLE", 0, "Circle", ""},
{GP_STROKE_ARC, "ARC", 0, "Arc", ""},
{GP_STROKE_CURVE, "CURVE", 0, "Curve", ""},
diff --git a/source/blender/editors/gpencil/gpencil_utils.c b/source/blender/editors/gpencil/gpencil_utils.c
index 89a2a987f60..91af444c28a 100644
--- a/source/blender/editors/gpencil/gpencil_utils.c
+++ b/source/blender/editors/gpencil/gpencil_utils.c
@@ -1391,7 +1391,7 @@ void ED_gpencil_add_defaults(bContext *C, Object *ob)
/* if not exist, create a new one */
if ((paint->brush == NULL) || (paint->brush->gpencil_settings == NULL)) {
/* create new brushes */
- BKE_brush_gpencil_presets(C);
+ BKE_brush_gpencil_presets(bmain, ts);
}
/* ensure a color exists and is assigned to object */
@@ -2530,8 +2530,8 @@ void ED_gpencil_select_toggle_all(bContext *C, int action)
/* Ensure the SBuffer (while drawing stroke) size is enough to save all points of the stroke */
tGPspoint *ED_gpencil_sbuffer_ensure(tGPspoint *buffer_array,
- short *buffer_size,
- short *buffer_used,
+ int *buffer_size,
+ int *buffer_used,
const bool clear)
{
tGPspoint *p = NULL;
@@ -2548,6 +2548,11 @@ tGPspoint *ED_gpencil_sbuffer_ensure(tGPspoint *buffer_array,
*buffer_size += GP_STROKE_BUFFER_CHUNK;
p = MEM_recallocN(buffer_array, sizeof(struct tGPspoint) * *buffer_size);
}
+
+ if (p == NULL) {
+ *buffer_size = *buffer_used = 0;
+ }
+
buffer_array = p;
}
diff --git a/source/blender/editors/include/ED_fileselect.h b/source/blender/editors/include/ED_fileselect.h
index 37090ce3421..83890c1621c 100644
--- a/source/blender/editors/include/ED_fileselect.h
+++ b/source/blender/editors/include/ED_fileselect.h
@@ -98,6 +98,8 @@ struct rcti;
struct FileSelectParams *ED_fileselect_get_params(struct SpaceFile *sfile);
short ED_fileselect_set_params(struct SpaceFile *sfile);
+void ED_fileselect_set_params_from_userdef(struct SpaceFile *sfile);
+void ED_fileselect_params_to_userdef(struct SpaceFile *sfile, int temp_win_size[]);
void ED_fileselect_reset_params(struct SpaceFile *sfile);
diff --git a/source/blender/editors/include/ED_gpencil.h b/source/blender/editors/include/ED_gpencil.h
index 63ddc669ab2..dce0e3931be 100644
--- a/source/blender/editors/include/ED_gpencil.h
+++ b/source/blender/editors/include/ED_gpencil.h
@@ -71,8 +71,15 @@ typedef struct tGPspoint {
float uv_rot; /* uv rotation for dor mode */
float rnd[3]; /* rnd value */
bool rnd_dirty; /* rnd flag */
+ short tflag; /* Internal flag */
} tGPspoint;
+/* tGPspoint->flag */
+typedef enum etGPspoint_tFlag {
+ /* Created by Fake event (used when mouse/pen move very fast while drawing). */
+ GP_TPOINT_FAKE = (1 << 0),
+} etGPspoint_tFlag;
+
/* used to sort by zdepth gpencil objects in viewport */
/* TODO: this could be a system parameter in userprefs screen */
#define GP_CACHE_BLOCK_SIZE 16
@@ -285,8 +292,8 @@ void ED_gpencil_select_toggle_all(struct bContext *C, int action);
/* Ensure stroke sbuffer size is enough */
struct tGPspoint *ED_gpencil_sbuffer_ensure(struct tGPspoint *buffer_array,
- short *buffer_size,
- short *buffer_used,
+ int *buffer_size,
+ int *buffer_used,
const bool clear);
/* Tag all scene grease pencil object to update. */
void ED_gpencil_tag_scene_gpencil(struct Scene *scene);
diff --git a/source/blender/editors/include/ED_image.h b/source/blender/editors/include/ED_image.h
index 7d69f86dbf8..69742af9f50 100644
--- a/source/blender/editors/include/ED_image.h
+++ b/source/blender/editors/include/ED_image.h
@@ -77,6 +77,7 @@ void ED_image_mouse_pos(struct SpaceImage *sima,
struct ARegion *ar,
const int mval[2],
float co[2]);
+void ED_image_view_center_to_point(struct SpaceImage *sima, float x, float y);
void ED_image_point_pos(
struct SpaceImage *sima, struct ARegion *ar, float x, float y, float *xr, float *yr);
void ED_image_point_pos__reverse(struct SpaceImage *sima,
@@ -94,6 +95,7 @@ bool ED_space_image_paint_curve(const struct bContext *C);
bool ED_space_image_check_show_maskedit(struct SpaceImage *sima, struct ViewLayer *view_layer);
bool ED_space_image_maskedit_poll(struct bContext *C);
bool ED_space_image_maskedit_mask_poll(struct bContext *C);
+bool ED_space_image_cursor_poll(struct bContext *C);
void ED_image_draw_info(struct Scene *scene,
struct ARegion *ar,
diff --git a/source/blender/editors/include/ED_keyframing.h b/source/blender/editors/include/ED_keyframing.h
index 42e5add2ef0..16b3c9c240a 100644
--- a/source/blender/editors/include/ED_keyframing.h
+++ b/source/blender/editors/include/ED_keyframing.h
@@ -310,15 +310,24 @@ extern EnumPropertyItem prop_driver_create_mapping_types[];
/* -------- */
+typedef enum eDriverFCurveCreationMode {
+ DRIVER_FCURVE_LOOKUP_ONLY = 0, /* Don't add anything if not found. */
+ DRIVER_FCURVE_KEYFRAMES = 1, /* Add with keyframes, for visual tweaking. */
+ DRIVER_FCURVE_GENERATOR = 2, /* Add with generator, for script backwards compatibility. */
+ DRIVER_FCURVE_EMPTY = 3 /* Add without data, for pasting. */
+} eDriverFCurveCreationMode;
+
/* Low-level call to add a new driver F-Curve. This shouldn't be used directly for most tools,
* although there are special cases where this approach is preferable.
*/
struct FCurve *verify_driver_fcurve(struct ID *id,
const char rna_path[],
const int array_index,
- short add);
+ eDriverFCurveCreationMode creation_mode);
-struct FCurve *alloc_driver_fcurve(const char rna_path[], const int array_index, short add);
+struct FCurve *alloc_driver_fcurve(const char rna_path[],
+ const int array_index,
+ eDriverFCurveCreationMode creation_mode);
/* -------- */
diff --git a/source/blender/editors/include/ED_mask.h b/source/blender/editors/include/ED_mask.h
index df4349a9063..f4725fea039 100644
--- a/source/blender/editors/include/ED_mask.h
+++ b/source/blender/editors/include/ED_mask.h
@@ -77,41 +77,41 @@ void ED_mask_draw_frames(
struct Mask *mask, struct ARegion *ar, const int cfra, const int sfra, const int efra);
/* mask_shapekey.c */
-void ED_mask_layer_shape_auto_key(struct MaskLayer *masklay, const int frame);
+void ED_mask_layer_shape_auto_key(struct MaskLayer *mask_layer, const int frame);
bool ED_mask_layer_shape_auto_key_all(struct Mask *mask, const int frame);
bool ED_mask_layer_shape_auto_key_select(struct Mask *mask, const int frame);
/* ----------- Mask AnimEdit API ------------------ */
-bool ED_masklayer_frames_looper(struct MaskLayer *masklay,
+bool ED_masklayer_frames_looper(struct MaskLayer *mask_layer,
struct Scene *scene,
- short (*masklay_shape_cb)(struct MaskLayerShape *,
- struct Scene *));
-void ED_masklayer_make_cfra_list(struct MaskLayer *masklay, ListBase *elems, bool onlysel);
+ short (*mask_layer_shape_cb)(struct MaskLayerShape *,
+ struct Scene *));
+void ED_masklayer_make_cfra_list(struct MaskLayer *mask_layer, ListBase *elems, bool onlysel);
-bool ED_masklayer_frame_select_check(struct MaskLayer *masklay);
-void ED_masklayer_frame_select_set(struct MaskLayer *masklay, short mode);
-void ED_masklayer_frames_select_box(struct MaskLayer *masklay,
+bool ED_masklayer_frame_select_check(struct MaskLayer *mask_layer);
+void ED_masklayer_frame_select_set(struct MaskLayer *mask_layer, short mode);
+void ED_masklayer_frames_select_box(struct MaskLayer *mask_layer,
float min,
float max,
short select_mode);
void ED_masklayer_frames_select_region(struct KeyframeEditData *ked,
- struct MaskLayer *masklay,
+ struct MaskLayer *mask_layer,
short tool,
short select_mode);
-void ED_mask_select_frames(struct MaskLayer *masklay, short select_mode);
-void ED_mask_select_frame(struct MaskLayer *masklay, int selx, short select_mode);
+void ED_mask_select_frames(struct MaskLayer *mask_layer, short select_mode);
+void ED_mask_select_frame(struct MaskLayer *mask_layer, int selx, short select_mode);
-bool ED_masklayer_frames_delete(struct MaskLayer *masklay);
-void ED_masklayer_frames_duplicate(struct MaskLayer *masklay);
+bool ED_masklayer_frames_delete(struct MaskLayer *mask_layer);
+void ED_masklayer_frames_duplicate(struct MaskLayer *mask_layer);
-void ED_masklayer_snap_frames(struct MaskLayer *masklay, struct Scene *scene, short mode);
+void ED_masklayer_snap_frames(struct MaskLayer *mask_layer, struct Scene *scene, short mode);
#if 0
void free_gpcopybuf(void);
void copy_gpdata(void);
void paste_gpdata(void);
-void mirror_masklayer_frames(struct MaskLayer *masklay, short mode);
+void mirror_masklayer_frames(struct MaskLayer *mask_layer, short mode);
#endif
#endif /* __ED_MASK_H__ */
diff --git a/source/blender/editors/include/ED_mball.h b/source/blender/editors/include/ED_mball.h
index 8ffae0f2b66..5afb645d9e7 100644
--- a/source/blender/editors/include/ED_mball.h
+++ b/source/blender/editors/include/ED_mball.h
@@ -25,6 +25,7 @@
#define __ED_MBALL_H__
struct Base;
+struct MetaBall;
struct Object;
struct UndoType;
struct bContext;
diff --git a/source/blender/editors/include/ED_mesh.h b/source/blender/editors/include/ED_mesh.h
index d8d62ad6f08..fc7b0d8be8f 100644
--- a/source/blender/editors/include/ED_mesh.h
+++ b/source/blender/editors/include/ED_mesh.h
@@ -380,17 +380,17 @@ float ED_vgroup_vert_weight(struct Object *ob, struct bDeformGroup *dg, int vert
void ED_vgroup_vert_active_mirror(struct Object *ob, int def_nr);
/* mesh_data.c */
-#if 0
-void ED_mesh_geometry_add(
- struct Mesh *mesh, struct ReportList *reports, int verts, int edges, int faces);
-#endif
-void ED_mesh_polys_add(struct Mesh *mesh, struct ReportList *reports, int count);
+void ED_mesh_verts_add(struct Mesh *mesh, struct ReportList *reports, int count);
void ED_mesh_edges_add(struct Mesh *mesh, struct ReportList *reports, int count);
void ED_mesh_loops_add(struct Mesh *mesh, struct ReportList *reports, int count);
-void ED_mesh_vertices_add(struct Mesh *mesh, struct ReportList *reports, int count);
+void ED_mesh_polys_add(struct Mesh *mesh, struct ReportList *reports, int count);
+void ED_mesh_verts_remove(struct Mesh *mesh, struct ReportList *reports, int count);
void ED_mesh_edges_remove(struct Mesh *mesh, struct ReportList *reports, int count);
-void ED_mesh_vertices_remove(struct Mesh *mesh, struct ReportList *reports, int count);
+void ED_mesh_loops_remove(struct Mesh *mesh, struct ReportList *reports, int count);
+void ED_mesh_polys_remove(struct Mesh *mesh, struct ReportList *reports, int count);
+
+void ED_mesh_geometry_clear(struct Mesh *mesh);
void ED_mesh_update(struct Mesh *mesh, struct bContext *C, bool calc_edges, bool calc_edges_loose);
diff --git a/source/blender/editors/include/ED_paint.h b/source/blender/editors/include/ED_paint.h
index 88cc8a85897..fec4beea809 100644
--- a/source/blender/editors/include/ED_paint.h
+++ b/source/blender/editors/include/ED_paint.h
@@ -40,13 +40,44 @@ void ED_imapaint_dirty_region(
struct Image *ima, struct ImBuf *ibuf, int x, int y, int w, int h, bool find_old);
void ED_imapaint_bucket_fill(struct bContext *C, float color[3], struct wmOperator *op);
-/* paint_image_undo.c */
+/* image_undo.c */
void ED_image_undo_push_begin(const char *name, int paint_mode);
+void ED_image_undo_push_begin_with_image(const char *name,
+ struct Image *image,
+ struct ImBuf *ibuf);
+
void ED_image_undo_push_end(void);
void ED_image_undo_restore(struct UndoStep *us);
void ED_image_undosys_type(struct UndoType *ut);
+void *ED_image_paint_tile_find(struct ListBase *undo_tiles,
+ struct Image *ima,
+ struct ImBuf *ibuf,
+ int x_tile,
+ int y_tile,
+ unsigned short **r_mask,
+ bool validate);
+void *ED_image_paint_tile_push(struct ListBase *undo_tiles,
+ struct Image *ima,
+ struct ImBuf *ibuf,
+ struct ImBuf **tmpibuf,
+ int x_tile,
+ int y_tile,
+ unsigned short **r_mask,
+ bool **r_valid,
+ bool use_thread_lock,
+ bool find_prev);
+void ED_image_paint_tile_lock_init(void);
+void ED_image_paint_tile_lock_end(void);
+
+struct ListBase *ED_image_paint_tile_list_get(void);
+
+#define ED_IMAGE_UNDO_TILE_BITS 6
+#define ED_IMAGE_UNDO_TILE_SIZE (1 << ED_IMAGE_UNDO_TILE_BITS)
+#define ED_IMAGE_UNDO_TILE_NUMBER(size) \
+ (((size) + ED_IMAGE_UNDO_TILE_SIZE - 1) >> ED_IMAGE_UNDO_TILE_BITS)
+
/* paint_curve_undo.c */
void ED_paintcurve_undo_push_begin(const char *name);
void ED_paintcurve_undo_push_end(void);
diff --git a/source/blender/editors/include/ED_particle.h b/source/blender/editors/include/ED_particle.h
index 3ef3c0ba937..0c973f4ca88 100644
--- a/source/blender/editors/include/ED_particle.h
+++ b/source/blender/editors/include/ED_particle.h
@@ -40,12 +40,18 @@ int PE_start_edit(struct PTCacheEdit *edit);
/* access */
struct PTCacheEdit *PE_get_current_from_psys(struct ParticleSystem *psys);
-struct PTCacheEdit *PE_get_current(struct Scene *scene, struct Object *ob);
+struct PTCacheEdit *PE_get_current(struct Depsgraph *depsgraph,
+ struct Scene *scene,
+ struct Object *ob);
struct PTCacheEdit *PE_create_current(struct Depsgraph *depsgraph,
struct Scene *scene,
struct Object *ob);
void PE_current_changed(struct Depsgraph *depsgraph, struct Scene *scene, struct Object *ob);
-int PE_minmax(struct Scene *scene, struct ViewLayer *view_layer, float min[3], float max[3]);
+int PE_minmax(struct Depsgraph *depsgraph,
+ struct Scene *scene,
+ struct ViewLayer *view_layer,
+ float min[3],
+ float max[3]);
struct ParticleEditSettings *PE_settings(struct Scene *scene);
/* update calls */
diff --git a/source/blender/editors/include/ED_screen.h b/source/blender/editors/include/ED_screen.h
index 7c3aac6c688..4ca7c8f96ad 100644
--- a/source/blender/editors/include/ED_screen.h
+++ b/source/blender/editors/include/ED_screen.h
@@ -246,7 +246,8 @@ ScrArea *ED_screen_temp_space_open(struct bContext *C,
int sizex,
int sizey,
eSpace_Type space_type,
- int display_type);
+ int display_type,
+ bool dialog);
void ED_screens_header_tools_menu_create(struct bContext *C, struct uiLayout *layout, void *arg);
void ED_screens_footer_tools_menu_create(struct bContext *C, struct uiLayout *layout, void *arg);
void ED_screens_navigation_bar_tools_menu_create(struct bContext *C,
@@ -403,13 +404,10 @@ void ED_screen_user_menu_register(void);
/* Cache display helpers */
-void ED_region_cache_draw_background(const struct ARegion *ar);
+void ED_region_cache_draw_background(struct ARegion *ar);
void ED_region_cache_draw_curfra_label(const int framenr, const float x, const float y);
-void ED_region_cache_draw_cached_segments(const struct ARegion *ar,
- const int num_segments,
- const int *points,
- const int sfra,
- const int efra);
+void ED_region_cache_draw_cached_segments(
+ struct ARegion *ar, const int num_segments, const int *points, const int sfra, const int efra);
/* area_utils.c */
void ED_region_generic_tools_region_message_subscribe(const struct bContext *C,
diff --git a/source/blender/editors/include/ED_transform.h b/source/blender/editors/include/ED_transform.h
index 8c70fc9a157..0771f39f905 100644
--- a/source/blender/editors/include/ED_transform.h
+++ b/source/blender/editors/include/ED_transform.h
@@ -173,40 +173,8 @@ void ED_widgetgroup_gizmo2d_setup(const struct bContext *C, struct wmGizmoGroup
void ED_widgetgroup_gizmo2d_refresh(const struct bContext *C, struct wmGizmoGroup *gzgroup);
void ED_widgetgroup_gizmo2d_draw_prepare(const struct bContext *C, struct wmGizmoGroup *gzgroup);
-/* Snapping */
-
-#define SNAP_MIN_DISTANCE 30
#define SNAP_INCREMENTAL_ANGLE DEG2RAD(5.0)
-bool peelObjectsTransform(struct TransInfo *t,
- const float mval[2],
- const bool use_peel_object,
- /* return args */
- float r_loc[3],
- float r_no[3],
- float *r_thickness);
-bool peelObjectsSnapContext(struct SnapObjectContext *sctx,
- const float mval[2],
- const struct SnapObjectParams *params,
- const bool use_peel_object,
- /* return args */
- float r_loc[3],
- float r_no[3],
- float *r_thickness);
-
-short snapObjectsTransform(struct TransInfo *t,
- const float mval[2],
- float *dist_px,
- /* return args */
- float r_loc[3],
- float r_no[3]);
-bool snapNodesTransform(struct TransInfo *t,
- const int mval[2],
- /* return args */
- float r_loc[2],
- float *r_dist_px,
- char *r_node_border);
-
void ED_transform_calc_orientation_from_type(const struct bContext *C, float r_mat[3][3]);
void ED_transform_calc_orientation_from_type_ex(const struct bContext *C,
float r_mat[3][3],
diff --git a/source/blender/editors/include/ED_transform_snap_object_context.h b/source/blender/editors/include/ED_transform_snap_object_context.h
index 40e0005b487..0e20abe4221 100644
--- a/source/blender/editors/include/ED_transform_snap_object_context.h
+++ b/source/blender/editors/include/ED_transform_snap_object_context.h
@@ -68,6 +68,8 @@ struct SnapObjectParams {
unsigned int use_object_edit_cage : 1;
/* snap to the closest element, use when using more than one snap type */
unsigned int use_occlusion_test : 1;
+ /* exclude back facing geometry from snapping */
+ unsigned int use_backface_culling : 1;
};
typedef struct SnapObjectContext SnapObjectContext;
diff --git a/source/blender/editors/include/ED_util.h b/source/blender/editors/include/ED_util.h
index 87f57b4e144..003e84bbf05 100644
--- a/source/blender/editors/include/ED_util.h
+++ b/source/blender/editors/include/ED_util.h
@@ -34,6 +34,8 @@ struct wmOperatorType;
void ED_editors_init_for_undo(struct Main *bmain);
void ED_editors_init(struct bContext *C);
void ED_editors_exit(struct Main *bmain, bool do_undo_system);
+
+bool ED_editors_flush_edits_ex(struct Main *bmain, bool for_render, bool check_needs_flush);
bool ED_editors_flush_edits(struct Main *bmain, bool for_render);
void ED_spacedata_id_remap(struct ScrArea *sa,
diff --git a/source/blender/editors/include/ED_view3d.h b/source/blender/editors/include/ED_view3d.h
index 28280fae3a8..83caef29ca3 100644
--- a/source/blender/editors/include/ED_view3d.h
+++ b/source/blender/editors/include/ED_view3d.h
@@ -67,8 +67,6 @@ struct wmOperatorType;
struct wmWindow;
struct wmWindowManager;
-enum eGPUFXFlags;
-
/* for derivedmesh drawing callbacks, for view3d_select, .... */
typedef struct ViewContext {
struct bContext *C;
diff --git a/source/blender/editors/include/UI_icons.h b/source/blender/editors/include/UI_icons.h
index 41487fd9616..4afd60b6aa1 100644
--- a/source/blender/editors/include/UI_icons.h
+++ b/source/blender/editors/include/UI_icons.h
@@ -76,7 +76,7 @@ DEF_ICON(X)
DEF_ICON(DUPLICATE)
DEF_ICON(TRASH)
DEF_ICON(COLLECTION_NEW)
-DEF_ICON_BLANK(77)
+DEF_ICON(OPTIONS)
DEF_ICON(NODE)
DEF_ICON(NODE_SEL)
@@ -104,8 +104,8 @@ DEF_ICON(RIGHTARROW)
DEF_ICON(DOWNARROW_HLT)
DEF_ICON(FCURVE_SNAPSHOT)
DEF_ICON(OBJECT_HIDDEN)
-DEF_ICON_BLANK(105)
-DEF_ICON_BLANK(106)
+DEF_ICON(TOPBAR)
+DEF_ICON(STATUSBAR)
DEF_ICON(PLUGIN)
/* various ui */
@@ -283,7 +283,7 @@ DEF_ICON(MOUSE_MOVE)
DEF_ICON(MOUSE_LMB_DRAG)
DEF_ICON(MOUSE_MMB_DRAG)
DEF_ICON(MOUSE_RMB_DRAG)
-DEF_ICON_BLANK(284)
+DEF_ICON(MEMORY)
DEF_ICON(PRESET_NEW)
DEF_ICON_BLANK(286)
DEF_ICON(DECORATE)
@@ -774,9 +774,9 @@ DEF_ICON_BLANK(277)
DEF_ICON_BLANK(772)
DEF_ICON_BLANK(773)
DEF_ICON_BLANK(774)
-DEF_ICON_BLANK(775)
-DEF_ICON_BLANK(776)
-DEF_ICON_BLANK(777)
+DEF_ICON(HOME)
+DEF_ICON(DOCUMENTS)
+DEF_ICON(TEMP)
/* FILE SELECT */
DEF_ICON(SORTALPHA)
@@ -857,7 +857,7 @@ DEF_ICON(SCRIPTPLUGINS)
DEF_ICON_BLANK(855)
DEF_ICON_BLANK(856)
DEF_ICON_BLANK(857)
-DEF_ICON_BLANK(858)
+DEF_ICON(DISC)
DEF_ICON(DESKTOP)
DEF_ICON(EXTERNAL_DRIVE)
DEF_ICON(NETWORK_DRIVE)
@@ -1027,6 +1027,7 @@ DEF_ICON_COLOR(EVENT_TAB)
DEF_ICON_COLOR(EVENT_PAGEUP)
DEF_ICON_COLOR(EVENT_PAGEDOWN)
DEF_ICON_COLOR(EVENT_RETURN)
+DEF_ICON_COLOR(EVENT_SPACEKEY)
/* add as needed. */
/* Undefine all types. */
diff --git a/source/blender/editors/include/UI_interface.h b/source/blender/editors/include/UI_interface.h
index 5326888036e..8f205173011 100644
--- a/source/blender/editors/include/UI_interface.h
+++ b/source/blender/editors/include/UI_interface.h
@@ -2021,6 +2021,12 @@ void uiTemplateEditModeSelection(uiLayout *layout, struct bContext *C);
void uiTemplateReportsBanner(uiLayout *layout, struct bContext *C);
void uiTemplateInputStatus(uiLayout *layout, struct bContext *C);
void uiTemplateKeymapItemProperties(uiLayout *layout, struct PointerRNA *ptr);
+
+bool uiTemplateEventFromKeymapItem(struct uiLayout *layout,
+ const char *text,
+ const struct wmKeyMapItem *kmi,
+ bool text_fallback);
+
void uiTemplateComponentMenu(uiLayout *layout,
struct PointerRNA *ptr,
const char *propname,
@@ -2454,6 +2460,8 @@ void UI_widgetbase_draw_cache_end(void);
void UI_theme_init_default(void);
void UI_style_init_default(void);
+void UI_interface_tag_script_reload(void);
+
/* Special drawing for toolbar, mainly workarounds for inflexible icon sizing. */
#define USE_UI_TOOLBAR_HACK
diff --git a/source/blender/editors/include/UI_resources.h b/source/blender/editors/include/UI_resources.h
index 76ab4a53eb8..89579b88d24 100644
--- a/source/blender/editors/include/UI_resources.h
+++ b/source/blender/editors/include/UI_resources.h
@@ -283,6 +283,7 @@ typedef enum ThemeColorID {
TH_NLA_TWEAK, /* 'tweaking' track in NLA */
TH_NLA_TWEAK_DUPLI, /* error/warning flag for other strips referencing dupli strip */
+ TH_NLA_TRACK,
TH_NLA_TRANSITION,
TH_NLA_TRANSITION_SEL,
TH_NLA_META,
diff --git a/source/blender/editors/interface/CMakeLists.txt b/source/blender/editors/interface/CMakeLists.txt
index bc8d25e8d9e..d33023c69a1 100644
--- a/source/blender/editors/interface/CMakeLists.txt
+++ b/source/blender/editors/interface/CMakeLists.txt
@@ -50,6 +50,7 @@ set(SRC
interface_eyedropper_datablock.c
interface_eyedropper_depth.c
interface_eyedropper_driver.c
+ interface_eyedropper_gpencil_color.c
interface_handlers.c
interface_icons.c
interface_icons_event.c
diff --git a/source/blender/editors/interface/interface.c b/source/blender/editors/interface/interface.c
index 27a33a38b15..ff6b65ffbfc 100644
--- a/source/blender/editors/interface/interface.c
+++ b/source/blender/editors/interface/interface.c
@@ -786,6 +786,8 @@ static bool ui_but_update_from_old_block(const bContext *C,
oldbut->flag = (oldbut->flag & ~flag_copy) | (but->flag & flag_copy);
oldbut->drawflag = (oldbut->drawflag & ~drawflag_copy) | (but->drawflag & drawflag_copy);
+ SWAP(ListBase, but->extra_op_icons, oldbut->extra_op_icons);
+
/* copy hardmin for list rows to prevent 'sticking' highlight to mouse position
* when scrolling without moving mouse (see [#28432]) */
if (ELEM(oldbut->type, UI_BTYPE_ROW, UI_BTYPE_LISTROW)) {
@@ -2622,10 +2624,10 @@ void ui_but_string_get_ex(uiBut *but,
BLI_assert(0);
}
- if (!buf) {
+ if (buf == NULL) {
str[0] = '\0';
}
- else if (buf && buf != str) {
+ else if (buf != str) {
BLI_assert(maxlen <= buf_len + 1);
/* string was too long, we have to truncate */
if (UI_but_is_utf8(but)) {
@@ -3389,7 +3391,7 @@ static void ui_but_build_drawstr_float(uiBut *but, double value)
if (value == (double)FLT_MAX) {
STR_CONCAT(but->drawstr, slen, "inf");
}
- else if (value == (double)-FLT_MIN) {
+ else if (value == (double)-FLT_MAX) {
STR_CONCAT(but->drawstr, slen, "-inf");
}
else if (subtype == PROP_PERCENTAGE) {
@@ -6689,3 +6691,8 @@ void UI_exit(void)
ui_resources_free();
ui_but_clipboard_free();
}
+
+void UI_interface_tag_script_reload(void)
+{
+ ui_interface_tag_script_reload_queries();
+}
diff --git a/source/blender/editors/interface/interface_anim.c b/source/blender/editors/interface/interface_anim.c
index 168c6051327..c8baa1a7c7b 100644
--- a/source/blender/editors/interface/interface_anim.c
+++ b/source/blender/editors/interface/interface_anim.c
@@ -243,7 +243,7 @@ bool ui_but_anim_expression_create(uiBut *but, const char *str)
}
/* create driver */
- fcu = verify_driver_fcurve(id, path, but->rnaindex, 1);
+ fcu = verify_driver_fcurve(id, path, but->rnaindex, DRIVER_FCURVE_KEYFRAMES);
if (fcu) {
ChannelDriver *driver = fcu->driver;
diff --git a/source/blender/editors/interface/interface_context_menu.c b/source/blender/editors/interface/interface_context_menu.c
index b84b07adba5..ae6a71f17e6 100644
--- a/source/blender/editors/interface/interface_context_menu.c
+++ b/source/blender/editors/interface/interface_context_menu.c
@@ -63,7 +63,14 @@
static IDProperty *shortcut_property_from_rna(bContext *C, uiBut *but)
{
/* Compute data path from context to property. */
+
+ /* If this returns null, we won't be able to bind shortcuts to these RNA properties.
+ * Support can be added at #wm_context_member_from_ptr. */
const char *member_id = WM_context_member_from_ptr(C, &but->rnapoin);
+ if (member_id == NULL) {
+ return NULL;
+ }
+
const char *data_path = RNA_path_from_ID_to_struct(&but->rnapoin);
const char *member_id_data_path = member_id;
@@ -90,27 +97,35 @@ static IDProperty *shortcut_property_from_rna(bContext *C, uiBut *but)
return prop;
}
-static const char *shortcut_get_operator_property(bContext *C, uiBut *but, IDProperty **prop)
+static const char *shortcut_get_operator_property(bContext *C, uiBut *but, IDProperty **r_prop)
{
if (but->optype) {
/* Operator */
- *prop = (but->opptr && but->opptr->data) ? IDP_CopyProperty(but->opptr->data) : NULL;
+ *r_prop = (but->opptr && but->opptr->data) ? IDP_CopyProperty(but->opptr->data) : NULL;
return but->optype->idname;
}
else if (but->rnaprop) {
- if (RNA_property_type(but->rnaprop) == PROP_BOOLEAN) {
+ const PropertyType rnaprop_type = RNA_property_type(but->rnaprop);
+
+ if (rnaprop_type == PROP_BOOLEAN) {
/* Boolean */
- *prop = shortcut_property_from_rna(C, but);
+ *r_prop = shortcut_property_from_rna(C, but);
+ if (*r_prop == NULL) {
+ return NULL;
+ }
return "WM_OT_context_toggle";
}
- else if (RNA_property_type(but->rnaprop) == PROP_ENUM) {
+ else if (rnaprop_type == PROP_ENUM) {
/* Enum */
- *prop = shortcut_property_from_rna(C, but);
+ *r_prop = shortcut_property_from_rna(C, but);
+ if (*r_prop == NULL) {
+ return NULL;
+ }
return "WM_OT_context_menu_enum";
}
}
- *prop = NULL;
+ *r_prop = NULL;
return NULL;
}
diff --git a/source/blender/editors/interface/interface_draw.c b/source/blender/editors/interface/interface_draw.c
index 551e25a5986..72c31c7b39e 100644
--- a/source/blender/editors/interface/interface_draw.c
+++ b/source/blender/editors/interface/interface_draw.c
@@ -1849,9 +1849,17 @@ void ui_draw_but_CURVE(ARegion *ar, uiBut *but, const uiWidgetColors *wcol, cons
cumap = (CurveMapping *)but->poin;
}
+ float clip_size_x = BLI_rctf_size_x(&cumap->curr);
+ float clip_size_y = BLI_rctf_size_y(&cumap->curr);
+
+ /* zero-sized curve */
+ if (clip_size_x == 0.0f || clip_size_y == 0.0f) {
+ return;
+ }
+
/* calculate offset and zoom */
- float zoomx = (BLI_rcti_size_x(rect) - 2.0f) / BLI_rctf_size_x(&cumap->curr);
- float zoomy = (BLI_rcti_size_y(rect) - 2.0f) / BLI_rctf_size_y(&cumap->curr);
+ float zoomx = (BLI_rcti_size_x(rect) - 2.0f) / clip_size_x;
+ float zoomy = (BLI_rcti_size_y(rect) - 2.0f) / clip_size_y;
float offsx = cumap->curr.xmin - (1.0f / zoomx);
float offsy = cumap->curr.ymin - (1.0f / zoomy);
diff --git a/source/blender/editors/interface/interface_eyedropper.c b/source/blender/editors/interface/interface_eyedropper.c
index 3c26c37b610..988dea270f5 100644
--- a/source/blender/editors/interface/interface_eyedropper.c
+++ b/source/blender/editors/interface/interface_eyedropper.c
@@ -69,6 +69,7 @@ wmKeyMap *eyedropper_modal_keymap(wmKeyConfig *keyconf)
WM_modalkeymap_assign(keymap, "UI_OT_eyedropper_id");
WM_modalkeymap_assign(keymap, "UI_OT_eyedropper_depth");
WM_modalkeymap_assign(keymap, "UI_OT_eyedropper_driver");
+ WM_modalkeymap_assign(keymap, "UI_OT_eyedropper_gpencil_color");
return keymap;
}
diff --git a/source/blender/editors/interface/interface_eyedropper_color.c b/source/blender/editors/interface/interface_eyedropper_color.c
index 00943680419..0cf357c508b 100644
--- a/source/blender/editors/interface/interface_eyedropper_color.c
+++ b/source/blender/editors/interface/interface_eyedropper_color.c
@@ -290,7 +290,7 @@ static int eyedropper_invoke(bContext *C, wmOperator *op, const wmEvent *UNUSED(
{
/* init */
if (eyedropper_init(C, op)) {
- WM_cursor_modal_set(CTX_wm_window(C), BC_EYEDROPPER_CURSOR);
+ WM_cursor_modal_set(CTX_wm_window(C), WM_CURSOR_EYEDROPPER);
/* add temp handler */
WM_event_add_modal_handler(C, op);
diff --git a/source/blender/editors/interface/interface_eyedropper_colorband.c b/source/blender/editors/interface/interface_eyedropper_colorband.c
index ffe93e48936..479cf9ccffe 100644
--- a/source/blender/editors/interface/interface_eyedropper_colorband.c
+++ b/source/blender/editors/interface/interface_eyedropper_colorband.c
@@ -304,7 +304,7 @@ static int eyedropper_colorband_invoke(bContext *C, wmOperator *op, const wmEven
{
/* init */
if (eyedropper_colorband_init(C, op)) {
- WM_cursor_modal_set(CTX_wm_window(C), BC_EYEDROPPER_CURSOR);
+ WM_cursor_modal_set(CTX_wm_window(C), WM_CURSOR_EYEDROPPER);
/* add temp handler */
WM_event_add_modal_handler(C, op);
diff --git a/source/blender/editors/interface/interface_eyedropper_datablock.c b/source/blender/editors/interface/interface_eyedropper_datablock.c
index 336fae45895..fd5a46e7716 100644
--- a/source/blender/editors/interface/interface_eyedropper_datablock.c
+++ b/source/blender/editors/interface/interface_eyedropper_datablock.c
@@ -314,7 +314,7 @@ static int datadropper_invoke(bContext *C, wmOperator *op, const wmEvent *UNUSED
{
/* init */
if (datadropper_init(C, op)) {
- WM_cursor_modal_set(CTX_wm_window(C), BC_EYEDROPPER_CURSOR);
+ WM_cursor_modal_set(CTX_wm_window(C), WM_CURSOR_EYEDROPPER);
/* add temp handler */
WM_event_add_modal_handler(C, op);
diff --git a/source/blender/editors/interface/interface_eyedropper_depth.c b/source/blender/editors/interface/interface_eyedropper_depth.c
index 2e51701e01d..8a48ca19db2 100644
--- a/source/blender/editors/interface/interface_eyedropper_depth.c
+++ b/source/blender/editors/interface/interface_eyedropper_depth.c
@@ -311,7 +311,7 @@ static int depthdropper_invoke(bContext *C, wmOperator *op, const wmEvent *UNUSE
{
/* init */
if (depthdropper_init(C, op)) {
- WM_cursor_modal_set(CTX_wm_window(C), BC_EYEDROPPER_CURSOR);
+ WM_cursor_modal_set(CTX_wm_window(C), WM_CURSOR_EYEDROPPER);
/* add temp handler */
WM_event_add_modal_handler(C, op);
diff --git a/source/blender/editors/interface/interface_eyedropper_driver.c b/source/blender/editors/interface/interface_eyedropper_driver.c
index e6fc52bc3bc..cc13367c190 100644
--- a/source/blender/editors/interface/interface_eyedropper_driver.c
+++ b/source/blender/editors/interface/interface_eyedropper_driver.c
@@ -180,7 +180,7 @@ static int driverdropper_invoke(bContext *C, wmOperator *op, const wmEvent *UNUS
{
/* init */
if (driverdropper_init(C, op)) {
- WM_cursor_modal_set(CTX_wm_window(C), BC_EYEDROPPER_CURSOR);
+ WM_cursor_modal_set(CTX_wm_window(C), WM_CURSOR_EYEDROPPER);
/* add temp handler */
WM_event_add_modal_handler(C, op);
diff --git a/source/blender/editors/interface/interface_eyedropper_gpencil_color.c b/source/blender/editors/interface/interface_eyedropper_gpencil_color.c
new file mode 100644
index 00000000000..02d4596e93c
--- /dev/null
+++ b/source/blender/editors/interface/interface_eyedropper_gpencil_color.c
@@ -0,0 +1,324 @@
+/*
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * The Original Code is Copyright (C) 2009 Blender Foundation.
+ * All rights reserved.
+ */
+
+/** \file
+ * \ingroup edinterface
+ *
+ * Eyedropper (RGB Color)
+ *
+ * Defines:
+ * - #UI_OT_eyedropper_gpencil_color
+ */
+
+#include "MEM_guardedalloc.h"
+
+#include "BLI_string.h"
+
+#include "BLT_translation.h"
+
+#include "DNA_gpencil_types.h"
+#include "DNA_space_types.h"
+
+#include "BKE_context.h"
+#include "BKE_gpencil.h"
+#include "BKE_main.h"
+#include "BKE_material.h"
+#include "BKE_report.h"
+
+#include "UI_interface.h"
+
+#include "IMB_colormanagement.h"
+
+#include "WM_api.h"
+#include "WM_types.h"
+
+#include "RNA_access.h"
+#include "RNA_define.h"
+
+#include "ED_gpencil.h"
+#include "ED_screen.h"
+#include "ED_undo.h"
+
+#include "DEG_depsgraph.h"
+#include "DEG_depsgraph_build.h"
+
+#include "interface_intern.h"
+#include "interface_eyedropper_intern.h"
+
+typedef struct EyedropperGPencil {
+ struct ColorManagedDisplay *display;
+ /** color under cursor RGB */
+ float color[3];
+} EyedropperGPencil;
+
+/* Helper: Draw status message while the user is running the operator */
+static void eyedropper_gpencil_status_indicators(bContext *C)
+{
+ char msg_str[UI_MAX_DRAW_STR];
+ BLI_strncpy(
+ msg_str, TIP_("LMB: Stroke - Shift: Fill - Shift+Ctrl: Stroke + Fill"), UI_MAX_DRAW_STR);
+
+ ED_workspace_status_text(C, msg_str);
+}
+
+/* Initialize. */
+static bool eyedropper_gpencil_init(bContext *C, wmOperator *op)
+{
+ EyedropperGPencil *eye = MEM_callocN(sizeof(EyedropperGPencil), __func__);
+
+ op->customdata = eye;
+ Scene *scene = CTX_data_scene(C);
+
+ const char *display_device;
+ display_device = scene->display_settings.display_device;
+ eye->display = IMB_colormanagement_display_get_named(display_device);
+
+ return true;
+}
+
+/* Exit and free memory. */
+static void eyedropper_gpencil_exit(bContext *C, wmOperator *op)
+{
+ /* Clear status message area. */
+ ED_workspace_status_text(C, NULL);
+
+ MEM_SAFE_FREE(op->customdata);
+}
+
+/* Set the material. */
+static void eyedropper_gpencil_color_set(bContext *C, const wmEvent *event, EyedropperGPencil *eye)
+{
+ Main *bmain = CTX_data_main(C);
+ Object *ob = CTX_data_active_object(C);
+ Material *ma = NULL;
+
+ const bool only_stroke = ((!event->ctrl) && (!event->shift));
+ const bool only_fill = ((!event->ctrl) && (event->shift));
+ const bool both = ((event->ctrl) && (event->shift));
+
+ float col_conv[4];
+ bool found = false;
+
+ /* Convert from linear rgb space to display space because grease pencil colors are in display
+ * space, and this conversion is needed to undo the conversion to linear performed by
+ * eyedropper_color_sample_fl. */
+ if (eye->display) {
+ copy_v3_v3(col_conv, eye->color);
+ IMB_colormanagement_scene_linear_to_display_v3(col_conv, eye->display);
+ }
+ else {
+ copy_v3_v3(col_conv, eye->color);
+ }
+
+ /* Look for a similar material in grease pencil slots. */
+ short *totcol = give_totcolp(ob);
+ for (short i = 0; i < *totcol; i++) {
+ ma = give_current_material(ob, i + 1);
+ if (ma == NULL) {
+ continue;
+ }
+
+ MaterialGPencilStyle *gp_style = ma->gp_style;
+ if (gp_style != NULL) {
+ /* Check stroke color. */
+ bool found_stroke = compare_v3v3(gp_style->stroke_rgba, col_conv, 0.01f) &&
+ (gp_style->flag & GP_STYLE_STROKE_SHOW);
+ /* Check fill color. */
+ bool found_fill = compare_v3v3(gp_style->fill_rgba, col_conv, 0.01f) &&
+ (gp_style->flag & GP_STYLE_FILL_SHOW);
+
+ if ((only_stroke) && (found_stroke) && ((gp_style->flag & GP_STYLE_FILL_SHOW) == 0)) {
+ found = true;
+ }
+ else if ((only_fill) && (found_fill) && ((gp_style->flag & GP_STYLE_STROKE_SHOW) == 0)) {
+ found = true;
+ }
+ else if ((both) && (found_stroke) && (found_fill)) {
+ found = true;
+ }
+
+ /* Found existing material. */
+ if (found) {
+ ob->actcol = i + 1;
+ WM_main_add_notifier(NC_MATERIAL | ND_SHADING_LINKS, NULL);
+ WM_main_add_notifier(NC_SPACE | ND_SPACE_VIEW3D, NULL);
+ return;
+ }
+ }
+ }
+
+ /* If material was not found add a new material with stroke and/or fill color
+ * depending of the secondary key (LMB: Stroke, Shift: Fill, Shift+Ctrl: Stroke/Fill)
+ */
+ int idx;
+ Material *ma_new = BKE_gpencil_object_material_new(bmain, ob, "Material", &idx);
+ WM_main_add_notifier(NC_OBJECT | ND_OB_SHADING, &ob->id);
+ WM_main_add_notifier(NC_MATERIAL | ND_SHADING_LINKS, NULL);
+ DEG_relations_tag_update(bmain);
+
+ BLI_assert(ma_new != NULL);
+
+ MaterialGPencilStyle *gp_style_new = ma_new->gp_style;
+ BLI_assert(gp_style_new != NULL);
+
+ /* Only create Stroke (default option). */
+ if (only_stroke) {
+ /* Stroke color. */
+ gp_style_new->flag |= GP_STYLE_STROKE_SHOW;
+ gp_style_new->flag &= ~GP_STYLE_FILL_SHOW;
+ copy_v3_v3(gp_style_new->stroke_rgba, col_conv);
+ zero_v4(gp_style_new->fill_rgba);
+ }
+ /* Fill Only. */
+ else if (only_fill) {
+ /* Fill color. */
+ gp_style_new->flag &= ~GP_STYLE_STROKE_SHOW;
+ gp_style_new->flag |= GP_STYLE_FILL_SHOW;
+ zero_v4(gp_style_new->stroke_rgba);
+ copy_v3_v3(gp_style_new->fill_rgba, col_conv);
+ }
+ /* Stroke and Fill. */
+ else if (both) {
+ gp_style_new->flag |= GP_STYLE_STROKE_SHOW | GP_STYLE_FILL_SHOW;
+ copy_v3_v3(gp_style_new->stroke_rgba, col_conv);
+ copy_v3_v3(gp_style_new->fill_rgba, col_conv);
+ }
+ /* Push undo for new created material. */
+ ED_undo_push(C, "Add Grease Pencil Material");
+}
+
+/* Sample the color below cursor. */
+static void eyedropper_gpencil_color_sample(bContext *C, EyedropperGPencil *eye, int mx, int my)
+{
+ eyedropper_color_sample_fl(C, mx, my, eye->color);
+}
+
+/* Cancel operator. */
+static void eyedropper_gpencil_cancel(bContext *C, wmOperator *op)
+{
+ eyedropper_gpencil_exit(C, op);
+}
+
+/* Main modal status check. */
+static int eyedropper_gpencil_modal(bContext *C, wmOperator *op, const wmEvent *event)
+{
+ EyedropperGPencil *eye = (EyedropperGPencil *)op->customdata;
+ /* Handle modal keymap */
+ switch (event->type) {
+ case EVT_MODAL_MAP: {
+ switch (event->val) {
+ case EYE_MODAL_SAMPLE_BEGIN: {
+ return OPERATOR_RUNNING_MODAL;
+ }
+ case EYE_MODAL_CANCEL: {
+ eyedropper_gpencil_cancel(C, op);
+ return OPERATOR_CANCELLED;
+ }
+ case EYE_MODAL_SAMPLE_CONFIRM: {
+ eyedropper_gpencil_color_sample(C, eye, event->x, event->y);
+
+ /* Create material. */
+ eyedropper_gpencil_color_set(C, event, eye);
+ WM_main_add_notifier(NC_GPENCIL | ND_DATA | NA_EDITED, NULL);
+
+ eyedropper_gpencil_exit(C, op);
+ return OPERATOR_FINISHED;
+ break;
+ }
+ default: {
+ break;
+ }
+ }
+ break;
+ }
+ case MOUSEMOVE:
+ case INBETWEEN_MOUSEMOVE: {
+ eyedropper_gpencil_color_sample(C, eye, event->x, event->y);
+ break;
+ }
+ default: {
+ break;
+ }
+ }
+
+ return OPERATOR_RUNNING_MODAL;
+}
+
+/* Modal Operator init */
+static int eyedropper_gpencil_invoke(bContext *C, wmOperator *op, const wmEvent *UNUSED(event))
+{
+ /* Init. */
+ if (eyedropper_gpencil_init(C, op)) {
+ /* Add modal temp handler. */
+ WM_event_add_modal_handler(C, op);
+ /* Status message. */
+ eyedropper_gpencil_status_indicators(C);
+
+ return OPERATOR_RUNNING_MODAL;
+ }
+ else {
+ return OPERATOR_PASS_THROUGH;
+ }
+}
+
+/* Repeat operator */
+static int eyedropper_gpencil_exec(bContext *C, wmOperator *op)
+{
+ /* init */
+ if (eyedropper_gpencil_init(C, op)) {
+
+ /* cleanup */
+ eyedropper_gpencil_exit(C, op);
+
+ return OPERATOR_FINISHED;
+ }
+ else {
+ return OPERATOR_PASS_THROUGH;
+ }
+}
+
+static bool eyedropper_gpencil_poll(bContext *C)
+{
+ /* Only valid if the current active object is grease pencil. */
+ Object *obact = CTX_data_active_object(C);
+ if ((obact == NULL) || (obact->type != OB_GPENCIL)) {
+ return false;
+ }
+
+ /* Test we have a window below. */
+ return (CTX_wm_window(C) != NULL);
+}
+
+void UI_OT_eyedropper_gpencil_color(wmOperatorType *ot)
+{
+ /* identifiers */
+ ot->name = "Grease Pencil Eyedropper";
+ ot->idname = "UI_OT_eyedropper_gpencil_color";
+ ot->description = "Sample a color from the Blender Window and create Grease Pencil material";
+
+ /* api callbacks */
+ ot->invoke = eyedropper_gpencil_invoke;
+ ot->modal = eyedropper_gpencil_modal;
+ ot->cancel = eyedropper_gpencil_cancel;
+ ot->exec = eyedropper_gpencil_exec;
+ ot->poll = eyedropper_gpencil_poll;
+
+ /* flags */
+ ot->flag = OPTYPE_UNDO | OPTYPE_BLOCKING;
+}
diff --git a/source/blender/editors/interface/interface_handlers.c b/source/blender/editors/interface/interface_handlers.c
index 6b77a53d5d3..e7d80306ecb 100644
--- a/source/blender/editors/interface/interface_handlers.c
+++ b/source/blender/editors/interface/interface_handlers.c
@@ -101,6 +101,19 @@
#define UI_MAX_PASSWORD_STR 128
+/**
+ * When #USER_CONTINUOUS_MOUSE is disabled or tablet input is used,
+ * Use this as a maximum soft range for mapping cursor motion to the value.
+ * Otherwise min/max of #FLT_MAX, #INT_MAX cause small adjustments to jump to large numbers.
+ *
+ * This is needed for values such as location & dimensions which don't have a meaningful min/max,
+ * Instead of mapping cursor motion to the min/max, map the motion to the click-step.
+ *
+ * This value is multiplied by the click step to calculate a range to clamp the soft-range by.
+ * See: T68130
+ */
+#define UI_DRAG_MAP_SOFT_RANGE_PIXEL_MAX 1000
+
/* proto */
static int ui_do_but_EXIT(bContext *C,
uiBut *but,
@@ -108,6 +121,7 @@ static int ui_do_but_EXIT(bContext *C,
const wmEvent *event);
static bool ui_but_find_select_in_enum__cmp(const uiBut *but_a, const uiBut *but_b);
static void ui_textedit_string_set(uiBut *but, struct uiHandleButtonData *data, const char *str);
+static void button_tooltip_timer_reset(bContext *C, uiBut *but);
#ifdef USE_KEYNAV_LIMIT
static void ui_mouse_motion_keynav_init(struct uiKeyNavLock *keynav, const wmEvent *event);
@@ -338,6 +352,10 @@ typedef struct uiHandleButtonData {
float dragf, dragfstart;
CBData *dragcbd;
+ /** Soft min/max with #UI_DRAG_MAP_SOFT_RANGE_PIXEL_MAX applied. */
+ float drag_map_soft_min;
+ float drag_map_soft_max;
+
#ifdef USE_CONT_MOUSE_CORRECT
/* when ungrabbing buttons which are #ui_but_is_cursor_warp(),
* we may want to position them.
@@ -3258,7 +3276,7 @@ static void ui_textedit_begin(bContext *C, uiBut *but, uiHandleButtonData *data)
ui_but_update(but);
- WM_cursor_modal_set(win, BC_TEXTEDITCURSOR);
+ WM_cursor_modal_set(win, WM_CURSOR_TEXT_EDIT);
#ifdef WITH_INPUT_IME
if (is_num_but == false && BLT_lang_is_ime_supported()) {
@@ -3745,8 +3763,59 @@ static void ui_numedit_begin(uiBut *but, uiHandleButtonData *data)
softmax = but->softmax;
softrange = softmax - softmin;
+ if ((but->type == UI_BTYPE_NUM) && (ui_but_is_cursor_warp(but) == false)) {
+ /* Use a minimum so we have a predictable range,
+ * otherwise some float buttons get a large range. */
+ const float value_step_float_min = 0.1f;
+ const bool is_float = ui_but_is_float(but);
+ const double value_step = is_float ? (double)(but->a1 * UI_PRECISION_FLOAT_SCALE) :
+ (int)but->a1;
+ const float drag_map_softrange_max = UI_DRAG_MAP_SOFT_RANGE_PIXEL_MAX * UI_DPI_FAC;
+ const float softrange_max = min_ff(
+ softrange,
+ 2 * (is_float ? min_ff(value_step, value_step_float_min) *
+ (drag_map_softrange_max / value_step_float_min) :
+ drag_map_softrange_max));
+
+ if (softrange > softrange_max) {
+ /* Center around the value, keeping in the real soft min/max range. */
+ softmin = data->origvalue - (softrange_max / 2);
+ softmax = data->origvalue + (softrange_max / 2);
+ if (!isfinite(softmin)) {
+ softmin = (data->origvalue > 0.0f ? FLT_MAX : -FLT_MAX);
+ }
+ if (!isfinite(softmax)) {
+ softmax = (data->origvalue > 0.0f ? FLT_MAX : -FLT_MAX);
+ }
+
+ if (softmin < but->softmin) {
+ softmin = but->softmin;
+ softmax = softmin + softrange_max;
+ }
+ else if (softmax > but->softmax) {
+ softmax = but->softmax;
+ softmin = softmax - softrange_max;
+ }
+
+ /* Can happen at extreme values. */
+ if (UNLIKELY(softmin == softmax)) {
+ if (data->origvalue > 0.0) {
+ softmin = nextafterf(softmin, -FLT_MAX);
+ }
+ else {
+ softmax = nextafterf(softmax, FLT_MAX);
+ }
+ }
+
+ softrange = softmax - softmin;
+ }
+ }
+
data->dragfstart = (softrange == 0.0f) ? 0.0f : ((float)data->value - softmin) / softrange;
data->dragf = data->dragfstart;
+
+ data->drag_map_soft_min = softmin;
+ data->drag_map_soft_max = softmax;
}
data->dragchange = false;
@@ -3967,8 +4036,11 @@ static bool ui_do_but_extra_operator_icon(bContext *C,
uiButExtraOpIcon *op_icon = ui_but_extra_operator_icon_mouse_over_get(but, data, event);
if (op_icon) {
+ ED_region_tag_redraw(data->region);
+ button_tooltip_timer_reset(C, but);
+
ui_but_extra_operator_icon_apply(C, but, op_icon);
- button_activate_exit(C, but, data, false, false);
+ /* Note: 'but', 'data' may now be freed, don't access. */
return true;
}
@@ -4378,17 +4450,14 @@ static int ui_do_but_EXIT(bContext *C, uiBut *but, uiHandleButtonData *data, con
}
/* var names match ui_numedit_but_NUM */
-static float ui_numedit_apply_snapf(uiBut *but,
- float tempf,
- float softmin,
- float softmax,
- float softrange,
- const enum eSnapType snap)
+static float ui_numedit_apply_snapf(
+ uiBut *but, float tempf, float softmin, float softmax, const enum eSnapType snap)
{
if (tempf == softmin || tempf == softmax || snap == SNAP_OFF) {
/* pass */
}
else {
+ float softrange = softmax - softmin;
float fac = 1.0f;
if (ui_but_is_unit(but)) {
@@ -4489,7 +4558,7 @@ static bool ui_numedit_but_NUM(uiBut *but,
const enum eSnapType snap,
float fac)
{
- float deler, tempf, softmin, softmax, softrange;
+ float deler, tempf;
int lvalue, temp;
bool changed = false;
const bool is_float = ui_but_is_float(but);
@@ -4499,17 +4568,17 @@ static bool ui_numedit_but_NUM(uiBut *but,
return changed;
}
- softmin = but->softmin;
- softmax = but->softmax;
- softrange = softmax - softmin;
-
if (ui_but_is_cursor_warp(but)) {
+ const float softmin = but->softmin;
+ const float softmax = but->softmax;
+ const float softrange = softmax - softmin;
+
/* Mouse location isn't screen clamped to the screen so use a linear mapping
* 2px == 1-int, or 1px == 1-ClickStep */
if (is_float) {
fac *= 0.01f * but->a1;
tempf = (float)data->startvalue + ((float)(mx - data->dragstartx) * fac);
- tempf = ui_numedit_apply_snapf(but, tempf, softmin, softmax, softrange, snap);
+ tempf = ui_numedit_apply_snapf(but, tempf, softmin, softmax, snap);
#if 1 /* fake moving the click start, nicer for dragging back after passing the limit */
if (tempf < softmin) {
@@ -4567,6 +4636,11 @@ static bool ui_numedit_but_NUM(uiBut *but,
data->draglastx = mx;
}
else {
+ /* Use 'but->softmin', 'but->softmax' when clamping values. */
+ const float softmin = data->drag_map_soft_min;
+ const float softmax = data->drag_map_soft_max;
+ const float softrange = softmax - softmin;
+
float non_linear_range_limit;
float non_linear_pixel_map;
float non_linear_scale;
@@ -4612,16 +4686,22 @@ static bool ui_numedit_but_NUM(uiBut *but,
data->dragf += (((float)(mx - data->draglastx)) / deler) * non_linear_scale;
- CLAMP(data->dragf, 0.0f, 1.0f);
+ if (but->softmin == softmin) {
+ CLAMP_MIN(data->dragf, 0.0f);
+ }
+ if (but->softmax == softmax) {
+ CLAMP_MAX(data->dragf, 1.0f);
+ }
+
data->draglastx = mx;
tempf = (softmin + data->dragf * softrange);
if (!is_float) {
temp = round_fl_to_int(tempf);
- temp = ui_numedit_apply_snap(temp, softmin, softmax, snap);
+ temp = ui_numedit_apply_snap(temp, but->softmin, but->softmax, snap);
- CLAMP(temp, softmin, softmax);
+ CLAMP(temp, but->softmin, but->softmax);
lvalue = (int)data->value;
if (temp != lvalue) {
@@ -4632,9 +4712,9 @@ static bool ui_numedit_but_NUM(uiBut *but,
}
else {
temp = 0;
- tempf = ui_numedit_apply_snapf(but, tempf, softmin, softmax, softrange, snap);
+ tempf = ui_numedit_apply_snapf(but, tempf, but->softmin, but->softmax, snap);
- CLAMP(tempf, softmin, softmax);
+ CLAMP(tempf, but->softmin, but->softmax);
if (tempf != (float)data->value) {
data->dragchange = true;
@@ -4685,7 +4765,7 @@ static void ui_numedit_set_active(uiBut *but)
}
else {
if (data->changed_cursor == false) {
- WM_cursor_modal_set(data->window, CURSOR_X_MOVE);
+ WM_cursor_modal_set(data->window, WM_CURSOR_X_MOVE);
data->changed_cursor = true;
}
}
@@ -7493,6 +7573,7 @@ static void button_activate_init(bContext *C, ARegion *ar, uiBut *but, uiButtonA
data = MEM_callocN(sizeof(uiHandleButtonData), "uiHandleButtonData");
data->wm = CTX_wm_manager(C);
data->window = CTX_wm_window(C);
+ BLI_assert(ar != NULL);
data->region = ar;
#ifdef USE_CONT_MOUSE_CORRECT
@@ -7564,7 +7645,7 @@ static void button_activate_init(bContext *C, ARegion *ar, uiBut *but, uiButtonA
if (but->type == UI_BTYPE_GRIP) {
const bool horizontal = (BLI_rctf_size_x(&but->rect) < BLI_rctf_size_y(&but->rect));
- WM_cursor_modal_set(data->window, horizontal ? CURSOR_X_MOVE : CURSOR_Y_MOVE);
+ WM_cursor_modal_set(data->window, horizontal ? WM_CURSOR_X_MOVE : WM_CURSOR_Y_MOVE);
}
else if (but->type == UI_BTYPE_NUM) {
ui_numedit_set_active(but);
@@ -8005,6 +8086,7 @@ void ui_but_execute_begin(struct bContext *UNUSED(C),
*active_back = but->active;
data = MEM_callocN(sizeof(uiHandleButtonData), "uiHandleButtonData_Fake");
but->active = data;
+ BLI_assert(ar != NULL);
data->region = ar;
}
@@ -9816,9 +9898,7 @@ static int ui_pie_handler(bContext *C, const wmEvent *event, uiPopupBlockHandle
if (but && (U.pie_menu_confirm > 0) &&
(dist >= U.dpi_fac * (U.pie_menu_threshold + U.pie_menu_confirm))) {
- if (but) {
- return ui_but_pie_menu_apply(C, menu, but, true);
- }
+ return ui_but_pie_menu_apply(C, menu, but, true);
}
retval = ui_but_pie_menu_apply(C, menu, but, true);
diff --git a/source/blender/editors/interface/interface_icons.c b/source/blender/editors/interface/interface_icons.c
index b844e237366..ab5fdfd69e0 100644
--- a/source/blender/editors/interface/interface_icons.c
+++ b/source/blender/editors/interface/interface_icons.c
@@ -694,6 +694,7 @@ static void init_event_icons(void)
INIT_EVENT_ICON(ICON_EVENT_PAGEUP, PAGEUPKEY, KM_ANY);
INIT_EVENT_ICON(ICON_EVENT_PAGEDOWN, PAGEDOWNKEY, KM_ANY);
INIT_EVENT_ICON(ICON_EVENT_RETURN, RETKEY, KM_ANY);
+ INIT_EVENT_ICON(ICON_EVENT_SPACEKEY, SPACEKEY, KM_ANY);
g_di_event_list = di_next;
@@ -1583,7 +1584,6 @@ static struct {
IconTextureDrawCall normal;
IconTextureDrawCall border;
bool enabled;
- float mat[4][4];
} g_icon_draw_cache = {{{{{0}}}}};
void UI_icon_draw_cache_begin(void)
diff --git a/source/blender/editors/interface/interface_icons_event.c b/source/blender/editors/interface/interface_icons_event.c
index e1ce77b8b61..b7fd953ed63 100644
--- a/source/blender/editors/interface/interface_icons_event.c
+++ b/source/blender/editors/interface/interface_icons_event.c
@@ -171,12 +171,13 @@ void icon_draw_rect_input(float x,
const bool simple_text = false;
- if ((event_type >= AKEY) || (ZKEY <= event_type)) {
+ if ((event_type >= AKEY) && (event_type <= ZKEY)) {
char str[2] = {'A' + (event_type - AKEY), '\0'};
icon_draw_rect_input_default_text(&rect, color, margin, str);
}
- if ((event_type >= F1KEY) || (F12KEY <= event_type)) {
- char str[3] = {'F', '1' + (event_type - F1KEY), '\0'};
+ else if ((event_type >= F1KEY) && (event_type <= F12KEY)) {
+ char str[4];
+ SNPRINTF(str, "F%d", 1 + (event_type - F1KEY));
icon_draw_rect_input_default_text(&rect, color, margin, str);
}
else if (event_type == LEFTSHIFTKEY) {
diff --git a/source/blender/editors/interface/interface_intern.h b/source/blender/editors/interface/interface_intern.h
index 5c73b41b778..81979b1fc8f 100644
--- a/source/blender/editors/interface/interface_intern.h
+++ b/source/blender/editors/interface/interface_intern.h
@@ -971,6 +971,9 @@ void UI_OT_eyedropper_depth(struct wmOperatorType *ot);
/* interface_eyedropper_driver.c */
void UI_OT_eyedropper_driver(struct wmOperatorType *ot);
+/* interface_eyedropper_gpencil_color.c */
+void UI_OT_eyedropper_gpencil_color(struct wmOperatorType *ot);
+
/* interface_util.c */
/**
@@ -993,4 +996,7 @@ void ui_rna_collection_search_cb(const struct bContext *C,
/* interface_ops.c */
bool ui_jump_to_target_button_poll(struct bContext *C);
+/* interface_queries.c */
+void ui_interface_tag_script_reload_queries(void);
+
#endif /* __INTERFACE_INTERN_H__ */
diff --git a/source/blender/editors/interface/interface_layout.c b/source/blender/editors/interface/interface_layout.c
index a6f8ba4560d..2a4c2aba4a1 100644
--- a/source/blender/editors/interface/interface_layout.c
+++ b/source/blender/editors/interface/interface_layout.c
@@ -3650,8 +3650,13 @@ static void ui_litem_estimate_box(uiLayout *litem)
uiStyle *style = litem->root->style;
ui_litem_estimate_column(litem, true);
- litem->w += 2 * style->boxspace;
- litem->h += 2 * style->boxspace;
+
+ int boxspace = style->boxspace;
+ if (litem->root->type == UI_LAYOUT_HEADER) {
+ boxspace = 0;
+ }
+ litem->w += 2 * boxspace;
+ litem->h += 2 * boxspace;
}
static void ui_litem_layout_box(uiLayout *litem)
@@ -3661,29 +3666,34 @@ static void ui_litem_layout_box(uiLayout *litem)
uiBut *but;
int w, h;
+ int boxspace = style->boxspace;
+ if (litem->root->type == UI_LAYOUT_HEADER) {
+ boxspace = 0;
+ }
+
w = litem->w;
h = litem->h;
- litem->x += style->boxspace;
- litem->y -= style->boxspace;
+ litem->x += boxspace;
+ litem->y -= boxspace;
if (w != 0) {
- litem->w -= 2 * style->boxspace;
+ litem->w -= 2 * boxspace;
}
if (h != 0) {
- litem->h -= 2 * style->boxspace;
+ litem->h -= 2 * boxspace;
}
ui_litem_layout_column(litem, true);
- litem->x -= style->boxspace;
- litem->y -= style->boxspace;
+ litem->x -= boxspace;
+ litem->y -= boxspace;
if (w != 0) {
- litem->w += 2 * style->boxspace;
+ litem->w += 2 * boxspace;
}
if (h != 0) {
- litem->h += 2 * style->boxspace;
+ litem->h += 2 * boxspace;
}
/* roundbox around the sublayout */
diff --git a/source/blender/editors/interface/interface_ops.c b/source/blender/editors/interface/interface_ops.c
index 4e56a02997b..7ce4242c697 100644
--- a/source/blender/editors/interface/interface_ops.c
+++ b/source/blender/editors/interface/interface_ops.c
@@ -1751,6 +1751,7 @@ void ED_operatortypes_ui(void)
WM_operatortype_append(UI_OT_eyedropper_id);
WM_operatortype_append(UI_OT_eyedropper_depth);
WM_operatortype_append(UI_OT_eyedropper_driver);
+ WM_operatortype_append(UI_OT_eyedropper_gpencil_color);
}
/**
diff --git a/source/blender/editors/interface/interface_query.c b/source/blender/editors/interface/interface_query.c
index 457d01c5dc8..34b1070f8b4 100644
--- a/source/blender/editors/interface/interface_query.c
+++ b/source/blender/editors/interface/interface_query.c
@@ -137,15 +137,15 @@ bool ui_but_has_array_value(const uiBut *but)
PROP_COORDS));
}
+static wmOperatorType *g_ot_tool_set_by_id = NULL;
bool UI_but_is_tool(const uiBut *but)
{
/* very evil! */
if (but->optype != NULL) {
- static wmOperatorType *ot = NULL;
- if (ot == NULL) {
- ot = WM_operatortype_find("WM_OT_tool_set_by_id", false);
+ if (g_ot_tool_set_by_id == NULL) {
+ g_ot_tool_set_by_id = WM_operatortype_find("WM_OT_tool_set_by_id", false);
}
- if (but->optype == ot) {
+ if (but->optype == g_ot_tool_set_by_id) {
return true;
}
}
@@ -615,3 +615,14 @@ ARegion *ui_screen_region_find_mouse_over(bScreen *screen, const wmEvent *event)
}
/** \} */
+
+/* -------------------------------------------------------------------- */
+/** \name Manage Internal State
+ * \{ */
+
+void ui_interface_tag_script_reload_queries(void)
+{
+ g_ot_tool_set_by_id = NULL;
+}
+
+/** \} */
diff --git a/source/blender/editors/interface/interface_region_popover.c b/source/blender/editors/interface/interface_region_popover.c
index 028d99ac052..cd0421dde09 100644
--- a/source/blender/editors/interface/interface_region_popover.c
+++ b/source/blender/editors/interface/interface_region_popover.c
@@ -334,7 +334,8 @@ int UI_popover_panel_invoke(bContext *C, const char *idname, bool keep_open, Rep
}
if (block) {
- UI_block_active_only_flagged_buttons(C, CTX_wm_region(C), block);
+ uiPopupBlockHandle *handle = block->handle;
+ UI_block_active_only_flagged_buttons(C, handle->region, block);
}
return OPERATOR_INTERFACE;
}
diff --git a/source/blender/editors/interface/interface_region_popup.c b/source/blender/editors/interface/interface_region_popup.c
index 2073117d51c..63dee77e90e 100644
--- a/source/blender/editors/interface/interface_region_popup.c
+++ b/source/blender/editors/interface/interface_region_popup.c
@@ -765,7 +765,7 @@ uiPopupBlockHandle *ui_popup_block_create(bContext *C,
UI_but_tooltip_timer_remove(C, activebut);
}
/* standard cursor by default */
- WM_cursor_set(window, CURSOR_STD);
+ WM_cursor_set(window, WM_CURSOR_DEFAULT);
/* create handle */
handle = MEM_callocN(sizeof(uiPopupBlockHandle), "uiPopupBlockHandle");
diff --git a/source/blender/editors/interface/interface_templates.c b/source/blender/editors/interface/interface_templates.c
index 919814ddef3..79365364aeb 100644
--- a/source/blender/editors/interface/interface_templates.c
+++ b/source/blender/editors/interface/interface_templates.c
@@ -6663,6 +6663,42 @@ void uiTemplateKeymapItemProperties(uiLayout *layout, PointerRNA *ptr)
/** \} */
/* -------------------------------------------------------------------- */
+/** \name Event Icon Template
+ *
+ * \{ */
+
+bool uiTemplateEventFromKeymapItem(struct uiLayout *layout,
+ const char *text,
+ const struct wmKeyMapItem *kmi,
+ bool text_fallback)
+{
+ bool ok = false;
+
+ int icon_mod[4];
+#ifdef WITH_HEADLESS
+ int icon = 0;
+#else
+ int icon = UI_icon_from_keymap_item(kmi, icon_mod);
+#endif
+ if (icon != 0) {
+ for (int j = 0; j < ARRAY_SIZE(icon_mod) && icon_mod[j]; j++) {
+ uiItemL(layout, "", icon_mod[j]);
+ }
+ uiItemL(layout, text, icon);
+ ok = true;
+ }
+ else if (text_fallback) {
+ const char *event_text = WM_key_event_string(kmi->type, true);
+ uiItemL(layout, event_text, ICON_NONE);
+ uiItemL(layout, text, ICON_NONE);
+ ok = true;
+ }
+ return ok;
+}
+
+/** \} */
+
+/* -------------------------------------------------------------------- */
/** \name Color Management Template
* \{ */
diff --git a/source/blender/editors/interface/interface_widgets.c b/source/blender/editors/interface/interface_widgets.c
index 0ee2ed0f338..4cef9ace66e 100644
--- a/source/blender/editors/interface/interface_widgets.c
+++ b/source/blender/editors/interface/interface_widgets.c
@@ -184,6 +184,18 @@ static void color_ensure_contrast_v3(uchar cp[3], const uchar cp_other[3], int c
}
}
+static void color_mul_hsl_v3(uchar ch[3], float h_factor, float s_factor, float l_factor)
+{
+ float rgb[3], hsl[3];
+ rgb_uchar_to_float(rgb, ch);
+ rgb_to_hsl_v(rgb, hsl);
+ hsl[0] *= h_factor;
+ hsl[1] *= s_factor;
+ hsl[2] *= l_factor;
+ hsl_to_rgb_v(hsl, rgb);
+ rgb_float_to_uchar(ch, rgb);
+}
+
/** \} */
/* -------------------------------------------------------------------- */
@@ -2573,11 +2585,12 @@ static void ui_widget_color_disabled(uiWidgetType *wt)
wt->wcol_theme = &wcol_theme_s;
}
-static void widget_active_color(uchar cp[3])
+static void widget_active_color(uiWidgetColors *wcol)
{
- cp[0] = cp[0] >= 240 ? 255 : cp[0] + 15;
- cp[1] = cp[1] >= 240 ? 255 : cp[1] + 15;
- cp[2] = cp[2] >= 240 ? 255 : cp[2] + 15;
+ bool dark = (rgb_to_grayscale_byte(wcol->text) > rgb_to_grayscale_byte(wcol->inner));
+ color_mul_hsl_v3(wcol->inner, 1.0f, 1.15f, dark ? 1.2f : 1.1f);
+ color_mul_hsl_v3(wcol->outline, 1.0f, 1.15f, 1.15f);
+ color_mul_hsl_v3(wcol->text, 1.0f, 1.15f, dark ? 1.25f : 0.8f);
}
static const uchar *widget_color_blend_from_flags(const uiWidgetStateColors *wcol_state,
@@ -2641,10 +2654,10 @@ static void widget_state(uiWidgetType *wt, int state, int drawflag)
if (color_blend != NULL) {
color_blend_v3_v3(wt->wcol.inner, color_blend, wcol_state->blend);
}
+ }
- if (state & UI_ACTIVE) { /* mouse over? */
- widget_active_color(wt->wcol.inner);
- }
+ if (state & UI_ACTIVE) {
+ widget_active_color(&wt->wcol);
}
if (state & UI_BUT_REDALERT) {
@@ -3403,7 +3416,7 @@ static void widget_numbut_draw(
wcol_zone = *wcol;
copy_v3_v3_uchar(wcol_zone.item, wcol->text);
if (state & UI_STATE_ACTIVE_LEFT) {
- widget_active_color(wcol_zone.inner);
+ widget_active_color(&wcol_zone);
}
rect_zone = *rect;
@@ -3423,7 +3436,7 @@ static void widget_numbut_draw(
wcol_zone = *wcol;
copy_v3_v3_uchar(wcol_zone.item, wcol->text);
if (state & UI_STATE_ACTIVE_RIGHT) {
- widget_active_color(wcol_zone.inner);
+ widget_active_color(&wcol_zone);
}
rect_zone = *rect;
@@ -3442,7 +3455,7 @@ static void widget_numbut_draw(
wcol_zone = *wcol;
copy_v3_v3_uchar(wcol_zone.item, wcol->text);
if (!(state & (UI_STATE_ACTIVE_LEFT | UI_STATE_ACTIVE_RIGHT))) {
- widget_active_color(wcol_zone.inner);
+ widget_active_color(&wcol_zone);
}
rect_zone = *rect;
@@ -4521,7 +4534,7 @@ static int widget_roundbox_set(uiBut *but, rcti *rect)
}
/* align with open menu */
- if (but->active && (but->type != UI_BTYPE_POPOVER)) {
+ if (but->active && (but->type != UI_BTYPE_POPOVER) && !ui_but_menu_draw_as_popover(but)) {
int direction = ui_but_menu_direction(but);
if (direction == UI_DIR_UP) {
@@ -4638,9 +4651,6 @@ void ui_draw_but(const bContext *C, ARegion *ar, uiStyle *style, uiBut *but, rct
case UI_BTYPE_SEARCH_MENU:
wt = widget_type(UI_WTYPE_NAME);
- if (but->block->theme_style == UI_BLOCK_THEME_STYLE_POPUP) {
- wt->wcol_theme = &btheme->tui.wcol_menu_back;
- }
break;
case UI_BTYPE_TAB:
@@ -4914,7 +4924,10 @@ static void ui_draw_popover_back_impl(const uiWidgetColors *wcol,
{
/* tsk, this isn't nice. */
const float unit_half = unit_size / 2;
- const float cent_x = mval_origin ? mval_origin[0] : BLI_rcti_cent_x(rect);
+ const float cent_x = mval_origin ? CLAMPIS(mval_origin[0],
+ rect->xmin + unit_size,
+ rect->xmax - unit_size) :
+ BLI_rcti_cent_x(rect);
rect->ymax -= unit_half;
rect->ymin += unit_half;
diff --git a/source/blender/editors/interface/resources.c b/source/blender/editors/interface/resources.c
index 8a570933a33..99594cf0803 100644
--- a/source/blender/editors/interface/resources.c
+++ b/source/blender/editors/interface/resources.c
@@ -371,7 +371,6 @@ const uchar *UI_ThemeGetColorPtr(bTheme *btheme, int spacetype, int colorid)
case TH_OBCENTER_DIA:
cp = &ts->obcenter_dia;
break;
- break;
case TH_EDGE:
cp = ts->edge;
break;
@@ -841,6 +840,9 @@ const uchar *UI_ThemeGetColorPtr(bTheme *btheme, int spacetype, int colorid)
cp = ts->nla_tweakdupli;
break;
+ case TH_NLA_TRACK:
+ cp = ts->nla_track;
+ break;
case TH_NLA_TRANSITION:
cp = ts->nla_transition;
break;
diff --git a/source/blender/editors/interface/view2d_ops.c b/source/blender/editors/interface/view2d_ops.c
index 032fb7e4cc2..5cf7cb4e7c4 100644
--- a/source/blender/editors/interface/view2d_ops.c
+++ b/source/blender/editors/interface/view2d_ops.c
@@ -256,13 +256,13 @@ static int view_pan_invoke(bContext *C, wmOperator *op, const wmEvent *event)
RNA_int_set(op->ptr, "deltay", 0);
if (v2d->keepofs & V2D_LOCKOFS_X) {
- WM_cursor_modal_set(window, BC_NS_SCROLLCURSOR);
+ WM_cursor_modal_set(window, WM_CURSOR_NS_SCROLL);
}
else if (v2d->keepofs & V2D_LOCKOFS_Y) {
- WM_cursor_modal_set(window, BC_EW_SCROLLCURSOR);
+ WM_cursor_modal_set(window, WM_CURSOR_EW_SCROLL);
}
else {
- WM_cursor_modal_set(window, BC_NSEW_SCROLLCURSOR);
+ WM_cursor_modal_set(window, WM_CURSOR_NSEW_SCROLL);
}
/* add temp handler */
@@ -1113,13 +1113,13 @@ static int view_zoomdrag_invoke(bContext *C, wmOperator *op, const wmEvent *even
}
if (v2d->keepofs & V2D_LOCKOFS_X) {
- WM_cursor_modal_set(window, BC_NS_SCROLLCURSOR);
+ WM_cursor_modal_set(window, WM_CURSOR_NS_SCROLL);
}
else if (v2d->keepofs & V2D_LOCKOFS_Y) {
- WM_cursor_modal_set(window, BC_EW_SCROLLCURSOR);
+ WM_cursor_modal_set(window, WM_CURSOR_EW_SCROLL);
}
else {
- WM_cursor_modal_set(window, BC_NSEW_SCROLLCURSOR);
+ WM_cursor_modal_set(window, WM_CURSOR_NSEW_SCROLL);
}
/* add temp handler */
diff --git a/source/blender/editors/lattice/editlattice_undo.c b/source/blender/editors/lattice/editlattice_undo.c
index abc5224c4d6..2790e6b5558 100644
--- a/source/blender/editors/lattice/editlattice_undo.c
+++ b/source/blender/editors/lattice/editlattice_undo.c
@@ -39,6 +39,7 @@
#include "BKE_context.h"
#include "BKE_layer.h"
+#include "BKE_main.h"
#include "BKE_undo_system.h"
#include "DEG_depsgraph.h"
@@ -154,9 +155,7 @@ static bool lattice_undosys_poll(bContext *C)
return editlatt_object_from_context(C) != NULL;
}
-static bool lattice_undosys_step_encode(struct bContext *C,
- struct Main *UNUSED(bmain),
- UndoStep *us_p)
+static bool lattice_undosys_step_encode(struct bContext *C, Main *bmain, UndoStep *us_p)
{
LatticeUndoStep *us = (LatticeUndoStep *)us_p;
@@ -177,17 +176,18 @@ static bool lattice_undosys_step_encode(struct bContext *C,
elem->obedit_ref.ptr = ob;
Lattice *lt = ob->data;
undolatt_from_editlatt(&elem->data, lt->editlatt);
+ lt->editlatt->needs_flush_to_id = 1;
us->step.data_size += elem->data.undo_size;
}
MEM_freeN(objects);
+
+ bmain->is_memfile_undo_flush_needed = true;
+
return true;
}
-static void lattice_undosys_step_decode(struct bContext *C,
- struct Main *UNUSED(bmain),
- UndoStep *us_p,
- int UNUSED(dir),
- bool UNUSED(is_final))
+static void lattice_undosys_step_decode(
+ struct bContext *C, struct Main *bmain, UndoStep *us_p, int UNUSED(dir), bool UNUSED(is_final))
{
LatticeUndoStep *us = (LatticeUndoStep *)us_p;
@@ -210,6 +210,7 @@ static void lattice_undosys_step_decode(struct bContext *C,
continue;
}
undolatt_to_editlatt(&elem->data, lt->editlatt);
+ lt->editlatt->needs_flush_to_id = 1;
DEG_id_tag_update(&obedit->id, ID_RECALC_GEOMETRY);
}
@@ -217,6 +218,8 @@ static void lattice_undosys_step_decode(struct bContext *C,
ED_undo_object_set_active_or_warn(
CTX_data_view_layer(C), us->elems[0].obedit_ref.ptr, us_p->name, &LOG);
+ bmain->is_memfile_undo_flush_needed = true;
+
WM_event_add_notifier(C, NC_GEOM | ND_DATA, NULL);
}
diff --git a/source/blender/editors/mask/mask_add.c b/source/blender/editors/mask/mask_add.c
index 4624611419e..5c730c74df7 100644
--- a/source/blender/editors/mask/mask_add.c
+++ b/source/blender/editors/mask/mask_add.c
@@ -55,7 +55,7 @@ bool ED_mask_find_nearest_diff_point(const bContext *C,
float tangent[2],
const bool use_deform,
const bool use_project,
- MaskLayer **masklay_r,
+ MaskLayer **mask_layer_r,
MaskSpline **spline_r,
MaskSplinePoint **point_r,
float *u_r,
@@ -64,7 +64,7 @@ bool ED_mask_find_nearest_diff_point(const bContext *C,
ScrArea *sa = CTX_wm_area(C);
ARegion *ar = CTX_wm_region(C);
- MaskLayer *point_masklay;
+ MaskLayer *point_mask_layer;
MaskSpline *point_spline;
MaskSplinePoint *point = NULL;
float dist_best_sq = FLT_MAX, co[2];
@@ -81,16 +81,16 @@ bool ED_mask_find_nearest_diff_point(const bContext *C,
co[0] = normal_co[0] * scalex;
co[1] = normal_co[1] * scaley;
- for (MaskLayer *masklay_orig = mask_orig->masklayers.first,
- *masklay_eval = mask_eval->masklayers.first;
- masklay_orig != NULL;
- masklay_orig = masklay_orig->next, masklay_eval = masklay_eval->next) {
- if (masklay_orig->restrictflag & (MASK_RESTRICT_VIEW | MASK_RESTRICT_SELECT)) {
+ for (MaskLayer *mask_layer_orig = mask_orig->masklayers.first,
+ *mask_layer_eval = mask_eval->masklayers.first;
+ mask_layer_orig != NULL;
+ mask_layer_orig = mask_layer_orig->next, mask_layer_eval = mask_layer_eval->next) {
+ if (mask_layer_orig->restrictflag & (MASK_RESTRICT_VIEW | MASK_RESTRICT_SELECT)) {
continue;
}
- for (MaskSpline *spline_orig = masklay_orig->splines.first,
- *spline_eval = masklay_eval->splines.first;
+ for (MaskSpline *spline_orig = mask_layer_orig->splines.first,
+ *spline_eval = mask_layer_eval->splines.first;
spline_orig != NULL;
spline_orig = spline_orig->next, spline_eval = spline_eval->next) {
int i;
@@ -136,7 +136,7 @@ bool ED_mask_find_nearest_diff_point(const bContext *C,
sub_v2_v2v2(tangent, &diff_points[2 * j + 2], &diff_points[2 * j]);
}
- point_masklay = masklay_orig;
+ point_mask_layer = mask_layer_orig;
point_spline = spline_orig;
point = use_deform ?
&spline_orig->points[(cur_point_eval - spline_eval->points_deform)] :
@@ -156,8 +156,8 @@ bool ED_mask_find_nearest_diff_point(const bContext *C,
}
if (point && dist_best_sq < threshold) {
- if (masklay_r) {
- *masklay_r = point_masklay;
+ if (mask_layer_r) {
+ *mask_layer_r = point_mask_layer;
}
if (spline_r) {
@@ -184,8 +184,8 @@ bool ED_mask_find_nearest_diff_point(const bContext *C,
return true;
}
- if (masklay_r) {
- *masklay_r = NULL;
+ if (mask_layer_r) {
+ *mask_layer_r = NULL;
}
if (spline_r) {
@@ -331,21 +331,22 @@ static void setup_vertex_point(Mask *mask,
/* **** add extrude vertex **** */
-static void finSelectedSplinePoint(MaskLayer *masklay,
+static void finSelectedSplinePoint(MaskLayer *mask_layer,
MaskSpline **spline,
MaskSplinePoint **point,
bool check_active)
{
- MaskSpline *cur_spline = masklay->splines.first;
+ MaskSpline *cur_spline = mask_layer->splines.first;
*spline = NULL;
*point = NULL;
if (check_active) {
/* TODO, having an active point but no active spline is possible, why? */
- if (masklay->act_spline && masklay->act_point && MASKPOINT_ISSEL_ANY(masklay->act_point)) {
- *spline = masklay->act_spline;
- *point = masklay->act_point;
+ if (mask_layer->act_spline && mask_layer->act_point &&
+ MASKPOINT_ISSEL_ANY(mask_layer->act_point)) {
+ *spline = mask_layer->act_spline;
+ *point = mask_layer->act_point;
return;
}
}
@@ -397,7 +398,7 @@ static void mask_spline_add_point_at_index(MaskSpline *spline, int point_index)
static bool add_vertex_subdivide(const bContext *C, Mask *mask, const float co[2])
{
- MaskLayer *masklay;
+ MaskLayer *mask_layer;
MaskSpline *spline;
MaskSplinePoint *point = NULL;
const float threshold = 9;
@@ -412,7 +413,7 @@ static bool add_vertex_subdivide(const bContext *C, Mask *mask, const float co[2
tangent,
true,
true,
- &masklay,
+ &mask_layer,
&spline,
&point,
&u,
@@ -432,14 +433,14 @@ static bool add_vertex_subdivide(const bContext *C, Mask *mask, const float co[2
setup_vertex_point(mask, spline, new_point, co, u, ctime, NULL, true);
/* TODO - we could pass the spline! */
- BKE_mask_layer_shape_changed_add(masklay,
- BKE_mask_layer_shape_spline_to_index(masklay, spline) +
+ BKE_mask_layer_shape_changed_add(mask_layer,
+ BKE_mask_layer_shape_spline_to_index(mask_layer, spline) +
point_index + 1,
true,
true);
- masklay->act_spline = spline;
- masklay->act_point = new_point;
+ mask_layer->act_spline = spline;
+ mask_layer->act_point = new_point;
WM_event_add_notifier(C, NC_MASK | NA_EDITED, mask);
@@ -451,7 +452,7 @@ static bool add_vertex_subdivide(const bContext *C, Mask *mask, const float co[2
static bool add_vertex_extrude(const bContext *C,
Mask *mask,
- MaskLayer *masklay,
+ MaskLayer *mask_layer,
const float co[2])
{
Scene *scene = CTX_data_scene(C);
@@ -468,11 +469,11 @@ static bool add_vertex_extrude(const bContext *C,
bool do_cyclic_correct = false;
bool do_prev; /* use prev point rather then next?? */
- if (!masklay) {
+ if (!mask_layer) {
return false;
}
else {
- finSelectedSplinePoint(masklay, &spline, &point, true);
+ finSelectedSplinePoint(mask_layer, &spline, &point, true);
}
ED_mask_select_toggle_all(mask, SEL_DESELECT);
@@ -533,14 +534,17 @@ static bool add_vertex_extrude(const bContext *C,
new_point = &spline->points[point_index + 1];
}
- masklay->act_point = new_point;
+ mask_layer->act_point = new_point;
setup_vertex_point(mask, spline, new_point, co, 0.5f, ctime, ref_point, false);
- if (masklay->splines_shapes.first) {
+ if (mask_layer->splines_shapes.first) {
point_index = (((int)(new_point - spline->points) + 0) % spline->tot_point);
- BKE_mask_layer_shape_changed_add(
- masklay, BKE_mask_layer_shape_spline_to_index(masklay, spline) + point_index, true, true);
+ BKE_mask_layer_shape_changed_add(mask_layer,
+ BKE_mask_layer_shape_spline_to_index(mask_layer, spline) +
+ point_index,
+ true,
+ true);
}
WM_event_add_notifier(C, NC_MASK | NA_EDITED, mask);
@@ -548,7 +552,7 @@ static bool add_vertex_extrude(const bContext *C,
return true;
}
-static bool add_vertex_new(const bContext *C, Mask *mask, MaskLayer *masklay, const float co[2])
+static bool add_vertex_new(const bContext *C, Mask *mask, MaskLayer *mask_layer, const float co[2])
{
Scene *scene = CTX_data_scene(C);
const float ctime = CFRA;
@@ -556,27 +560,30 @@ static bool add_vertex_new(const bContext *C, Mask *mask, MaskLayer *masklay, co
MaskSpline *spline;
MaskSplinePoint *new_point = NULL, *ref_point = NULL;
- if (!masklay) {
- /* if there's no masklay currently operationg on, create new one */
- masklay = BKE_mask_layer_new(mask, "");
+ if (!mask_layer) {
+ /* if there's no mask layer currently operationg on, create new one */
+ mask_layer = BKE_mask_layer_new(mask, "");
mask->masklay_act = mask->masklay_tot - 1;
}
ED_mask_select_toggle_all(mask, SEL_DESELECT);
- spline = BKE_mask_spline_add(masklay);
+ spline = BKE_mask_spline_add(mask_layer);
- masklay->act_spline = spline;
+ mask_layer->act_spline = spline;
new_point = spline->points;
- masklay->act_point = new_point;
+ mask_layer->act_point = new_point;
setup_vertex_point(mask, spline, new_point, co, 0.5f, ctime, ref_point, false);
{
int point_index = (((int)(new_point - spline->points) + 0) % spline->tot_point);
- BKE_mask_layer_shape_changed_add(
- masklay, BKE_mask_layer_shape_spline_to_index(masklay, spline) + point_index, true, true);
+ BKE_mask_layer_shape_changed_add(mask_layer,
+ BKE_mask_layer_shape_spline_to_index(mask_layer, spline) +
+ point_index,
+ true,
+ true);
}
WM_event_add_notifier(C, NC_MASK | NA_EDITED, mask);
@@ -584,69 +591,112 @@ static bool add_vertex_new(const bContext *C, Mask *mask, MaskLayer *masklay, co
return true;
}
-static int add_vertex_exec(bContext *C, wmOperator *op)
+/* Convert coordinate from normalized space to pixel one.
+ * TODO(sergey): Make the function more generally available. */
+static void mask_point_make_pixel_space(bContext *C,
+ float point_normalized[2],
+ float point_pixel[2])
{
- Mask *mask = CTX_data_edit_mask(C);
- MaskLayer *masklay;
+ ScrArea *sa = CTX_wm_area(C);
+ ARegion *ar = CTX_wm_region(C);
- float co[2];
+ float scalex, scaley;
+ ED_mask_pixelspace_factor(sa, ar, &scalex, &scaley);
- if (mask == NULL) {
- /* if there's no active mask, create one */
- mask = ED_mask_new(C, NULL);
+ point_pixel[0] = point_normalized[0] * scalex;
+ point_pixel[1] = point_normalized[1] * scaley;
+}
+
+static int add_vertex_handle_cyclic_at_point(bContext *C,
+ Mask *mask,
+ MaskSpline *spline,
+ MaskSplinePoint *active_point,
+ MaskSplinePoint *other_point,
+ float co[2])
+{
+ const float tolerance_in_pixels_squared = 4 * 4;
+
+ if (spline->flag & MASK_SPLINE_CYCLIC) {
+ /* No cycling toggle needed, we've got nothing meaningful to do in this operator. */
+ return OPERATOR_CANCELLED;
}
- masklay = BKE_mask_layer_active(mask);
+ float co_pixel[2];
+ mask_point_make_pixel_space(C, co, co_pixel);
+
+ float point_pixel[2];
+ mask_point_make_pixel_space(C, other_point->bezt.vec[1], point_pixel);
- if (masklay && masklay->restrictflag & (MASK_RESTRICT_VIEW | MASK_RESTRICT_SELECT)) {
- masklay = NULL;
+ const float dist_squared = len_squared_v2v2(co_pixel, point_pixel);
+ if (dist_squared > tolerance_in_pixels_squared) {
+ return OPERATOR_PASS_THROUGH;
}
- RNA_float_get_array(op->ptr, "location", co);
+ spline->flag |= MASK_SPLINE_CYCLIC;
- /* TODO, having an active point but no active spline is possible, why? */
- if (masklay && masklay->act_spline && masklay->act_point &&
- MASKPOINT_ISSEL_ANY(masklay->act_point)) {
+ /* TODO, update keyframes in time. */
+ BKE_mask_calc_handle_point_auto(spline, active_point, false);
+ BKE_mask_calc_handle_point_auto(spline, other_point, false);
- /* cheap trick - double click for cyclic */
- MaskSpline *spline = masklay->act_spline;
- MaskSplinePoint *point = masklay->act_point;
+ DEG_id_tag_update(&mask->id, ID_RECALC_GEOMETRY);
- const bool is_sta = (point == spline->points);
- const bool is_end = (point == &spline->points[spline->tot_point - 1]);
+ WM_event_add_notifier(C, NC_MASK | NA_EDITED, mask);
- /* then check are we overlapping the mouse */
- if ((is_sta || is_end) && equals_v2v2(co, point->bezt.vec[1])) {
- if (spline->flag & MASK_SPLINE_CYCLIC) {
- /* nothing to do */
- return OPERATOR_CANCELLED;
- }
- else {
- /* recalc the connecting point as well to make a nice even curve */
- MaskSplinePoint *point_other = is_end ? spline->points :
- &spline->points[spline->tot_point - 1];
- spline->flag |= MASK_SPLINE_CYCLIC;
+ return OPERATOR_FINISHED;
+}
- /* TODO, update keyframes in time */
- BKE_mask_calc_handle_point_auto(spline, point, false);
- BKE_mask_calc_handle_point_auto(spline, point_other, false);
+static int add_vertex_handle_cyclic(
+ bContext *C, Mask *mask, MaskSpline *spline, MaskSplinePoint *active_point, float co[2])
+{
+ MaskSplinePoint *first_point = &spline->points[0];
+ MaskSplinePoint *last_point = &spline->points[spline->tot_point - 1];
+ const bool is_first_point_active = (active_point == first_point);
+ const bool is_last_point_active = (active_point == last_point);
+ if (is_last_point_active) {
+ return add_vertex_handle_cyclic_at_point(C, mask, spline, active_point, first_point, co);
+ }
+ else if (is_first_point_active) {
+ return add_vertex_handle_cyclic_at_point(C, mask, spline, active_point, last_point, co);
+ }
+ return OPERATOR_PASS_THROUGH;
+}
- DEG_id_tag_update(&mask->id, ID_RECALC_GEOMETRY);
+static int add_vertex_exec(bContext *C, wmOperator *op)
+{
+ Mask *mask = CTX_data_edit_mask(C);
+ if (mask == NULL) {
+ /* if there's no active mask, create one */
+ mask = ED_mask_new(C, NULL);
+ }
- WM_event_add_notifier(C, NC_MASK | NA_EDITED, mask);
- return OPERATOR_FINISHED;
- }
+ MaskLayer *mask_layer = BKE_mask_layer_active(mask);
+
+ if (mask_layer && mask_layer->restrictflag & (MASK_RESTRICT_VIEW | MASK_RESTRICT_SELECT)) {
+ mask_layer = NULL;
+ }
+
+ float co[2];
+ RNA_float_get_array(op->ptr, "location", co);
+
+ /* TODO, having an active point but no active spline is possible, why? */
+ if (mask_layer && mask_layer->act_spline && mask_layer->act_point &&
+ MASKPOINT_ISSEL_ANY(mask_layer->act_point)) {
+ MaskSpline *spline = mask_layer->act_spline;
+ MaskSplinePoint *active_point = mask_layer->act_point;
+ const int cyclic_result = add_vertex_handle_cyclic(C, mask, spline, active_point, co);
+ if (cyclic_result != OPERATOR_PASS_THROUGH) {
+ return cyclic_result;
}
if (!add_vertex_subdivide(C, mask, co)) {
- if (!add_vertex_extrude(C, mask, masklay, co)) {
+ if (!add_vertex_extrude(C, mask, mask_layer, co)) {
return OPERATOR_CANCELLED;
}
}
}
else {
if (!add_vertex_subdivide(C, mask, co)) {
- if (!add_vertex_new(C, mask, masklay, co)) {
+ if (!add_vertex_new(C, mask, mask_layer, co)) {
return OPERATOR_CANCELLED;
}
}
@@ -704,7 +754,7 @@ void MASK_OT_add_vertex(wmOperatorType *ot)
static int add_feather_vertex_exec(bContext *C, wmOperator *op)
{
Mask *mask = CTX_data_edit_mask(C);
- MaskLayer *masklay;
+ MaskLayer *mask_layer;
MaskSpline *spline;
MaskSplinePoint *point = NULL;
const float threshold = 9;
@@ -717,8 +767,19 @@ static int add_feather_vertex_exec(bContext *C, wmOperator *op)
return OPERATOR_FINISHED;
}
- if (ED_mask_find_nearest_diff_point(
- C, mask, co, threshold, true, NULL, true, true, &masklay, &spline, &point, &u, NULL)) {
+ if (ED_mask_find_nearest_diff_point(C,
+ mask,
+ co,
+ threshold,
+ true,
+ NULL,
+ true,
+ true,
+ &mask_layer,
+ &spline,
+ &point,
+ &u,
+ NULL)) {
float w = BKE_mask_point_weight(spline, point, u);
float weight_scalar = BKE_mask_point_weight_scalar(spline, point, u);
diff --git a/source/blender/editors/mask/mask_draw.c b/source/blender/editors/mask/mask_draw.c
index 7247697dcb7..71aa860d703 100644
--- a/source/blender/editors/mask/mask_draw.c
+++ b/source/blender/editors/mask/mask_draw.c
@@ -38,6 +38,7 @@
#include "ED_clip.h"
#include "ED_mask.h" /* own include */
+#include "ED_screen.h"
#include "ED_space_api.h"
#include "BIF_glutil.h"
@@ -55,13 +56,13 @@
#include "mask_intern.h" /* own include */
-static void mask_spline_color_get(MaskLayer *masklay,
+static void mask_spline_color_get(MaskLayer *mask_layer,
MaskSpline *spline,
const bool is_sel,
unsigned char r_rgb[4])
{
if (is_sel) {
- if (masklay->act_spline == spline) {
+ if (mask_layer->act_spline == spline) {
r_rgb[0] = r_rgb[1] = r_rgb[2] = 255;
}
else {
@@ -77,7 +78,7 @@ static void mask_spline_color_get(MaskLayer *masklay,
r_rgb[3] = 255;
}
-static void mask_spline_feather_color_get(MaskLayer *UNUSED(masklay),
+static void mask_spline_feather_color_get(MaskLayer *UNUSED(mask_layer),
MaskSpline *UNUSED(spline),
const bool is_sel,
unsigned char r_rgb[4])
@@ -186,13 +187,13 @@ static void draw_single_handle(const MaskLayer *mask_layer,
/* return non-zero if spline is selected */
static void draw_spline_points(const bContext *C,
- MaskLayer *masklay,
+ MaskLayer *mask_layer,
MaskSpline *spline,
const char draw_flag,
const char draw_type)
{
const bool is_spline_sel = (spline->flag & SELECT) &&
- (masklay->restrictflag & MASK_RESTRICT_SELECT) == 0;
+ (mask_layer->restrictflag & MASK_RESTRICT_SELECT) == 0;
const bool is_smooth = (draw_flag & MASK_DRAWFLAG_SMOOTH) != 0;
unsigned char rgb_spline[4];
@@ -215,7 +216,7 @@ static void draw_spline_points(const bContext *C,
/* TODO, add this to sequence editor */
float handle_size = 2.0f * UI_GetThemeValuef(TH_HANDLE_VERTEX_SIZE) * U.pixelsize;
- mask_spline_color_get(masklay, spline, is_spline_sel, rgb_spline);
+ mask_spline_color_get(mask_layer, spline, is_spline_sel, rgb_spline);
GPUVertFormat *format = immVertexFormat();
uint pos = GPU_vertformat_attr_add(format, "pos", GPU_COMP_F32, 2, GPU_FETCH_FLOAT);
@@ -248,7 +249,7 @@ static void draw_spline_points(const bContext *C,
}
if (sel) {
- if (point == masklay->act_point) {
+ if (point == mask_layer->act_point) {
immUniformColor3f(1.0f, 1.0f, 1.0f);
}
else {
@@ -299,7 +300,7 @@ static void draw_spline_points(const bContext *C,
mask_point_undistort_pos(sc, handle, handle);
}
draw_single_handle(
- masklay, point, MASK_WHICH_HANDLE_STICK, draw_type, handle_size, vert, handle);
+ mask_layer, point, MASK_WHICH_HANDLE_STICK, draw_type, handle_size, vert, handle);
}
else {
float handle_left[2], handle_right[2];
@@ -310,9 +311,9 @@ static void draw_spline_points(const bContext *C,
mask_point_undistort_pos(sc, handle_left, handle_left);
}
draw_single_handle(
- masklay, point, MASK_WHICH_HANDLE_LEFT, draw_type, handle_size, vert, handle_left);
+ mask_layer, point, MASK_WHICH_HANDLE_LEFT, draw_type, handle_size, vert, handle_left);
draw_single_handle(
- masklay, point, MASK_WHICH_HANDLE_RIGHT, draw_type, handle_size, vert, handle_right);
+ mask_layer, point, MASK_WHICH_HANDLE_RIGHT, draw_type, handle_size, vert, handle_right);
}
/* bind program in loop so it does not interfere with draw_single_handle */
@@ -320,7 +321,7 @@ static void draw_spline_points(const bContext *C,
/* draw CV point */
if (MASKPOINT_ISSEL_KNOT(point)) {
- if (point == masklay->act_point) {
+ if (point == mask_layer->act_point) {
immUniformColor3f(1.0f, 1.0f, 1.0f);
}
else {
@@ -351,7 +352,7 @@ static void draw_spline_points(const bContext *C,
immBindBuiltinProgram(GPU_SHADER_2D_POINT_UNIFORM_SIZE_UNIFORM_COLOR_OUTLINE_AA);
immUniform1f("outlineWidth", 1.5f);
- if (masklay->act_spline == spline) {
+ if (mask_layer->act_spline == spline) {
immUniformColor3f(1.0f, 1.0f, 1.0f);
}
else {
@@ -518,7 +519,7 @@ static void mask_draw_curve_type(const bContext *C,
}
static void draw_spline_curve(const bContext *C,
- MaskLayer *masklay,
+ MaskLayer *mask_layer,
MaskSpline *spline,
const char draw_flag,
const char draw_type,
@@ -532,7 +533,7 @@ static void draw_spline_curve(const bContext *C,
unsigned char rgb_tmp[4];
const bool is_spline_sel = (spline->flag & SELECT) &&
- (masklay->restrictflag & MASK_RESTRICT_SELECT) == 0;
+ (mask_layer->restrictflag & MASK_RESTRICT_SELECT) == 0;
const bool is_smooth = (draw_flag & MASK_DRAWFLAG_SMOOTH) != 0;
const bool is_fill = (spline->flag & MASK_SPLINE_NOFILL) == 0;
@@ -556,7 +557,7 @@ static void draw_spline_curve(const bContext *C,
spline, &tot_feather_point, resol, (is_fill != false));
/* draw feather */
- mask_spline_feather_color_get(masklay, spline, is_spline_sel, rgb_tmp);
+ mask_spline_feather_color_get(mask_layer, spline, is_spline_sel, rgb_tmp);
mask_draw_curve_type(
C, spline, feather_points, tot_feather_point, true, is_active, rgb_tmp, draw_type);
@@ -580,7 +581,7 @@ static void draw_spline_curve(const bContext *C,
MEM_freeN(feather_points);
/* draw main curve */
- mask_spline_color_get(masklay, spline, is_spline_sel, rgb_tmp);
+ mask_spline_color_get(mask_layer, spline, is_spline_sel, rgb_tmp);
mask_draw_curve_type(
C, spline, diff_points, tot_diff_point, false, is_active, rgb_tmp, draw_type);
MEM_freeN(diff_points);
@@ -590,37 +591,37 @@ static void draw_spline_curve(const bContext *C,
}
}
-static void draw_masklays(const bContext *C,
- Mask *mask,
- const char draw_flag,
- const char draw_type,
- const int width,
- const int height)
+static void draw_mask_layers(const bContext *C,
+ Mask *mask,
+ const char draw_flag,
+ const char draw_type,
+ const int width,
+ const int height)
{
GPU_blend(true);
GPU_blend_set_func_separate(
GPU_SRC_ALPHA, GPU_ONE_MINUS_SRC_ALPHA, GPU_ONE, GPU_ONE_MINUS_SRC_ALPHA);
GPU_program_point_size(true);
- MaskLayer *masklay;
+ MaskLayer *mask_layer;
int i;
- for (masklay = mask->masklayers.first, i = 0; masklay; masklay = masklay->next, i++) {
- MaskSpline *spline;
+ for (mask_layer = mask->masklayers.first, i = 0; mask_layer != NULL;
+ mask_layer = mask_layer->next, i++) {
const bool is_active = (i == mask->masklay_act);
- if (masklay->restrictflag & MASK_RESTRICT_VIEW) {
+ if (mask_layer->restrictflag & MASK_RESTRICT_VIEW) {
continue;
}
- for (spline = masklay->splines.first; spline; spline = spline->next) {
+ for (MaskSpline *spline = mask_layer->splines.first; spline; spline = spline->next) {
/* draw curve itself first... */
- draw_spline_curve(C, masklay, spline, draw_flag, draw_type, is_active, width, height);
+ draw_spline_curve(C, mask_layer, spline, draw_flag, draw_type, is_active, width, height);
- if (!(masklay->restrictflag & MASK_RESTRICT_SELECT)) {
+ if (!(mask_layer->restrictflag & MASK_RESTRICT_SELECT)) {
/* ...and then handles over the curve so they're nicely visible */
- draw_spline_points(C, masklay, spline, draw_flag, draw_type);
+ draw_spline_points(C, mask_layer, spline, draw_flag, draw_type);
}
/* show undeform for testing */
@@ -628,8 +629,8 @@ static void draw_masklays(const bContext *C,
void *back = spline->points_deform;
spline->points_deform = NULL;
- draw_spline_curve(C, masklay, spline, draw_flag, draw_type, is_active, width, height);
- draw_spline_points(C, masklay, spline, draw_flag, draw_type);
+ draw_spline_curve(C, mask_layer, spline, draw_flag, draw_type, is_active, width, height);
+ draw_spline_points(C, mask_layer, spline, draw_flag, draw_type);
spline->points_deform = back;
}
}
@@ -651,7 +652,7 @@ void ED_mask_draw(const bContext *C, const char draw_flag, const char draw_type)
ED_mask_get_size(sa, &width, &height);
- draw_masklays(C, mask, draw_flag, draw_type, width, height);
+ draw_mask_layers(C, mask, draw_flag, draw_type, width, height);
}
static float *mask_rasterize(Mask *mask, const int width, const int height)
@@ -783,7 +784,7 @@ void ED_mask_draw_region(
}
/* draw! */
- draw_masklays(C, mask_eval, draw_flag, draw_type, width, height);
+ draw_mask_layers(C, mask_eval, draw_flag, draw_type, width, height);
if (do_draw_cb) {
ED_region_draw_cb_draw(C, ar, REGION_DRAW_POST_VIEW);
@@ -796,32 +797,39 @@ void ED_mask_draw_frames(Mask *mask, ARegion *ar, const int cfra, const int sfra
{
const float framelen = ar->winx / (float)(efra - sfra + 1);
- MaskLayer *masklay = BKE_mask_layer_active(mask);
+ MaskLayer *mask_layer = BKE_mask_layer_active(mask);
+ if (mask_layer == NULL) {
+ return;
+ }
- if (masklay) {
- unsigned int num_lines = BLI_listbase_count(&masklay->splines_shapes);
+ unsigned int num_lines = BLI_listbase_count(&mask_layer->splines_shapes);
+ if (num_lines == 0) {
+ return;
+ }
- if (num_lines > 0) {
- uint pos = GPU_vertformat_attr_add(
- immVertexFormat(), "pos", GPU_COMP_I32, 2, GPU_FETCH_INT_TO_FLOAT);
+ /* Local coordinate visible rect inside region, to accommodate overlapping ui. */
+ const rcti *rect_visible = ED_region_visible_rect(ar);
+ const int region_bottom = rect_visible->ymin;
- immBindBuiltinProgram(GPU_SHADER_2D_UNIFORM_COLOR);
- immUniformColor4ub(255, 175, 0, 255);
+ uint pos = GPU_vertformat_attr_add(
+ immVertexFormat(), "pos", GPU_COMP_I32, 2, GPU_FETCH_INT_TO_FLOAT);
- immBegin(GPU_PRIM_LINES, 2 * num_lines);
+ immBindBuiltinProgram(GPU_SHADER_2D_UNIFORM_COLOR);
+ immUniformColor4ub(255, 175, 0, 255);
- for (MaskLayerShape *masklay_shape = masklay->splines_shapes.first; masklay_shape;
- masklay_shape = masklay_shape->next) {
- int frame = masklay_shape->frame;
+ immBegin(GPU_PRIM_LINES, 2 * num_lines);
- /* draw_keyframe(i, CFRA, sfra, framelen, 1); */
- int height = (frame == cfra) ? 22 : 10;
- int x = (frame - sfra) * framelen;
- immVertex2i(pos, x, 0);
- immVertex2i(pos, x, height);
- }
- immEnd();
- immUnbindProgram();
- }
+ for (MaskLayerShape *mask_layer_shape = mask_layer->splines_shapes.first;
+ mask_layer_shape != NULL;
+ mask_layer_shape = mask_layer_shape->next) {
+ int frame = mask_layer_shape->frame;
+
+ /* draw_keyframe(i, CFRA, sfra, framelen, 1); */
+ int height = (frame == cfra) ? 22 : 10;
+ int x = (frame - sfra) * framelen;
+ immVertex2i(pos, x, region_bottom);
+ immVertex2i(pos, x, region_bottom + height * UI_DPI_FAC);
}
+ immEnd();
+ immUnbindProgram();
}
diff --git a/source/blender/editors/mask/mask_edit.c b/source/blender/editors/mask/mask_edit.c
index 0c5591ed89b..56d8ef56160 100644
--- a/source/blender/editors/mask/mask_edit.c
+++ b/source/blender/editors/mask/mask_edit.c
@@ -371,7 +371,6 @@ void ED_mask_cursor_location_get(ScrArea *sa, float cursor[2])
bool ED_mask_selected_minmax(const bContext *C, float min[2], float max[2])
{
Mask *mask = CTX_data_edit_mask(C);
- MaskLayer *mask_layer;
bool ok = false;
if (mask == NULL) {
@@ -379,15 +378,14 @@ bool ED_mask_selected_minmax(const bContext *C, float min[2], float max[2])
}
INIT_MINMAX2(min, max);
- for (mask_layer = mask->masklayers.first; mask_layer != NULL; mask_layer = mask_layer->next) {
- MaskSpline *spline;
+ for (MaskLayer *mask_layer = mask->masklayers.first; mask_layer != NULL;
+ mask_layer = mask_layer->next) {
if (mask_layer->restrictflag & (MASK_RESTRICT_VIEW | MASK_RESTRICT_SELECT)) {
continue;
}
- for (spline = mask_layer->splines.first; spline != NULL; spline = spline->next) {
+ for (MaskSpline *spline = mask_layer->splines.first; spline != NULL; spline = spline->next) {
MaskSplinePoint *points_array = BKE_mask_spline_point_array(spline);
- int i;
- for (i = 0; i < spline->tot_point; i++) {
+ for (int i = 0; i < spline->tot_point; i++) {
MaskSplinePoint *point = &spline->points[i];
MaskSplinePoint *deform_point = &points_array[i];
BezTriple *bezt = &point->bezt;
diff --git a/source/blender/editors/mask/mask_editaction.c b/source/blender/editors/mask/mask_editaction.c
index 985fa58cace..33f4bab14ec 100644
--- a/source/blender/editors/mask/mask_editaction.c
+++ b/source/blender/editors/mask/mask_editaction.c
@@ -53,22 +53,22 @@
/* Generics - Loopers */
/* Loops over the mask-frames for a mask-layer, and applies the given callback */
-bool ED_masklayer_frames_looper(MaskLayer *masklay,
+bool ED_masklayer_frames_looper(MaskLayer *mask_layer,
Scene *scene,
- short (*masklay_shape_cb)(MaskLayerShape *, Scene *))
+ short (*mask_layer_shape_cb)(MaskLayerShape *, Scene *))
{
- MaskLayerShape *masklay_shape;
+ MaskLayerShape *mask_layer_shape;
/* error checker */
- if (masklay == NULL) {
+ if (mask_layer == NULL) {
return false;
}
/* do loop */
- for (masklay_shape = masklay->splines_shapes.first; masklay_shape;
- masklay_shape = masklay_shape->next) {
+ for (mask_layer_shape = mask_layer->splines_shapes.first; mask_layer_shape;
+ mask_layer_shape = mask_layer_shape->next) {
/* execute callback */
- if (masklay_shape_cb(masklay_shape, scene)) {
+ if (mask_layer_shape_cb(mask_layer_shape, scene)) {
return true;
}
}
@@ -81,24 +81,24 @@ bool ED_masklayer_frames_looper(MaskLayer *masklay,
/* Data Conversion Tools */
/* make a listing all the mask-frames in a layer as cfraelems */
-void ED_masklayer_make_cfra_list(MaskLayer *masklay, ListBase *elems, bool onlysel)
+void ED_masklayer_make_cfra_list(MaskLayer *mask_layer, ListBase *elems, bool onlysel)
{
- MaskLayerShape *masklay_shape;
+ MaskLayerShape *mask_layer_shape;
CfraElem *ce;
/* error checking */
- if (ELEM(NULL, masklay, elems)) {
+ if (ELEM(NULL, mask_layer, elems)) {
return;
}
/* loop through mask-frames, adding */
- for (masklay_shape = masklay->splines_shapes.first; masklay_shape;
- masklay_shape = masklay_shape->next) {
- if ((onlysel == false) || (masklay_shape->flag & MASK_SHAPE_SELECT)) {
+ for (mask_layer_shape = mask_layer->splines_shapes.first; mask_layer_shape;
+ mask_layer_shape = mask_layer_shape->next) {
+ if ((onlysel == false) || (mask_layer_shape->flag & MASK_SHAPE_SELECT)) {
ce = MEM_callocN(sizeof(CfraElem), "CfraElem");
- ce->cfra = (float)masklay_shape->frame;
- ce->sel = (masklay_shape->flag & MASK_SHAPE_SELECT) ? 1 : 0;
+ ce->cfra = (float)mask_layer_shape->frame;
+ ce->sel = (mask_layer_shape->flag & MASK_SHAPE_SELECT) ? 1 : 0;
BLI_addtail(elems, ce);
}
@@ -109,19 +109,19 @@ void ED_masklayer_make_cfra_list(MaskLayer *masklay, ListBase *elems, bool onlys
/* Selection Tools */
/* check if one of the frames in this layer is selected */
-bool ED_masklayer_frame_select_check(MaskLayer *masklay)
+bool ED_masklayer_frame_select_check(MaskLayer *mask_layer)
{
- MaskLayerShape *masklay_shape;
+ MaskLayerShape *mask_layer_shape;
/* error checking */
- if (masklay == NULL) {
+ if (mask_layer == NULL) {
return 0;
}
/* stop at the first one found */
- for (masklay_shape = masklay->splines_shapes.first; masklay_shape;
- masklay_shape = masklay_shape->next) {
- if (masklay_shape->flag & MASK_SHAPE_SELECT) {
+ for (mask_layer_shape = mask_layer->splines_shapes.first; mask_layer_shape;
+ mask_layer_shape = mask_layer_shape->next) {
+ if (mask_layer_shape->flag & MASK_SHAPE_SELECT) {
return 1;
}
}
@@ -131,120 +131,120 @@ bool ED_masklayer_frame_select_check(MaskLayer *masklay)
}
/* helper function - select mask-frame based on SELECT_* mode */
-static void masklayshape_select(MaskLayerShape *masklay_shape, short select_mode)
+static void mask_layer_shape_select(MaskLayerShape *mask_layer_shape, short select_mode)
{
- if (masklay_shape == NULL) {
+ if (mask_layer_shape == NULL) {
return;
}
switch (select_mode) {
case SELECT_ADD:
- masklay_shape->flag |= MASK_SHAPE_SELECT;
+ mask_layer_shape->flag |= MASK_SHAPE_SELECT;
break;
case SELECT_SUBTRACT:
- masklay_shape->flag &= ~MASK_SHAPE_SELECT;
+ mask_layer_shape->flag &= ~MASK_SHAPE_SELECT;
break;
case SELECT_INVERT:
- masklay_shape->flag ^= MASK_SHAPE_SELECT;
+ mask_layer_shape->flag ^= MASK_SHAPE_SELECT;
break;
}
}
/* set all/none/invert select (like above, but with SELECT_* modes) */
-void ED_mask_select_frames(MaskLayer *masklay, short select_mode)
+void ED_mask_select_frames(MaskLayer *mask_layer, short select_mode)
{
- MaskLayerShape *masklay_shape;
+ MaskLayerShape *mask_layer_shape;
/* error checking */
- if (masklay == NULL) {
+ if (mask_layer == NULL) {
return;
}
/* handle according to mode */
- for (masklay_shape = masklay->splines_shapes.first; masklay_shape;
- masklay_shape = masklay_shape->next) {
- masklayshape_select(masklay_shape, select_mode);
+ for (mask_layer_shape = mask_layer->splines_shapes.first; mask_layer_shape;
+ mask_layer_shape = mask_layer_shape->next) {
+ mask_layer_shape_select(mask_layer_shape, select_mode);
}
}
/* set all/none/invert select */
-void ED_masklayer_frame_select_set(MaskLayer *masklay, short mode)
+void ED_masklayer_frame_select_set(MaskLayer *mask_layer, short mode)
{
/* error checking */
- if (masklay == NULL) {
+ if (mask_layer == NULL) {
return;
}
/* now call the standard function */
- ED_mask_select_frames(masklay, mode);
+ ED_mask_select_frames(mask_layer, mode);
}
/* select the frame in this layer that occurs on this frame (there should only be one at most) */
-void ED_mask_select_frame(MaskLayer *masklay, int selx, short select_mode)
+void ED_mask_select_frame(MaskLayer *mask_layer, int selx, short select_mode)
{
- MaskLayerShape *masklay_shape;
+ MaskLayerShape *mask_layer_shape;
- if (masklay == NULL) {
+ if (mask_layer == NULL) {
return;
}
- masklay_shape = BKE_mask_layer_shape_find_frame(masklay, selx);
+ mask_layer_shape = BKE_mask_layer_shape_find_frame(mask_layer, selx);
- if (masklay_shape) {
- masklayshape_select(masklay_shape, select_mode);
+ if (mask_layer_shape) {
+ mask_layer_shape_select(mask_layer_shape, select_mode);
}
}
/* select the frames in this layer that occur within the bounds specified */
-void ED_masklayer_frames_select_box(MaskLayer *masklay, float min, float max, short select_mode)
+void ED_masklayer_frames_select_box(MaskLayer *mask_layer, float min, float max, short select_mode)
{
- MaskLayerShape *masklay_shape;
+ MaskLayerShape *mask_layer_shape;
- if (masklay == NULL) {
+ if (mask_layer == NULL) {
return;
}
/* only select those frames which are in bounds */
- for (masklay_shape = masklay->splines_shapes.first; masklay_shape;
- masklay_shape = masklay_shape->next) {
- if (IN_RANGE(masklay_shape->frame, min, max)) {
- masklayshape_select(masklay_shape, select_mode);
+ for (mask_layer_shape = mask_layer->splines_shapes.first; mask_layer_shape;
+ mask_layer_shape = mask_layer_shape->next) {
+ if (IN_RANGE(mask_layer_shape->frame, min, max)) {
+ mask_layer_shape_select(mask_layer_shape, select_mode);
}
}
}
/* select the frames in this layer that occur within the lasso/circle region specified */
void ED_masklayer_frames_select_region(KeyframeEditData *ked,
- MaskLayer *masklay,
+ MaskLayer *mask_layer,
short tool,
short select_mode)
{
- MaskLayerShape *masklay_shape;
+ MaskLayerShape *mask_layer_shape;
- if (masklay == NULL) {
+ if (mask_layer == NULL) {
return;
}
/* only select frames which are within the region */
- for (masklay_shape = masklay->splines_shapes.first; masklay_shape;
- masklay_shape = masklay_shape->next) {
+ for (mask_layer_shape = mask_layer->splines_shapes.first; mask_layer_shape;
+ mask_layer_shape = mask_layer_shape->next) {
/* construct a dummy point coordinate to do this testing with */
float pt[2] = {0};
- pt[0] = masklay_shape->frame;
+ pt[0] = mask_layer_shape->frame;
pt[1] = ked->channel_y;
/* check the necessary regions */
if (tool == BEZT_OK_CHANNEL_LASSO) {
/* Lasso */
if (keyframe_region_lasso_test(ked->data, pt)) {
- masklayshape_select(masklay_shape, select_mode);
+ mask_layer_shape_select(mask_layer_shape, select_mode);
}
}
else if (tool == BEZT_OK_CHANNEL_CIRCLE) {
/* Circle */
if (keyframe_region_circle_test(ked->data, pt)) {
- masklayshape_select(masklay_shape, select_mode);
+ mask_layer_shape_select(mask_layer_shape, select_mode);
}
}
}
@@ -254,23 +254,23 @@ void ED_masklayer_frames_select_region(KeyframeEditData *ked,
/* Frame Editing Tools */
/* Delete selected frames */
-bool ED_masklayer_frames_delete(MaskLayer *masklay)
+bool ED_masklayer_frames_delete(MaskLayer *mask_layer)
{
- MaskLayerShape *masklay_shape, *masklay_shape_next;
+ MaskLayerShape *mask_layer_shape, *mask_layer_shape_next;
bool changed = false;
/* error checking */
- if (masklay == NULL) {
+ if (mask_layer == NULL) {
return false;
}
/* check for frames to delete */
- for (masklay_shape = masklay->splines_shapes.first; masklay_shape;
- masklay_shape = masklay_shape_next) {
- masklay_shape_next = masklay_shape->next;
+ for (mask_layer_shape = mask_layer->splines_shapes.first; mask_layer_shape;
+ mask_layer_shape = mask_layer_shape_next) {
+ mask_layer_shape_next = mask_layer_shape->next;
- if (masklay_shape->flag & MASK_SHAPE_SELECT) {
- BKE_mask_layer_shape_unlink(masklay, masklay_shape);
+ if (mask_layer_shape->flag & MASK_SHAPE_SELECT) {
+ BKE_mask_layer_shape_unlink(mask_layer, mask_layer_shape);
changed = true;
}
}
@@ -279,29 +279,30 @@ bool ED_masklayer_frames_delete(MaskLayer *masklay)
}
/* Duplicate selected frames from given mask-layer */
-void ED_masklayer_frames_duplicate(MaskLayer *masklay)
+void ED_masklayer_frames_duplicate(MaskLayer *mask_layer)
{
- MaskLayerShape *masklay_shape, *gpfn;
+ MaskLayerShape *mask_layer_shape, *gpfn;
/* error checking */
- if (masklay == NULL) {
+ if (mask_layer == NULL) {
return;
}
/* duplicate selected frames */
- for (masklay_shape = masklay->splines_shapes.first; masklay_shape; masklay_shape = gpfn) {
- gpfn = masklay_shape->next;
+ for (mask_layer_shape = mask_layer->splines_shapes.first; mask_layer_shape;
+ mask_layer_shape = gpfn) {
+ gpfn = mask_layer_shape->next;
/* duplicate this frame */
- if (masklay_shape->flag & MASK_SHAPE_SELECT) {
+ if (mask_layer_shape->flag & MASK_SHAPE_SELECT) {
MaskLayerShape *mask_shape_dupe;
/* duplicate frame, and deselect self */
- mask_shape_dupe = BKE_mask_layer_shape_duplicate(masklay_shape);
- masklay_shape->flag &= ~MASK_SHAPE_SELECT;
+ mask_shape_dupe = BKE_mask_layer_shape_duplicate(mask_layer_shape);
+ mask_layer_shape->flag &= ~MASK_SHAPE_SELECT;
/* XXX - how to handle duplicate frames? */
- BLI_insertlinkafter(&masklay->splines_shapes, masklay_shape, mask_shape_dupe);
+ BLI_insertlinkafter(&mask_layer->splines_shapes, mask_layer_shape, mask_shape_dupe);
}
}
}
@@ -309,55 +310,55 @@ void ED_masklayer_frames_duplicate(MaskLayer *masklay)
/* -------------------------------------- */
/* Snap Tools */
-static short snap_masklayer_nearest(MaskLayerShape *masklay_shape, Scene *UNUSED(scene))
+static short snap_mask_layer_nearest(MaskLayerShape *mask_layer_shape, Scene *UNUSED(scene))
{
- if (masklay_shape->flag & MASK_SHAPE_SELECT) {
- masklay_shape->frame = (int)(floor(masklay_shape->frame + 0.5));
+ if (mask_layer_shape->flag & MASK_SHAPE_SELECT) {
+ mask_layer_shape->frame = (int)(floor(mask_layer_shape->frame + 0.5));
}
return 0;
}
-static short snap_masklayer_nearestsec(MaskLayerShape *masklay_shape, Scene *scene)
+static short snap_mask_layer_nearestsec(MaskLayerShape *mask_layer_shape, Scene *scene)
{
float secf = (float)FPS;
- if (masklay_shape->flag & MASK_SHAPE_SELECT) {
- masklay_shape->frame = (int)(floorf(masklay_shape->frame / secf + 0.5f) * secf);
+ if (mask_layer_shape->flag & MASK_SHAPE_SELECT) {
+ mask_layer_shape->frame = (int)(floorf(mask_layer_shape->frame / secf + 0.5f) * secf);
}
return 0;
}
-static short snap_masklayer_cframe(MaskLayerShape *masklay_shape, Scene *scene)
+static short snap_mask_layer_cframe(MaskLayerShape *mask_layer_shape, Scene *scene)
{
- if (masklay_shape->flag & MASK_SHAPE_SELECT) {
- masklay_shape->frame = (int)CFRA;
+ if (mask_layer_shape->flag & MASK_SHAPE_SELECT) {
+ mask_layer_shape->frame = (int)CFRA;
}
return 0;
}
-static short snap_masklayer_nearmarker(MaskLayerShape *masklay_shape, Scene *scene)
+static short snap_mask_layer_nearmarker(MaskLayerShape *mask_layer_shape, Scene *scene)
{
- if (masklay_shape->flag & MASK_SHAPE_SELECT) {
- masklay_shape->frame = (int)ED_markers_find_nearest_marker_time(&scene->markers,
- (float)masklay_shape->frame);
+ if (mask_layer_shape->flag & MASK_SHAPE_SELECT) {
+ mask_layer_shape->frame = (int)ED_markers_find_nearest_marker_time(
+ &scene->markers, (float)mask_layer_shape->frame);
}
return 0;
}
/* snap selected frames to ... */
-void ED_masklayer_snap_frames(MaskLayer *masklay, Scene *scene, short mode)
+void ED_masklayer_snap_frames(MaskLayer *mask_layer, Scene *scene, short mode)
{
switch (mode) {
case SNAP_KEYS_NEARFRAME: /* snap to nearest frame */
- ED_masklayer_frames_looper(masklay, scene, snap_masklayer_nearest);
+ ED_masklayer_frames_looper(mask_layer, scene, snap_mask_layer_nearest);
break;
case SNAP_KEYS_CURFRAME: /* snap to current frame */
- ED_masklayer_frames_looper(masklay, scene, snap_masklayer_cframe);
+ ED_masklayer_frames_looper(mask_layer, scene, snap_mask_layer_cframe);
break;
case SNAP_KEYS_NEARMARKER: /* snap to nearest marker */
- ED_masklayer_frames_looper(masklay, scene, snap_masklayer_nearmarker);
+ ED_masklayer_frames_looper(mask_layer, scene, snap_mask_layer_nearmarker);
break;
case SNAP_KEYS_NEARSEC: /* snap to nearest second */
- ED_masklayer_frames_looper(masklay, scene, snap_masklayer_nearestsec);
+ ED_masklayer_frames_looper(mask_layer, scene, snap_mask_layer_nearestsec);
break;
default: /* just in case */
break;
diff --git a/source/blender/editors/mask/mask_intern.h b/source/blender/editors/mask/mask_intern.h
index 67785f1ae46..7cf92a9051a 100644
--- a/source/blender/editors/mask/mask_intern.h
+++ b/source/blender/editors/mask/mask_intern.h
@@ -39,7 +39,7 @@ bool ED_mask_find_nearest_diff_point(const struct bContext *C,
float tangent[2],
const bool use_deform,
const bool use_project,
- struct MaskLayer **masklay_r,
+ struct MaskLayer **mask_layer_r,
struct MaskSpline **spline_r,
struct MaskSplinePoint **point_r,
float *u_r,
@@ -76,7 +76,7 @@ bool ED_mask_feather_find_nearest(const struct bContext *C,
struct Mask *mask,
const float normal_co[2],
const float threshold,
- struct MaskLayer **masklay_r,
+ struct MaskLayer **mask_layer_r,
struct MaskSpline **spline_r,
struct MaskSplinePoint **point_r,
struct MaskSplinePointUW **uw_r,
@@ -86,7 +86,7 @@ struct MaskSplinePoint *ED_mask_point_find_nearest(const struct bContext *C,
struct Mask *mask,
const float normal_co[2],
const float threshold,
- struct MaskLayer **masklay_r,
+ struct MaskLayer **mask_layer_r,
struct MaskSpline **spline_r,
eMaskWhichHandle *which_handle_r,
float *score);
@@ -114,11 +114,11 @@ void MASK_OT_select_more(struct wmOperatorType *ot);
void MASK_OT_select_less(struct wmOperatorType *ot);
bool ED_mask_spline_select_check(struct MaskSpline *spline);
-bool ED_mask_layer_select_check(struct MaskLayer *masklay);
+bool ED_mask_layer_select_check(struct MaskLayer *mask_layer);
bool ED_mask_select_check(struct Mask *mask);
void ED_mask_spline_select_set(struct MaskSpline *spline, const bool do_select);
-void ED_mask_layer_select_set(struct MaskLayer *masklay, const bool do_select);
+void ED_mask_layer_select_set(struct MaskLayer *mask_layer, const bool do_select);
void ED_mask_select_toggle_all(struct Mask *mask, int action);
void ED_mask_select_flush_all(struct Mask *mask);
diff --git a/source/blender/editors/mask/mask_ops.c b/source/blender/editors/mask/mask_ops.c
index c91f431ad20..3a982b255f0 100644
--- a/source/blender/editors/mask/mask_ops.c
+++ b/source/blender/editors/mask/mask_ops.c
@@ -69,7 +69,7 @@ MaskSplinePoint *ED_mask_point_find_nearest(const bContext *C,
Mask *mask_orig,
const float normal_co[2],
const float threshold,
- MaskLayer **masklay_r,
+ MaskLayer **mask_layer_r,
MaskSpline **spline_r,
eMaskWhichHandle *which_handle_r,
float *score)
@@ -77,7 +77,7 @@ MaskSplinePoint *ED_mask_point_find_nearest(const bContext *C,
ScrArea *sa = CTX_wm_area(C);
ARegion *ar = CTX_wm_region(C);
- MaskLayer *point_masklay = NULL;
+ MaskLayer *point_mask_layer = NULL;
MaskSpline *point_spline = NULL;
MaskSplinePoint *point = NULL;
float co[2];
@@ -95,17 +95,17 @@ MaskSplinePoint *ED_mask_point_find_nearest(const bContext *C,
co[0] = normal_co[0] * scalex;
co[1] = normal_co[1] * scaley;
- for (MaskLayer *masklay_orig = mask_orig->masklayers.first,
- *masklay_eval = mask_eval->masklayers.first;
- masklay_orig != NULL;
- masklay_orig = masklay_orig->next, masklay_eval = masklay_eval->next) {
+ for (MaskLayer *mask_layer_orig = mask_orig->masklayers.first,
+ *mask_layer_eval = mask_eval->masklayers.first;
+ mask_layer_orig != NULL;
+ mask_layer_orig = mask_layer_orig->next, mask_layer_eval = mask_layer_eval->next) {
- if (masklay_orig->restrictflag & (MASK_RESTRICT_VIEW | MASK_RESTRICT_SELECT)) {
+ if (mask_layer_orig->restrictflag & (MASK_RESTRICT_VIEW | MASK_RESTRICT_SELECT)) {
continue;
}
- for (MaskSpline *spline_orig = masklay_orig->splines.first,
- *spline_eval = masklay_eval->splines.first;
+ for (MaskSpline *spline_orig = mask_layer_orig->splines.first,
+ *spline_eval = mask_layer_eval->splines.first;
spline_orig != NULL;
spline_orig = spline_orig->next, spline_eval = spline_eval->next) {
MaskSplinePoint *points_array = BKE_mask_spline_point_array(spline_eval);
@@ -124,7 +124,7 @@ MaskSplinePoint *ED_mask_point_find_nearest(const bContext *C,
if (cur_len_sq < len_sq) {
point_spline = spline_orig;
- point_masklay = masklay_orig;
+ point_mask_layer = mask_layer_orig;
point = cur_point_orig;
len_sq = cur_len_sq;
which_handle = MASK_WHICH_HANDLE_NONE;
@@ -174,7 +174,7 @@ MaskSplinePoint *ED_mask_point_find_nearest(const bContext *C,
}
if (cur_len_sq <= len_sq && cur_which_handle != MASK_WHICH_HANDLE_NONE) {
- point_masklay = masklay_orig;
+ point_mask_layer = mask_layer_orig;
point_spline = spline_orig;
point = cur_point_orig;
len_sq = cur_len_sq;
@@ -185,8 +185,8 @@ MaskSplinePoint *ED_mask_point_find_nearest(const bContext *C,
}
if (len_sq < threshold_sq) {
- if (masklay_r) {
- *masklay_r = point_masklay;
+ if (mask_layer_r) {
+ *mask_layer_r = point_mask_layer;
}
if (spline_r) {
@@ -204,8 +204,8 @@ MaskSplinePoint *ED_mask_point_find_nearest(const bContext *C,
return point;
}
- if (masklay_r) {
- *masklay_r = NULL;
+ if (mask_layer_r) {
+ *mask_layer_r = NULL;
}
if (spline_r) {
@@ -223,7 +223,7 @@ bool ED_mask_feather_find_nearest(const bContext *C,
Mask *mask_orig,
const float normal_co[2],
const float threshold,
- MaskLayer **masklay_r,
+ MaskLayer **mask_layer_r,
MaskSpline **spline_r,
MaskSplinePoint **point_r,
MaskSplinePointUW **uw_r,
@@ -232,7 +232,7 @@ bool ED_mask_feather_find_nearest(const bContext *C,
ScrArea *sa = CTX_wm_area(C);
ARegion *ar = CTX_wm_region(C);
- MaskLayer *point_masklay = NULL;
+ MaskLayer *point_mask_layer = NULL;
MaskSpline *point_spline = NULL;
MaskSplinePoint *point = NULL;
MaskSplinePointUW *uw = NULL;
@@ -250,13 +250,13 @@ bool ED_mask_feather_find_nearest(const bContext *C,
co[0] = normal_co[0] * scalex;
co[1] = normal_co[1] * scaley;
- for (MaskLayer *masklay_orig = mask_orig->masklayers.first,
- *masklay_eval = mask_eval->masklayers.first;
- masklay_orig != NULL;
- masklay_orig = masklay_orig->next, masklay_eval = masklay_eval->next) {
+ for (MaskLayer *mask_layer_orig = mask_orig->masklayers.first,
+ *mask_layer_eval = mask_eval->masklayers.first;
+ mask_layer_orig != NULL;
+ mask_layer_orig = mask_layer_orig->next, mask_layer_eval = mask_layer_eval->next) {
- for (MaskSpline *spline_orig = masklay_orig->splines.first,
- *spline_eval = masklay_eval->splines.first;
+ for (MaskSpline *spline_orig = mask_layer_orig->splines.first,
+ *spline_eval = mask_layer_eval->splines.first;
spline_orig != NULL;
spline_orig = spline_orig->next, spline_eval = spline_eval->next) {
// MaskSplinePoint *points_array = BKE_mask_spline_point_array(spline);
@@ -264,7 +264,7 @@ bool ED_mask_feather_find_nearest(const bContext *C,
int i, tot_feather_point;
float(*feather_points)[2], (*fp)[2];
- if (masklay_orig->restrictflag & (MASK_RESTRICT_VIEW | MASK_RESTRICT_SELECT)) {
+ if (mask_layer_orig->restrictflag & (MASK_RESTRICT_VIEW | MASK_RESTRICT_SELECT)) {
continue;
}
@@ -291,7 +291,7 @@ bool ED_mask_feather_find_nearest(const bContext *C,
uw = &cur_point_orig->uw[j - 1];
}
- point_masklay = masklay_orig;
+ point_mask_layer = mask_layer_orig;
point_spline = spline_orig;
point = cur_point_orig;
len = cur_len_sq;
@@ -306,8 +306,8 @@ bool ED_mask_feather_find_nearest(const bContext *C,
}
if (len < threshold_sq) {
- if (masklay_r) {
- *masklay_r = point_masklay;
+ if (mask_layer_r) {
+ *mask_layer_r = point_mask_layer;
}
if (spline_r) {
@@ -329,8 +329,8 @@ bool ED_mask_feather_find_nearest(const bContext *C,
return true;
}
- if (masklay_r) {
- *masklay_r = NULL;
+ if (mask_layer_r) {
+ *mask_layer_r = NULL;
}
if (spline_r) {
@@ -428,9 +428,9 @@ void MASK_OT_new(wmOperatorType *ot)
RNA_def_string(ot->srna, "name", NULL, MAX_ID_NAME - 2, "Name", "Name of new mask");
}
-/******************** create new masklay *********************/
+/******************** create new mask layer *********************/
-static int masklay_new_exec(bContext *C, wmOperator *op)
+static int mask_layer_new_exec(bContext *C, wmOperator *op)
{
Mask *mask = CTX_data_edit_mask(C);
char name[MAX_ID_NAME - 2];
@@ -454,7 +454,7 @@ void MASK_OT_layer_new(wmOperatorType *ot)
ot->idname = "MASK_OT_layer_new";
/* api callbacks */
- ot->exec = masklay_new_exec;
+ ot->exec = mask_layer_new_exec;
ot->poll = ED_maskedit_poll;
/* flags */
@@ -466,13 +466,13 @@ void MASK_OT_layer_new(wmOperatorType *ot)
/******************** remove mask layer *********************/
-static int masklay_remove_exec(bContext *C, wmOperator *UNUSED(op))
+static int mask_layer_remove_exec(bContext *C, wmOperator *UNUSED(op))
{
Mask *mask = CTX_data_edit_mask(C);
- MaskLayer *masklay = BKE_mask_layer_active(mask);
+ MaskLayer *mask_layer = BKE_mask_layer_active(mask);
- if (masklay) {
- BKE_mask_layer_remove(mask, masklay);
+ if (mask_layer) {
+ BKE_mask_layer_remove(mask, mask_layer);
WM_event_add_notifier(C, NC_MASK | NA_EDITED, mask);
DEG_id_tag_update(&mask->id, ID_RECALC_COPY_ON_WRITE);
@@ -489,7 +489,7 @@ void MASK_OT_layer_remove(wmOperatorType *ot)
ot->idname = "MASK_OT_layer_remove";
/* api callbacks */
- ot->exec = masklay_remove_exec;
+ ot->exec = mask_layer_remove_exec;
ot->poll = ED_maskedit_poll;
/* flags */
@@ -511,7 +511,7 @@ typedef struct SlidePointData {
short event_invoke_type;
int action;
Mask *mask;
- MaskLayer *masklay;
+ MaskLayer *mask_layer;
MaskSpline *spline, *orig_spline;
MaskSplinePoint *point;
MaskSplinePointUW *uw;
@@ -555,7 +555,6 @@ static bool spline_under_mouse_get(const bContext *C,
const float threshold = 19.0f;
ScrArea *sa = CTX_wm_area(C);
SpaceClip *sc = CTX_wm_space_clip(C);
- MaskLayer *mask_layer;
int width, height;
float pixel_co[2];
float closest_dist_squared = 0.0f;
@@ -570,13 +569,13 @@ static bool spline_under_mouse_get(const bContext *C,
if (sc != NULL) {
undistort = (sc->clip != NULL) && (sc->user.render_flag & MCLIP_PROXY_RENDER_UNDISTORT) != 0;
}
- for (mask_layer = mask->masklayers.first; mask_layer != NULL; mask_layer = mask_layer->next) {
- MaskSpline *spline;
+ for (MaskLayer *mask_layer = mask->masklayers.first; mask_layer != NULL;
+ mask_layer = mask_layer->next) {
if (mask_layer->restrictflag & MASK_RESTRICT_SELECT) {
continue;
}
- for (spline = mask_layer->splines.first; spline != NULL; spline = spline->next) {
+ for (MaskSpline *spline = mask_layer->splines.first; spline != NULL; spline = spline->next) {
MaskSplinePoint *points_array;
float min[2], max[2], center[2];
float dist_squared;
@@ -719,7 +718,7 @@ static void *slide_point_customdata(bContext *C, wmOperator *op, const wmEvent *
Mask *mask = CTX_data_edit_mask(C);
SlidePointData *customdata = NULL;
- MaskLayer *masklay, *cv_masklay, *feather_masklay;
+ MaskLayer *mask_layer, *cv_mask_layer, *feather_mask_layer;
MaskSpline *spline, *cv_spline, *feather_spline;
MaskSplinePoint *point, *cv_point, *feather_point;
MaskSplinePointUW *uw = NULL;
@@ -733,13 +732,13 @@ static void *slide_point_customdata(bContext *C, wmOperator *op, const wmEvent *
ED_mask_get_size(sa, &width, &height);
cv_point = ED_mask_point_find_nearest(
- C, mask, co, threshold, &cv_masklay, &cv_spline, &which_handle, &cv_score);
+ C, mask, co, threshold, &cv_mask_layer, &cv_spline, &which_handle, &cv_score);
if (ED_mask_feather_find_nearest(C,
mask,
co,
threshold,
- &feather_masklay,
+ &feather_mask_layer,
&feather_spline,
&feather_point,
&uw,
@@ -747,7 +746,7 @@ static void *slide_point_customdata(bContext *C, wmOperator *op, const wmEvent *
if (slide_feather || !cv_point || feather_score < cv_score) {
action = SLIDE_ACTION_FEATHER;
- masklay = feather_masklay;
+ mask_layer = feather_mask_layer;
spline = feather_spline;
point = feather_point;
}
@@ -761,13 +760,13 @@ static void *slide_point_customdata(bContext *C, wmOperator *op, const wmEvent *
action = SLIDE_ACTION_POINT;
}
- masklay = cv_masklay;
+ mask_layer = cv_mask_layer;
spline = cv_spline;
point = cv_point;
}
if (action == SLIDE_ACTION_NONE) {
- if (spline_under_mouse_get(C, mask, co, &masklay, &spline)) {
+ if (spline_under_mouse_get(C, mask, co, &mask_layer, &spline)) {
action = SLIDE_ACTION_SPLINE;
point = NULL;
}
@@ -777,7 +776,7 @@ static void *slide_point_customdata(bContext *C, wmOperator *op, const wmEvent *
customdata = MEM_callocN(sizeof(SlidePointData), "mask slide point data");
customdata->event_invoke_type = event->type;
customdata->mask = mask;
- customdata->masklay = masklay;
+ customdata->mask_layer = mask_layer;
customdata->spline = spline;
customdata->point = point;
customdata->width = width;
@@ -790,7 +789,7 @@ static void *slide_point_customdata(bContext *C, wmOperator *op, const wmEvent *
if (customdata->action != SLIDE_ACTION_SPLINE) {
customdata->old_h1 = point->bezt.h1;
customdata->old_h2 = point->bezt.h2;
- select_sliding_point(mask, masklay, spline, point, which_handle);
+ select_sliding_point(mask, mask_layer, spline, point, which_handle);
check_sliding_handle_type(point, which_handle);
}
@@ -850,8 +849,8 @@ static int slide_point_invoke(bContext *C, wmOperator *op, const wmEvent *event)
WM_event_add_modal_handler(C, op);
- slidedata->masklay->act_spline = slidedata->spline;
- slidedata->masklay->act_point = slidedata->point;
+ slidedata->mask_layer->act_spline = slidedata->spline;
+ slidedata->mask_layer->act_point = slidedata->point;
WM_event_add_notifier(C, NC_MASK | ND_SELECT, mask);
@@ -1140,7 +1139,7 @@ static int slide_point_modal(bContext *C, wmOperator *op, const wmEvent *event)
/* dont key sliding feather uw's */
if ((data->action == SLIDE_ACTION_FEATHER && data->uw) == false) {
if (IS_AUTOKEY_ON(scene)) {
- ED_mask_layer_shape_auto_key(data->masklay, CFRA);
+ ED_mask_layer_shape_auto_key(data->mask_layer, CFRA);
}
}
@@ -1586,16 +1585,13 @@ void MASK_OT_slide_spline_curvature(wmOperatorType *ot)
static int cyclic_toggle_exec(bContext *C, wmOperator *UNUSED(op))
{
Mask *mask = CTX_data_edit_mask(C);
- MaskLayer *masklay;
-
- for (masklay = mask->masklayers.first; masklay; masklay = masklay->next) {
- MaskSpline *spline;
- if (masklay->restrictflag & (MASK_RESTRICT_VIEW | MASK_RESTRICT_SELECT)) {
+ for (MaskLayer *mask_layer = mask->masklayers.first; mask_layer; mask_layer = mask_layer->next) {
+ if (mask_layer->restrictflag & (MASK_RESTRICT_VIEW | MASK_RESTRICT_SELECT)) {
continue;
}
- for (spline = masklay->splines.first; spline; spline = spline->next) {
+ for (MaskSpline *spline = mask_layer->splines.first; spline; spline = spline->next) {
if (ED_mask_spline_select_check(spline)) {
spline->flag ^= MASK_SPLINE_CYCLIC;
}
@@ -1666,18 +1662,17 @@ static void delete_feather_points(MaskSplinePoint *point)
static int delete_exec(bContext *C, wmOperator *UNUSED(op))
{
Mask *mask = CTX_data_edit_mask(C);
- MaskLayer *masklay;
bool changed = false;
- for (masklay = mask->masklayers.first; masklay; masklay = masklay->next) {
+ for (MaskLayer *mask_layer = mask->masklayers.first; mask_layer; mask_layer = mask_layer->next) {
MaskSpline *spline;
int mask_layer_shape_ofs = 0;
- if (masklay->restrictflag & (MASK_RESTRICT_VIEW | MASK_RESTRICT_SELECT)) {
+ if (mask_layer->restrictflag & (MASK_RESTRICT_VIEW | MASK_RESTRICT_SELECT)) {
continue;
}
- spline = masklay->splines.first;
+ spline = mask_layer->splines.first;
while (spline) {
const int tot_point_orig = spline->tot_point;
@@ -1695,15 +1690,15 @@ static int delete_exec(bContext *C, wmOperator *UNUSED(op))
if (count == 0) {
/* delete the whole spline */
- BLI_remlink(&masklay->splines, spline);
+ BLI_remlink(&mask_layer->splines, spline);
BKE_mask_spline_free(spline);
- if (spline == masklay->act_spline) {
- masklay->act_spline = NULL;
- masklay->act_point = NULL;
+ if (spline == mask_layer->act_spline) {
+ mask_layer->act_spline = NULL;
+ mask_layer->act_point = NULL;
}
- BKE_mask_layer_shape_changed_remove(masklay, mask_layer_shape_ofs, tot_point_orig);
+ BKE_mask_layer_shape_changed_remove(mask_layer, mask_layer_shape_ofs, tot_point_orig);
}
else {
MaskSplinePoint *new_points;
@@ -1715,8 +1710,8 @@ static int delete_exec(bContext *C, wmOperator *UNUSED(op))
MaskSplinePoint *point = &spline->points[i];
if (!MASKPOINT_ISSEL_ANY(point)) {
- if (point == masklay->act_point) {
- masklay->act_point = &new_points[j];
+ if (point == mask_layer->act_point) {
+ mask_layer->act_point = &new_points[j];
}
delete_feather_points(point);
@@ -1725,14 +1720,14 @@ static int delete_exec(bContext *C, wmOperator *UNUSED(op))
j++;
}
else {
- if (point == masklay->act_point) {
- masklay->act_point = NULL;
+ if (point == mask_layer->act_point) {
+ mask_layer->act_point = NULL;
}
BKE_mask_point_free(point);
spline->tot_point--;
- BKE_mask_layer_shape_changed_remove(masklay, mask_layer_shape_ofs + j, 1);
+ BKE_mask_layer_shape_changed_remove(mask_layer, mask_layer_shape_ofs + j, 1);
}
}
@@ -1750,8 +1745,8 @@ static int delete_exec(bContext *C, wmOperator *UNUSED(op))
/* not essential but confuses users when there are keys with no data!
* assume if they delete all data from the layer they also dont care about keys */
- if (BLI_listbase_is_empty(&masklay->splines)) {
- BKE_mask_layer_free_shapes(masklay);
+ if (BLI_listbase_is_empty(&mask_layer->splines)) {
+ BKE_mask_layer_free_shapes(mask_layer);
}
}
@@ -1787,22 +1782,20 @@ static int mask_switch_direction_exec(bContext *C, wmOperator *UNUSED(op))
{
Scene *scene = CTX_data_scene(C);
Mask *mask = CTX_data_edit_mask(C);
- MaskLayer *masklay;
bool changed = false;
/* do actual selection */
- for (masklay = mask->masklayers.first; masklay; masklay = masklay->next) {
- MaskSpline *spline;
+ for (MaskLayer *mask_layer = mask->masklayers.first; mask_layer; mask_layer = mask_layer->next) {
bool changed_layer = false;
- if (masklay->restrictflag & (MASK_RESTRICT_VIEW | MASK_RESTRICT_SELECT)) {
+ if (mask_layer->restrictflag & (MASK_RESTRICT_VIEW | MASK_RESTRICT_SELECT)) {
continue;
}
- for (spline = masklay->splines.first; spline; spline = spline->next) {
+ for (MaskSpline *spline = mask_layer->splines.first; spline; spline = spline->next) {
if (ED_mask_spline_select_check(spline)) {
- BKE_mask_spline_direction_switch(masklay, spline);
+ BKE_mask_spline_direction_switch(mask_layer, spline);
changed = true;
changed_layer = true;
}
@@ -1810,7 +1803,7 @@ static int mask_switch_direction_exec(bContext *C, wmOperator *UNUSED(op))
if (changed_layer) {
if (IS_AUTOKEY_ON(scene)) {
- ED_mask_layer_shape_auto_key(masklay, CFRA);
+ ED_mask_layer_shape_auto_key(mask_layer, CFRA);
}
}
}
@@ -1847,22 +1840,19 @@ static int mask_normals_make_consistent_exec(bContext *C, wmOperator *UNUSED(op)
{
Scene *scene = CTX_data_scene(C);
Mask *mask = CTX_data_edit_mask(C);
- MaskLayer *masklay;
- int i;
bool changed = false;
/* do actual selection */
- for (masklay = mask->masklayers.first; masklay; masklay = masklay->next) {
- MaskSpline *spline;
+ for (MaskLayer *mask_layer = mask->masklayers.first; mask_layer; mask_layer = mask_layer->next) {
bool changed_layer = false;
- if (masklay->restrictflag & (MASK_RESTRICT_VIEW | MASK_RESTRICT_SELECT)) {
+ if (mask_layer->restrictflag & (MASK_RESTRICT_VIEW | MASK_RESTRICT_SELECT)) {
continue;
}
- for (spline = masklay->splines.first; spline; spline = spline->next) {
- for (i = 0; i < spline->tot_point; i++) {
+ for (MaskSpline *spline = mask_layer->splines.first; spline; spline = spline->next) {
+ for (int i = 0; i < spline->tot_point; i++) {
MaskSplinePoint *point = &spline->points[i];
if (MASKPOINT_ISSEL_ANY(point)) {
@@ -1875,7 +1865,7 @@ static int mask_normals_make_consistent_exec(bContext *C, wmOperator *UNUSED(op)
if (changed_layer) {
if (IS_AUTOKEY_ON(scene)) {
- ED_mask_layer_shape_auto_key(masklay, CFRA);
+ ED_mask_layer_shape_auto_key(mask_layer, CFRA);
}
}
}
@@ -1913,21 +1903,17 @@ void MASK_OT_normals_make_consistent(wmOperatorType *ot)
static int set_handle_type_exec(bContext *C, wmOperator *op)
{
Mask *mask = CTX_data_edit_mask(C);
- MaskLayer *masklay;
int handle_type = RNA_enum_get(op->ptr, "type");
bool changed = false;
- for (masklay = mask->masklayers.first; masklay; masklay = masklay->next) {
- MaskSpline *spline;
- int i;
-
- if (masklay->restrictflag & (MASK_RESTRICT_VIEW | MASK_RESTRICT_SELECT)) {
+ for (MaskLayer *mask_layer = mask->masklayers.first; mask_layer; mask_layer = mask_layer->next) {
+ if (mask_layer->restrictflag & (MASK_RESTRICT_VIEW | MASK_RESTRICT_SELECT)) {
continue;
}
- for (spline = masklay->splines.first; spline; spline = spline->next) {
- for (i = 0; i < spline->tot_point; i++) {
+ for (MaskSpline *spline = mask_layer->splines.first; spline; spline = spline->next) {
+ for (int i = 0; i < spline->tot_point; i++) {
MaskSplinePoint *point = &spline->points[i];
if (MASKPOINT_ISSEL_ANY(point)) {
@@ -1999,15 +1985,14 @@ void MASK_OT_handle_type_set(wmOperatorType *ot)
static int mask_hide_view_clear_exec(bContext *C, wmOperator *op)
{
Mask *mask = CTX_data_edit_mask(C);
- MaskLayer *masklay;
bool changed = false;
const bool select = RNA_boolean_get(op->ptr, "select");
- for (masklay = mask->masklayers.first; masklay; masklay = masklay->next) {
+ for (MaskLayer *mask_layer = mask->masklayers.first; mask_layer; mask_layer = mask_layer->next) {
- if (masklay->restrictflag & OB_RESTRICT_VIEWPORT) {
- ED_mask_layer_select_set(masklay, select);
- masklay->restrictflag &= ~OB_RESTRICT_VIEWPORT;
+ if (mask_layer->restrictflag & OB_RESTRICT_VIEWPORT) {
+ ED_mask_layer_select_set(mask_layer, select);
+ mask_layer->restrictflag &= ~OB_RESTRICT_VIEWPORT;
changed = true;
}
}
@@ -2044,32 +2029,31 @@ void MASK_OT_hide_view_clear(wmOperatorType *ot)
static int mask_hide_view_set_exec(bContext *C, wmOperator *op)
{
Mask *mask = CTX_data_edit_mask(C);
- MaskLayer *masklay;
const bool unselected = RNA_boolean_get(op->ptr, "unselected");
bool changed = false;
- for (masklay = mask->masklayers.first; masklay; masklay = masklay->next) {
+ for (MaskLayer *mask_layer = mask->masklayers.first; mask_layer; mask_layer = mask_layer->next) {
- if (masklay->restrictflag & MASK_RESTRICT_SELECT) {
+ if (mask_layer->restrictflag & MASK_RESTRICT_SELECT) {
continue;
}
if (!unselected) {
- if (ED_mask_layer_select_check(masklay)) {
- ED_mask_layer_select_set(masklay, false);
+ if (ED_mask_layer_select_check(mask_layer)) {
+ ED_mask_layer_select_set(mask_layer, false);
- masklay->restrictflag |= OB_RESTRICT_VIEWPORT;
+ mask_layer->restrictflag |= OB_RESTRICT_VIEWPORT;
changed = true;
- if (masklay == BKE_mask_layer_active(mask)) {
+ if (mask_layer == BKE_mask_layer_active(mask)) {
BKE_mask_layer_active_set(mask, NULL);
}
}
}
else {
- if (!ED_mask_layer_select_check(masklay)) {
- masklay->restrictflag |= OB_RESTRICT_VIEWPORT;
+ if (!ED_mask_layer_select_check(mask_layer)) {
+ mask_layer->restrictflag |= OB_RESTRICT_VIEWPORT;
changed = true;
- if (masklay == BKE_mask_layer_active(mask)) {
+ if (mask_layer == BKE_mask_layer_active(mask)) {
BKE_mask_layer_active_set(mask, NULL);
}
}
@@ -2108,19 +2092,15 @@ void MASK_OT_hide_view_set(wmOperatorType *ot)
static int mask_feather_weight_clear_exec(bContext *C, wmOperator *UNUSED(op))
{
Mask *mask = CTX_data_edit_mask(C);
- MaskLayer *masklay;
bool changed = false;
- int i;
-
- for (masklay = mask->masklayers.first; masklay; masklay = masklay->next) {
- MaskSpline *spline;
- if (masklay->restrictflag & (MASK_RESTRICT_SELECT | MASK_RESTRICT_VIEW)) {
+ for (MaskLayer *mask_layer = mask->masklayers.first; mask_layer; mask_layer = mask_layer->next) {
+ if (mask_layer->restrictflag & (MASK_RESTRICT_SELECT | MASK_RESTRICT_VIEW)) {
continue;
}
- for (spline = masklay->splines.first; spline; spline = spline->next) {
- for (i = 0; i < spline->tot_point; i++) {
+ for (MaskSpline *spline = mask_layer->splines.first; spline; spline = spline->next) {
+ for (int i = 0; i < spline->tot_point; i++) {
MaskSplinePoint *point = &spline->points[i];
if (MASKPOINT_ISSEL_ANY(point)) {
@@ -2247,12 +2227,9 @@ void MASK_OT_layer_move(wmOperatorType *ot)
static int mask_duplicate_exec(bContext *C, wmOperator *UNUSED(op))
{
Mask *mask = CTX_data_edit_mask(C);
- MaskLayer *mask_layer;
-
- for (mask_layer = mask->masklayers.first; mask_layer; mask_layer = mask_layer->next) {
- MaskSpline *spline;
- for (spline = mask_layer->splines.last; spline; spline = spline->prev) {
+ for (MaskLayer *mask_layer = mask->masklayers.first; mask_layer; mask_layer = mask_layer->next) {
+ for (MaskSpline *spline = mask_layer->splines.last; spline; spline = spline->prev) {
MaskSplinePoint *point = spline->points;
int i = 0;
while (i < spline->tot_point) {
diff --git a/source/blender/editors/mask/mask_relationships.c b/source/blender/editors/mask/mask_relationships.c
index 75b2aee3570..130ebb61a90 100644
--- a/source/blender/editors/mask/mask_relationships.c
+++ b/source/blender/editors/mask/mask_relationships.c
@@ -43,18 +43,14 @@
static int mask_parent_clear_exec(bContext *C, wmOperator *UNUSED(op))
{
Mask *mask = CTX_data_edit_mask(C);
- MaskLayer *masklay;
- for (masklay = mask->masklayers.first; masklay; masklay = masklay->next) {
- MaskSpline *spline;
- int i;
-
- if (masklay->restrictflag & (MASK_RESTRICT_VIEW | MASK_RESTRICT_SELECT)) {
+ for (MaskLayer *mask_layer = mask->masklayers.first; mask_layer; mask_layer = mask_layer->next) {
+ if (mask_layer->restrictflag & (MASK_RESTRICT_VIEW | MASK_RESTRICT_SELECT)) {
continue;
}
- for (spline = masklay->splines.first; spline; spline = spline->next) {
- for (i = 0; i < spline->tot_point; i++) {
+ for (MaskSpline *spline = mask_layer->splines.first; spline; spline = spline->next) {
+ for (int i = 0; i < spline->tot_point; i++) {
MaskSplinePoint *point = &spline->points[i];
if (MASKPOINT_ISSEL_ANY(point)) {
@@ -89,7 +85,6 @@ void MASK_OT_parent_clear(wmOperatorType *ot)
static int mask_parent_set_exec(bContext *C, wmOperator *UNUSED(op))
{
Mask *mask = CTX_data_edit_mask(C);
- MaskLayer *masklay;
/* parent info */
SpaceClip *sc = CTX_wm_space_clip(C);
@@ -141,16 +136,13 @@ static int mask_parent_set_exec(bContext *C, wmOperator *UNUSED(op))
return OPERATOR_CANCELLED;
}
- for (masklay = mask->masklayers.first; masklay; masklay = masklay->next) {
- MaskSpline *spline;
- int i;
-
- if (masklay->restrictflag & (MASK_RESTRICT_VIEW | MASK_RESTRICT_SELECT)) {
+ for (MaskLayer *mask_layer = mask->masklayers.first; mask_layer; mask_layer = mask_layer->next) {
+ if (mask_layer->restrictflag & (MASK_RESTRICT_VIEW | MASK_RESTRICT_SELECT)) {
continue;
}
- for (spline = masklay->splines.first; spline; spline = spline->next) {
- for (i = 0; i < spline->tot_point; i++) {
+ for (MaskSpline *spline = mask_layer->splines.first; spline; spline = spline->next) {
+ for (int i = 0; i < spline->tot_point; i++) {
MaskSplinePoint *point = &spline->points[i];
if (MASKPOINT_ISSEL_ANY(point)) {
diff --git a/source/blender/editors/mask/mask_select.c b/source/blender/editors/mask/mask_select.c
index 2b3bd1b72c9..656c055a7d9 100644
--- a/source/blender/editors/mask/mask_select.c
+++ b/source/blender/editors/mask/mask_select.c
@@ -68,15 +68,13 @@ bool ED_mask_spline_select_check(MaskSpline *spline)
return false;
}
-bool ED_mask_layer_select_check(MaskLayer *masklay)
+bool ED_mask_layer_select_check(MaskLayer *mask_layer)
{
- MaskSpline *spline;
-
- if (masklay->restrictflag & (MASK_RESTRICT_VIEW | MASK_RESTRICT_SELECT)) {
+ if (mask_layer->restrictflag & (MASK_RESTRICT_VIEW | MASK_RESTRICT_SELECT)) {
return false;
}
- for (spline = masklay->splines.first; spline; spline = spline->next) {
+ for (MaskSpline *spline = mask_layer->splines.first; spline; spline = spline->next) {
if (ED_mask_spline_select_check(spline)) {
return true;
}
@@ -87,10 +85,8 @@ bool ED_mask_layer_select_check(MaskLayer *masklay)
bool ED_mask_select_check(Mask *mask)
{
- MaskLayer *masklay;
-
- for (masklay = mask->masklayers.first; masklay; masklay = masklay->next) {
- if (ED_mask_layer_select_check(masklay)) {
+ for (MaskLayer *mask_layer = mask->masklayers.first; mask_layer; mask_layer = mask_layer->next) {
+ if (ED_mask_layer_select_check(mask_layer)) {
return true;
}
}
@@ -117,25 +113,21 @@ void ED_mask_spline_select_set(MaskSpline *spline, const bool do_select)
}
}
-void ED_mask_layer_select_set(MaskLayer *masklay, const bool do_select)
+void ED_mask_layer_select_set(MaskLayer *mask_layer, const bool do_select)
{
- MaskSpline *spline;
-
- if (masklay->restrictflag & MASK_RESTRICT_SELECT) {
+ if (mask_layer->restrictflag & MASK_RESTRICT_SELECT) {
if (do_select == true) {
return;
}
}
- for (spline = masklay->splines.first; spline; spline = spline->next) {
+ for (MaskSpline *spline = mask_layer->splines.first; spline; spline = spline->next) {
ED_mask_spline_select_set(spline, do_select);
}
}
void ED_mask_select_toggle_all(Mask *mask, int action)
{
- MaskLayer *masklay;
-
if (action == SEL_TOGGLE) {
if (ED_mask_select_check(mask)) {
action = SEL_DESELECT;
@@ -145,9 +137,9 @@ void ED_mask_select_toggle_all(Mask *mask, int action)
}
}
- for (masklay = mask->masklayers.first; masklay; masklay = masklay->next) {
+ for (MaskLayer *mask_layer = mask->masklayers.first; mask_layer; mask_layer = mask_layer->next) {
- if (masklay->restrictflag & MASK_RESTRICT_VIEW) {
+ if (mask_layer->restrictflag & MASK_RESTRICT_VIEW) {
continue;
}
@@ -155,11 +147,10 @@ void ED_mask_select_toggle_all(Mask *mask, int action)
/* we don't have generic functions for this, its restricted to this operator
* if one day we need to re-use such functionality, they can be split out */
- MaskSpline *spline;
- if (masklay->restrictflag & MASK_RESTRICT_SELECT) {
+ if (mask_layer->restrictflag & MASK_RESTRICT_SELECT) {
continue;
}
- for (spline = masklay->splines.first; spline; spline = spline->next) {
+ for (MaskSpline *spline = mask_layer->splines.first; spline; spline = spline->next) {
int i;
for (i = 0; i < spline->tot_point; i++) {
MaskSplinePoint *point = &spline->points[i];
@@ -168,30 +159,24 @@ void ED_mask_select_toggle_all(Mask *mask, int action)
}
}
else {
- ED_mask_layer_select_set(masklay, (action == SEL_SELECT) ? true : false);
+ ED_mask_layer_select_set(mask_layer, (action == SEL_SELECT) ? true : false);
}
}
}
void ED_mask_select_flush_all(Mask *mask)
{
- MaskLayer *masklay;
-
- for (masklay = mask->masklayers.first; masklay; masklay = masklay->next) {
- MaskSpline *spline;
-
- for (spline = masklay->splines.first; spline; spline = spline->next) {
- int i;
-
+ for (MaskLayer *mask_layer = mask->masklayers.first; mask_layer; mask_layer = mask_layer->next) {
+ for (MaskSpline *spline = mask_layer->splines.first; spline; spline = spline->next) {
spline->flag &= ~SELECT;
- /* intentionally _dont_ do this in the masklay loop
+ /* intentionally _dont_ do this in the mask layer loop
* so we clear flags on all splines */
- if (masklay->restrictflag & MASK_RESTRICT_VIEW) {
+ if (mask_layer->restrictflag & MASK_RESTRICT_VIEW) {
continue;
}
- for (i = 0; i < spline->tot_point; i++) {
+ for (int i = 0; i < spline->tot_point; i++) {
MaskSplinePoint *cur_point = &spline->points[i];
if (MASKPOINT_ISSEL_ANY(cur_point)) {
@@ -270,7 +255,7 @@ void MASK_OT_select_all(wmOperatorType *ot)
static int select_exec(bContext *C, wmOperator *op)
{
Mask *mask = CTX_data_edit_mask(C);
- MaskLayer *masklay;
+ MaskLayer *mask_layer;
MaskSpline *spline;
MaskSplinePoint *point = NULL;
float co[2];
@@ -284,7 +269,7 @@ static int select_exec(bContext *C, wmOperator *op)
RNA_float_get_array(op->ptr, "location", co);
point = ED_mask_point_find_nearest(
- C, mask, co, threshold, &masklay, &spline, &which_handle, NULL);
+ C, mask, co, threshold, &mask_layer, &spline, &which_handle, NULL);
if (extend == false && deselect == false && toggle == false) {
ED_mask_select_toggle_all(mask, SEL_DESELECT);
@@ -293,8 +278,8 @@ static int select_exec(bContext *C, wmOperator *op)
if (point) {
if (which_handle != MASK_WHICH_HANDLE_NONE) {
if (extend) {
- masklay->act_spline = spline;
- masklay->act_point = point;
+ mask_layer->act_spline = spline;
+ mask_layer->act_point = point;
BKE_mask_point_select_set_handle(point, which_handle, true);
}
@@ -302,8 +287,8 @@ static int select_exec(bContext *C, wmOperator *op)
BKE_mask_point_select_set_handle(point, which_handle, false);
}
else {
- masklay->act_spline = spline;
- masklay->act_point = point;
+ mask_layer->act_spline = spline;
+ mask_layer->act_point = point;
if (!MASKPOINT_ISSEL_HANDLE(point, which_handle)) {
BKE_mask_point_select_set_handle(point, which_handle, true);
@@ -315,8 +300,8 @@ static int select_exec(bContext *C, wmOperator *op)
}
else {
if (extend) {
- masklay->act_spline = spline;
- masklay->act_point = point;
+ mask_layer->act_spline = spline;
+ mask_layer->act_point = point;
BKE_mask_point_select_set(point, true);
}
@@ -324,8 +309,8 @@ static int select_exec(bContext *C, wmOperator *op)
BKE_mask_point_select_set(point, false);
}
else {
- masklay->act_spline = spline;
- masklay->act_point = point;
+ mask_layer->act_spline = spline;
+ mask_layer->act_point = point;
if (!MASKPOINT_ISSEL_ANY(point)) {
BKE_mask_point_select_set(point, true);
@@ -336,8 +321,8 @@ static int select_exec(bContext *C, wmOperator *op)
}
}
- masklay->act_spline = spline;
- masklay->act_point = point;
+ mask_layer->act_spline = spline;
+ mask_layer->act_point = point;
ED_mask_select_flush_all(mask);
@@ -350,11 +335,11 @@ static int select_exec(bContext *C, wmOperator *op)
MaskSplinePointUW *uw;
if (ED_mask_feather_find_nearest(
- C, mask, co, threshold, &masklay, &spline, &point, &uw, NULL)) {
+ C, mask, co, threshold, &mask_layer, &spline, &point, &uw, NULL)) {
if (extend) {
- masklay->act_spline = spline;
- masklay->act_point = point;
+ mask_layer->act_spline = spline;
+ mask_layer->act_point = point;
if (uw) {
uw->flag |= SELECT;
@@ -366,8 +351,8 @@ static int select_exec(bContext *C, wmOperator *op)
}
}
else {
- masklay->act_spline = spline;
- masklay->act_point = point;
+ mask_layer->act_spline = spline;
+ mask_layer->act_point = point;
if (uw) {
if (!(uw->flag & SELECT)) {
@@ -454,8 +439,6 @@ static int box_select_exec(bContext *C, wmOperator *op)
ARegion *ar = CTX_wm_region(C);
Mask *mask = CTX_data_edit_mask(C);
- MaskLayer *masklay;
- int i;
rcti rect;
rctf rectf;
@@ -475,17 +458,15 @@ static int box_select_exec(bContext *C, wmOperator *op)
ED_mask_point_pos(sa, ar, rect.xmax, rect.ymax, &rectf.xmax, &rectf.ymax);
/* do actual selection */
- for (masklay = mask->masklayers.first; masklay; masklay = masklay->next) {
- MaskSpline *spline;
-
- if (masklay->restrictflag & (MASK_RESTRICT_VIEW | MASK_RESTRICT_SELECT)) {
+ for (MaskLayer *mask_layer = mask->masklayers.first; mask_layer; mask_layer = mask_layer->next) {
+ if (mask_layer->restrictflag & (MASK_RESTRICT_VIEW | MASK_RESTRICT_SELECT)) {
continue;
}
- for (spline = masklay->splines.first; spline; spline = spline->next) {
+ for (MaskSpline *spline = mask_layer->splines.first; spline; spline = spline->next) {
MaskSplinePoint *points_array = BKE_mask_spline_point_array(spline);
- for (i = 0; i < spline->tot_point; i++) {
+ for (int i = 0; i < spline->tot_point; i++) {
MaskSplinePoint *point = &spline->points[i];
MaskSplinePoint *point_deform = &points_array[i];
@@ -548,8 +529,6 @@ static bool do_lasso_select_mask(bContext *C,
ARegion *ar = CTX_wm_region(C);
Mask *mask = CTX_data_edit_mask(C);
- MaskLayer *masklay;
- int i;
rcti rect;
bool changed = false;
@@ -564,17 +543,15 @@ static bool do_lasso_select_mask(bContext *C,
BLI_lasso_boundbox(&rect, mcords, moves);
/* do actual selection */
- for (masklay = mask->masklayers.first; masklay; masklay = masklay->next) {
- MaskSpline *spline;
-
- if (masklay->restrictflag & (MASK_RESTRICT_VIEW | MASK_RESTRICT_SELECT)) {
+ for (MaskLayer *mask_layer = mask->masklayers.first; mask_layer; mask_layer = mask_layer->next) {
+ if (mask_layer->restrictflag & (MASK_RESTRICT_VIEW | MASK_RESTRICT_SELECT)) {
continue;
}
- for (spline = masklay->splines.first; spline; spline = spline->next) {
+ for (MaskSpline *spline = mask_layer->splines.first; spline; spline = spline->next) {
MaskSplinePoint *points_array = BKE_mask_spline_point_array(spline);
- for (i = 0; i < spline->tot_point; i++) {
+ for (int i = 0; i < spline->tot_point; i++) {
MaskSplinePoint *point = &spline->points[i];
MaskSplinePoint *point_deform = &points_array[i];
@@ -678,7 +655,6 @@ static int circle_select_exec(bContext *C, wmOperator *op)
ARegion *ar = CTX_wm_region(C);
Mask *mask = CTX_data_edit_mask(C);
- MaskLayer *masklay;
int i;
float zoomx, zoomy, offset[2], ellipse[2];
@@ -709,14 +685,12 @@ static int circle_select_exec(bContext *C, wmOperator *op)
}
/* do actual selection */
- for (masklay = mask->masklayers.first; masklay; masklay = masklay->next) {
- MaskSpline *spline;
-
- if (masklay->restrictflag & (MASK_RESTRICT_VIEW | MASK_RESTRICT_SELECT)) {
+ for (MaskLayer *mask_layer = mask->masklayers.first; mask_layer; mask_layer = mask_layer->next) {
+ if (mask_layer->restrictflag & (MASK_RESTRICT_VIEW | MASK_RESTRICT_SELECT)) {
continue;
}
- for (spline = masklay->splines.first; spline; spline = spline->next) {
+ for (MaskSpline *spline = mask_layer->splines.first; spline; spline = spline->next) {
MaskSplinePoint *points_array = BKE_mask_spline_point_array(spline);
for (i = 0; i < spline->tot_point; i++) {
@@ -778,7 +752,7 @@ static int mask_select_linked_pick_invoke(bContext *C, wmOperator *op, const wmE
ARegion *ar = CTX_wm_region(C);
Mask *mask = CTX_data_edit_mask(C);
- MaskLayer *masklay;
+ MaskLayer *mask_layer;
MaskSpline *spline;
MaskSplinePoint *point = NULL;
float co[2];
@@ -788,12 +762,12 @@ static int mask_select_linked_pick_invoke(bContext *C, wmOperator *op, const wmE
ED_mask_mouse_pos(sa, ar, event->mval, co);
- point = ED_mask_point_find_nearest(C, mask, co, threshold, &masklay, &spline, NULL, NULL);
+ point = ED_mask_point_find_nearest(C, mask, co, threshold, &mask_layer, &spline, NULL, NULL);
if (point) {
ED_mask_spline_select_set(spline, do_select);
- masklay->act_spline = spline;
- masklay->act_point = point;
+ mask_layer->act_spline = spline;
+ mask_layer->act_point = point;
changed = true;
}
@@ -836,19 +810,16 @@ void MASK_OT_select_linked_pick(wmOperatorType *ot)
static int mask_select_linked_exec(bContext *C, wmOperator *UNUSED(op))
{
Mask *mask = CTX_data_edit_mask(C);
- MaskLayer *masklay;
bool changed = false;
/* do actual selection */
- for (masklay = mask->masklayers.first; masklay; masklay = masklay->next) {
- MaskSpline *spline;
-
- if (masklay->restrictflag & (MASK_RESTRICT_VIEW | MASK_RESTRICT_SELECT)) {
+ for (MaskLayer *mask_layer = mask->masklayers.first; mask_layer; mask_layer = mask_layer->next) {
+ if (mask_layer->restrictflag & (MASK_RESTRICT_VIEW | MASK_RESTRICT_SELECT)) {
continue;
}
- for (spline = masklay->splines.first; spline; spline = spline->next) {
+ for (MaskSpline *spline = mask_layer->splines.first; spline; spline = spline->next) {
if (ED_mask_spline_select_check(spline)) {
ED_mask_spline_select_set(spline, true);
changed = true;
@@ -892,16 +863,13 @@ void MASK_OT_select_linked(wmOperatorType *ot)
static int mask_select_more_less(bContext *C, bool more)
{
Mask *mask = CTX_data_edit_mask(C);
- MaskLayer *masklay;
-
- for (masklay = mask->masklayers.first; masklay; masklay = masklay->next) {
- MaskSpline *spline;
- if (masklay->restrictflag & (MASK_RESTRICT_VIEW | MASK_RESTRICT_SELECT)) {
+ for (MaskLayer *mask_layer = mask->masklayers.first; mask_layer; mask_layer = mask_layer->next) {
+ if (mask_layer->restrictflag & (MASK_RESTRICT_VIEW | MASK_RESTRICT_SELECT)) {
continue;
}
- for (spline = masklay->splines.first; spline; spline = spline->next) {
+ for (MaskSpline *spline = mask_layer->splines.first; spline; spline = spline->next) {
const bool cyclic = (spline->flag & MASK_SPLINE_CYCLIC) != 0;
bool start_sel, end_sel, prev_sel, cur_sel;
int i;
diff --git a/source/blender/editors/mask/mask_shapekey.c b/source/blender/editors/mask/mask_shapekey.c
index 1abe805192d..2300289fd3b 100644
--- a/source/blender/editors/mask/mask_shapekey.c
+++ b/source/blender/editors/mask/mask_shapekey.c
@@ -51,18 +51,17 @@ static int mask_shape_key_insert_exec(bContext *C, wmOperator *UNUSED(op))
Scene *scene = CTX_data_scene(C);
const int frame = CFRA;
Mask *mask = CTX_data_edit_mask(C);
- MaskLayer *masklay;
bool changed = false;
- for (masklay = mask->masklayers.first; masklay; masklay = masklay->next) {
- MaskLayerShape *masklay_shape;
+ for (MaskLayer *mask_layer = mask->masklayers.first; mask_layer; mask_layer = mask_layer->next) {
+ MaskLayerShape *mask_layer_shape;
- if (!ED_mask_layer_select_check(masklay)) {
+ if (!ED_mask_layer_select_check(mask_layer)) {
continue;
}
- masklay_shape = BKE_mask_layer_shape_verify_frame(masklay, frame);
- BKE_mask_layer_shape_from_mask(masklay, masklay_shape);
+ mask_layer_shape = BKE_mask_layer_shape_verify_frame(mask_layer, frame);
+ BKE_mask_layer_shape_from_mask(mask_layer, mask_layer_shape);
changed = true;
}
@@ -97,20 +96,19 @@ static int mask_shape_key_clear_exec(bContext *C, wmOperator *UNUSED(op))
Scene *scene = CTX_data_scene(C);
const int frame = CFRA;
Mask *mask = CTX_data_edit_mask(C);
- MaskLayer *masklay;
bool changed = false;
- for (masklay = mask->masklayers.first; masklay; masklay = masklay->next) {
- MaskLayerShape *masklay_shape;
+ for (MaskLayer *mask_layer = mask->masklayers.first; mask_layer; mask_layer = mask_layer->next) {
+ MaskLayerShape *mask_layer_shape;
- if (!ED_mask_layer_select_check(masklay)) {
+ if (!ED_mask_layer_select_check(mask_layer)) {
continue;
}
- masklay_shape = BKE_mask_layer_shape_find_frame(masklay, frame);
+ mask_layer_shape = BKE_mask_layer_shape_find_frame(mask_layer, frame);
- if (masklay_shape) {
- BKE_mask_layer_shape_unlink(masklay, masklay_shape);
+ if (mask_layer_shape) {
+ BKE_mask_layer_shape_unlink(mask_layer, mask_layer_shape);
changed = true;
}
}
@@ -146,39 +144,36 @@ static int mask_shape_key_feather_reset_exec(bContext *C, wmOperator *UNUSED(op)
Scene *scene = CTX_data_scene(C);
const int frame = CFRA;
Mask *mask = CTX_data_edit_mask(C);
- MaskLayer *masklay;
bool changed = false;
- for (masklay = mask->masklayers.first; masklay; masklay = masklay->next) {
+ for (MaskLayer *mask_layer = mask->masklayers.first; mask_layer; mask_layer = mask_layer->next) {
- if (masklay->restrictflag & (MASK_RESTRICT_VIEW | MASK_RESTRICT_SELECT)) {
+ if (mask_layer->restrictflag & (MASK_RESTRICT_VIEW | MASK_RESTRICT_SELECT)) {
continue;
}
- if (masklay->splines_shapes.first) {
- MaskLayerShape *masklay_shape_reset;
- MaskLayerShape *masklay_shape;
+ if (mask_layer->splines_shapes.first) {
+ MaskLayerShape *mask_layer_shape_reset;
+ MaskLayerShape *mask_layer_shape;
/* get the shapekey of the current state */
- masklay_shape_reset = BKE_mask_layer_shape_alloc(masklay, frame);
+ mask_layer_shape_reset = BKE_mask_layer_shape_alloc(mask_layer, frame);
/* initialize from mask - as if inseting a keyframe */
- BKE_mask_layer_shape_from_mask(masklay, masklay_shape_reset);
+ BKE_mask_layer_shape_from_mask(mask_layer, mask_layer_shape_reset);
- for (masklay_shape = masklay->splines_shapes.first; masklay_shape;
- masklay_shape = masklay_shape->next) {
+ for (mask_layer_shape = mask_layer->splines_shapes.first; mask_layer_shape;
+ mask_layer_shape = mask_layer_shape->next) {
- if (masklay_shape_reset->tot_vert == masklay_shape->tot_vert) {
+ if (mask_layer_shape_reset->tot_vert == mask_layer_shape->tot_vert) {
int i_abs = 0;
- int i;
- MaskSpline *spline;
MaskLayerShapeElem *shape_ele_src;
MaskLayerShapeElem *shape_ele_dst;
- shape_ele_src = (MaskLayerShapeElem *)masklay_shape_reset->data;
- shape_ele_dst = (MaskLayerShapeElem *)masklay_shape->data;
+ shape_ele_src = (MaskLayerShapeElem *)mask_layer_shape_reset->data;
+ shape_ele_dst = (MaskLayerShapeElem *)mask_layer_shape->data;
- for (spline = masklay->splines.first; spline; spline = spline->next) {
- for (i = 0; i < spline->tot_point; i++) {
+ for (MaskSpline *spline = mask_layer->splines.first; spline; spline = spline->next) {
+ for (int i = 0; i < spline->tot_point; i++) {
MaskSplinePoint *point = &spline->points[i];
if (MASKPOINT_ISSEL_ANY(point)) {
@@ -200,7 +195,7 @@ static int mask_shape_key_feather_reset_exec(bContext *C, wmOperator *UNUSED(op)
changed = true;
}
- BKE_mask_layer_shape_free(masklay_shape_reset);
+ BKE_mask_layer_shape_free(mask_layer_shape_reset);
}
}
@@ -243,98 +238,94 @@ static int mask_shape_key_rekey_exec(bContext *C, wmOperator *op)
Scene *scene = CTX_data_scene(C);
const int frame = CFRA;
Mask *mask = CTX_data_edit_mask(C);
- MaskLayer *masklay;
bool changed = false;
const bool do_feather = RNA_boolean_get(op->ptr, "feather");
const bool do_location = RNA_boolean_get(op->ptr, "location");
- for (masklay = mask->masklayers.first; masklay; masklay = masklay->next) {
-
- if (masklay->restrictflag & (MASK_RESTRICT_VIEW | MASK_RESTRICT_SELECT)) {
+ for (MaskLayer *mask_layer = mask->masklayers.first; mask_layer; mask_layer = mask_layer->next) {
+ if (mask_layer->restrictflag & (MASK_RESTRICT_VIEW | MASK_RESTRICT_SELECT)) {
continue;
}
/* we need at least one point selected here to bother re-interpolating */
- if (!ED_mask_layer_select_check(masklay)) {
+ if (!ED_mask_layer_select_check(mask_layer)) {
continue;
}
- if (masklay->splines_shapes.first) {
- MaskLayerShape *masklay_shape, *masklay_shape_next;
- MaskLayerShape *masklay_shape_lastsel = NULL;
+ if (mask_layer->splines_shapes.first) {
+ MaskLayerShape *mask_layer_shape, *mask_layer_shape_next;
+ MaskLayerShape *mask_layer_shape_lastsel = NULL;
- for (masklay_shape = masklay->splines_shapes.first; masklay_shape;
- masklay_shape = masklay_shape_next) {
- MaskLayerShape *masklay_shape_a = NULL;
- MaskLayerShape *masklay_shape_b = NULL;
+ for (mask_layer_shape = mask_layer->splines_shapes.first; mask_layer_shape;
+ mask_layer_shape = mask_layer_shape_next) {
+ MaskLayerShape *mask_layer_shape_a = NULL;
+ MaskLayerShape *mask_layer_shape_b = NULL;
- masklay_shape_next = masklay_shape->next;
+ mask_layer_shape_next = mask_layer_shape->next;
/* find contiguous selections */
- if (masklay_shape->flag & MASK_SHAPE_SELECT) {
- if (masklay_shape_lastsel == NULL) {
- masklay_shape_lastsel = masklay_shape;
+ if (mask_layer_shape->flag & MASK_SHAPE_SELECT) {
+ if (mask_layer_shape_lastsel == NULL) {
+ mask_layer_shape_lastsel = mask_layer_shape;
}
- if ((masklay_shape->next == NULL) ||
- (((MaskLayerShape *)masklay_shape->next)->flag & MASK_SHAPE_SELECT) == 0) {
- masklay_shape_a = masklay_shape_lastsel;
- masklay_shape_b = masklay_shape;
- masklay_shape_lastsel = NULL;
+ if ((mask_layer_shape->next == NULL) ||
+ (((MaskLayerShape *)mask_layer_shape->next)->flag & MASK_SHAPE_SELECT) == 0) {
+ mask_layer_shape_a = mask_layer_shape_lastsel;
+ mask_layer_shape_b = mask_layer_shape;
+ mask_layer_shape_lastsel = NULL;
/* this will be freed below, step over selection */
- masklay_shape_next = masklay_shape->next;
+ mask_layer_shape_next = mask_layer_shape->next;
}
}
/* we have a from<>to? - re-interpolate! */
- if (masklay_shape_a && masklay_shape_b) {
+ if (mask_layer_shape_a && mask_layer_shape_b) {
ListBase shapes_tmp = {NULL, NULL};
- MaskLayerShape *masklay_shape_tmp;
- MaskLayerShape *masklay_shape_tmp_next;
- MaskLayerShape *masklay_shape_tmp_last = masklay_shape_b->next;
- MaskLayerShape *masklay_shape_tmp_rekey;
+ MaskLayerShape *mask_layer_shape_tmp;
+ MaskLayerShape *mask_layer_shape_tmp_next;
+ MaskLayerShape *mask_layer_shape_tmp_last = mask_layer_shape_b->next;
+ MaskLayerShape *mask_layer_shape_tmp_rekey;
/* move keys */
- for (masklay_shape_tmp = masklay_shape_a;
- masklay_shape_tmp && (masklay_shape_tmp != masklay_shape_tmp_last);
- masklay_shape_tmp = masklay_shape_tmp_next) {
- masklay_shape_tmp_next = masklay_shape_tmp->next;
- BLI_remlink(&masklay->splines_shapes, masklay_shape_tmp);
- BLI_addtail(&shapes_tmp, masklay_shape_tmp);
+ for (mask_layer_shape_tmp = mask_layer_shape_a;
+ mask_layer_shape_tmp && (mask_layer_shape_tmp != mask_layer_shape_tmp_last);
+ mask_layer_shape_tmp = mask_layer_shape_tmp_next) {
+ mask_layer_shape_tmp_next = mask_layer_shape_tmp->next;
+ BLI_remlink(&mask_layer->splines_shapes, mask_layer_shape_tmp);
+ BLI_addtail(&shapes_tmp, mask_layer_shape_tmp);
}
/* re-key, note: cant modify the keys here since it messes uop */
- for (masklay_shape_tmp = shapes_tmp.first; masklay_shape_tmp;
- masklay_shape_tmp = masklay_shape_tmp->next) {
- BKE_mask_layer_evaluate(masklay, masklay_shape_tmp->frame, true);
- masklay_shape_tmp_rekey = BKE_mask_layer_shape_verify_frame(masklay,
- masklay_shape_tmp->frame);
- BKE_mask_layer_shape_from_mask(masklay, masklay_shape_tmp_rekey);
- masklay_shape_tmp_rekey->flag = masklay_shape_tmp->flag & MASK_SHAPE_SELECT;
+ for (mask_layer_shape_tmp = shapes_tmp.first; mask_layer_shape_tmp;
+ mask_layer_shape_tmp = mask_layer_shape_tmp->next) {
+ BKE_mask_layer_evaluate(mask_layer, mask_layer_shape_tmp->frame, true);
+ mask_layer_shape_tmp_rekey = BKE_mask_layer_shape_verify_frame(
+ mask_layer, mask_layer_shape_tmp->frame);
+ BKE_mask_layer_shape_from_mask(mask_layer, mask_layer_shape_tmp_rekey);
+ mask_layer_shape_tmp_rekey->flag = mask_layer_shape_tmp->flag & MASK_SHAPE_SELECT;
}
/* restore unselected points and free copies */
- for (masklay_shape_tmp = shapes_tmp.first; masklay_shape_tmp;
- masklay_shape_tmp = masklay_shape_tmp_next) {
+ for (mask_layer_shape_tmp = shapes_tmp.first; mask_layer_shape_tmp;
+ mask_layer_shape_tmp = mask_layer_shape_tmp_next) {
/* restore */
int i_abs = 0;
- int i;
- MaskSpline *spline;
MaskLayerShapeElem *shape_ele_src;
MaskLayerShapeElem *shape_ele_dst;
- masklay_shape_tmp_next = masklay_shape_tmp->next;
+ mask_layer_shape_tmp_next = mask_layer_shape_tmp->next;
/* we know this exists, added above */
- masklay_shape_tmp_rekey = BKE_mask_layer_shape_find_frame(masklay,
- masklay_shape_tmp->frame);
+ mask_layer_shape_tmp_rekey = BKE_mask_layer_shape_find_frame(
+ mask_layer, mask_layer_shape_tmp->frame);
- shape_ele_src = (MaskLayerShapeElem *)masklay_shape_tmp->data;
- shape_ele_dst = (MaskLayerShapeElem *)masklay_shape_tmp_rekey->data;
+ shape_ele_src = (MaskLayerShapeElem *)mask_layer_shape_tmp->data;
+ shape_ele_dst = (MaskLayerShapeElem *)mask_layer_shape_tmp_rekey->data;
- for (spline = masklay->splines.first; spline; spline = spline->next) {
- for (i = 0; i < spline->tot_point; i++) {
+ for (MaskSpline *spline = mask_layer->splines.first; spline; spline = spline->next) {
+ for (int i = 0; i < spline->tot_point; i++) {
MaskSplinePoint *point = &spline->points[i];
/* not especially efficient but makes this easier to follow */
@@ -356,7 +347,7 @@ static int mask_shape_key_rekey_exec(bContext *C, wmOperator *op)
}
}
- BKE_mask_layer_shape_free(masklay_shape_tmp);
+ BKE_mask_layer_shape_free(mask_layer_shape_tmp);
}
changed = true;
@@ -364,7 +355,7 @@ static int mask_shape_key_rekey_exec(bContext *C, wmOperator *op)
}
/* re-evaluate */
- BKE_mask_layer_evaluate(masklay, frame, true);
+ BKE_mask_layer_evaluate(mask_layer, frame, true);
}
}
@@ -401,21 +392,20 @@ void MASK_OT_shape_key_rekey(wmOperatorType *ot)
/* *** Shape Key Utils *** */
-void ED_mask_layer_shape_auto_key(MaskLayer *masklay, const int frame)
+void ED_mask_layer_shape_auto_key(MaskLayer *mask_layer, const int frame)
{
- MaskLayerShape *masklay_shape;
+ MaskLayerShape *mask_layer_shape;
- masklay_shape = BKE_mask_layer_shape_verify_frame(masklay, frame);
- BKE_mask_layer_shape_from_mask(masklay, masklay_shape);
+ mask_layer_shape = BKE_mask_layer_shape_verify_frame(mask_layer, frame);
+ BKE_mask_layer_shape_from_mask(mask_layer, mask_layer_shape);
}
bool ED_mask_layer_shape_auto_key_all(Mask *mask, const int frame)
{
- MaskLayer *masklay;
bool changed = false;
- for (masklay = mask->masklayers.first; masklay; masklay = masklay->next) {
- ED_mask_layer_shape_auto_key(masklay, frame);
+ for (MaskLayer *mask_layer = mask->masklayers.first; mask_layer; mask_layer = mask_layer->next) {
+ ED_mask_layer_shape_auto_key(mask_layer, frame);
changed = true;
}
@@ -424,16 +414,15 @@ bool ED_mask_layer_shape_auto_key_all(Mask *mask, const int frame)
bool ED_mask_layer_shape_auto_key_select(Mask *mask, const int frame)
{
- MaskLayer *masklay;
bool changed = false;
- for (masklay = mask->masklayers.first; masklay; masklay = masklay->next) {
+ for (MaskLayer *mask_layer = mask->masklayers.first; mask_layer; mask_layer = mask_layer->next) {
- if (!ED_mask_layer_select_check(masklay)) {
+ if (!ED_mask_layer_select_check(mask_layer)) {
continue;
}
- ED_mask_layer_shape_auto_key(masklay, frame);
+ ED_mask_layer_shape_auto_key(mask_layer, frame);
changed = true;
}
diff --git a/source/blender/editors/mesh/editmesh_bisect.c b/source/blender/editors/mesh/editmesh_bisect.c
index 283e147b77b..4a511bbb5a2 100644
--- a/source/blender/editors/mesh/editmesh_bisect.c
+++ b/source/blender/editors/mesh/editmesh_bisect.c
@@ -455,7 +455,7 @@ void MESH_OT_bisect(struct wmOperatorType *ot)
0.00001,
0.1);
- WM_operator_properties_gesture_straightline(ot, CURSOR_EDIT);
+ WM_operator_properties_gesture_straightline(ot, WM_CURSOR_EDIT);
#ifdef USE_GIZMO
WM_gizmogrouptype_append(MESH_GGT_bisect);
diff --git a/source/blender/editors/mesh/editmesh_extrude_spin.c b/source/blender/editors/mesh/editmesh_extrude_spin.c
index bf4403e49ee..7cad7e1e062 100644
--- a/source/blender/editors/mesh/editmesh_extrude_spin.c
+++ b/source/blender/editors/mesh/editmesh_extrude_spin.c
@@ -200,7 +200,10 @@ void MESH_OT_spin(wmOperatorType *ot)
/* props */
RNA_def_int(ot->srna, "steps", 9, 0, 1000000, "Steps", "Steps", 0, 1000);
- RNA_def_boolean(ot->srna, "dupli", 0, "Duplicate", "Make Duplicates");
+
+ prop = RNA_def_boolean(ot->srna, "dupli", 0, "Use Duplicates", "");
+ RNA_def_property_flag(prop, PROP_SKIP_SAVE);
+
prop = RNA_def_float(ot->srna,
"angle",
DEG2RADF(90.0f),
diff --git a/source/blender/editors/mesh/editmesh_extrude_spin_gizmo.c b/source/blender/editors/mesh/editmesh_extrude_spin_gizmo.c
index 7155348fed5..993898bddd5 100644
--- a/source/blender/editors/mesh/editmesh_extrude_spin_gizmo.c
+++ b/source/blender/editors/mesh/editmesh_extrude_spin_gizmo.c
@@ -522,7 +522,6 @@ typedef struct GizmoGroupData_SpinRedo {
PropertyRNA *prop_axis_no;
PropertyRNA *prop_angle;
- float rotate_axis[3];
#ifdef USE_ANGLE_Z_ORIENT
/* Apply 'orient_mat' for the final value. */
float orient_axis_relative[3];
diff --git a/source/blender/editors/mesh/editmesh_knife.c b/source/blender/editors/mesh/editmesh_knife.c
index db97da9c84f..395c614f328 100644
--- a/source/blender/editors/mesh/editmesh_knife.c
+++ b/source/blender/editors/mesh/editmesh_knife.c
@@ -2777,7 +2777,7 @@ static int knifetool_invoke(bContext *C, wmOperator *op, const wmEvent *event)
op->flag |= OP_IS_MODAL_CURSOR_REGION;
/* add a modal handler for this operator - handles loop selection */
- WM_cursor_modal_set(CTX_wm_window(C), BC_KNIFECURSOR);
+ WM_cursor_modal_set(CTX_wm_window(C), WM_CURSOR_KNIFE);
WM_event_add_modal_handler(C, op);
knifetool_update_mval_i(kcd, event->mval);
diff --git a/source/blender/editors/mesh/editmesh_loopcut.c b/source/blender/editors/mesh/editmesh_loopcut.c
index 3be94cf99c1..3c3e91e8afe 100644
--- a/source/blender/editors/mesh/editmesh_loopcut.c
+++ b/source/blender/editors/mesh/editmesh_loopcut.c
@@ -386,7 +386,6 @@ static int loopcut_init(bContext *C, wmOperator *op, const wmEvent *event)
bool ok = true;
if (is_interactive == false) {
if (exec_data.base_index >= bases_len) {
- return OPERATOR_CANCELLED;
ok = false;
}
else {
diff --git a/source/blender/editors/mesh/editmesh_mask_extract.c b/source/blender/editors/mesh/editmesh_mask_extract.c
index d066e9ecddc..25d3118b3a9 100644
--- a/source/blender/editors/mesh/editmesh_mask_extract.c
+++ b/source/blender/editors/mesh/editmesh_mask_extract.c
@@ -30,6 +30,7 @@
#include "BKE_context.h"
#include "BKE_editmesh.h"
#include "BKE_layer.h"
+#include "BKE_library.h"
#include "BKE_mesh.h"
#include "BKE_modifier.h"
#include "BKE_paint.h"
@@ -101,16 +102,21 @@ static int paint_mask_extract_exec(bContext *C, wmOperator *op)
BMIter face_iter;
/* Delete all unmasked faces */
+ const int cd_vert_mask_offset = CustomData_get_offset(&bm->vdata, CD_PAINT_MASK);
+ BLI_assert(cd_vert_mask_offset != -1);
BM_mesh_elem_hflag_disable_all(bm, BM_VERT | BM_EDGE | BM_FACE, BM_ELEM_TAG, false);
float mask_threshold = RNA_float_get(op->ptr, "mask_threshold");
BM_ITER_MESH (f, &iter, bm, BM_FACES_OF_MESH) {
- bool delete_face = false;
+ bool keep_face = true;
BM_ITER_ELEM (v, &face_iter, f, BM_VERTS_OF_FACE) {
- float mask = BM_elem_float_data_get(&bm->vdata, v, CD_PAINT_MASK);
- delete_face = mask < mask_threshold;
+ const float mask = BM_ELEM_CD_GET_FLOAT(v, cd_vert_mask_offset);
+ if (mask < mask_threshold) {
+ keep_face = false;
+ break;
+ }
}
- BM_elem_flag_set(f, BM_ELEM_TAG, delete_face);
+ BM_elem_flag_set(f, BM_ELEM_TAG, !keep_face);
}
BM_mesh_delete_hflag_context(bm, BM_ELEM_TAG, DEL_FACES);
@@ -173,19 +179,19 @@ static int paint_mask_extract_exec(bContext *C, wmOperator *op)
}
BM_mesh_elem_hflag_disable_all(bm, BM_VERT | BM_EDGE | BM_FACE, BM_ELEM_SELECT, false);
- BKE_editmesh_free_derivedmesh(em);
- BKE_mesh_free(new_mesh);
+ BKE_id_free(bmain, new_mesh);
new_mesh = BKE_mesh_from_bmesh_nomain(bm,
(&(struct BMeshToMeshParams){
.calc_object_remap = false,
}),
mesh);
- BM_mesh_free(bm);
+ BKE_editmesh_free(em);
+ MEM_freeN(em);
if (new_mesh->totvert == 0) {
- BKE_mesh_free(new_mesh);
+ BKE_id_free(bmain, new_mesh);
return OPERATOR_FINISHED;
}
@@ -196,8 +202,6 @@ static int paint_mask_extract_exec(bContext *C, wmOperator *op)
Object *new_ob = ED_object_add_type(C, OB_MESH, NULL, ob->loc, ob->rot, false, local_view_bits);
BKE_mesh_nomain_to_mesh(new_mesh, new_ob->data, new_ob, &CD_MASK_EVERYTHING, true);
- BKE_mesh_free(new_mesh);
-
if (RNA_boolean_get(op->ptr, "apply_shrinkwrap")) {
BKE_shrinkwrap_mesh_nearest_surface_deform(C, new_ob, ob);
}
@@ -212,6 +216,8 @@ static int paint_mask_extract_exec(bContext *C, wmOperator *op)
}
}
+ BKE_mesh_calc_normals(new_ob->data);
+
WM_event_add_notifier(C, NC_OBJECT | ND_MODIFIER, new_ob);
BKE_mesh_batch_cache_dirty_tag(new_ob->data, BKE_MESH_BATCH_DIRTY_ALL);
DEG_relations_tag_update(bmain);
diff --git a/source/blender/editors/mesh/editmesh_polybuild.c b/source/blender/editors/mesh/editmesh_polybuild.c
index 21c850160dd..a91f0f9274e 100644
--- a/source/blender/editors/mesh/editmesh_polybuild.c
+++ b/source/blender/editors/mesh/editmesh_polybuild.c
@@ -216,7 +216,7 @@ static int edbm_polybuild_delete_at_cursor_invoke(bContext *C,
}
if (ele_act->head.htype == BM_VERT) {
BMVert *v_act = (BMVert *)ele_act;
- if (BM_vert_is_edge_pair(v_act)) {
+ if (BM_vert_is_edge_pair(v_act) && !BM_vert_is_wire(v_act)) {
BM_edge_collapse(bm, v_act->e, v_act, true, true);
changed = true;
}
diff --git a/source/blender/editors/mesh/editmesh_tools.c b/source/blender/editors/mesh/editmesh_tools.c
index e5023068100..a1232347516 100644
--- a/source/blender/editors/mesh/editmesh_tools.c
+++ b/source/blender/editors/mesh/editmesh_tools.c
@@ -3161,7 +3161,7 @@ static int edbm_remove_doubles_exec(bContext *C, wmOperator *op)
}
MEM_freeN(objects);
- BKE_reportf(op->reports, RPT_INFO, "Removed %d vertices", count_multi);
+ BKE_reportf(op->reports, RPT_INFO, "Removed %d vertice(s)", count_multi);
return OPERATOR_FINISHED;
}
@@ -3872,7 +3872,7 @@ void MESH_OT_knife_cut(wmOperatorType *ot)
/* internal */
RNA_def_int(
- ot->srna, "cursor", BC_KNIFECURSOR, 0, BC_NUMCURSORS, "Cursor", "", 0, BC_NUMCURSORS);
+ ot->srna, "cursor", WM_CURSOR_KNIFE, 0, WM_CURSOR_NUM, "Cursor", "", 0, WM_CURSOR_NUM);
}
/** \} */
@@ -3887,6 +3887,7 @@ enum {
MESH_SEPARATE_LOOSE = 2,
};
+/** TODO: Use #mesh_separate_arrays since it's more efficient. */
static Base *mesh_separate_tagged(
Main *bmain, Scene *scene, ViewLayer *view_layer, Base *base_old, BMesh *bm_old)
{
@@ -3946,6 +3947,61 @@ static Base *mesh_separate_tagged(
return base_new;
}
+static Base *mesh_separate_arrays(Main *bmain,
+ Scene *scene,
+ ViewLayer *view_layer,
+ Base *base_old,
+ BMesh *bm_old,
+ BMVert **verts,
+ uint verts_len,
+ BMEdge **edges,
+ uint edges_len,
+ BMFace **faces,
+ uint faces_len)
+{
+ Base *base_new;
+ Object *obedit = base_old->object;
+ BMesh *bm_new;
+
+ bm_new = BM_mesh_create(&bm_mesh_allocsize_default,
+ &((struct BMeshCreateParams){
+ .use_toolflags = true,
+ }));
+
+ CustomData_copy(&bm_old->vdata, &bm_new->vdata, CD_MASK_BMESH.vmask, CD_CALLOC, 0);
+ CustomData_copy(&bm_old->edata, &bm_new->edata, CD_MASK_BMESH.emask, CD_CALLOC, 0);
+ CustomData_copy(&bm_old->ldata, &bm_new->ldata, CD_MASK_BMESH.lmask, CD_CALLOC, 0);
+ CustomData_copy(&bm_old->pdata, &bm_new->pdata, CD_MASK_BMESH.pmask, CD_CALLOC, 0);
+
+ CustomData_bmesh_init_pool(&bm_new->vdata, verts_len, BM_VERT);
+ CustomData_bmesh_init_pool(&bm_new->edata, edges_len, BM_EDGE);
+ CustomData_bmesh_init_pool(&bm_new->ldata, faces_len * 3, BM_LOOP);
+ CustomData_bmesh_init_pool(&bm_new->pdata, faces_len, BM_FACE);
+
+ base_new = ED_object_add_duplicate(bmain, scene, view_layer, base_old, USER_DUP_MESH);
+
+ /* normally would call directly after but in this case delay recalc */
+ /* DAG_relations_tag_update(bmain); */
+
+ /* new in 2.5 */
+ assign_matarar(bmain, base_new->object, give_matarar(obedit), *give_totcolp(obedit));
+
+ ED_object_base_select(base_new, BA_SELECT);
+
+ BM_mesh_copy_arrays(bm_old, bm_new, verts, verts_len, edges, edges_len, faces, faces_len);
+
+ for (uint i = 0; i < verts_len; i++) {
+ BM_vert_kill(bm_old, verts[i]);
+ }
+
+ BM_mesh_bm_to_me(bmain, bm_new, base_new->object->data, (&(struct BMeshToMeshParams){0}));
+
+ BM_mesh_free(bm_new);
+ ((Mesh *)base_new->object->data)->edit_mesh = NULL;
+
+ return base_new;
+}
+
static bool mesh_separate_selected(
Main *bmain, Scene *scene, ViewLayer *view_layer, Base *base_old, BMesh *bm_old)
{
@@ -3959,41 +4015,6 @@ static bool mesh_separate_selected(
return (mesh_separate_tagged(bmain, scene, view_layer, base_old, bm_old) != NULL);
}
-/* flush a hflag to from verts to edges/faces */
-static void bm_mesh_hflag_flush_vert(BMesh *bm, const char hflag)
-{
- BMEdge *e;
- BMLoop *l_iter;
- BMLoop *l_first;
- BMFace *f;
-
- BMIter eiter;
- BMIter fiter;
-
- bool ok;
-
- BM_ITER_MESH (e, &eiter, bm, BM_EDGES_OF_MESH) {
- if (BM_elem_flag_test(e->v1, hflag) && BM_elem_flag_test(e->v2, hflag)) {
- BM_elem_flag_enable(e, hflag);
- }
- else {
- BM_elem_flag_disable(e, hflag);
- }
- }
- BM_ITER_MESH (f, &fiter, bm, BM_FACES_OF_MESH) {
- ok = true;
- l_iter = l_first = BM_FACE_FIRST_LOOP(f);
- do {
- if (!BM_elem_flag_test(l_iter->v, hflag)) {
- ok = false;
- break;
- }
- } while ((l_iter = l_iter->next) != l_first);
-
- BM_elem_flag_set(f, hflag, ok);
- }
-}
-
/**
* Sets an object to a single material. from one of its slots.
*
@@ -4109,72 +4130,62 @@ static bool mesh_separate_material(
static bool mesh_separate_loose(
Main *bmain, Scene *scene, ViewLayer *view_layer, Base *base_old, BMesh *bm_old)
{
- int i;
- BMEdge *e;
- BMVert *v_seed;
- BMWalker walker;
- bool result = false;
- int max_iter = bm_old->totvert;
-
- /* Clear all selected vertices */
- BM_mesh_elem_hflag_disable_all(bm_old, BM_VERT | BM_EDGE | BM_FACE, BM_ELEM_TAG, false);
+ /* Without this, we duplicate the object mode mesh for each loose part.
+ * This can get very slow especially for large meshes with many parts
+ * which would duplicate the mesh on entering edit-mode. */
+ const bool clear_object_data = true;
- /* A "while (true)" loop should work here as each iteration should
- * select and remove at least one vertex and when all vertices
- * are selected the loop will break out. But guard against bad
- * behavior by limiting iterations to the number of vertices in the
- * original mesh.*/
- for (i = 0; i < max_iter; i++) {
- int tot = 0;
- /* Get a seed vertex to start the walk */
- v_seed = BM_iter_at_index(bm_old, BM_VERTS_OF_MESH, NULL, 0);
-
- /* No vertices available, can't do anything */
- if (v_seed == NULL) {
- break;
- }
+ bool result = false;
- /* Select the seed explicitly, in case it has no edges */
- if (!BM_elem_flag_test(v_seed, BM_ELEM_TAG)) {
- BM_elem_flag_enable(v_seed, BM_ELEM_TAG);
- tot++;
- }
+ BMVert **vert_groups = MEM_mallocN(sizeof(*vert_groups) * bm_old->totvert, __func__);
+ BMEdge **edge_groups = MEM_mallocN(sizeof(*edge_groups) * bm_old->totedge, __func__);
+ BMFace **face_groups = MEM_mallocN(sizeof(*face_groups) * bm_old->totface, __func__);
+
+ int(*groups)[3] = NULL;
+ int groups_len = BM_mesh_calc_edge_groups_as_arrays(
+ bm_old, vert_groups, edge_groups, face_groups, &groups);
+ if (groups_len <= 1) {
+ goto finally;
+ }
+
+ if (clear_object_data) {
+ ED_mesh_geometry_clear(base_old->object->data);
+ }
+
+ /* Separate out all groups except the first. */
+ uint group_ofs[3] = {UNPACK3(groups[0])};
+ for (int i = 1; i < groups_len; i++) {
+ Base *base_new = mesh_separate_arrays(bmain,
+ scene,
+ view_layer,
+ base_old,
+ bm_old,
+ vert_groups + group_ofs[0],
+ groups[i][0],
+ edge_groups + group_ofs[1],
+ groups[i][1],
+ face_groups + group_ofs[2],
+ groups[i][2]);
+ result |= (base_new != NULL);
- /* Walk from the single vertex, selecting everything connected
- * to it */
- BMW_init(&walker,
- bm_old,
- BMW_VERT_SHELL,
- BMW_MASK_NOP,
- BMW_MASK_NOP,
- BMW_MASK_NOP,
- BMW_FLAG_NOP,
- BMW_NIL_LAY);
+ group_ofs[0] += groups[i][0];
+ group_ofs[1] += groups[i][1];
+ group_ofs[2] += groups[i][2];
+ }
- for (e = BMW_begin(&walker, v_seed); e; e = BMW_step(&walker)) {
- if (!BM_elem_flag_test(e->v1, BM_ELEM_TAG)) {
- BM_elem_flag_enable(e->v1, BM_ELEM_TAG);
- tot++;
- }
- if (!BM_elem_flag_test(e->v2, BM_ELEM_TAG)) {
- BM_elem_flag_enable(e->v2, BM_ELEM_TAG);
- tot++;
- }
- }
- BMW_end(&walker);
+ Mesh *me_old = base_old->object->data;
+ BM_mesh_elem_hflag_disable_all(bm_old, BM_VERT | BM_EDGE | BM_FACE, BM_ELEM_SELECT, false);
- if (bm_old->totvert == tot) {
- /* Every vertex selected, nothing to separate, work is done */
- break;
- }
+ if (clear_object_data) {
+ BM_mesh_bm_to_me(NULL, bm_old, me_old, (&(struct BMeshToMeshParams){0}));
+ }
- /* Flush the selection to get edge/face selections matching
- * the vertex selection */
- bm_mesh_hflag_flush_vert(bm_old, BM_ELEM_TAG);
+finally:
+ MEM_freeN(vert_groups);
+ MEM_freeN(edge_groups);
+ MEM_freeN(face_groups);
- /* Move selection into a separate object */
- result |= (mesh_separate_tagged(bmain, scene, view_layer, base_old, bm_old) != NULL);
- }
+ MEM_freeN(groups);
return result;
}
diff --git a/source/blender/editors/mesh/editmesh_undo.c b/source/blender/editors/mesh/editmesh_undo.c
index 7071258d8cf..44984251243 100644
--- a/source/blender/editors/mesh/editmesh_undo.c
+++ b/source/blender/editors/mesh/editmesh_undo.c
@@ -34,6 +34,7 @@
#include "BKE_context.h"
#include "BKE_key.h"
#include "BKE_layer.h"
+#include "BKE_main.h"
#include "BKE_mesh.h"
#include "BKE_editmesh.h"
#include "BKE_undo_system.h"
@@ -708,9 +709,7 @@ static bool mesh_undosys_poll(bContext *C)
return editmesh_object_from_context(C) != NULL;
}
-static bool mesh_undosys_step_encode(struct bContext *C,
- struct Main *UNUSED(bmain),
- UndoStep *us_p)
+static bool mesh_undosys_step_encode(struct bContext *C, struct Main *bmain, UndoStep *us_p)
{
MeshUndoStep *us = (MeshUndoStep *)us_p;
@@ -730,18 +729,20 @@ static bool mesh_undosys_step_encode(struct bContext *C,
elem->obedit_ref.ptr = ob;
Mesh *me = elem->obedit_ref.ptr->data;
+ BMEditMesh *em = me->edit_mesh;
undomesh_from_editmesh(&elem->data, me->edit_mesh, me->key);
+ em->needs_flush_to_id = 1;
us->step.data_size += elem->data.undo_size;
}
MEM_freeN(objects);
+
+ bmain->is_memfile_undo_flush_needed = true;
+
return true;
}
-static void mesh_undosys_step_decode(struct bContext *C,
- struct Main *UNUSED(bmain),
- UndoStep *us_p,
- int UNUSED(dir),
- bool UNUSED(is_final))
+static void mesh_undosys_step_decode(
+ struct bContext *C, struct Main *bmain, UndoStep *us_p, int UNUSED(dir), bool UNUSED(is_final))
{
MeshUndoStep *us = (MeshUndoStep *)us_p;
@@ -765,6 +766,7 @@ static void mesh_undosys_step_decode(struct bContext *C,
}
BMEditMesh *em = me->edit_mesh;
undomesh_to_editmesh(&elem->data, em, obedit->data);
+ em->needs_flush_to_id = 1;
DEG_id_tag_update(&obedit->id, ID_RECALC_GEOMETRY);
}
@@ -775,6 +777,8 @@ static void mesh_undosys_step_decode(struct bContext *C,
Scene *scene = CTX_data_scene(C);
scene->toolsettings->selectmode = us->elems[0].data.selectmode;
+ bmain->is_memfile_undo_flush_needed = true;
+
WM_event_add_notifier(C, NC_GEOM | ND_DATA, NULL);
}
diff --git a/source/blender/editors/mesh/mesh_data.c b/source/blender/editors/mesh/mesh_data.c
index 569994bead1..7007ff29401 100644
--- a/source/blender/editors/mesh/mesh_data.c
+++ b/source/blender/editors/mesh/mesh_data.c
@@ -880,14 +880,14 @@ void MESH_OT_customdata_custom_splitnormals_clear(wmOperatorType *ot)
void ED_mesh_update(Mesh *mesh, bContext *C, bool calc_edges, bool calc_edges_loose)
{
- if (calc_edges_loose && mesh->totedge) {
- BKE_mesh_calc_edges_loose(mesh);
- }
-
if (calc_edges || ((mesh->totpoly || mesh->totface) && mesh->totedge == 0)) {
BKE_mesh_calc_edges(mesh, calc_edges, true);
}
+ if (calc_edges_loose && mesh->totedge) {
+ BKE_mesh_calc_edges_loose(mesh);
+ }
+
/* Default state is not to have tessface's so make sure this is the case. */
BKE_mesh_tessface_clear(mesh);
@@ -1023,73 +1023,104 @@ static void mesh_add_polys(Mesh *mesh, int len)
mesh->totpoly = totpoly;
}
-static void mesh_remove_verts(Mesh *mesh, int len)
+/* -------------------------------------------------------------------- */
+/** \name Add Geometry
+ * \{ */
+
+void ED_mesh_verts_add(Mesh *mesh, ReportList *reports, int count)
{
- int totvert;
+ if (mesh->edit_mesh) {
+ BKE_report(reports, RPT_ERROR, "Cannot add vertices in edit mode");
+ return;
+ }
+ mesh_add_verts(mesh, count);
+}
- if (len == 0) {
+void ED_mesh_edges_add(Mesh *mesh, ReportList *reports, int count)
+{
+ if (mesh->edit_mesh) {
+ BKE_report(reports, RPT_ERROR, "Cannot add edges in edit mode");
+ return;
+ }
+ mesh_add_edges(mesh, count);
+}
+
+void ED_mesh_loops_add(Mesh *mesh, ReportList *reports, int count)
+{
+ if (mesh->edit_mesh) {
+ BKE_report(reports, RPT_ERROR, "Cannot add loops in edit mode");
return;
}
+ mesh_add_loops(mesh, count);
+}
- totvert = mesh->totvert - len;
- CustomData_free_elem(&mesh->vdata, totvert, len);
+void ED_mesh_polys_add(Mesh *mesh, ReportList *reports, int count)
+{
+ if (mesh->edit_mesh) {
+ BKE_report(reports, RPT_ERROR, "Cannot add polygons in edit mode");
+ return;
+ }
+ mesh_add_polys(mesh, count);
+}
- /* set final vertex list size */
+/** \} */
+
+/* -------------------------------------------------------------------- */
+/** \name Remove Geometry
+ * \{ */
+
+static void mesh_remove_verts(Mesh *mesh, int len)
+{
+ if (len == 0) {
+ return;
+ }
+ const int totvert = mesh->totvert - len;
+ CustomData_free_elem(&mesh->vdata, totvert, len);
mesh->totvert = totvert;
}
static void mesh_remove_edges(Mesh *mesh, int len)
{
- int totedge;
-
if (len == 0) {
return;
}
-
- totedge = mesh->totedge - len;
+ const int totedge = mesh->totedge - len;
CustomData_free_elem(&mesh->edata, totedge, len);
-
mesh->totedge = totedge;
}
-#if 0
-void ED_mesh_geometry_add(Mesh *mesh, ReportList *reports, int verts, int edges, int faces)
+static void mesh_remove_loops(Mesh *mesh, int len)
{
- if (mesh->edit_mesh) {
- BKE_report(reports, RPT_ERROR, "Cannot add geometry in edit mode");
+ if (len == 0) {
return;
}
-
- if (verts) {
- mesh_add_verts(mesh, verts);
- }
- if (edges) {
- mesh_add_edges(mesh, edges);
- }
- if (faces) {
- mesh_add_faces(mesh, faces);
- }
+ const int totloop = mesh->totloop - len;
+ CustomData_free_elem(&mesh->ldata, totloop, len);
+ mesh->totloop = totloop;
}
-#endif
-void ED_mesh_edges_add(Mesh *mesh, ReportList *reports, int count)
+static void mesh_remove_polys(Mesh *mesh, int len)
{
- if (mesh->edit_mesh) {
- BKE_report(reports, RPT_ERROR, "Cannot add edges in edit mode");
+ if (len == 0) {
return;
}
-
- mesh_add_edges(mesh, count);
+ const int totpoly = mesh->totpoly - len;
+ CustomData_free_elem(&mesh->pdata, totpoly, len);
+ mesh->totpoly = totpoly;
}
-void ED_mesh_vertices_add(Mesh *mesh, ReportList *reports, int count)
+void ED_mesh_verts_remove(Mesh *mesh, ReportList *reports, int count)
{
if (mesh->edit_mesh) {
- BKE_report(reports, RPT_ERROR, "Cannot add vertices in edit mode");
+ BKE_report(reports, RPT_ERROR, "Cannot remove vertices in edit mode");
+ return;
+ }
+ else if (count > mesh->totvert) {
+ BKE_report(reports, RPT_ERROR, "Cannot remove more vertices than the mesh contains");
return;
}
- mesh_add_verts(mesh, count);
+ mesh_remove_verts(mesh, count);
}
void ED_mesh_edges_remove(Mesh *mesh, ReportList *reports, int count)
@@ -1106,40 +1137,44 @@ void ED_mesh_edges_remove(Mesh *mesh, ReportList *reports, int count)
mesh_remove_edges(mesh, count);
}
-void ED_mesh_vertices_remove(Mesh *mesh, ReportList *reports, int count)
+void ED_mesh_loops_remove(Mesh *mesh, ReportList *reports, int count)
{
if (mesh->edit_mesh) {
- BKE_report(reports, RPT_ERROR, "Cannot remove vertices in edit mode");
+ BKE_report(reports, RPT_ERROR, "Cannot remove loops in edit mode");
return;
}
- else if (count > mesh->totvert) {
- BKE_report(reports, RPT_ERROR, "Cannot remove more vertices than the mesh contains");
+ else if (count > mesh->totloop) {
+ BKE_report(reports, RPT_ERROR, "Cannot remove more loops than the mesh contains");
return;
}
- mesh_remove_verts(mesh, count);
+ mesh_remove_loops(mesh, count);
}
-void ED_mesh_loops_add(Mesh *mesh, ReportList *reports, int count)
+void ED_mesh_polys_remove(Mesh *mesh, ReportList *reports, int count)
{
if (mesh->edit_mesh) {
- BKE_report(reports, RPT_ERROR, "Cannot add loops in edit mode");
+ BKE_report(reports, RPT_ERROR, "Cannot remove polys in edit mode");
+ return;
+ }
+ else if (count > mesh->totpoly) {
+ BKE_report(reports, RPT_ERROR, "Cannot remove more polys than the mesh contains");
return;
}
- mesh_add_loops(mesh, count);
+ mesh_remove_polys(mesh, count);
}
-void ED_mesh_polys_add(Mesh *mesh, ReportList *reports, int count)
+void ED_mesh_geometry_clear(Mesh *mesh)
{
- if (mesh->edit_mesh) {
- BKE_report(reports, RPT_ERROR, "Cannot add polygons in edit mode");
- return;
- }
-
- mesh_add_polys(mesh, count);
+ mesh_remove_verts(mesh, mesh->totvert);
+ mesh_remove_edges(mesh, mesh->totedge);
+ mesh_remove_loops(mesh, mesh->totloop);
+ mesh_remove_polys(mesh, mesh->totpoly);
}
+/** \} */
+
void ED_mesh_report_mirror_ex(wmOperator *op, int totmirr, int totfail, char selectmode)
{
const char *elem_type;
diff --git a/source/blender/editors/metaball/editmball_undo.c b/source/blender/editors/metaball/editmball_undo.c
index 9a95560ccdd..e8700e94e91 100644
--- a/source/blender/editors/metaball/editmball_undo.c
+++ b/source/blender/editors/metaball/editmball_undo.c
@@ -35,6 +35,7 @@
#include "BKE_context.h"
#include "BKE_layer.h"
+#include "BKE_main.h"
#include "BKE_undo_system.h"
#include "DEG_depsgraph.h"
@@ -153,9 +154,7 @@ static bool mball_undosys_poll(bContext *C)
return editmball_object_from_context(C) != NULL;
}
-static bool mball_undosys_step_encode(struct bContext *C,
- struct Main *UNUSED(bmain),
- UndoStep *us_p)
+static bool mball_undosys_step_encode(struct bContext *C, struct Main *bmain, UndoStep *us_p)
{
MBallUndoStep *us = (MBallUndoStep *)us_p;
@@ -176,17 +175,18 @@ static bool mball_undosys_step_encode(struct bContext *C,
elem->obedit_ref.ptr = ob;
MetaBall *mb = ob->data;
editmball_from_undomball(&elem->data, mb);
+ mb->needs_flush_to_id = 1;
us->step.data_size += elem->data.undo_size;
}
MEM_freeN(objects);
+
+ bmain->is_memfile_undo_flush_needed = true;
+
return true;
}
-static void mball_undosys_step_decode(struct bContext *C,
- struct Main *UNUSED(bmain),
- UndoStep *us_p,
- int UNUSED(dir),
- bool UNUSED(is_final))
+static void mball_undosys_step_decode(
+ struct bContext *C, struct Main *bmain, UndoStep *us_p, int UNUSED(dir), bool UNUSED(is_final))
{
MBallUndoStep *us = (MBallUndoStep *)us_p;
@@ -209,6 +209,7 @@ static void mball_undosys_step_decode(struct bContext *C,
continue;
}
undomball_to_editmball(&elem->data, mb);
+ mb->needs_flush_to_id = 1;
DEG_id_tag_update(&obedit->id, ID_RECALC_GEOMETRY);
}
@@ -216,6 +217,8 @@ static void mball_undosys_step_decode(struct bContext *C,
ED_undo_object_set_active_or_warn(
CTX_data_view_layer(C), us->elems[0].obedit_ref.ptr, us_p->name, &LOG);
+ bmain->is_memfile_undo_flush_needed = true;
+
WM_event_add_notifier(C, NC_GEOM | ND_DATA, NULL);
}
diff --git a/source/blender/editors/object/object_add.c b/source/blender/editors/object/object_add.c
index 52618ba4dfc..bdb23c5ce6f 100644
--- a/source/blender/editors/object/object_add.c
+++ b/source/blender/editors/object/object_add.c
@@ -1030,7 +1030,7 @@ static int empty_drop_named_image_invoke(bContext *C, wmOperator *op, const wmEv
return OPERATOR_CANCELLED;
}
/* handled below */
- id_us_min((ID *)ima);
+ id_us_min(&ima->id);
Object *ob = NULL;
Object *ob_cursor = ED_view3d_give_object_under_cursor(C, event->mval);
@@ -2145,6 +2145,7 @@ static int convert_exec(bContext *C, wmOperator *op)
const short target = RNA_enum_get(op->ptr, "target");
bool keep_original = RNA_boolean_get(op->ptr, "keep_original");
int a, mballConverted = 0;
+ bool gpencilConverted = false;
/* don't forget multiple users! */
@@ -2385,20 +2386,20 @@ static int convert_exec(bContext *C, wmOperator *op)
}
else if (target == OB_GPENCIL) {
if (ob->type != OB_CURVE) {
+ ob->flag &= ~OB_DONE;
BKE_report(
op->reports, RPT_ERROR, "Convert Surfaces to Grease Pencil is not supported.");
}
else {
- /* Create a new grease pencil object only if it was not created before.
- * All curves selected are converted as strokes of the same grease pencil object.
+ /* Create a new grease pencil object and copy transformations.
* Nurbs Surface are not supported.
*/
- if (gpencil_ob == NULL) {
- const float *cur = scene->cursor.location;
- ushort local_view_bits = (v3d && v3d->localvd) ? v3d->local_view_uuid : 0;
- gpencil_ob = ED_gpencil_add_object(C, scene, cur, local_view_bits);
- }
+ ushort local_view_bits = (v3d && v3d->localvd) ? v3d->local_view_uuid : 0;
+ gpencil_ob = ED_gpencil_add_object(C, scene, ob->loc, local_view_bits);
+ copy_v3_v3(gpencil_ob->rot, ob->rot);
+ copy_v3_v3(gpencil_ob->scale, ob->scale);
BKE_gpencil_convert_curve(bmain, scene, gpencil_ob, ob, false, false, true);
+ gpencilConverted = true;
}
}
}
@@ -2498,6 +2499,17 @@ static int convert_exec(bContext *C, wmOperator *op)
}
FOREACH_SCENE_OBJECT_END;
}
+ /* Remove curves converted to Grease Pencil object. */
+ if (gpencilConverted) {
+ FOREACH_SCENE_OBJECT_BEGIN (scene, ob_curve) {
+ if (ob_curve->type == OB_CURVE) {
+ if (ob_curve->flag & OB_DONE) {
+ ED_object_base_free_and_unlink(bmain, scene, ob_curve);
+ }
+ }
+ }
+ FOREACH_SCENE_OBJECT_END;
+ }
}
// XXX ED_object_editmode_enter(C, 0);
@@ -2576,7 +2588,7 @@ static Base *object_add_duplicate_internal(
DEG_id_tag_update(&obn->id, ID_RECALC_TRANSFORM | ID_RECALC_GEOMETRY);
base = BKE_view_layer_base_find(view_layer, ob);
- if ((base != NULL) && (base->flag & BASE_VISIBLE)) {
+ if ((base != NULL) && (base->flag & BASE_VISIBLE_DEPSGRAPH)) {
BKE_collection_object_add_from(bmain, scene, ob, obn);
}
else {
diff --git a/source/blender/editors/object/object_bake_api.c b/source/blender/editors/object/object_bake_api.c
index d9baec7c3ca..9e9cfe1beed 100644
--- a/source/blender/editors/object/object_bake_api.c
+++ b/source/blender/editors/object/object_bake_api.c
@@ -879,7 +879,7 @@ static int bake(Render *re,
else {
ob_cage_eval = DEG_get_evaluated_object(depsgraph, ob_cage);
ob_cage_eval->restrictflag |= OB_RESTRICT_RENDER;
- ob_cage_eval->base_flag &= ~(BASE_VISIBLE | BASE_ENABLED_RENDER);
+ ob_cage_eval->base_flag &= ~(BASE_VISIBLE_DEPSGRAPH | BASE_ENABLED_RENDER);
}
}
}
@@ -976,7 +976,7 @@ static int bake(Render *re,
highpoly[i].ob = ob_iter;
highpoly[i].ob_eval = DEG_get_evaluated_object(depsgraph, ob_iter);
highpoly[i].ob_eval->restrictflag &= ~OB_RESTRICT_RENDER;
- highpoly[i].ob_eval->base_flag |= (BASE_VISIBLE | BASE_ENABLED_RENDER);
+ highpoly[i].ob_eval->base_flag |= (BASE_VISIBLE_DEPSGRAPH | BASE_ENABLED_RENDER);
highpoly[i].me = BKE_mesh_new_from_object(NULL, highpoly[i].ob_eval, false);
/* lowpoly to highpoly transformation matrix */
@@ -992,10 +992,10 @@ static int bake(Render *re,
if (ob_cage != NULL) {
ob_cage_eval->restrictflag |= OB_RESTRICT_RENDER;
- ob_cage_eval->base_flag &= ~(BASE_VISIBLE | BASE_ENABLED_RENDER);
+ ob_cage_eval->base_flag &= ~(BASE_VISIBLE_DEPSGRAPH | BASE_ENABLED_RENDER);
}
ob_low_eval->restrictflag |= OB_RESTRICT_RENDER;
- ob_low_eval->base_flag &= ~(BASE_VISIBLE | BASE_ENABLED_RENDER);
+ ob_low_eval->base_flag &= ~(BASE_VISIBLE_DEPSGRAPH | BASE_ENABLED_RENDER);
/* populate the pixel arrays with the corresponding face data for each high poly object */
if (!RE_bake_pixels_populate_from_objects(me_low,
diff --git a/source/blender/editors/object/object_edit.c b/source/blender/editors/object/object_edit.c
index 4759a3cb0db..be815fb0d10 100644
--- a/source/blender/editors/object/object_edit.c
+++ b/source/blender/editors/object/object_edit.c
@@ -218,7 +218,7 @@ static int object_hide_view_set_exec(bContext *C, wmOperator *op)
/* Hide selected or unselected objects. */
for (Base *base = view_layer->object_bases.first; base; base = base->next) {
- if (!(base->flag & BASE_VISIBLE)) {
+ if (!(base->flag & BASE_VISIBLE_DEPSGRAPH)) {
continue;
}
@@ -292,7 +292,7 @@ static int object_hide_collection_exec(bContext *C, wmOperator *op)
DEG_id_tag_update(&scene->id, ID_RECALC_BASE_FLAGS);
if (v3d->flag & V3D_LOCAL_COLLECTIONS) {
- if ((lc->runtime_flag & LAYER_COLLECTION_VISIBLE) == 0) {
+ if (lc->runtime_flag & LAYER_COLLECTION_RESTRICT_VIEWPORT) {
return OPERATOR_CANCELLED;
}
if (toggle) {
@@ -300,11 +300,11 @@ static int object_hide_collection_exec(bContext *C, wmOperator *op)
BKE_layer_collection_local_sync(view_layer, v3d);
}
else {
- BKE_layer_collection_local_isolate(view_layer, v3d, lc, extend);
+ BKE_layer_collection_isolate_local(view_layer, v3d, lc, extend);
}
}
else {
- BKE_layer_collection_isolate(scene, view_layer, lc, extend);
+ BKE_layer_collection_isolate_global(scene, view_layer, lc, extend);
}
WM_event_add_notifier(C, NC_SCENE | ND_OB_SELECT, scene);
@@ -514,6 +514,11 @@ static bool ED_object_editmode_load_ex(Main *bmain, Object *obedit, const bool f
}
}
+ char *needs_flush_ptr = BKE_object_data_editmode_flush_ptr_get(obedit->data);
+ if (needs_flush_ptr) {
+ *needs_flush_ptr = false;
+ }
+
return true;
}
@@ -616,10 +621,13 @@ bool ED_object_editmode_enter_ex(Main *bmain, Scene *scene, Object *ob, int flag
WM_main_add_notifier(NC_SCENE | ND_MODE | NS_EDITMODE_MESH, NULL);
}
else if (ob->type == OB_ARMATURE) {
+ bArmature *arm = ob->data;
ok = 1;
- ED_armature_to_edit(ob->data);
+ ED_armature_to_edit(arm);
/* to ensure all goes in restposition and without striding */
+ arm->needs_flush_to_id = 0;
+
/* XXX: should this be ID_RECALC_GEOMETRY? */
DEG_id_tag_update(&ob->id, ID_RECALC_TRANSFORM | ID_RECALC_GEOMETRY | ID_RECALC_ANIMATION);
@@ -632,9 +640,13 @@ bool ED_object_editmode_enter_ex(Main *bmain, Scene *scene, Object *ob, int flag
WM_main_add_notifier(NC_SCENE | ND_MODE | NS_EDITMODE_TEXT, scene);
}
else if (ob->type == OB_MBALL) {
+ MetaBall *mb = ob->data;
+
ok = 1;
ED_mball_editmball_make(ob);
+ mb->needs_flush_to_id = 0;
+
WM_main_add_notifier(NC_SCENE | ND_MODE | NS_EDITMODE_MBALL, scene);
}
else if (ob->type == OB_LATTICE) {
@@ -1547,7 +1559,7 @@ static int move_to_collection_exec(bContext *C, wmOperator *op)
}
int collection_index = RNA_property_int_get(op->ptr, prop);
- collection = BKE_collection_from_index(CTX_data_scene(C), collection_index);
+ collection = BKE_collection_from_index(scene, collection_index);
if (collection == NULL) {
BKE_report(op->reports, RPT_ERROR, "Unexpected error, collection not found");
return OPERATOR_CANCELLED;
diff --git a/source/blender/editors/object/object_relations.c b/source/blender/editors/object/object_relations.c
index 10ed26fcf59..c030c551374 100644
--- a/source/blender/editors/object/object_relations.c
+++ b/source/blender/editors/object/object_relations.c
@@ -2050,6 +2050,13 @@ void ED_object_single_users(Main *bmain,
single_obdata_users(bmain, scene, NULL, NULL, 0);
single_object_action_users(bmain, scene, NULL, NULL, 0);
single_mat_users_expand(bmain);
+ /* Duplicating obdata and other IDs may require another update of the collections and objects
+ * pointers, especially regarding drivers and custom props, see T66641.
+ * Note that this whole scene duplication code and 'make single user' functions have te be
+ * rewritten at some point to make use of proper modern ID management code,
+ * but that is no small task.
+ * For now we are doomed to that kind of band-aid to try to cover most of remapping cases. */
+ libblock_relink_collection(scene->master_collection);
}
/* Relink nodetrees' pointers that have been duplicated. */
diff --git a/source/blender/editors/object/object_remesh.c b/source/blender/editors/object/object_remesh.c
index d4e7ee04da8..d3dca03548f 100644
--- a/source/blender/editors/object/object_remesh.c
+++ b/source/blender/editors/object/object_remesh.c
@@ -40,12 +40,17 @@
#include "BKE_context.h"
#include "BKE_global.h"
+#include "BKE_library.h"
#include "BKE_main.h"
#include "BKE_mesh.h"
+#include "BKE_mesh_runtime.h"
+#include "BKE_mirror.h"
+#include "BKE_modifier.h"
#include "BKE_object.h"
#include "BKE_paint.h"
#include "BKE_report.h"
#include "BKE_scene.h"
+#include "BKE_shrinkwrap.h"
#include "BKE_customdata.h"
#include "BKE_mesh_remesh_voxel.h"
@@ -87,6 +92,12 @@ static bool object_remesh_poll(bContext *C)
return false;
}
+ if (modifiers_usesMultires(ob)) {
+ CTX_wm_operator_poll_msg_set(
+ C, "The remesher cannot run with a Multires modifier in the modifier stack.");
+ return false;
+ }
+
return ED_operator_object_active_editable_mesh(C);
}
@@ -106,29 +117,35 @@ static int voxel_remesh_exec(bContext *C, wmOperator *op)
ED_sculpt_undo_geometry_begin(ob);
}
- new_mesh = BKE_mesh_remesh_voxel_to_mesh_nomain(mesh, mesh->remesh_voxel_size);
+ float isovalue = 0.0f;
+ if (mesh->flag & ME_REMESH_REPROJECT_VOLUME) {
+ isovalue = mesh->remesh_voxel_size * 0.3f;
+ }
+
+ new_mesh = BKE_mesh_remesh_voxel_to_mesh_nomain(
+ mesh, mesh->remesh_voxel_size, mesh->remesh_voxel_adaptivity, isovalue);
if (!new_mesh) {
return OPERATOR_CANCELLED;
}
- Mesh *obj_mesh_copy = NULL;
- if (mesh->flag & ME_REMESH_REPROJECT_PAINT_MASK) {
- obj_mesh_copy = BKE_mesh_new_nomain_from_template(mesh, mesh->totvert, 0, 0, 0, 0);
- CustomData_copy(
- &mesh->vdata, &obj_mesh_copy->vdata, CD_MASK_MESH.vmask, CD_DUPLICATE, mesh->totvert);
- for (int i = 0; i < mesh->totvert; i++) {
- copy_v3_v3(obj_mesh_copy->mvert[i].co, mesh->mvert[i].co);
- }
+ if (mesh->flag & ME_REMESH_FIX_POLES && mesh->remesh_voxel_adaptivity <= 0.0f) {
+ new_mesh = BKE_mesh_remesh_voxel_fix_poles(new_mesh);
+ BKE_mesh_calc_normals(new_mesh);
}
- BKE_mesh_nomain_to_mesh(new_mesh, mesh, ob, &CD_MASK_MESH, true);
+ if (mesh->flag & ME_REMESH_REPROJECT_VOLUME) {
+ BKE_mesh_runtime_clear_geometry(mesh);
+ BKE_shrinkwrap_remesh_target_project(new_mesh, mesh, ob);
+ }
if (mesh->flag & ME_REMESH_REPROJECT_PAINT_MASK) {
- BKE_remesh_reproject_paint_mask(mesh, obj_mesh_copy);
- BKE_mesh_free(obj_mesh_copy);
+ BKE_mesh_runtime_clear_geometry(mesh);
+ BKE_remesh_reproject_paint_mask(new_mesh, mesh);
}
+ BKE_mesh_nomain_to_mesh(new_mesh, mesh, ob, &CD_MASK_MESH, true);
+
if (mesh->flag & ME_REMESH_SMOOTH_NORMALS) {
BKE_mesh_smooth_flag_set(ob->data, true);
}
@@ -168,14 +185,26 @@ enum {
/****************** quadriflow remesh operator *********************/
+#define QUADRIFLOW_MIRROR_BISECT_TOLERANCE 0.005f
+
+typedef enum eSymmetryAxes {
+ SYMMETRY_AXES_X = (1 << 0),
+ SYMMETRY_AXES_Y = (1 << 1),
+ SYMMETRY_AXES_Z = (1 << 2),
+} eSymmetryAxes;
+
typedef struct QuadriFlowJob {
/* from wmJob */
struct Object *owner;
+ struct Main *bmain;
short *stop, *do_update;
float *progress;
int target_faces;
int seed;
+ bool use_paint_symmetry;
+ eSymmetryAxes symmetry_axes;
+
bool use_preserve_sharp;
bool use_preserve_boundary;
bool use_mesh_curvature;
@@ -186,6 +215,57 @@ typedef struct QuadriFlowJob {
int success;
} QuadriFlowJob;
+static bool mesh_is_manifold_consistent(Mesh *mesh)
+{
+ /* In this check we count boundary edges as manifold. Additionally, we also
+ * check that the direction of the faces are consistent and doesn't suddenly
+ * flip
+ */
+
+ bool is_manifold_consistent = true;
+ const MLoop *mloop = mesh->mloop;
+ char *edge_faces = (char *)MEM_callocN(mesh->totedge * sizeof(char), "remesh_manifold_check");
+ int *edge_vert = (int *)MEM_malloc_arrayN(
+ mesh->totedge, sizeof(unsigned int), "remesh_consistent_check");
+
+ for (unsigned int i = 0; i < mesh->totedge; i++) {
+ edge_vert[i] = -1;
+ }
+
+ for (unsigned int loop_idx = 0; loop_idx < mesh->totloop; loop_idx++) {
+ const MLoop *loop = &mloop[loop_idx];
+ edge_faces[loop->e] += 1;
+ if (edge_faces[loop->e] > 2) {
+ is_manifold_consistent = false;
+ break;
+ }
+
+ if (edge_vert[loop->e] == -1) {
+ edge_vert[loop->e] = loop->v;
+ }
+ else if (edge_vert[loop->e] == loop->v) {
+ /* Mesh has flips in the surface so it is non consistent */
+ is_manifold_consistent = false;
+ break;
+ }
+ }
+
+ if (is_manifold_consistent) {
+ /* check for wire edges */
+ for (unsigned int i = 0; i < mesh->totedge; i++) {
+ if (edge_faces[i] == 0) {
+ is_manifold_consistent = false;
+ break;
+ }
+ }
+ }
+
+ MEM_freeN(edge_faces);
+ MEM_freeN(edge_vert);
+
+ return is_manifold_consistent;
+}
+
static void quadriflow_free_job(void *customdata)
{
QuadriFlowJob *qj = customdata;
@@ -226,6 +306,66 @@ static void quadriflow_update_job(void *customdata, float progress, int *cancel)
*(qj->progress) = progress;
}
+static Mesh *remesh_symmetry_bisect(Main *bmain, Mesh *mesh, eSymmetryAxes symmetry_axes)
+{
+ MirrorModifierData mmd = {0};
+ mmd.tolerance = QUADRIFLOW_MIRROR_BISECT_TOLERANCE;
+
+ Mesh *mesh_bisect, *mesh_bisect_temp;
+ mesh_bisect = BKE_mesh_copy(bmain, mesh);
+
+ int axis;
+ float plane_co[3], plane_no[3];
+ zero_v3(plane_co);
+
+ for (char i = 0; i < 3; i++) {
+ eSymmetryAxes symm_it = (eSymmetryAxes)(1 << i);
+ if (symmetry_axes & symm_it) {
+ axis = i;
+ mmd.flag = 0;
+ mmd.flag &= MOD_MIR_BISECT_AXIS_X << i;
+ zero_v3(plane_no);
+ plane_no[axis] = -1.0f;
+ mesh_bisect_temp = mesh_bisect;
+ mesh_bisect = BKE_mirror_bisect_on_mirror_plane(&mmd, mesh_bisect, axis, plane_co, plane_no);
+ if (mesh_bisect_temp != mesh_bisect) {
+ BKE_id_free(bmain, mesh_bisect_temp);
+ }
+ }
+ }
+
+ BKE_id_free(bmain, mesh);
+
+ return mesh_bisect;
+}
+
+static Mesh *remesh_symmetry_mirror(Object *ob, Mesh *mesh, eSymmetryAxes symmetry_axes)
+{
+ MirrorModifierData mmd = {0};
+ mmd.tolerance = QUADRIFLOW_MIRROR_BISECT_TOLERANCE;
+ Mesh *mesh_mirror, *mesh_mirror_temp;
+
+ mesh_mirror = mesh;
+
+ int axis;
+
+ for (char i = 0; i < 3; i++) {
+ eSymmetryAxes symm_it = (eSymmetryAxes)(1 << i);
+ if (symmetry_axes & symm_it) {
+ axis = i;
+ mmd.flag = 0;
+ mmd.flag &= MOD_MIR_AXIS_X << i;
+ mesh_mirror_temp = mesh_mirror;
+ mesh_mirror = BKE_mirror_apply_mirror_on_axis(&mmd, NULL, ob, mesh_mirror, axis);
+ if (mesh_mirror_temp != mesh_mirror) {
+ BKE_id_free(NULL, mesh_mirror_temp);
+ }
+ }
+ }
+
+ return mesh_mirror;
+}
+
static void quadriflow_start_job(void *customdata, short *stop, short *do_update, float *progress)
{
QuadriFlowJob *qj = customdata;
@@ -240,17 +380,34 @@ static void quadriflow_start_job(void *customdata, short *stop, short *do_update
Object *ob = qj->owner;
Mesh *mesh = ob->data;
Mesh *new_mesh;
+ Mesh *bisect_mesh;
- new_mesh = BKE_mesh_remesh_quadriflow_to_mesh_nomain(mesh,
+ /* Check if the mesh is manifold. Quadriflow requires manifold meshes */
+ if (!mesh_is_manifold_consistent(mesh)) {
+ qj->success = -2;
+ return;
+ }
+
+ /* Run Quadriflow bisect operations on a copy of the mesh to keep the code readable without
+ * freeing the original ID */
+ bisect_mesh = BKE_mesh_copy(qj->bmain, mesh);
+
+ /* Bisect the input mesh using the paint symmetry settings */
+ bisect_mesh = remesh_symmetry_bisect(qj->bmain, bisect_mesh, qj->symmetry_axes);
+
+ new_mesh = BKE_mesh_remesh_quadriflow_to_mesh_nomain(bisect_mesh,
qj->target_faces,
qj->seed,
qj->use_preserve_sharp,
- qj->use_preserve_boundary,
+ qj->use_preserve_boundary ||
+ qj->use_paint_symmetry,
qj->use_mesh_curvature,
quadriflow_update_job,
(void *)qj);
- if (!new_mesh) {
+ BKE_id_free(qj->bmain, bisect_mesh);
+
+ if (new_mesh == NULL) {
*do_update = true;
*stop = 0;
if (qj->success == 1) {
@@ -260,28 +417,24 @@ static void quadriflow_start_job(void *customdata, short *stop, short *do_update
return;
}
+ /* Mirror the Quadriflow result to build the final mesh */
+ new_mesh = remesh_symmetry_mirror(qj->owner, new_mesh, qj->symmetry_axes);
+
if (ob->mode == OB_MODE_SCULPT) {
ED_sculpt_undo_geometry_begin(ob);
}
- Mesh *obj_mesh_copy = NULL;
if (qj->preserve_paint_mask) {
- obj_mesh_copy = BKE_mesh_new_nomain_from_template(mesh, mesh->totvert, 0, 0, 0, 0);
- CustomData_copy(
- &mesh->vdata, &obj_mesh_copy->vdata, CD_MASK_MESH.vmask, CD_DUPLICATE, mesh->totvert);
- for (int i = 0; i < mesh->totvert; i++) {
- copy_v3_v3(obj_mesh_copy->mvert[i].co, mesh->mvert[i].co);
- }
+ BKE_mesh_runtime_clear_geometry(mesh);
+ BKE_remesh_reproject_paint_mask(new_mesh, mesh);
}
BKE_mesh_nomain_to_mesh(new_mesh, mesh, ob, &CD_MASK_MESH, true);
- if (qj->preserve_paint_mask) {
- BKE_remesh_reproject_paint_mask(mesh, obj_mesh_copy);
- BKE_mesh_free(obj_mesh_copy);
- }
-
if (qj->smooth_normals) {
+ if (qj->use_paint_symmetry) {
+ BKE_mesh_calc_normals(ob->data);
+ }
BKE_mesh_smooth_flag_set(ob->data, true);
}
@@ -303,17 +456,22 @@ static void quadriflow_end_job(void *customdata)
WM_set_locked_interface(G_MAIN->wm.first, false);
- if (qj->success > 0) {
- DEG_id_tag_update(&ob->id, ID_RECALC_GEOMETRY);
- WM_reportf(RPT_INFO, "QuadriFlow: Completed remeshing!");
- }
- else {
- if (qj->success == 0) {
+ switch (qj->success) {
+ case 1:
+ DEG_id_tag_update(&ob->id, ID_RECALC_GEOMETRY);
+ WM_reportf(RPT_INFO, "QuadriFlow: Completed remeshing!");
+ break;
+ case 0:
WM_reportf(RPT_ERROR, "QuadriFlow: remeshing failed!");
- }
- else {
+ break;
+ case -1:
WM_report(RPT_WARNING, "QuadriFlow: remeshing canceled!");
- }
+ break;
+ case -2:
+ WM_report(RPT_WARNING,
+ "QuadriFlow: The mesh needs to be manifold and have face normals that point in a "
+ "consistent direction.");
+ break;
}
}
@@ -322,10 +480,13 @@ static int quadriflow_remesh_exec(bContext *C, wmOperator *op)
QuadriFlowJob *job = MEM_mallocN(sizeof(QuadriFlowJob), "QuadriFlowJob");
job->owner = CTX_data_active_object(C);
+ job->bmain = CTX_data_main(C);
job->target_faces = RNA_int_get(op->ptr, "target_faces");
job->seed = RNA_int_get(op->ptr, "seed");
+ job->use_paint_symmetry = RNA_boolean_get(op->ptr, "use_paint_symmetry");
+
job->use_preserve_sharp = RNA_boolean_get(op->ptr, "use_preserve_sharp");
job->use_preserve_boundary = RNA_boolean_get(op->ptr, "use_preserve_boundary");
@@ -334,6 +495,22 @@ static int quadriflow_remesh_exec(bContext *C, wmOperator *op)
job->preserve_paint_mask = RNA_boolean_get(op->ptr, "preserve_paint_mask");
job->smooth_normals = RNA_boolean_get(op->ptr, "smooth_normals");
+ /* Update the target face count if symmetry is enabled */
+ Sculpt *sd = CTX_data_tool_settings(C)->sculpt;
+ if (sd && job->use_paint_symmetry) {
+ job->symmetry_axes = (eSymmetryAxes)(sd->paint.symmetry_flags & PAINT_SYMM_AXIS_ALL);
+ for (char i = 0; i < 3; i++) {
+ eSymmetryAxes symm_it = (eSymmetryAxes)(1 << i);
+ if (job->symmetry_axes & symm_it) {
+ job->target_faces = job->target_faces / 2;
+ }
+ }
+ }
+ else {
+ job->use_paint_symmetry = false;
+ job->symmetry_axes = 0;
+ }
+
wmJob *wm_job = WM_jobs_get(CTX_wm_manager(C),
CTX_wm_window(C),
CTX_data_scene(C),
@@ -458,6 +635,12 @@ void OBJECT_OT_quadriflow_remesh(wmOperatorType *ot)
/* properties */
RNA_def_boolean(ot->srna,
+ "use_paint_symmetry",
+ true,
+ "Use Paint Symmetry",
+ "Generates a symmetrycal mesh using the paint symmetry configuration");
+
+ RNA_def_boolean(ot->srna,
"use_preserve_sharp",
false,
"Preserve Sharp",
@@ -490,7 +673,7 @@ void OBJECT_OT_quadriflow_remesh(wmOperatorType *ot)
RNA_def_enum(ot->srna,
"mode",
mode_type_items,
- 0,
+ QUADRIFLOW_REMESH_FACES,
"Mode",
"How to specify the amount of detail for the new mesh");
@@ -516,7 +699,7 @@ void OBJECT_OT_quadriflow_remesh(wmOperatorType *ot)
prop = RNA_def_int(ot->srna,
"target_faces",
- 1,
+ 4000,
1,
INT_MAX,
"Number of Faces",
diff --git a/source/blender/editors/object/object_select.c b/source/blender/editors/object/object_select.c
index 28242b986f1..40fa11994f4 100644
--- a/source/blender/editors/object/object_select.c
+++ b/source/blender/editors/object/object_select.c
@@ -214,7 +214,7 @@ bool ED_object_base_deselect_all(ViewLayer *view_layer, View3D *v3d, int action)
static int get_base_select_priority(Base *base)
{
- if (base->flag & BASE_VISIBLE) {
+ if (base->flag & BASE_VISIBLE_DEPSGRAPH) {
if (base->flag & BASE_SELECTABLE) {
return 3;
}
@@ -288,7 +288,7 @@ bool ED_object_jump_to_object(bContext *C, Object *ob, const bool UNUSED(reveal_
if (!(base->flag & BASE_SELECTED)) {
ED_object_base_deselect_all(view_layer, v3d, SEL_DESELECT);
- if (base->flag & BASE_VISIBLE) {
+ if (BASE_VISIBLE(v3d, base)) {
ED_object_base_select(base, BA_SELECT);
}
diff --git a/source/blender/editors/object/object_vgroup.c b/source/blender/editors/object/object_vgroup.c
index d703cdfecb3..e8e0569f15e 100644
--- a/source/blender/editors/object/object_vgroup.c
+++ b/source/blender/editors/object/object_vgroup.c
@@ -783,79 +783,63 @@ static void vgroup_operator_subset_select_props(wmOperatorType *ot, bool use_act
static void ED_vgroup_nr_vert_add(
Object *ob, const int def_nr, const int vertnum, const float weight, const int assignmode)
{
- /* add the vert to the deform group with the
- * specified number
- */
+ /* Add the vert to the deform group with the specified number. */
MDeformVert *dvert = NULL;
int tot;
- /* get the vert */
+ /* Get the vert. */
BKE_object_defgroup_array_get(ob->data, &dvert, &tot);
if (dvert == NULL) {
return;
}
- /* check that vertnum is valid before trying to get the relevant dvert */
+ /* Check that vertnum is valid before trying to get the relevant dvert. */
if ((vertnum < 0) || (vertnum >= tot)) {
return;
}
- if (dvert) {
- MDeformVert *dv = &dvert[vertnum];
- MDeformWeight *dw;
-
- /* Lets first check to see if this vert is
- * already in the weight group -- if so
- * lets update it
- */
+ MDeformVert *dv = &dvert[vertnum];
+ MDeformWeight *dw;
- dw = defvert_find_index(dv, def_nr);
+ /* Lets first check to see if this vert is already in the weight group - if so lets update it. */
+ dw = defvert_find_index(dv, def_nr);
- if (dw) {
- switch (assignmode) {
- case WEIGHT_REPLACE:
- dw->weight = weight;
- break;
- case WEIGHT_ADD:
- dw->weight += weight;
- if (dw->weight >= 1.0f) {
- dw->weight = 1.0f;
- }
- break;
- case WEIGHT_SUBTRACT:
- dw->weight -= weight;
- /* if the weight is zero or less than
- * remove the vert from the deform group
- */
- if (dw->weight <= 0.0f) {
- defvert_remove_group(dv, dw);
- }
- break;
- }
+ if (dw) {
+ switch (assignmode) {
+ case WEIGHT_REPLACE:
+ dw->weight = weight;
+ break;
+ case WEIGHT_ADD:
+ dw->weight += weight;
+ if (dw->weight >= 1.0f) {
+ dw->weight = 1.0f;
+ }
+ break;
+ case WEIGHT_SUBTRACT:
+ dw->weight -= weight;
+ /* If the weight is zero or less than remove the vert from the deform group. */
+ if (dw->weight <= 0.0f) {
+ defvert_remove_group(dv, dw);
+ }
+ break;
}
- else {
- /* if the vert wasn't in the deform group then
- * we must take a different form of action ...
- */
-
- switch (assignmode) {
- case WEIGHT_SUBTRACT:
- /* if we are subtracting then we don't
- * need to do anything
- */
- return;
-
- case WEIGHT_REPLACE:
- case WEIGHT_ADD:
- /* if we are doing an additive assignment, then
- * we need to create the deform weight
- */
-
- /* we checked if the vertex was added before so no need to test again, simply add */
- defvert_add_index_notest(dv, def_nr, weight);
- break;
- }
+ }
+ else {
+ /* If the vert wasn't in the deform group then we must take a different form of action. */
+
+ switch (assignmode) {
+ case WEIGHT_SUBTRACT:
+ /* If we are subtracting then we don't need to do anything. */
+ return;
+
+ case WEIGHT_REPLACE:
+ case WEIGHT_ADD:
+ /* If we are doing an additive assignment, then we need to create the deform weight. */
+
+ /* We checked if the vertex was added before so no need to test again, simply add. */
+ defvert_add_index_notest(dv, def_nr, weight);
+ break;
}
}
}
diff --git a/source/blender/editors/physics/particle_edit.c b/source/blender/editors/physics/particle_edit.c
index 549c51d0d82..f16a372cb3c 100644
--- a/source/blender/editors/physics/particle_edit.c
+++ b/source/blender/editors/physics/particle_edit.c
@@ -93,6 +93,7 @@
bool PE_poll(bContext *C)
{
+ Depsgraph *depsgraph = CTX_data_depsgraph_pointer(C);
Scene *scene = CTX_data_scene(C);
Object *ob = CTX_data_active_object(C);
@@ -100,7 +101,7 @@ bool PE_poll(bContext *C)
return false;
}
- PTCacheEdit *edit = PE_get_current(scene, ob);
+ PTCacheEdit *edit = PE_get_current(depsgraph, scene, ob);
if (edit == NULL) {
return false;
}
@@ -113,6 +114,7 @@ bool PE_poll(bContext *C)
bool PE_hair_poll(bContext *C)
{
+ Depsgraph *depsgraph = CTX_data_depsgraph_pointer(C);
Scene *scene = CTX_data_scene(C);
Object *ob = CTX_data_active_object(C);
@@ -120,7 +122,7 @@ bool PE_hair_poll(bContext *C)
return false;
}
- PTCacheEdit *edit = PE_get_current(scene, ob);
+ PTCacheEdit *edit = PE_get_current(depsgraph, scene, ob);
if (edit == NULL || edit->psys == NULL) {
return false;
}
@@ -149,8 +151,7 @@ void PE_free_ptcache_edit(PTCacheEdit *edit)
}
if (edit->points) {
- LOOP_POINTS
- {
+ LOOP_POINTS {
if (point->keys) {
MEM_freeN(point->keys);
}
@@ -356,9 +357,9 @@ static PTCacheEdit *pe_get_current(Depsgraph *depsgraph, Scene *scene, Object *o
return edit;
}
-PTCacheEdit *PE_get_current(Scene *scene, Object *ob)
+PTCacheEdit *PE_get_current(Depsgraph *depsgraph, Scene *scene, Object *ob)
{
- return pe_get_current(NULL, scene, ob, 0);
+ return pe_get_current(depsgraph, scene, ob, 0);
}
PTCacheEdit *PE_create_current(Depsgraph *depsgraph, Scene *scene, Object *ob)
@@ -380,10 +381,8 @@ void PE_hide_keys_time(Scene *scene, PTCacheEdit *edit, float cfra)
KEY_K;
if (pset->flag & PE_FADE_TIME && pset->selectmode == SCE_SELECT_POINT) {
- LOOP_POINTS
- {
- LOOP_KEYS
- {
+ LOOP_POINTS {
+ LOOP_KEYS {
if (fabsf(cfra - *key->time) < pset->fade_frames) {
key->flag &= ~PEK_HIDE;
}
@@ -395,10 +394,8 @@ void PE_hide_keys_time(Scene *scene, PTCacheEdit *edit, float cfra)
}
}
else {
- LOOP_POINTS
- {
- LOOP_KEYS
- {
+ LOOP_POINTS {
+ LOOP_KEYS {
key->flag &= ~PEK_HIDE;
}
}
@@ -466,15 +463,14 @@ static void PE_set_data(bContext *C, PEData *data)
data->view_layer = CTX_data_view_layer(C);
data->ob = CTX_data_active_object(C);
data->depsgraph = CTX_data_ensure_evaluated_depsgraph(C);
- data->edit = PE_get_current(data->scene, data->ob);
+ data->edit = PE_get_current(data->depsgraph, data->scene, data->ob);
}
static void PE_set_view3d_data(bContext *C, PEData *data)
{
PE_set_data(C, data);
- Depsgraph *depsgraph = CTX_data_ensure_evaluated_depsgraph(C);
- ED_view3d_viewcontext_init(C, &data->vc, depsgraph);
+ ED_view3d_viewcontext_init(C, &data->vc, data->depsgraph);
if (!XRAY_ENABLED(data->vc.v3d)) {
if (data->vc.v3d->flag & V3D_INVALID_BACKBUF) {
@@ -634,8 +630,7 @@ static bool point_is_selected(PTCacheEditPoint *point)
return 0;
}
- LOOP_SELECTED_KEYS
- {
+ LOOP_SELECTED_KEYS {
return 1;
}
@@ -685,8 +680,7 @@ static void for_mouse_hit_keys(PEData *data, ForKeyFunc func, const enum ePartic
nearest_point = -1;
nearest_key = -1;
- LOOP_VISIBLE_POINTS
- {
+ LOOP_VISIBLE_POINTS {
if (pset->selectmode == SCE_SELECT_END) {
if (point->totkey) {
/* only do end keys */
@@ -708,8 +702,7 @@ static void for_mouse_hit_keys(PEData *data, ForKeyFunc func, const enum ePartic
}
else {
/* do all keys */
- LOOP_VISIBLE_KEYS
- {
+ LOOP_VISIBLE_KEYS {
if (flag & PSEL_NEAREST) {
if (key_inside_circle(data, dist, KEY_WCO, &dist)) {
nearest_point = p;
@@ -746,8 +739,7 @@ static void foreach_mouse_hit_point(PEData *data, ForHitPointFunc func, int sele
selected = 0;
}
- LOOP_VISIBLE_POINTS
- {
+ LOOP_VISIBLE_POINTS {
if (pset->selectmode == SCE_SELECT_END) {
if (point->totkey) {
/* only do end keys */
@@ -763,8 +755,7 @@ static void foreach_mouse_hit_point(PEData *data, ForHitPointFunc func, int sele
}
else {
/* do all keys */
- LOOP_VISIBLE_KEYS
- {
+ LOOP_VISIBLE_KEYS {
if (selected == 0 || key->flag & PEK_SELECT) {
float mouse_distance;
if (key_inside_circle(data, data->rad, KEY_WCO, &mouse_distance)) {
@@ -824,8 +815,7 @@ static void foreach_mouse_hit_key_iter(void *__restrict iter_data_v,
/* do all keys */
PTCacheEditKey *key;
int k;
- LOOP_VISIBLE_KEYS
- {
+ LOOP_VISIBLE_KEYS {
if (selected == 0 || key->flag & PEK_SELECT) {
float mouse_distance;
if (key_inside_circle(data, data->rad, KEY_WCO, &mouse_distance)) {
@@ -867,8 +857,7 @@ static void foreach_selected_point(PEData *data, ForPointFunc func)
PTCacheEdit *edit = data->edit;
POINT_P;
- LOOP_SELECTED_POINTS
- {
+ LOOP_SELECTED_POINTS {
func(data, p);
}
}
@@ -879,10 +868,8 @@ static void foreach_selected_key(PEData *data, ForKeyFunc func)
POINT_P;
KEY_K;
- LOOP_VISIBLE_POINTS
- {
- LOOP_SELECTED_KEYS
- {
+ LOOP_VISIBLE_POINTS {
+ LOOP_SELECTED_KEYS {
func(data, p, k, true);
}
}
@@ -893,8 +880,7 @@ static void foreach_point(PEData *data, ForPointFunc func)
PTCacheEdit *edit = data->edit;
POINT_P;
- LOOP_POINTS
- {
+ LOOP_POINTS {
func(data, p);
}
}
@@ -906,11 +892,9 @@ static int count_selected_keys(Scene *scene, PTCacheEdit *edit)
KEY_K;
int sel = 0;
- LOOP_VISIBLE_POINTS
- {
+ LOOP_VISIBLE_POINTS {
if (pset->selectmode == SCE_SELECT_POINT) {
- LOOP_SELECTED_KEYS
- {
+ LOOP_SELECTED_KEYS {
sel++;
}
}
@@ -1118,8 +1102,7 @@ static void PE_apply_mirror(Object *ob, ParticleSystem *psys)
/* we delay settings the PARS_EDIT_RECALC for mirrored particles
* to avoid doing mirror twice */
- LOOP_POINTS
- {
+ LOOP_POINTS {
if (point->flag & PEP_EDIT_RECALC) {
PE_mirror_particle(ob, psmd_eval->mesh_final, psys, psys->particles + p, NULL);
@@ -1129,8 +1112,7 @@ static void PE_apply_mirror(Object *ob, ParticleSystem *psys)
}
}
- LOOP_POINTS
- {
+ LOOP_POINTS {
if (point->flag & PEP_EDIT_RECALC) {
if (edit->mirror_cache[p] != -1) {
edit->points[edit->mirror_cache[p]].flag |= PEP_EDIT_RECALC;
@@ -1174,13 +1156,11 @@ static void deflect_emitter_iter(void *__restrict iter_data_v,
psys_mat_hair_to_object(
object, psmd_eval->mesh_final, psys->part->from, psys->particles + iter, hairmat);
- LOOP_KEYS
- {
+ LOOP_KEYS {
mul_m4_v3(hairmat, key->co);
}
- LOOP_KEYS
- {
+ LOOP_KEYS {
if (k == 0) {
dist_1st = len_v3v3((key + 1)->co, key->co);
dist_1st *= dist * emitterdist;
@@ -1216,8 +1196,7 @@ static void deflect_emitter_iter(void *__restrict iter_data_v,
invert_m4_m4(hairimat, hairmat);
- LOOP_KEYS
- {
+ LOOP_KEYS {
mul_m4_v3(hairimat, key->co);
}
}
@@ -1269,8 +1248,7 @@ static void apply_lengths_iter(void *__restrict iter_data_v,
}
PTCacheEditKey *key;
int k;
- LOOP_KEYS
- {
+ LOOP_KEYS {
if (k) {
float dv1[3];
sub_v3_v3v3(dv1, key->co, (key - 1)->co);
@@ -1388,8 +1366,7 @@ void recalc_lengths(PTCacheEdit *edit)
return;
}
- LOOP_EDITED_POINTS
- {
+ LOOP_EDITED_POINTS {
key = point->keys;
for (k = 0; k < point->totkey - 1; k++, key++) {
key->length = len_v3v3(key->co, (key + 1)->co);
@@ -1462,15 +1439,14 @@ void recalc_emitter_field(Depsgraph *UNUSED(depsgraph), Object *UNUSED(ob), Part
static void PE_update_selection(Depsgraph *depsgraph, Scene *scene, Object *ob, int useflag)
{
- PTCacheEdit *edit = PE_get_current(scene, ob);
+ PTCacheEdit *edit = PE_get_current(depsgraph, scene, ob);
HairKey *hkey;
POINT_P;
KEY_K;
/* flag all particles to be updated if not using flag */
if (!useflag) {
- LOOP_POINTS
- {
+ LOOP_POINTS {
point->flag |= PEP_EDIT_RECALC;
}
}
@@ -1478,11 +1454,9 @@ static void PE_update_selection(Depsgraph *depsgraph, Scene *scene, Object *ob,
/* flush edit key flag to hair key flag to preserve selection
* on save */
if (edit->psys) {
- LOOP_POINTS
- {
+ LOOP_POINTS {
hkey = edit->psys->particles[p].hair;
- LOOP_KEYS
- {
+ LOOP_KEYS {
hkey->editflag = key->flag;
hkey++;
}
@@ -1492,8 +1466,7 @@ static void PE_update_selection(Depsgraph *depsgraph, Scene *scene, Object *ob,
psys_cache_edit_paths(depsgraph, scene, ob, edit, CFRA, G.is_rendering);
/* disable update flag */
- LOOP_POINTS
- {
+ LOOP_POINTS {
point->flag &= ~PEP_EDIT_RECALC;
}
@@ -1512,15 +1485,13 @@ void update_world_cos(Object *ob, PTCacheEdit *edit)
return;
}
- LOOP_POINTS
- {
+ LOOP_POINTS {
if (!(psys->flag & PSYS_GLOBAL_HAIR)) {
psys_mat_hair_to_global(
ob, psmd_eval->mesh_final, psys->part->from, psys->particles + p, hairmat);
}
- LOOP_KEYS
- {
+ LOOP_KEYS {
copy_v3_v3(key->world_co, key->co);
if (!(psys->flag & PSYS_GLOBAL_HAIR)) {
mul_m4_v3(hairmat, key->world_co);
@@ -1542,10 +1513,8 @@ static void update_velocities(PTCacheEdit *edit)
frs_sec = edit->pid.flag & PTCACHE_VEL_PER_SEC ? 25.0f : 1.0f;
- LOOP_EDITED_POINTS
- {
- LOOP_KEYS
- {
+ LOOP_EDITED_POINTS {
+ LOOP_KEYS {
if (k == 0) {
dfra = *(key + 1)->time - *key->time;
@@ -1597,7 +1566,7 @@ void PE_update_object(Depsgraph *depsgraph, Scene *scene, Object *ob, int usefla
/* use this to do partial particle updates, not usable when adding or
* removing, then a full redo is necessary and calling this may crash */
ParticleEditSettings *pset = PE_settings(scene);
- PTCacheEdit *edit = PE_get_current(scene, ob);
+ PTCacheEdit *edit = PE_get_current(depsgraph, scene, ob);
POINT_P;
if (!edit) {
@@ -1606,8 +1575,7 @@ void PE_update_object(Depsgraph *depsgraph, Scene *scene, Object *ob, int usefla
/* flag all particles to be updated if not using flag */
if (!useflag) {
- LOOP_POINTS
- {
+ LOOP_POINTS {
point->flag |= PEP_EDIT_RECALC;
}
}
@@ -1625,14 +1593,19 @@ void PE_update_object(Depsgraph *depsgraph, Scene *scene, Object *ob, int usefla
if (pset->flag & PE_AUTO_VELOCITY) {
update_velocities(edit);
}
- PE_hide_keys_time(scene, edit, CFRA);
+
+ /* Only do this for emitter particles because drawing PE_FADE_TIME is not respected in 2.8 yet
+ * and flagging with PEK_HIDE will prevent selection. This might get restored once this is
+ * supported in drawing (but doesn't make much sense for hair anyways). */
+ if (edit->psys->part->type == PART_EMITTER) {
+ PE_hide_keys_time(scene, edit, CFRA);
+ }
/* regenerate path caches */
psys_cache_edit_paths(depsgraph, scene, ob, edit, CFRA, G.is_rendering);
/* disable update flag */
- LOOP_POINTS
- {
+ LOOP_POINTS {
point->flag &= ~PEP_EDIT_RECALC;
}
@@ -1687,8 +1660,7 @@ static void select_keys(PEData *data,
PTCacheEditPoint *point = edit->points + point_index;
KEY_K;
- LOOP_KEYS
- {
+ LOOP_KEYS {
if (data->select) {
key->flag |= PEK_SELECT;
}
@@ -1781,17 +1753,15 @@ static int pe_select_all_exec(bContext *C, wmOperator *op)
Scene *scene = CTX_data_scene(C);
Depsgraph *depsgraph = CTX_data_ensure_evaluated_depsgraph(C);
Object *ob = CTX_data_active_object(C);
- PTCacheEdit *edit = PE_get_current(scene, ob);
+ PTCacheEdit *edit = PE_get_current(depsgraph, scene, ob);
POINT_P;
KEY_K;
int action = RNA_enum_get(op->ptr, "action");
if (action == SEL_TOGGLE) {
action = SEL_SELECT;
- LOOP_VISIBLE_POINTS
- {
- LOOP_SELECTED_KEYS
- {
+ LOOP_VISIBLE_POINTS {
+ LOOP_SELECTED_KEYS {
action = SEL_DESELECT;
break;
}
@@ -1803,10 +1773,8 @@ static int pe_select_all_exec(bContext *C, wmOperator *op)
}
bool changed = false;
- LOOP_VISIBLE_POINTS
- {
- LOOP_VISIBLE_KEYS
- {
+ LOOP_VISIBLE_POINTS {
+ LOOP_VISIBLE_KEYS {
changed |= select_action_apply(point, key, action);
}
}
@@ -1842,26 +1810,26 @@ bool PE_mouse_particles(bContext *C, const int mval[2], bool extend, bool desele
PEData data;
Scene *scene = CTX_data_scene(C);
Object *ob = CTX_data_active_object(C);
- PTCacheEdit *edit = PE_get_current(scene, ob);
POINT_P;
KEY_K;
+ PE_set_view3d_data(C, &data);
+
+ PTCacheEdit *edit = PE_get_current(data.depsgraph, scene, ob);
+
if (!PE_start_edit(edit)) {
return false;
}
if (!extend && !deselect && !toggle) {
- LOOP_VISIBLE_POINTS
- {
- LOOP_SELECTED_KEYS
- {
+ LOOP_VISIBLE_POINTS {
+ LOOP_SELECTED_KEYS {
key->flag &= ~PEK_SELECT;
point->flag |= PEP_EDIT_RECALC;
}
}
}
- PE_set_view3d_data(C, &data);
data.mval = mval;
data.rad = ED_view3d_select_dist_px();
@@ -2049,26 +2017,22 @@ static int select_random_exec(bContext *C, wmOperator *op)
PE_set_data(C, &data);
data.select_action = SEL_SELECT;
- edit = PE_get_current(data.scene, data.ob);
+ edit = PE_get_current(data.depsgraph, data.scene, data.ob);
rng = BLI_rng_new_srandom(seed);
switch (type) {
case RAN_HAIR:
- LOOP_VISIBLE_POINTS
- {
+ LOOP_VISIBLE_POINTS {
int flag = ((BLI_rng_get_float(rng) < randfac) == select) ? SEL_SELECT : SEL_DESELECT;
- LOOP_KEYS
- {
+ LOOP_KEYS {
data.is_changed |= select_action_apply(point, key, flag);
}
}
break;
case RAN_POINTS:
- LOOP_VISIBLE_POINTS
- {
- LOOP_VISIBLE_KEYS
- {
+ LOOP_VISIBLE_POINTS {
+ LOOP_VISIBLE_KEYS {
int flag = ((BLI_rng_get_float(rng) < randfac) == select) ? SEL_SELECT : SEL_DESELECT;
data.is_changed |= select_action_apply(point, key, flag);
}
@@ -2167,10 +2131,8 @@ bool PE_deselect_all_visible_ex(PTCacheEdit *edit)
POINT_P;
KEY_K;
- LOOP_VISIBLE_POINTS
- {
- LOOP_SELECTED_KEYS
- {
+ LOOP_VISIBLE_POINTS {
+ LOOP_SELECTED_KEYS {
if ((key->flag & PEK_SELECT) != 0) {
key->flag &= ~PEK_SELECT;
point->flag |= PEP_EDIT_RECALC;
@@ -2183,9 +2145,10 @@ bool PE_deselect_all_visible_ex(PTCacheEdit *edit)
bool PE_deselect_all_visible(bContext *C)
{
+ Depsgraph *depsgraph = CTX_data_depsgraph_pointer(C);
Scene *scene = CTX_data_scene(C);
Object *ob = CTX_data_active_object(C);
- PTCacheEdit *edit = PE_get_current(scene, ob);
+ PTCacheEdit *edit = PE_get_current(depsgraph, scene, ob);
if (!PE_start_edit(edit)) {
return false;
}
@@ -2194,9 +2157,10 @@ bool PE_deselect_all_visible(bContext *C)
bool PE_box_select(bContext *C, const rcti *rect, const int sel_op)
{
+ Depsgraph *depsgraph = CTX_data_depsgraph_pointer(C);
Scene *scene = CTX_data_scene(C);
Object *ob = CTX_data_active_object(C);
- PTCacheEdit *edit = PE_get_current(scene, ob);
+ PTCacheEdit *edit = PE_get_current(depsgraph, scene, ob);
PEData data;
if (!PE_start_edit(edit)) {
@@ -2230,9 +2194,10 @@ bool PE_box_select(bContext *C, const rcti *rect, const int sel_op)
bool PE_circle_select(bContext *C, const int sel_op, const int mval[2], float rad)
{
BLI_assert(ELEM(sel_op, SEL_OP_SET, SEL_OP_ADD, SEL_OP_SUB));
+ Depsgraph *depsgraph = CTX_data_depsgraph_pointer(C);
Scene *scene = CTX_data_scene(C);
Object *ob = CTX_data_active_object(C);
- PTCacheEdit *edit = PE_get_current(scene, ob);
+ PTCacheEdit *edit = PE_get_current(depsgraph, scene, ob);
PEData data;
if (!PE_start_edit(edit)) {
@@ -2261,11 +2226,12 @@ bool PE_circle_select(bContext *C, const int sel_op, const int mval[2], float ra
int PE_lasso_select(bContext *C, const int mcords[][2], const short moves, const int sel_op)
{
+ Depsgraph *depsgraph = CTX_data_depsgraph_pointer(C);
Scene *scene = CTX_data_scene(C);
Object *ob = CTX_data_active_object(C);
ARegion *ar = CTX_wm_region(C);
ParticleEditSettings *pset = PE_settings(scene);
- PTCacheEdit *edit = PE_get_current(scene, ob);
+ PTCacheEdit *edit = PE_get_current(depsgraph, scene, ob);
ParticleSystem *psys = edit->psys;
ParticleSystemModifierData *psmd_eval = edit->psmd_eval;
POINT_P;
@@ -2288,16 +2254,14 @@ int PE_lasso_select(bContext *C, const int mcords[][2], const short moves, const
data.is_changed |= PE_deselect_all_visible_ex(edit);
}
- LOOP_VISIBLE_POINTS
- {
+ LOOP_VISIBLE_POINTS {
if (edit->psys && !(psys->flag & PSYS_GLOBAL_HAIR)) {
psys_mat_hair_to_global(
ob, psmd_eval->mesh_final, psys->part->from, psys->particles + p, mat);
}
if (pset->selectmode == SCE_SELECT_POINT) {
- LOOP_KEYS
- {
+ LOOP_VISIBLE_KEYS {
copy_v3_v3(co, key->co);
mul_m4_v3(mat, co);
const bool is_select = key->flag & PEK_SELECT;
@@ -2351,30 +2315,26 @@ static int hide_exec(bContext *C, wmOperator *op)
Scene *scene = CTX_data_scene(C);
Depsgraph *depsgraph = CTX_data_ensure_evaluated_depsgraph(C);
- PTCacheEdit *edit = PE_get_current(scene, ob);
+ PTCacheEdit *edit = PE_get_current(depsgraph, scene, ob);
POINT_P;
KEY_K;
if (RNA_boolean_get(op->ptr, "unselected")) {
- LOOP_UNSELECTED_POINTS
- {
+ LOOP_UNSELECTED_POINTS {
point->flag |= PEP_HIDE;
point->flag |= PEP_EDIT_RECALC;
- LOOP_KEYS
- {
+ LOOP_KEYS {
key->flag &= ~PEK_SELECT;
}
}
}
else {
- LOOP_SELECTED_POINTS
- {
+ LOOP_SELECTED_POINTS {
point->flag |= PEP_HIDE;
point->flag |= PEP_EDIT_RECALC;
- LOOP_KEYS
- {
+ LOOP_KEYS {
key->flag &= ~PEK_SELECT;
}
}
@@ -2411,19 +2371,17 @@ static int reveal_exec(bContext *C, wmOperator *op)
Object *ob = CTX_data_active_object(C);
Scene *scene = CTX_data_scene(C);
Depsgraph *depsgraph = CTX_data_ensure_evaluated_depsgraph(C);
- PTCacheEdit *edit = PE_get_current(scene, ob);
+ PTCacheEdit *edit = PE_get_current(depsgraph, scene, ob);
const bool select = RNA_boolean_get(op->ptr, "select");
POINT_P;
KEY_K;
- LOOP_POINTS
- {
+ LOOP_POINTS {
if (point->flag & PEP_HIDE) {
point->flag &= ~PEP_HIDE;
point->flag |= PEP_EDIT_RECALC;
- LOOP_KEYS
- {
+ LOOP_KEYS {
SET_FLAG_FROM_TEST(key->flag, select, PEK_SELECT);
}
}
@@ -2461,8 +2419,7 @@ static void select_less_keys(PEData *data, int point_index)
PTCacheEditPoint *point = edit->points + point_index;
KEY_K;
- LOOP_SELECTED_KEYS
- {
+ LOOP_SELECTED_KEYS {
if (k == 0) {
if (((key + 1)->flag & PEK_SELECT) == 0) {
key->flag |= PEK_TAG;
@@ -2480,8 +2437,7 @@ static void select_less_keys(PEData *data, int point_index)
}
}
- LOOP_KEYS
- {
+ LOOP_KEYS {
if ((key->flag & PEK_TAG) && (key->flag & PEK_SELECT)) {
key->flag &= ~(PEK_TAG | PEK_SELECT);
point->flag |= PEP_EDIT_RECALC; /* redraw selection only */
@@ -2526,8 +2482,7 @@ static void select_more_keys(PEData *data, int point_index)
PTCacheEditPoint *point = edit->points + point_index;
KEY_K;
- LOOP_KEYS
- {
+ LOOP_KEYS {
if (key->flag & PEK_SELECT) {
continue;
}
@@ -2549,8 +2504,7 @@ static void select_more_keys(PEData *data, int point_index)
}
}
- LOOP_KEYS
- {
+ LOOP_KEYS {
if ((key->flag & PEK_TAG) && (key->flag & PEK_SELECT) == 0) {
key->flag &= ~PEK_TAG;
key->flag |= PEK_SELECT;
@@ -2695,7 +2649,8 @@ void PARTICLE_OT_rekey(wmOperatorType *ot)
static void rekey_particle_to_time(
const bContext *C, Scene *scene, Object *ob, int pa_index, float path_time)
{
- PTCacheEdit *edit = PE_get_current(scene, ob);
+ Depsgraph *depsgraph = CTX_data_depsgraph_pointer(C);
+ PTCacheEdit *edit = PE_get_current(depsgraph, scene, ob);
ParticleSystem *psys;
ParticleSimulationData sim = {0};
ParticleData *pa;
@@ -2710,7 +2665,7 @@ static void rekey_particle_to_time(
psys = edit->psys;
- sim.depsgraph = CTX_data_depsgraph_pointer(C);
+ sim.depsgraph = depsgraph;
sim.scene = scene;
sim.ob = ob;
sim.psys = psys;
@@ -2759,14 +2714,12 @@ static int remove_tagged_particles(Object *ob, ParticleSystem *psys, int mirror)
/* mirror tags */
psmd_eval = edit->psmd_eval;
- LOOP_TAGGED_POINTS
- {
+ LOOP_TAGGED_POINTS {
PE_mirror_particle(ob, psmd_eval->mesh_final, psys, psys->particles + p, NULL);
}
}
- LOOP_TAGGED_POINTS
- {
+ LOOP_TAGGED_POINTS {
new_totpart--;
removed++;
}
@@ -2851,21 +2804,17 @@ static void remove_tagged_keys(Depsgraph *depsgraph, Object *ob, ParticleSystem
ParticleSystemModifierData *psmd_eval = (ParticleSystemModifierData *)modifier_get_evaluated(
depsgraph, ob, &psmd->modifier);
- LOOP_POINTS
- {
- LOOP_TAGGED_KEYS
- {
+ LOOP_POINTS {
+ LOOP_TAGGED_KEYS {
PE_mirror_particle(ob, psmd_eval->mesh_final, psys, psys->particles + p, NULL);
break;
}
}
}
- LOOP_POINTS
- {
+ LOOP_POINTS {
new_totkey = point->totkey;
- LOOP_TAGGED_KEYS
- {
+ LOOP_TAGGED_KEYS {
new_totkey--;
}
/* we can't have elements with less than two keys*/
@@ -2875,13 +2824,11 @@ static void remove_tagged_keys(Depsgraph *depsgraph, Object *ob, ParticleSystem
}
remove_tagged_particles(ob, psys, pe_x_mirror(ob));
- LOOP_POINTS
- {
+ LOOP_POINTS {
pa = psys->particles + p;
new_totkey = pa->totkey;
- LOOP_TAGGED_KEYS
- {
+ LOOP_TAGGED_KEYS {
new_totkey--;
}
@@ -2890,8 +2837,7 @@ static void remove_tagged_keys(Depsgraph *depsgraph, Object *ob, ParticleSystem
nkey = new_keys = MEM_callocN(new_totkey * sizeof(PTCacheEditKey), "particle edit keys");
hkey = pa->hair;
- LOOP_KEYS
- {
+ LOOP_KEYS {
while (key->flag & PEK_TAG && hkey < pa->hair + pa->totkey) {
key++;
hkey++;
@@ -3063,9 +3009,10 @@ void PARTICLE_OT_subdivide(wmOperatorType *ot)
static int remove_doubles_exec(bContext *C, wmOperator *op)
{
+ Depsgraph *depsgraph = CTX_data_depsgraph_pointer(C);
Scene *scene = CTX_data_scene(C);
Object *ob = CTX_data_active_object(C);
- PTCacheEdit *edit = PE_get_current(scene, ob);
+ PTCacheEdit *edit = PE_get_current(depsgraph, scene, ob);
ParticleSystem *psys = edit->psys;
ParticleSystemModifierData *psmd_eval;
KDTree_3d *tree;
@@ -3088,8 +3035,7 @@ static int remove_doubles_exec(bContext *C, wmOperator *op)
tree = BLI_kdtree_3d_new(psys->totpart);
/* insert particles into kd tree */
- LOOP_SELECTED_POINTS
- {
+ LOOP_SELECTED_POINTS {
psys_mat_hair_to_object(
ob, psmd_eval->mesh_final, psys->part->from, psys->particles + p, mat);
copy_v3_v3(co, point->keys->co);
@@ -3100,8 +3046,7 @@ static int remove_doubles_exec(bContext *C, wmOperator *op)
BLI_kdtree_3d_balance(tree);
/* tag particles to be removed */
- LOOP_SELECTED_POINTS
- {
+ LOOP_SELECTED_POINTS {
psys_mat_hair_to_object(
ob, psmd_eval->mesh_final, psys->part->from, psys->particles + p, mat);
copy_v3_v3(co, point->keys->co);
@@ -3131,7 +3076,7 @@ static int remove_doubles_exec(bContext *C, wmOperator *op)
return OPERATOR_CANCELLED;
}
- BKE_reportf(op->reports, RPT_INFO, "Removed %d double particles", totremoved);
+ BKE_reportf(op->reports, RPT_INFO, "Removed %d double particle(s)", totremoved);
DEG_id_tag_update(&ob->id, ID_RECALC_GEOMETRY);
WM_event_add_notifier(C, NC_OBJECT | ND_PARTICLE | NA_EDITED, ob);
@@ -3167,10 +3112,11 @@ void PARTICLE_OT_remove_doubles(wmOperatorType *ot)
static int weight_set_exec(bContext *C, wmOperator *op)
{
+ Depsgraph *depsgraph = CTX_data_depsgraph_pointer(C);
Scene *scene = CTX_data_scene(C);
ParticleEditSettings *pset = PE_settings(scene);
Object *ob = CTX_data_active_object(C);
- PTCacheEdit *edit = PE_get_current(scene, ob);
+ PTCacheEdit *edit = PE_get_current(depsgraph, scene, ob);
ParticleSystem *psys = edit->psys;
POINT_P;
KEY_K;
@@ -3182,12 +3128,10 @@ static int weight_set_exec(bContext *C, wmOperator *op)
weight = brush->strength;
edit = psys->edit;
- LOOP_SELECTED_POINTS
- {
+ LOOP_SELECTED_POINTS {
ParticleData *pa = psys->particles + p;
- LOOP_SELECTED_KEYS
- {
+ LOOP_SELECTED_KEYS {
hkey = pa->hair + k;
hkey->weight = interpf(weight, hkey->weight, factor);
}
@@ -3348,11 +3292,11 @@ void PARTICLE_OT_delete(wmOperatorType *ot)
/*************************** mirror operator **************************/
-static void PE_mirror_x(Scene *scene, Object *ob, int tagged)
+static void PE_mirror_x(Depsgraph *depsgraph, Scene *scene, Object *ob, int tagged)
{
Mesh *me = (Mesh *)(ob->data);
ParticleSystemModifierData *psmd_eval;
- PTCacheEdit *edit = PE_get_current(scene, ob);
+ PTCacheEdit *edit = PE_get_current(depsgraph, scene, ob);
ParticleSystem *psys = edit->psys;
ParticleData *pa, *newpa, *new_pars;
PTCacheEditPoint *newpoint, *new_points;
@@ -3388,8 +3332,7 @@ static void PE_mirror_x(Scene *scene, Object *ob, int tagged)
totpart = psys->totpart;
newtotpart = psys->totpart;
- LOOP_VISIBLE_POINTS
- {
+ LOOP_VISIBLE_POINTS {
pa = psys->particles + p;
if (!tagged) {
@@ -3505,8 +3448,7 @@ static void PE_mirror_x(Scene *scene, Object *ob, int tagged)
}
}
- LOOP_POINTS
- {
+ LOOP_POINTS {
point->flag &= ~PEP_TAG;
}
@@ -3515,14 +3457,18 @@ static void PE_mirror_x(Scene *scene, Object *ob, int tagged)
static int mirror_exec(bContext *C, wmOperator *UNUSED(op))
{
+ Depsgraph *depsgraph = CTX_data_depsgraph_pointer(C);
Scene *scene = CTX_data_scene(C);
Object *ob = CTX_data_active_object(C);
- PTCacheEdit *edit = PE_get_current(scene, ob);
+ PTCacheEdit *edit = PE_get_current(depsgraph, scene, ob);
- PE_mirror_x(scene, ob, 0);
+ PE_mirror_x(depsgraph, scene, ob, 0);
update_world_cos(ob, edit);
+ psys_free_path_cache(NULL, edit);
+
WM_event_add_notifier(C, NC_OBJECT | ND_PARTICLE | NA_EDITED, ob);
+ BKE_particle_batch_cache_dirty_tag(edit->psys, BKE_PARTICLE_BATCH_DIRTY_ALL);
DEG_id_tag_update(&ob->id, ID_RECALC_GEOMETRY);
return OPERATOR_FINISHED;
@@ -3683,8 +3629,7 @@ static void brush_length(PEData *data, int point_index, float UNUSED(mouse_dista
KEY_K;
float dvec[3], pvec[3] = {0.0f, 0.0f, 0.0f};
- LOOP_KEYS
- {
+ LOOP_KEYS {
if (k == 0) {
copy_v3_v3(pvec, key->co);
}
@@ -3733,8 +3678,7 @@ static void brush_puff(PEData *data, int point_index, float mouse_distance)
unit_m4(imat);
}
- LOOP_KEYS
- {
+ LOOP_KEYS {
float kco[3];
if (k == 0) {
@@ -4506,10 +4450,11 @@ typedef struct BrushEdit {
static int brush_edit_init(bContext *C, wmOperator *op)
{
+ Depsgraph *depsgraph = CTX_data_depsgraph_pointer(C);
Scene *scene = CTX_data_scene(C);
ViewLayer *view_layer = CTX_data_view_layer(C);
Object *ob = CTX_data_active_object(C);
- PTCacheEdit *edit = PE_get_current(scene, ob);
+ PTCacheEdit *edit = PE_get_current(depsgraph, scene, ob);
ARegion *ar = CTX_wm_region(C);
BrushEdit *bedit;
float min[3], max[3];
@@ -4520,7 +4465,7 @@ static int brush_edit_init(bContext *C, wmOperator *op)
/* set the 'distance factor' for grabbing (used in comb etc) */
INIT_MINMAX(min, max);
- PE_minmax(scene, view_layer, min, max);
+ PE_minmax(depsgraph, scene, view_layer, min, max);
mid_v3_v3v3(min, min, max);
bedit = MEM_callocN(sizeof(BrushEdit), "BrushEdit");
@@ -4746,7 +4691,7 @@ static void brush_edit_apply(bContext *C, wmOperator *op, PointerRNA *itemptr)
if (ELEM(pset->brushtype, PE_BRUSH_ADD, PE_BRUSH_CUT) && (added || removed)) {
if (pset->brushtype == PE_BRUSH_ADD && pe_x_mirror(ob)) {
- PE_mirror_x(scene, ob, 1);
+ PE_mirror_x(depsgraph, scene, ob, 1);
}
update_world_cos(ob, edit);
@@ -4995,10 +4940,11 @@ static void shape_cut(PEData *data, int pa_index)
static int shape_cut_exec(bContext *C, wmOperator *UNUSED(op))
{
+ Depsgraph *depsgraph = CTX_data_ensure_evaluated_depsgraph(C);
Scene *scene = CTX_data_scene(C);
Object *ob = CTX_data_active_object(C);
ParticleEditSettings *pset = PE_settings(scene);
- PTCacheEdit *edit = PE_get_current(scene, ob);
+ PTCacheEdit *edit = PE_get_current(depsgraph, scene, ob);
Object *shapeob = pset->shape_object;
int selected = count_selected_keys(scene, edit);
int lock_root = pset->flag & PE_LOCK_FIRST;
@@ -5076,10 +5022,11 @@ void PARTICLE_OT_shape_cut(wmOperatorType *ot)
/************************ utilities ******************************/
-int PE_minmax(Scene *scene, ViewLayer *view_layer, float min[3], float max[3])
+int PE_minmax(
+ Depsgraph *depsgraph, Scene *scene, ViewLayer *view_layer, float min[3], float max[3])
{
Object *ob = OBACT(view_layer);
- PTCacheEdit *edit = PE_get_current(scene, ob);
+ PTCacheEdit *edit = PE_get_current(depsgraph, scene, ob);
ParticleSystem *psys;
ParticleSystemModifierData *psmd_eval = NULL;
POINT_P;
@@ -5098,15 +5045,13 @@ int PE_minmax(Scene *scene, ViewLayer *view_layer, float min[3], float max[3])
unit_m4(mat);
}
- LOOP_VISIBLE_POINTS
- {
+ LOOP_VISIBLE_POINTS {
if (psys) {
psys_mat_hair_to_global(
ob, psmd_eval->mesh_final, psys->part->from, psys->particles + p, mat);
}
- LOOP_SELECTED_KEYS
- {
+ LOOP_SELECTED_KEYS {
copy_v3_v3(co, key->co);
mul_m4_v3(mat, co);
DO_MINMAX(co, min, max);
@@ -5183,15 +5128,13 @@ void PE_create_particle_edit(
BLI_listbase_clear(&edit->pathcachebufs);
pa = psys->particles;
- LOOP_POINTS
- {
+ LOOP_POINTS {
point->totkey = pa->totkey;
point->keys = MEM_callocN(point->totkey * sizeof(PTCacheEditKey), "ParticleEditKeys");
point->flag |= PEP_EDIT_RECALC;
hkey = pa->hair;
- LOOP_KEYS
- {
+ LOOP_KEYS {
key->co = hkey->co;
key->time = &hkey->time;
key->flag = hkey->editflag;
@@ -5219,8 +5162,7 @@ void PE_create_particle_edit(
}
for (pm = cache->mem_cache.first; pm; pm = pm->next) {
- LOOP_POINTS
- {
+ LOOP_POINTS {
if (BKE_ptcache_mem_pointers_seek(p, pm) == 0) {
continue;
}
@@ -5423,8 +5365,7 @@ static float calculate_point_length(PTCacheEditPoint *point)
{
float length = 0.0f;
KEY_K;
- LOOP_KEYS
- {
+ LOOP_KEYS {
if (k > 0) {
length += len_v3v3((key - 1)->co, key->co);
}
@@ -5437,8 +5378,7 @@ static float calculate_average_length(PTCacheEdit *edit)
int num_selected = 0;
float total_length = 0;
POINT_P;
- LOOP_SELECTED_POINTS
- {
+ LOOP_SELECTED_POINTS {
total_length += calculate_point_length(point);
num_selected++;
}
@@ -5452,8 +5392,7 @@ static void scale_point_factor(PTCacheEditPoint *point, float factor)
{
float orig_prev_co[3], prev_co[3];
KEY_K;
- LOOP_KEYS
- {
+ LOOP_KEYS {
if (k == 0) {
copy_v3_v3(orig_prev_co, key->co);
copy_v3_v3(prev_co, key->co);
@@ -5486,8 +5425,7 @@ static void scale_point_to_length(PTCacheEditPoint *point, float length)
static void scale_points_to_length(PTCacheEdit *edit, float length)
{
POINT_P;
- LOOP_SELECTED_POINTS
- {
+ LOOP_SELECTED_POINTS {
scale_point_to_length(point, length);
}
recalc_lengths(edit);
@@ -5499,7 +5437,7 @@ static int unify_length_exec(bContext *C, wmOperator *UNUSED(op))
Scene *scene = CTX_data_scene(C);
Depsgraph *depsgraph = CTX_data_depsgraph_pointer(C);
- PTCacheEdit *edit = PE_get_current(scene, ob);
+ PTCacheEdit *edit = PE_get_current(depsgraph, scene, ob);
float average_length = calculate_average_length(edit);
if (average_length == 0.0f) {
diff --git a/source/blender/editors/physics/particle_edit_undo.c b/source/blender/editors/physics/particle_edit_undo.c
index 40d90676487..aee79523c87 100644
--- a/source/blender/editors/physics/particle_edit_undo.c
+++ b/source/blender/editors/physics/particle_edit_undo.c
@@ -109,8 +109,7 @@ static void undoptcache_to_editcache(PTCacheUndo *undo, PTCacheEdit *edit)
POINT_P;
KEY_K;
- LOOP_POINTS
- {
+ LOOP_POINTS {
if (psys && psys->particles[p].hair) {
MEM_freeN(psys->particles[p].hair);
}
@@ -133,8 +132,7 @@ static void undoptcache_to_editcache(PTCacheUndo *undo, PTCacheEdit *edit)
edit->points = MEM_dupallocN(undo->points);
edit->totpoint = undo->totpoint;
- LOOP_POINTS
- {
+ LOOP_POINTS {
point->keys = MEM_dupallocN(point->keys);
}
@@ -143,13 +141,11 @@ static void undoptcache_to_editcache(PTCacheUndo *undo, PTCacheEdit *edit)
psys->totpart = undo->totpoint;
- LOOP_POINTS
- {
+ LOOP_POINTS {
pa = psys->particles + p;
hkey = pa->hair = MEM_dupallocN(pa->hair);
- LOOP_KEYS
- {
+ LOOP_KEYS {
key->co = hkey->co;
key->time = &hkey->time;
hkey++;
@@ -174,10 +170,8 @@ static void undoptcache_to_editcache(PTCacheUndo *undo, PTCacheEdit *edit)
}
BKE_ptcache_mem_pointers_init(pm);
- LOOP_POINTS
- {
- LOOP_KEYS
- {
+ LOOP_POINTS {
+ LOOP_KEYS {
if ((int)key->ftime == (int)pm->frame) {
key->co = pm->cur[BPHYS_DATA_LOCATION];
key->vel = pm->cur[BPHYS_DATA_VELOCITY];
@@ -228,10 +222,11 @@ typedef struct ParticleUndoStep {
static bool particle_undosys_poll(struct bContext *C)
{
+ Depsgraph *depsgraph = CTX_data_depsgraph_pointer(C);
Scene *scene = CTX_data_scene(C);
ViewLayer *view_layer = CTX_data_view_layer(C);
Object *ob = OBACT(view_layer);
- PTCacheEdit *edit = PE_get_current(scene, ob);
+ PTCacheEdit *edit = PE_get_current(depsgraph, scene, ob);
return (edit != NULL);
}
@@ -240,11 +235,12 @@ static bool particle_undosys_step_encode(struct bContext *C,
struct Main *UNUSED(bmain),
UndoStep *us_p)
{
+ Depsgraph *depsgraph = CTX_data_depsgraph_pointer(C);
ParticleUndoStep *us = (ParticleUndoStep *)us_p;
ViewLayer *view_layer = CTX_data_view_layer(C);
us->scene_ref.ptr = CTX_data_scene(C);
us->object_ref.ptr = OBACT(view_layer);
- PTCacheEdit *edit = PE_get_current(us->scene_ref.ptr, us->object_ref.ptr);
+ PTCacheEdit *edit = PE_get_current(depsgraph, us->scene_ref.ptr, us->object_ref.ptr);
undoptcache_from_editcache(&us->data, edit);
return true;
}
@@ -255,6 +251,7 @@ static void particle_undosys_step_decode(struct bContext *C,
int UNUSED(dir),
bool UNUSED(is_final))
{
+ Depsgraph *depsgraph = CTX_data_depsgraph_pointer(C);
/* TODO(campbell): undo_system: use low-level API to set mode. */
ED_object_mode_set(C, OB_MODE_PARTICLE_EDIT);
BLI_assert(particle_undosys_poll(C));
@@ -262,7 +259,7 @@ static void particle_undosys_step_decode(struct bContext *C,
ParticleUndoStep *us = (ParticleUndoStep *)us_p;
Scene *scene = us->scene_ref.ptr;
Object *ob = us->object_ref.ptr;
- PTCacheEdit *edit = PE_get_current(scene, ob);
+ PTCacheEdit *edit = PE_get_current(depsgraph, scene, ob);
if (edit) {
undoptcache_to_editcache(&us->data, edit);
DEG_id_tag_update(&ob->id, ID_RECALC_GEOMETRY);
diff --git a/source/blender/editors/physics/particle_object.c b/source/blender/editors/physics/particle_object.c
index 30cded680d8..7e3db80c8d4 100644
--- a/source/blender/editors/physics/particle_object.c
+++ b/source/blender/editors/physics/particle_object.c
@@ -1017,13 +1017,11 @@ static void copy_particle_edit(Depsgraph *depsgraph,
edit->points = MEM_dupallocN(edit_from->points);
pa = psys->particles;
- LOOP_POINTS
- {
+ LOOP_POINTS {
HairKey *hkey = pa->hair;
point->keys = MEM_dupallocN(point->keys);
- LOOP_KEYS
- {
+ LOOP_KEYS {
key->co = hkey->co;
key->time = &hkey->time;
key->flag = hkey->editflag;
diff --git a/source/blender/editors/physics/rigidbody_constraint.c b/source/blender/editors/physics/rigidbody_constraint.c
index 4b1d51ee6c2..303a0714388 100644
--- a/source/blender/editors/physics/rigidbody_constraint.c
+++ b/source/blender/editors/physics/rigidbody_constraint.c
@@ -115,13 +115,7 @@ bool ED_rigidbody_constraint_add(
void ED_rigidbody_constraint_remove(Main *bmain, Scene *scene, Object *ob)
{
- RigidBodyWorld *rbw = BKE_rigidbody_get_world(scene);
-
- BKE_rigidbody_remove_constraint(scene, ob);
- if (rbw) {
- BKE_collection_object_remove(bmain, rbw->constraints, ob, false);
- DEG_id_tag_update(&rbw->constraints->id, ID_RECALC_COPY_ON_WRITE);
- }
+ BKE_rigidbody_remove_constraint(bmain, scene, ob, false);
DEG_relations_tag_update(bmain);
DEG_id_tag_update(&ob->id, ID_RECALC_TRANSFORM);
diff --git a/source/blender/editors/physics/rigidbody_object.c b/source/blender/editors/physics/rigidbody_object.c
index bc8a1799fa0..43ca421b9d0 100644
--- a/source/blender/editors/physics/rigidbody_object.c
+++ b/source/blender/editors/physics/rigidbody_object.c
@@ -105,7 +105,7 @@ bool ED_rigidbody_object_add(Main *bmain, Scene *scene, Object *ob, int type, Re
void ED_rigidbody_object_remove(Main *bmain, Scene *scene, Object *ob)
{
- BKE_rigidbody_remove_object(bmain, scene, ob);
+ BKE_rigidbody_remove_object(bmain, scene, ob, false);
DEG_relations_tag_update(bmain);
DEG_id_tag_update(&ob->id, ID_RECALC_TRANSFORM);
diff --git a/source/blender/editors/render/render_internal.c b/source/blender/editors/render/render_internal.c
index 053ca3d8f9f..7106af25a82 100644
--- a/source/blender/editors/render/render_internal.c
+++ b/source/blender/editors/render/render_internal.c
@@ -859,7 +859,7 @@ static void screen_render_cancel(bContext *C, wmOperator *op)
static void clean_viewport_memory_base(Base *base)
{
- if ((base->flag & BASE_VISIBLE) == 0) {
+ if ((base->flag & BASE_VISIBLE_DEPSGRAPH) == 0) {
return;
}
diff --git a/source/blender/editors/render/render_preview.c b/source/blender/editors/render/render_preview.c
index 3e001ef25b5..6dc3a1ec1ac 100644
--- a/source/blender/editors/render/render_preview.c
+++ b/source/blender/editors/render/render_preview.c
@@ -115,7 +115,7 @@ ImBuf *get_brush_icon(Brush *brush)
// first use the path directly to try and load the file
BLI_strncpy(path, brush->icon_filepath, sizeof(brush->icon_filepath));
- BLI_path_abs(path, BKE_main_blendfile_path_from_global());
+ BLI_path_abs(path, ID_BLEND_PATH_FROM_GLOBAL(&brush->id));
/* use default colorspaces for brushes */
brush->icon_imbuf = IMB_loadiffname(path, flags, NULL);
@@ -474,7 +474,7 @@ static Scene *preview_prepare_scene(
}
}
else if (base->object->type == OB_LAMP) {
- base->flag |= BASE_VISIBLE;
+ base->flag |= BASE_VISIBLE_DEPSGRAPH;
}
}
}
diff --git a/source/blender/editors/render/render_shading.c b/source/blender/editors/render/render_shading.c
index 9f13431f25a..7970d491877 100644
--- a/source/blender/editors/render/render_shading.c
+++ b/source/blender/editors/render/render_shading.c
@@ -103,15 +103,17 @@ static Object **object_array_for_shading(bContext *C, uint *r_objects_len)
ScrArea *sa = CTX_wm_area(C);
SpaceProperties *sbuts = NULL;
View3D *v3d = NULL;
- if (sa->spacetype == SPACE_PROPERTIES) {
- sbuts = sa->spacedata.first;
- }
- else if (sa->spacetype == SPACE_VIEW3D) {
- v3d = sa->spacedata.first;
+ if (sa != NULL) {
+ if (sa->spacetype == SPACE_PROPERTIES) {
+ sbuts = sa->spacedata.first;
+ }
+ else if (sa->spacetype == SPACE_VIEW3D) {
+ v3d = sa->spacedata.first;
+ }
}
Object **objects;
- if (sbuts && sbuts->pinid && GS(sbuts->pinid->name) == ID_OB) {
+ if (sbuts != NULL && sbuts->pinid && GS(sbuts->pinid->name) == ID_OB) {
objects = MEM_mallocN(sizeof(*objects), __func__);
objects[0] = (Object *)sbuts->pinid;
*r_objects_len = 1;
diff --git a/source/blender/editors/render/render_view.c b/source/blender/editors/render/render_view.c
index 6873495e962..cbedb25ea64 100644
--- a/source/blender/editors/render/render_view.c
+++ b/source/blender/editors/render/render_view.c
@@ -118,7 +118,7 @@ static ScrArea *find_area_image_empty(bContext *C)
for (sa = sc->areabase.first; sa; sa = sa->next) {
if (sa->spacetype == SPACE_IMAGE) {
sima = sa->spacedata.first;
- if (!sima->image) {
+ if ((sima->mode == SI_MODE_VIEW) && !sima->image) {
break;
}
}
@@ -156,8 +156,8 @@ ScrArea *render_view_open(bContext *C, int mx, int my, ReportList *reports)
}
/* changes context! */
- if (WM_window_open_temp(C, IFACE_("Blender Render"), mx, my, sizex, sizey, SPACE_IMAGE) ==
- NULL) {
+ if (WM_window_open_temp(
+ C, IFACE_("Blender Render"), mx, my, sizex, sizey, SPACE_IMAGE, false) == NULL) {
BKE_report(reports, RPT_ERROR, "Failed to open window!");
return NULL;
}
@@ -205,7 +205,7 @@ ScrArea *render_view_open(bContext *C, int mx, int my, ReportList *reports)
/* we already had a fullscreen here -> mark new space as a stacked fullscreen */
if (sa->full) {
- sa->flag |= (AREA_FLAG_STACKED_FULLSCREEN | AREA_FLAG_TEMP_TYPE);
+ sa->flag |= AREA_FLAG_STACKED_FULLSCREEN;
}
}
else {
@@ -222,6 +222,7 @@ ScrArea *render_view_open(bContext *C, int mx, int my, ReportList *reports)
}
}
sima = sa->spacedata.first;
+ sima->link_flag |= SPACE_FLAG_TYPE_TEMPORARY;
/* get the correct image, and scale it */
sima->image = BKE_image_verify_viewer(bmain, IMA_TYPE_R_RESULT, "Render Result");
diff --git a/source/blender/editors/screen/area.c b/source/blender/editors/screen/area.c
index e28a03c26b7..ccee88eb0d6 100644
--- a/source/blender/editors/screen/area.c
+++ b/source/blender/editors/screen/area.c
@@ -30,6 +30,7 @@
#include "BLI_blenlib.h"
#include "BLI_math.h"
+#include "BLI_rand.h"
#include "BLI_utildefines.h"
#include "BLI_linklist_stack.h"
@@ -542,20 +543,20 @@ void ED_region_do_draw(bContext *C, ARegion *ar)
region_draw_azones(sa, ar);
/* for debugging unneeded area redraws and partial redraw */
-#if 0
- GPU_blend(true);
- GPUVertFormat *format = immVertexFormat();
- uint pos = GPU_vertformat_attr_add(format, "pos", GPU_COMP_F32, 2, GPU_FETCH_FLOAT);
- immBindBuiltinProgram(GPU_SHADER_2D_UNIFORM_COLOR);
- immUniformColor4f(drand48(), drand48(), drand48(), 0.1f);
- immRectf(pos,
- ar->drawrct.xmin - ar->winrct.xmin,
- ar->drawrct.ymin - ar->winrct.ymin,
- ar->drawrct.xmax - ar->winrct.xmin,
- ar->drawrct.ymax - ar->winrct.ymin);
- immUnbindProgram();
- GPU_blend(false);
-#endif
+ if (G.debug_value == 888) {
+ GPU_blend(true);
+ GPUVertFormat *format = immVertexFormat();
+ uint pos = GPU_vertformat_attr_add(format, "pos", GPU_COMP_F32, 2, GPU_FETCH_FLOAT);
+ immBindBuiltinProgram(GPU_SHADER_2D_UNIFORM_COLOR);
+ immUniformColor4f(BLI_thread_frand(0), BLI_thread_frand(0), BLI_thread_frand(0), 0.1f);
+ immRectf(pos,
+ ar->drawrct.xmin - ar->winrct.xmin,
+ ar->drawrct.ymin - ar->winrct.ymin,
+ ar->drawrct.xmax - ar->winrct.xmin,
+ ar->drawrct.ymax - ar->winrct.ymin);
+ immUnbindProgram();
+ GPU_blend(false);
+ }
memset(&ar->drawrct, 0, sizeof(ar->drawrct));
@@ -1826,7 +1827,7 @@ void ED_region_cursor_set(wmWindow *win, ScrArea *sa, ARegion *ar)
if (WM_cursor_set_from_tool(win, sa, ar)) {
return;
}
- WM_cursor_set(win, CURSOR_STD);
+ WM_cursor_set(win, WM_CURSOR_DEFAULT);
}
}
@@ -1946,7 +1947,7 @@ void ED_area_newspace(bContext *C, ScrArea *sa, int type, const bool skip_ar_exi
if (sa->spacetype != type) {
SpaceType *st;
- SpaceLink *slold;
+ SpaceLink *slold = sa->spacedata.first;
SpaceLink *sl;
/* store sa->type->exit callback */
void *sa_exit = sa->type ? sa->type->exit : NULL;
@@ -1962,7 +1963,7 @@ void ED_area_newspace(bContext *C, ScrArea *sa, int type, const bool skip_ar_exi
*/
int header_alignment = ED_area_header_alignment_or_fallback(sa, -1);
const bool sync_header_alignment = ((header_alignment != -1) &&
- (sa->flag & AREA_FLAG_TEMP_TYPE) == 0);
+ ((slold->link_flag & SPACE_FLAG_TYPE_TEMPORARY) == 0));
/* in some cases (opening temp space) we don't want to
* call area exit callback, so we temporarily unset it */
@@ -1978,7 +1979,6 @@ void ED_area_newspace(bContext *C, ScrArea *sa, int type, const bool skip_ar_exi
}
st = BKE_spacetype_from_id(type);
- slold = sa->spacedata.first;
sa->spacetype = type;
sa->type = st;
@@ -2009,6 +2009,10 @@ void ED_area_newspace(bContext *C, ScrArea *sa, int type, const bool skip_ar_exi
slold->regionbase = sa->regionbase;
sa->regionbase = sl->regionbase;
BLI_listbase_clear(&sl->regionbase);
+ /* SPACE_FLAG_TYPE_WAS_ACTIVE is only used to go back to a previously active space that is
+ * overlapped by temporary ones. It's now properly activated, so the flag should be cleared
+ * at this point. */
+ sl->link_flag &= ~SPACE_FLAG_TYPE_WAS_ACTIVE;
/* put in front of list */
BLI_remlink(&sa->spacedata, sl);
@@ -2072,23 +2076,45 @@ void ED_area_newspace(bContext *C, ScrArea *sa, int type, const bool skip_ar_exi
ED_area_tag_redraw(sa);
}
-void ED_area_prevspace(bContext *C, ScrArea *sa)
+static SpaceLink *area_get_prevspace(ScrArea *sa)
{
SpaceLink *sl = sa->spacedata.first;
- if (sl && sl->next) {
- ED_area_newspace(C, sa, sl->next->spacetype, false);
+ /* First toggle to the next temporary space in the list. */
+ for (SpaceLink *sl_iter = sl->next; sl_iter; sl_iter = sl_iter->next) {
+ if (sl_iter->link_flag & SPACE_FLAG_TYPE_TEMPORARY) {
+ return sl_iter;
+ }
+ }
+
+ /* No temporary space, find the item marked as last active. */
+ for (SpaceLink *sl_iter = sl->next; sl_iter; sl_iter = sl_iter->next) {
+ if (sl_iter->link_flag & SPACE_FLAG_TYPE_WAS_ACTIVE) {
+ return sl_iter;
+ }
+ }
+
+ /* If neither is found, we can just return to the regular previous one. */
+ return sl->next;
+}
- /* keep old spacedata but move it to end, so calling
- * ED_area_prevspace once more won't open it again */
- BLI_remlink(&sa->spacedata, sl);
- BLI_addtail(&sa->spacedata, sl);
+void ED_area_prevspace(bContext *C, ScrArea *sa)
+{
+ SpaceLink *sl = sa->spacedata.first;
+ SpaceLink *prevspace = sl ? area_get_prevspace(sa) : NULL;
+
+ if (prevspace) {
+ ED_area_newspace(C, sa, prevspace->spacetype, false);
+ /* We've exited the space, so it can't be considered temporary anymore. */
+ sl->link_flag &= ~SPACE_FLAG_TYPE_TEMPORARY;
}
else {
/* no change */
return;
}
- sa->flag &= ~(AREA_FLAG_STACKED_FULLSCREEN | AREA_FLAG_TEMP_TYPE);
+ /* If this is a stacked fullscreen, changing to previous area exits it (meaning we're still in a
+ * fullscreen, but not in a stacked one). */
+ sa->flag &= ~AREA_FLAG_STACKED_FULLSCREEN;
ED_area_tag_redraw(sa);
@@ -2868,7 +2894,7 @@ void ED_region_info_draw(ARegion *ar,
float fill_color[4],
const bool full_redraw)
{
- ED_region_info_draw_multiline(ar, (const char * [2]){text, NULL}, fill_color, full_redraw);
+ ED_region_info_draw_multiline(ar, (const char *[2]){text, NULL}, fill_color, full_redraw);
}
#define MAX_METADATA_STR 1024
@@ -3336,13 +3362,17 @@ const rcti *ED_region_visible_rect(ARegion *ar)
/* Cache display helpers */
-void ED_region_cache_draw_background(const ARegion *ar)
+void ED_region_cache_draw_background(ARegion *ar)
{
+ /* Local coordinate visible rect inside region, to accommodate overlapping ui. */
+ const rcti *rect_visible = ED_region_visible_rect(ar);
+ const int region_bottom = rect_visible->ymin;
+
uint pos = GPU_vertformat_attr_add(
immVertexFormat(), "pos", GPU_COMP_I32, 2, GPU_FETCH_INT_TO_FLOAT);
immBindBuiltinProgram(GPU_SHADER_2D_UNIFORM_COLOR);
immUniformColor4ub(128, 128, 255, 64);
- immRecti(pos, 0, 0, ar->winx, 8 * UI_DPI_FAC);
+ immRecti(pos, 0, region_bottom, ar->winx, region_bottom + 8 * UI_DPI_FAC);
immUnbindProgram();
}
@@ -3372,9 +3402,13 @@ void ED_region_cache_draw_curfra_label(const int framenr, const float x, const f
}
void ED_region_cache_draw_cached_segments(
- const ARegion *ar, const int num_segments, const int *points, const int sfra, const int efra)
+ ARegion *ar, const int num_segments, const int *points, const int sfra, const int efra)
{
if (num_segments) {
+ /* Local coordinate visible rect inside region, to accommodate overlapping ui. */
+ const rcti *rect_visible = ED_region_visible_rect(ar);
+ const int region_bottom = rect_visible->ymin;
+
uint pos = GPU_vertformat_attr_add(
immVertexFormat(), "pos", GPU_COMP_I32, 2, GPU_FETCH_INT_TO_FLOAT);
immBindBuiltinProgram(GPU_SHADER_2D_UNIFORM_COLOR);
@@ -3384,7 +3418,7 @@ void ED_region_cache_draw_cached_segments(
float x1 = (float)(points[a * 2] - sfra) / (efra - sfra + 1) * ar->winx;
float x2 = (float)(points[a * 2 + 1] - sfra + 1) / (efra - sfra + 1) * ar->winx;
- immRecti(pos, x1, 0, x2, 8 * UI_DPI_FAC);
+ immRecti(pos, x1, region_bottom, x2, region_bottom + 8 * UI_DPI_FAC);
/* TODO(merwin): use primitive restart to draw multiple rects more efficiently */
}
diff --git a/source/blender/editors/screen/screen_draw.c b/source/blender/editors/screen/screen_draw.c
index 316604156de..a6b8bba73e3 100644
--- a/source/blender/editors/screen/screen_draw.c
+++ b/source/blender/editors/screen/screen_draw.c
@@ -21,7 +21,7 @@
#include "ED_screen.h"
#include "GPU_batch_presets.h"
-#include "GPU_extensions.h"
+#include "GPU_platform.h"
#include "GPU_framebuffer.h"
#include "GPU_immediate.h"
#include "GPU_matrix.h"
diff --git a/source/blender/editors/screen/screen_edit.c b/source/blender/editors/screen/screen_edit.c
index 2f5cc1c5191..5b8fd33a4e9 100644
--- a/source/blender/editors/screen/screen_edit.c
+++ b/source/blender/editors/screen/screen_edit.c
@@ -644,14 +644,14 @@ static void screen_cursor_set(wmWindow *win, const int xy[2])
if (sa) {
if (az->type == AZONE_AREA) {
- WM_cursor_set(win, CURSOR_EDIT);
+ WM_cursor_set(win, WM_CURSOR_EDIT);
}
else if (az->type == AZONE_REGION) {
if (az->edge == AE_LEFT_TO_TOPRIGHT || az->edge == AE_RIGHT_TO_TOPLEFT) {
- WM_cursor_set(win, CURSOR_X_MOVE);
+ WM_cursor_set(win, WM_CURSOR_X_MOVE);
}
else {
- WM_cursor_set(win, CURSOR_Y_MOVE);
+ WM_cursor_set(win, WM_CURSOR_Y_MOVE);
}
}
}
@@ -660,14 +660,14 @@ static void screen_cursor_set(wmWindow *win, const int xy[2])
if (actedge) {
if (screen_geom_edge_is_horizontal(actedge)) {
- WM_cursor_set(win, CURSOR_Y_MOVE);
+ WM_cursor_set(win, WM_CURSOR_Y_MOVE);
}
else {
- WM_cursor_set(win, CURSOR_X_MOVE);
+ WM_cursor_set(win, WM_CURSOR_X_MOVE);
}
}
else {
- WM_cursor_set(win, CURSOR_STD);
+ WM_cursor_set(win, WM_CURSOR_DEFAULT);
}
}
}
@@ -1115,6 +1115,7 @@ ScrArea *ED_screen_full_newspace(bContext *C, ScrArea *sa, int type)
{
wmWindow *win = CTX_wm_window(C);
ScrArea *newsa = NULL;
+ SpaceLink *newsl;
if (!sa || sa->full == NULL) {
newsa = ED_screen_state_toggle(C, win, sa, SCREENMAXIMIZED);
@@ -1125,15 +1126,14 @@ ScrArea *ED_screen_full_newspace(bContext *C, ScrArea *sa, int type)
}
BLI_assert(newsa);
+ newsl = newsa->spacedata.first;
- if (sa && (sa->spacetype != type)) {
- newsa->flag |= AREA_FLAG_TEMP_TYPE;
- }
- else {
- newsa->flag &= ~AREA_FLAG_TEMP_TYPE;
+ /* Tag the active space before changing, so we can identify it when user wants to go back. */
+ if ((newsl->link_flag & SPACE_FLAG_TYPE_TEMPORARY) == 0) {
+ newsl->link_flag |= SPACE_FLAG_TYPE_WAS_ACTIVE;
}
- ED_area_newspace(C, newsa, type, (newsa->flag & AREA_FLAG_TEMP_TYPE));
+ ED_area_newspace(C, newsa, type, newsl->link_flag & SPACE_FLAG_TYPE_TEMPORARY);
return newsa;
}
@@ -1146,7 +1146,7 @@ void ED_screen_full_prevspace(bContext *C, ScrArea *sa)
BLI_assert(sa->full);
if (sa->flag & AREA_FLAG_STACKED_FULLSCREEN) {
- /* stacked fullscreen -> only go back to previous screen and don't toggle out of fullscreen */
+ /* stacked fullscreen -> only go back to previous area and don't toggle out of fullscreen */
ED_area_prevspace(C, sa);
}
else {
@@ -1156,13 +1156,13 @@ void ED_screen_full_prevspace(bContext *C, ScrArea *sa)
void ED_screen_restore_temp_type(bContext *C, ScrArea *sa)
{
+ SpaceLink *sl = sa->spacedata.first;
+
/* In case nether functions below run. */
ED_area_tag_redraw(sa);
- if (sa->flag & AREA_FLAG_TEMP_TYPE) {
+ if (sl->link_flag & SPACE_FLAG_TYPE_TEMPORARY) {
ED_area_prevspace(C, sa);
- /* Flag should be cleared now. */
- BLI_assert((sa->flag & AREA_FLAG_TEMP_TYPE) == 0);
}
if (sa->full) {
@@ -1182,7 +1182,7 @@ void ED_screen_full_restore(bContext *C, ScrArea *sa)
* overlaid on top of an existing setup) then return to the previous space */
if (sl->next) {
- if (sa->flag & AREA_FLAG_TEMP_TYPE) {
+ if (sl->link_flag & SPACE_FLAG_TYPE_TEMPORARY) {
ED_screen_full_prevspace(C, sa);
}
else {
@@ -1375,13 +1375,14 @@ ScrArea *ED_screen_temp_space_open(bContext *C,
int sizex,
int sizey,
eSpace_Type space_type,
- int display_type)
+ int display_type,
+ bool dialog)
{
ScrArea *sa = NULL;
switch (display_type) {
case USER_TEMP_SPACE_DISPLAY_WINDOW:
- if (WM_window_open_temp(C, title, x, y, sizex, sizey, (int)space_type)) {
+ if (WM_window_open_temp(C, title, x, y, sizex, sizey, (int)space_type, dialog)) {
sa = CTX_wm_area(C);
}
break;
@@ -1391,14 +1392,15 @@ ScrArea *ED_screen_temp_space_open(bContext *C,
if (ctx_sa->full) {
sa = ctx_sa;
ED_area_newspace(C, ctx_sa, space_type, true);
- /* we already had a fullscreen here -> mark new space as a stacked fullscreen */
- sa->flag |= (AREA_FLAG_STACKED_FULLSCREEN | AREA_FLAG_TEMP_TYPE);
+ sa->flag |= AREA_FLAG_STACKED_FULLSCREEN;
+ ((SpaceLink *)sa->spacedata.first)->link_flag |= SPACE_FLAG_TYPE_TEMPORARY;
}
else if (ctx_sa->spacetype == space_type) {
sa = ED_screen_state_toggle(C, CTX_wm_window(C), ctx_sa, SCREENMAXIMIZED);
}
else {
sa = ED_screen_full_newspace(C, ctx_sa, (int)space_type);
+ ((SpaceLink *)sa->spacedata.first)->link_flag |= SPACE_FLAG_TYPE_TEMPORARY;
}
break;
}
diff --git a/source/blender/editors/screen/screen_ops.c b/source/blender/editors/screen/screen_ops.c
index 4150b270262..c5e7d578e71 100644
--- a/source/blender/editors/screen/screen_ops.c
+++ b/source/blender/editors/screen/screen_ops.c
@@ -1041,28 +1041,28 @@ static int actionzone_modal(bContext *C, wmOperator *op, const wmEvent *event)
if (BKE_screen_find_area_xy(sc, SPACE_TYPE_ANY, event->x, event->y) == sad->sa1) {
/* Same area, so possible split. */
WM_cursor_set(
- win, (ELEM(sad->gesture_dir, 'n', 's')) ? BC_V_SPLITCURSOR : BC_H_SPLITCURSOR);
+ win, (ELEM(sad->gesture_dir, 'n', 's')) ? WM_CURSOR_H_SPLIT : WM_CURSOR_V_SPLIT);
is_gesture = (delta_max > split_threshold);
}
else {
/* Different area, so possible join. */
if (sad->gesture_dir == 'n') {
- WM_cursor_set(win, BC_N_ARROWCURSOR);
+ WM_cursor_set(win, WM_CURSOR_N_ARROW);
}
else if (sad->gesture_dir == 's') {
- WM_cursor_set(win, BC_S_ARROWCURSOR);
+ WM_cursor_set(win, WM_CURSOR_S_ARROW);
}
else if (sad->gesture_dir == 'e') {
- WM_cursor_set(win, BC_E_ARROWCURSOR);
+ WM_cursor_set(win, WM_CURSOR_E_ARROW);
}
else {
- WM_cursor_set(win, BC_W_ARROWCURSOR);
+ WM_cursor_set(win, WM_CURSOR_W_ARROW);
}
is_gesture = (delta_max > join_threshold);
}
}
else {
- WM_cursor_set(CTX_wm_window(C), BC_CROSSCURSOR);
+ WM_cursor_set(CTX_wm_window(C), WM_CURSOR_CROSS);
is_gesture = false;
}
}
@@ -1227,7 +1227,7 @@ static int area_swap_invoke(bContext *C, wmOperator *op, const wmEvent *event)
}
/* add modal handler */
- WM_cursor_modal_set(CTX_wm_window(C), BC_SWAPAREA_CURSOR);
+ WM_cursor_modal_set(CTX_wm_window(C), WM_CURSOR_SWAP_AREA);
WM_event_add_modal_handler(C, op);
return OPERATOR_RUNNING_MODAL;
@@ -2119,7 +2119,7 @@ static void area_split_preview_update_cursor(bContext *C, wmOperator *op)
{
wmWindow *win = CTX_wm_window(C);
int dir = RNA_enum_get(op->ptr, "direction");
- WM_cursor_set(win, (dir == 'n' || dir == 's') ? BC_V_SPLITCURSOR : BC_H_SPLITCURSOR);
+ WM_cursor_set(win, dir == 'h' ? WM_CURSOR_H_SPLIT : WM_CURSOR_V_SPLIT);
}
/* UI callback, adds new handler */
@@ -3418,19 +3418,19 @@ static int area_join_modal(bContext *C, wmOperator *op, const wmEvent *event)
}
if (dir == 1) {
- WM_cursor_set(win, BC_N_ARROWCURSOR);
+ WM_cursor_set(win, WM_CURSOR_N_ARROW);
}
else if (dir == 3) {
- WM_cursor_set(win, BC_S_ARROWCURSOR);
+ WM_cursor_set(win, WM_CURSOR_S_ARROW);
}
else if (dir == 2) {
- WM_cursor_set(win, BC_E_ARROWCURSOR);
+ WM_cursor_set(win, WM_CURSOR_E_ARROW);
}
else if (dir == 0) {
- WM_cursor_set(win, BC_W_ARROWCURSOR);
+ WM_cursor_set(win, WM_CURSOR_W_ARROW);
}
else {
- WM_cursor_set(win, BC_STOPCURSOR);
+ WM_cursor_set(win, WM_CURSOR_STOP);
}
break;
@@ -3946,7 +3946,7 @@ static int region_toggle_exec(bContext *C, wmOperator *op)
region = CTX_wm_region(C);
}
- if (region) {
+ if (region && (region->alignment != RGN_ALIGN_NONE)) {
ED_region_toggle_hidden(C, region);
}
ED_region_tag_redraw(region);
@@ -4828,9 +4828,14 @@ static int userpref_show_invoke(bContext *C, wmOperator *op, const wmEvent *even
int sizey = 520 * UI_DPI_FAC;
/* changes context! */
- if (WM_window_open_temp(
- C, IFACE_("Blender Preferences"), event->x, event->y, sizex, sizey, SPACE_USERPREF) !=
- NULL) {
+ if (WM_window_open_temp(C,
+ IFACE_("Blender Preferences"),
+ event->x,
+ event->y,
+ sizex,
+ sizey,
+ SPACE_USERPREF,
+ false) != NULL) {
/* The header only contains the editor switcher and looks empty.
* So hiding in the temp window makes sense. */
ScrArea *area = CTX_wm_area(C);
@@ -4879,9 +4884,14 @@ static int drivers_editor_show_invoke(bContext *C, wmOperator *op, const wmEvent
but = UI_context_active_but_prop_get(C, &ptr, &prop, &index);
/* changes context! */
- if (WM_window_open_temp(
- C, IFACE_("Blender Drivers Editor"), event->x, event->y, sizex, sizey, SPACE_GRAPH) !=
- NULL) {
+ if (WM_window_open_temp(C,
+ IFACE_("Blender Drivers Editor"),
+ event->x,
+ event->y,
+ sizex,
+ sizey,
+ SPACE_GRAPH,
+ false) != NULL) {
ED_drivers_editor_init(C, CTX_wm_area(C));
/* activate driver F-Curve for the property under the cursor */
@@ -4939,9 +4949,14 @@ static int info_log_show_invoke(bContext *C, wmOperator *op, const wmEvent *even
int shift_y = 480;
/* changes context! */
- if (WM_window_open_temp(
- C, IFACE_("Blender Info Log"), event->x, event->y + shift_y, sizex, sizey, SPACE_INFO) !=
- NULL) {
+ if (WM_window_open_temp(C,
+ IFACE_("Blender Info Log"),
+ event->x,
+ event->y + shift_y,
+ sizex,
+ sizey,
+ SPACE_INFO,
+ false) != NULL) {
return OPERATOR_FINISHED;
}
else {
diff --git a/source/blender/editors/sculpt_paint/CMakeLists.txt b/source/blender/editors/sculpt_paint/CMakeLists.txt
index 752a5c36010..a5cc262ddcd 100644
--- a/source/blender/editors/sculpt_paint/CMakeLists.txt
+++ b/source/blender/editors/sculpt_paint/CMakeLists.txt
@@ -31,6 +31,7 @@ set(INC
../../render/extern/include
../../windowmanager
../../../../intern/atomic
+ ../../../../intern/clog
../../../../intern/glew-mx
../../../../intern/guardedalloc
)
@@ -47,7 +48,6 @@ set(SRC
paint_image.c
paint_image_2d.c
paint_image_proj.c
- paint_image_undo.c
paint_mask.c
paint_ops.c
paint_stroke.c
diff --git a/source/blender/editors/sculpt_paint/paint_cursor.c b/source/blender/editors/sculpt_paint/paint_cursor.c
index 466615f4a94..385e37f7d22 100644
--- a/source/blender/editors/sculpt_paint/paint_cursor.c
+++ b/source/blender/editors/sculpt_paint/paint_cursor.c
@@ -410,7 +410,7 @@ static void load_tex_cursor_task_cb(void *__restrict userdata,
if (len <= 1.0f) {
float avg = BKE_brush_curve_strength_clamped(br, len, 1.0f); /* Falloff curve */
- buffer[index] = 255 - (GLubyte)(255 * avg);
+ buffer[index] = (GLubyte)(255 * avg);
}
else {
buffer[index] = 0;
@@ -1224,9 +1224,13 @@ static bool paint_use_2d_cursor(ePaintMode mode)
static void paint_draw_cursor(bContext *C, int x, int y, void *UNUSED(unused))
{
+ ARegion *ar = CTX_wm_region(C);
+ if (ar && ar->regiontype != RGN_TYPE_WINDOW) {
+ return;
+ }
+
Depsgraph *depsgraph = CTX_data_depsgraph_pointer(C);
Scene *scene = CTX_data_scene(C);
- ARegion *ar = CTX_wm_region(C);
UnifiedPaintSettings *ups = &scene->toolsettings->unified_paint_settings;
Paint *paint = BKE_paint_get_active_from_context(C);
Brush *brush = BKE_paint_brush(paint);
@@ -1261,7 +1265,7 @@ static void paint_draw_cursor(bContext *C, int x, int y, void *UNUSED(unused))
/* set various defaults */
const float *outline_col = brush->add_col;
- const float outline_alpha = 0.5f;
+ const float outline_alpha = 0.7f;
float translation[2] = {x, y};
float final_radius = (BKE_brush_size_get(scene, brush) * zoomx);
@@ -1272,6 +1276,9 @@ static void paint_draw_cursor(bContext *C, int x, int y, void *UNUSED(unused))
paint_calculate_rake_rotation(ups, brush, translation);
}
+ /* draw overlay */
+ bool alpha_overlay_active = paint_draw_alpha_overlay(ups, brush, &vc, x, y, zoomx, mode);
+
if (ups->draw_anchored) {
final_radius = ups->anchored_size;
copy_v2_fl2(translation,
@@ -1294,9 +1301,9 @@ static void paint_draw_cursor(bContext *C, int x, int y, void *UNUSED(unused))
if (ups->stroke_active && BKE_brush_use_size_pressure(scene, brush)) {
imm_draw_circle_wire_2d(
pos, translation[0], translation[1], final_radius * ups->size_pressure_value, 40);
+ /* outer at half alpha */
+ immUniformColor3fvAlpha(outline_col, outline_alpha * 0.5f);
}
- /* outer at half alpha */
- immUniformColor3fvAlpha(outline_col, outline_alpha * 0.5f);
GPU_line_width(1.0f);
imm_draw_circle_wire_2d(pos, translation[0], translation[1], final_radius, 40);
@@ -1305,9 +1312,6 @@ static void paint_draw_cursor(bContext *C, int x, int y, void *UNUSED(unused))
uint pos = GPU_vertformat_attr_add(immVertexFormat(), "pos", GPU_COMP_F32, 3, GPU_FETCH_FLOAT);
immBindBuiltinProgram(GPU_SHADER_3D_UNIFORM_COLOR);
- /* draw overlay */
- bool alpha_overlay_active = paint_draw_alpha_overlay(ups, brush, &vc, x, y, zoomx, mode);
-
/* TODO: as sculpt and other paint modes are unified, this
* special mode of drawing will go away */
Object *obact = vc.obact;
@@ -1352,29 +1356,24 @@ static void paint_draw_cursor(bContext *C, int x, int y, void *UNUSED(unused))
SculptCursorGeometryInfo gi;
float mouse[2] = {x - ar->winrct.xmin, y - ar->winrct.ymin};
+ int prev_active_vertex_index = -1;
bool is_cursor_over_mesh = false;
/* Update the active vertex */
- if ((mode == PAINT_MODE_SCULPT) && !ups->stroke_active) {
+ if ((mode == PAINT_MODE_SCULPT) && ss && !ups->stroke_active) {
+ prev_active_vertex_index = ss->active_vertex_index;
is_cursor_over_mesh = sculpt_cursor_geometry_info_update(
- C, &gi, mouse, !(brush->falloff_shape & BRUSH_AIRBRUSH));
+ C, &gi, mouse, (brush->falloff_shape == PAINT_FALLOFF_SHAPE_SPHERE));
}
+ /* Use special paint crosshair cursor in all paint modes*/
+ wmWindow *win = CTX_wm_window(C);
+ WM_cursor_set(win, WM_CURSOR_PAINT);
- if ((mode == PAINT_MODE_SCULPT) && ss && !is_multires &&
- !(brush->falloff_shape & BRUSH_AIRBRUSH)) {
+ if ((mode == PAINT_MODE_SCULPT) && ss &&
+ (brush->falloff_shape == PAINT_FALLOFF_SHAPE_SPHERE)) {
Sculpt *sd = CTX_data_tool_settings(C)->sculpt;
- wmWindow *win = CTX_wm_window(C);
-
- /* Update WM mouse cursor, disable when the 3D brush cursor is enabled */
- if (sd->paint.brush->overlay_flags & BRUSH_OVERLAY_CURSOR) {
- WM_cursor_set(win, CURSOR_STD);
- }
- else {
- WM_cursor_set(win, CURSOR_EDIT);
- }
if (!ups->stroke_active) {
- int prev_active_vertex_index = ss->active_vertex_index;
bool update_previews = false;
if (is_cursor_over_mesh && !alpha_overlay_active) {
@@ -1399,12 +1398,12 @@ static void paint_draw_cursor(bContext *C, int x, int y, void *UNUSED(unused))
}
/* Draw pose brush origin */
- if (brush->sculpt_tool == SCULPT_TOOL_POSE && !is_multires) {
+ if (brush->sculpt_tool == SCULPT_TOOL_POSE) {
immUniformColor4f(1.0f, 1.0f, 1.0f, 0.8f);
if (update_previews) {
BKE_sculpt_update_object_for_edit(depsgraph, vc.obact, true, false);
sculpt_pose_calc_pose_data(
- sd, vc.obact, ss, gi.location, rds, ss->pose_origin, NULL);
+ sd, vc.obact, ss, gi.location, rds, brush->pose_offset, ss->pose_origin, NULL);
}
cursor_draw_point_screen_space(pos, ar, ss->pose_origin, vc.obact->obmat, 5);
}
@@ -1433,21 +1432,26 @@ static void paint_draw_cursor(bContext *C, int x, int y, void *UNUSED(unused))
GPU_matrix_mul(cursor_trans);
GPU_matrix_mul(cursor_rot);
immUniformColor3fvAlpha(outline_col, outline_alpha);
- imm_draw_circle_wire_3d(pos, 0, 0, rds, 40);
+ GPU_line_width(2.0f);
+ imm_draw_circle_wire_3d(pos, 0, 0, rds, 80);
+ GPU_line_width(1.0f);
+ immUniformColor3fvAlpha(outline_col, outline_alpha * 0.5f);
+ imm_draw_circle_wire_3d(pos, 0, 0, rds * clamp_f(brush->alpha, 0.0f, 1.0f), 80);
GPU_matrix_pop();
/* Update and draw dynamic mesh preview lines */
GPU_matrix_push();
GPU_matrix_mul(vc.obact->obmat);
- if (brush->sculpt_tool == SCULPT_TOOL_GRAB && brush->flag & BRUSH_GRAB_ACTIVE_VERTEX) {
- if (BKE_pbvh_type(ss->pbvh) == PBVH_FACES && ss->modifiers_active) {
+ if (brush->sculpt_tool == SCULPT_TOOL_GRAB && (brush->flag & BRUSH_GRAB_ACTIVE_VERTEX) &&
+ !is_multires) {
+ if (BKE_pbvh_type(ss->pbvh) == PBVH_FACES && ss->deform_modifiers_active) {
sculpt_geometry_preview_lines_update(C, ss, rds);
sculpt_geometry_preview_lines_draw(pos, ss);
}
}
/* Draw pose brush line preview */
- if (brush->sculpt_tool == SCULPT_TOOL_POSE && !is_multires) {
+ if (brush->sculpt_tool == SCULPT_TOOL_POSE) {
immUniformColor4f(1.0f, 1.0f, 1.0f, 0.8f);
GPU_line_width(2.0f);
immBegin(GPU_PRIM_LINES, 2);
@@ -1466,7 +1470,15 @@ static void paint_draw_cursor(bContext *C, int x, int y, void *UNUSED(unused))
/* Draw default cursor when the mouse is not over the mesh or there are no supported
* overlays active */
GPU_line_width(1.0f);
- imm_draw_circle_wire_3d(pos, translation[0], translation[1], final_radius, 40);
+ /* Reduce alpha to increase the contrast when the cursor is over the mesh */
+ immUniformColor3fvAlpha(outline_col, outline_alpha * 0.8);
+ imm_draw_circle_wire_3d(pos, translation[0], translation[1], final_radius, 80);
+ immUniformColor3fvAlpha(outline_col, outline_alpha * 0.35f);
+ imm_draw_circle_wire_3d(pos,
+ translation[0],
+ translation[1],
+ final_radius * clamp_f(brush->alpha, 0.0f, 1.0f),
+ 80);
}
}
else {
@@ -1483,8 +1495,9 @@ static void paint_draw_cursor(bContext *C, int x, int y, void *UNUSED(unused))
pos, ar, cursor_location, sd, vc.obact, ss->cache->radius);
/* Draw cached dynamic mesh preview lines */
- if (brush->sculpt_tool == SCULPT_TOOL_GRAB && brush->flag & BRUSH_GRAB_ACTIVE_VERTEX) {
- if (BKE_pbvh_type(ss->pbvh) == PBVH_FACES && ss->modifiers_active) {
+ if (brush->sculpt_tool == SCULPT_TOOL_GRAB && (brush->flag & BRUSH_GRAB_ACTIVE_VERTEX) &&
+ !is_multires) {
+ if (BKE_pbvh_type(ss->pbvh) == PBVH_FACES && ss->deform_modifiers_active) {
GPU_matrix_push_projection();
ED_view3d_draw_setup_view(CTX_wm_window(C),
CTX_data_depsgraph_pointer(C),
diff --git a/source/blender/editors/sculpt_paint/paint_hide.c b/source/blender/editors/sculpt_paint/paint_hide.c
index cfb42407fb7..026dc39c668 100644
--- a/source/blender/editors/sculpt_paint/paint_hide.c
+++ b/source/blender/editors/sculpt_paint/paint_hide.c
@@ -134,7 +134,6 @@ static void partialvis_update_grids(Depsgraph *depsgraph,
float planes[4][4])
{
CCGElem **grids;
- CCGKey key;
BLI_bitmap **grid_hidden;
int *grid_indices, totgrid, i;
bool any_changed = false, any_visible = false;
@@ -142,7 +141,7 @@ static void partialvis_update_grids(Depsgraph *depsgraph,
/* get PBVH data */
BKE_pbvh_node_get_grids(pbvh, node, &grid_indices, &totgrid, NULL, NULL, &grids);
grid_hidden = BKE_pbvh_grid_hidden(pbvh);
- BKE_pbvh_get_grid_key(pbvh, &key);
+ CCGKey key = *BKE_pbvh_get_grid_key(pbvh);
sculpt_undo_push_node(ob, node, SCULPT_UNDO_HIDDEN);
@@ -309,7 +308,6 @@ static void clip_planes_from_rect(bContext *C,
view3d_operator_needs_opengl(C);
ED_view3d_viewcontext_init(C, &vc, depsgraph);
ED_view3d_clipping_calc(&bb, clip_planes, vc.ar, vc.obact, rect);
- negate_m4(clip_planes);
}
/* If mode is inside, get all PBVH nodes that lie at least partially
@@ -324,17 +322,18 @@ static void get_pbvh_nodes(
/* select search callback */
switch (mode) {
case PARTIALVIS_INSIDE:
- cb = BKE_pbvh_node_planes_contain_AABB;
+ cb = BKE_pbvh_node_frustum_contain_AABB;
break;
case PARTIALVIS_OUTSIDE:
- cb = BKE_pbvh_node_planes_exclude_AABB;
+ cb = BKE_pbvh_node_frustum_exclude_AABB;
break;
case PARTIALVIS_ALL:
case PARTIALVIS_MASKED:
break;
}
- BKE_pbvh_search_gather(pbvh, cb, clip_planes, nodes, totnode);
+ PBVHFrustumPlanes frustum = {.planes = clip_planes, .num_planes = 4};
+ BKE_pbvh_search_gather(pbvh, cb, &frustum, nodes, totnode);
}
static int hide_show_exec(bContext *C, wmOperator *op)
@@ -365,6 +364,8 @@ static int hide_show_exec(bContext *C, wmOperator *op)
get_pbvh_nodes(pbvh, &nodes, &totnode, clip_planes, area);
pbvh_type = BKE_pbvh_type(pbvh);
+ negate_m4(clip_planes);
+
/* start undo */
switch (action) {
case PARTIALVIS_HIDE:
diff --git a/source/blender/editors/sculpt_paint/paint_image.c b/source/blender/editors/sculpt_paint/paint_image.c
index 2ed1d5d1af7..9acc189ae95 100644
--- a/source/blender/editors/sculpt_paint/paint_image.c
+++ b/source/blender/editors/sculpt_paint/paint_image.c
@@ -113,10 +113,10 @@ void imapaint_region_tiles(
IMB_rectclip(ibuf, NULL, &x, &y, &srcx, &srcy, &w, &h);
- *tw = ((x + w - 1) >> IMAPAINT_TILE_BITS);
- *th = ((y + h - 1) >> IMAPAINT_TILE_BITS);
- *tx = (x >> IMAPAINT_TILE_BITS);
- *ty = (y >> IMAPAINT_TILE_BITS);
+ *tw = ((x + w - 1) >> ED_IMAGE_UNDO_TILE_BITS);
+ *th = ((y + h - 1) >> ED_IMAGE_UNDO_TILE_BITS);
+ *tx = (x >> ED_IMAGE_UNDO_TILE_BITS);
+ *ty = (y >> ED_IMAGE_UNDO_TILE_BITS);
}
void ED_imapaint_dirty_region(Image *ima, ImBuf *ibuf, int x, int y, int w, int h, bool find_old)
@@ -147,11 +147,12 @@ void ED_imapaint_dirty_region(Image *ima, ImBuf *ibuf, int x, int y, int w, int
imapaint_region_tiles(ibuf, x, y, w, h, &tilex, &tiley, &tilew, &tileh);
- ListBase *undo_tiles = ED_image_undo_get_tiles();
+ ListBase *undo_tiles = ED_image_paint_tile_list_get();
for (ty = tiley; ty <= tileh; ty++) {
for (tx = tilex; tx <= tilew; tx++) {
- image_undo_push_tile(undo_tiles, ima, ibuf, &tmpibuf, tx, ty, NULL, NULL, false, find_old);
+ ED_image_paint_tile_push(
+ undo_tiles, ima, ibuf, &tmpibuf, tx, ty, NULL, NULL, false, find_old);
}
}
@@ -539,7 +540,7 @@ static void paint_stroke_update_step(bContext *C, struct PaintStroke *stroke, Po
RNA_float_get_array(itemptr, "mouse", mouse);
pressure = RNA_float_get(itemptr, "pressure");
eraser = RNA_boolean_get(itemptr, "pen_flip");
- size = max_ff(1.0f, RNA_float_get(itemptr, "size"));
+ size = RNA_float_get(itemptr, "size");
/* stroking with fill tool only acts on stroke end */
if (brush->imagepaint_tool == PAINT_TOOL_FILL) {
@@ -700,7 +701,7 @@ static int paint_invoke(bContext *C, wmOperator *op, const wmEvent *event)
event->type);
if ((retval = op->type->modal(C, op, event)) == OPERATOR_FINISHED) {
- paint_stroke_data_free(op);
+ paint_stroke_free(C, op);
return OPERATOR_FINISHED;
}
/* add modal handler */
@@ -758,17 +759,14 @@ void PAINT_OT_image_paint(wmOperatorType *ot)
paint_stroke_operator_properties(ot);
}
-int get_imapaint_zoom(bContext *C, float *zoomx, float *zoomy)
+bool get_imapaint_zoom(bContext *C, float *zoomx, float *zoomy)
{
- RegionView3D *rv3d = CTX_wm_region_view3d(C);
-
- if (!rv3d) {
- SpaceImage *sima = CTX_wm_space_image(C);
-
+ ScrArea *sa = CTX_wm_area(C);
+ if (sa && sa->spacetype == SPACE_IMAGE) {
+ SpaceImage *sima = sa->spacedata.first;
if (sima->mode == SI_MODE_PAINT) {
ARegion *ar = CTX_wm_region(C);
ED_space_image_get_zoom(sima, ar, zoomx, zoomy);
-
return 1;
}
}
@@ -1023,7 +1021,7 @@ static int sample_color_invoke(bContext *C, wmOperator *op, const wmEvent *event
!RNA_boolean_get(op->ptr, "merged");
paint_sample_color(C, ar, event->mval[0], event->mval[1], use_sample_texture, false);
- WM_cursor_modal_set(win, BC_EYEDROPPER_CURSOR);
+ WM_cursor_modal_set(win, WM_CURSOR_EYEDROPPER);
WM_event_add_notifier(C, NC_BRUSH | NA_EDITED, brush);
diff --git a/source/blender/editors/sculpt_paint/paint_image_2d.c b/source/blender/editors/sculpt_paint/paint_image_2d.c
index 8f1156295a3..004caae8a00 100644
--- a/source/blender/editors/sculpt_paint/paint_image_2d.c
+++ b/source/blender/editors/sculpt_paint/paint_image_2d.c
@@ -374,25 +374,70 @@ static void brush_painter_mask_imbuf_partial_update(BrushPainter *painter,
/* create a mask with the falloff strength */
static unsigned short *brush_painter_curve_mask_new(BrushPainter *painter,
int diameter,
- float radius)
+ float radius,
+ const float pos[2])
{
Brush *brush = painter->brush;
- int xoff = -radius;
- int yoff = -radius;
+ int offset = (int)floorf(diameter / 2.0f);
unsigned short *mask, *m;
- int x, y;
mask = MEM_mallocN(sizeof(unsigned short) * diameter * diameter, "brush_painter_mask");
m = mask;
- for (y = 0; y < diameter; y++) {
- for (x = 0; x < diameter; x++, m++) {
- float xy[2] = {x + xoff, y + yoff};
- float len = len_v2(xy);
+ int aa_samples = 1.0f / (radius * 0.20f);
+ if (brush->sampling_flag & BRUSH_PAINT_ANTIALIASING) {
+ aa_samples = clamp_i(aa_samples, 3, 16);
+ }
+ else {
+ aa_samples = 1;
+ }
+
+ /* Temporal until we have the brush properties */
+ const float hardness = 1.0f;
+ const float rotation = 0.0f;
+
+ float aa_offset = 1.0f / (2.0f * (float)aa_samples);
+ float aa_step = 1.0f / (float)aa_samples;
+
+ float bpos[2];
+ bpos[0] = pos[0] - floorf(pos[0]) + offset - aa_offset;
+ bpos[1] = pos[1] - floorf(pos[1]) + offset - aa_offset;
+
+ const float co = cosf(DEG2RADF(rotation));
+ const float si = sinf(DEG2RADF(rotation));
+
+ float norm_factor = 65535.0f / (float)(aa_samples * aa_samples);
+
+ for (int y = 0; y < diameter; y++) {
+ for (int x = 0; x < diameter; x++, m++) {
+ float total_samples = 0;
+ for (int i = 0; i < aa_samples; i++) {
+ for (int j = 0; j < aa_samples; j++) {
+ float pixel_xy[2] = {x + (aa_step * i), y + (aa_step * j)};
+ float xy_rot[2];
+ sub_v2_v2(pixel_xy, bpos);
+
+ xy_rot[0] = co * pixel_xy[0] - si * pixel_xy[1];
+ xy_rot[1] = si * pixel_xy[0] + co * pixel_xy[1];
- *m = (unsigned short)(65535.0f * BKE_brush_curve_strength_clamped(brush, len, radius));
+ float len = len_v2(xy_rot);
+ float p = len / radius;
+ if (hardness < 1.0f) {
+ p = (p - hardness) / (1 - hardness);
+ p = 1.0f - p;
+ CLAMP(p, 0, 1);
+ }
+ else {
+ p = 1.0;
+ }
+ float hardness_factor = 3.0f * p * p - 2.0f * p * p * p;
+ float curve = BKE_brush_curve_strength_clamped(brush, len, radius);
+ total_samples += curve * hardness_factor;
+ }
+ }
+ *m = (unsigned short)(total_samples * norm_factor);
}
}
@@ -721,7 +766,8 @@ static void brush_painter_2d_refresh_cache(ImagePaintState *s,
UnifiedPaintSettings *ups = &scene->toolsettings->unified_paint_settings;
Brush *brush = painter->brush;
BrushPainterCache *cache = &painter->cache;
- const int diameter = 2 * size;
+ /* Adding 4 pixels of padding for brush antialiasing */
+ const int diameter = MAX2(1, size * 2) + 4;
bool do_random = false;
bool do_partial_update = false;
@@ -802,15 +848,13 @@ static void brush_painter_2d_refresh_cache(ImagePaintState *s,
}
/* curve mask can only change if the size changes */
- if (diameter != cache->lastdiameter) {
- if (cache->curve_mask) {
- MEM_freeN(cache->curve_mask);
- cache->curve_mask = NULL;
- }
-
- cache->curve_mask = brush_painter_curve_mask_new(painter, diameter, size);
+ if (cache->curve_mask) {
+ MEM_freeN(cache->curve_mask);
+ cache->curve_mask = NULL;
}
+ cache->curve_mask = brush_painter_curve_mask_new(painter, diameter, size, pos);
+
/* detect if we need to recreate image brush buffer */
if ((diameter != cache->lastdiameter) || (tex_rotation != cache->last_tex_rotation) ||
do_random || update_color) {
@@ -1197,23 +1241,24 @@ static void paint_2d_do_making_brush(ImagePaintState *s,
int tileh)
{
ImBuf tmpbuf;
- IMB_initImBuf(&tmpbuf, IMAPAINT_TILE_SIZE, IMAPAINT_TILE_SIZE, 32, 0);
+ IMB_initImBuf(&tmpbuf, ED_IMAGE_UNDO_TILE_SIZE, ED_IMAGE_UNDO_TILE_SIZE, 32, 0);
- ListBase *undo_tiles = ED_image_undo_get_tiles();
+ ListBase *undo_tiles = ED_image_paint_tile_list_get();
for (int ty = tiley; ty <= tileh; ty++) {
for (int tx = tilex; tx <= tilew; tx++) {
/* retrieve original pixels + mask from undo buffer */
unsigned short *mask;
- int origx = region->destx - tx * IMAPAINT_TILE_SIZE;
- int origy = region->desty - ty * IMAPAINT_TILE_SIZE;
+ int origx = region->destx - tx * ED_IMAGE_UNDO_TILE_SIZE;
+ int origy = region->desty - ty * ED_IMAGE_UNDO_TILE_SIZE;
if (s->canvas->rect_float) {
- tmpbuf.rect_float = image_undo_find_tile(
+ tmpbuf.rect_float = ED_image_paint_tile_find(
undo_tiles, s->image, s->canvas, tx, ty, &mask, false);
}
else {
- tmpbuf.rect = image_undo_find_tile(undo_tiles, s->image, s->canvas, tx, ty, &mask, false);
+ tmpbuf.rect = ED_image_paint_tile_find(
+ undo_tiles, s->image, s->canvas, tx, ty, &mask, false);
}
IMB_rectblend(s->canvas,
@@ -1454,8 +1499,6 @@ static void paint_2d_canvas_free(ImagePaintState *s)
paint_delete_blur_kernel(s->blurkernel);
MEM_freeN(s->blurkernel);
}
-
- image_undo_remove_masks();
}
void paint_2d_stroke(void *ps,
diff --git a/source/blender/editors/sculpt_paint/paint_image_proj.c b/source/blender/editors/sculpt_paint/paint_image_proj.c
index 4ec3d4ec70b..4c7e5e18257 100644
--- a/source/blender/editors/sculpt_paint/paint_image_proj.c
+++ b/source/blender/editors/sculpt_paint/paint_image_proj.c
@@ -89,6 +89,7 @@
#include "ED_view3d.h"
#include "GPU_extensions.h"
+#include "GPU_init_exit.h"
#include "WM_api.h"
#include "WM_types.h"
@@ -1807,31 +1808,31 @@ static int project_paint_undo_subtiles(const TileInfo *tinf, int tx, int ty)
}
if (generate_tile) {
- ListBase *undo_tiles = ED_image_undo_get_tiles();
+ ListBase *undo_tiles = ED_image_paint_tile_list_get();
volatile void *undorect;
if (tinf->masked) {
- undorect = image_undo_push_tile(undo_tiles,
- pjIma->ima,
- pjIma->ibuf,
- tinf->tmpibuf,
- tx,
- ty,
- &pjIma->maskRect[tile_index],
- &pjIma->valid[tile_index],
- true,
- false);
+ undorect = ED_image_paint_tile_push(undo_tiles,
+ pjIma->ima,
+ pjIma->ibuf,
+ tinf->tmpibuf,
+ tx,
+ ty,
+ &pjIma->maskRect[tile_index],
+ &pjIma->valid[tile_index],
+ true,
+ false);
}
else {
- undorect = image_undo_push_tile(undo_tiles,
- pjIma->ima,
- pjIma->ibuf,
- tinf->tmpibuf,
- tx,
- ty,
- NULL,
- &pjIma->valid[tile_index],
- true,
- false);
+ undorect = ED_image_paint_tile_push(undo_tiles,
+ pjIma->ima,
+ pjIma->ibuf,
+ tinf->tmpibuf,
+ tx,
+ ty,
+ NULL,
+ &pjIma->valid[tile_index],
+ true,
+ false);
}
BKE_image_mark_dirty(pjIma->ima, pjIma->ibuf);
@@ -1880,14 +1881,14 @@ static ProjPixel *project_paint_uvpixel_init(const ProjPaintState *ps,
/* calculate the undo tile offset of the pixel, used to store the original
* pixel color and accumulated mask if any */
- x_tile = x_px >> IMAPAINT_TILE_BITS;
- y_tile = y_px >> IMAPAINT_TILE_BITS;
+ x_tile = x_px >> ED_IMAGE_UNDO_TILE_BITS;
+ y_tile = y_px >> ED_IMAGE_UNDO_TILE_BITS;
- x_round = x_tile * IMAPAINT_TILE_SIZE;
- y_round = y_tile * IMAPAINT_TILE_SIZE;
+ x_round = x_tile * ED_IMAGE_UNDO_TILE_SIZE;
+ y_round = y_tile * ED_IMAGE_UNDO_TILE_SIZE;
// memset(projPixel, 0, size);
- tile_offset = (x_px - x_round) + (y_px - y_round) * IMAPAINT_TILE_SIZE;
+ tile_offset = (x_px - x_round) + (y_px - y_round) * ED_IMAGE_UNDO_TILE_SIZE;
tile_index = project_paint_undo_subtiles(tinf, x_tile, y_tile);
/* other thread may be initializing the tile so wait here */
@@ -1895,8 +1896,9 @@ static ProjPixel *project_paint_uvpixel_init(const ProjPaintState *ps,
/* pass */
}
- BLI_assert(tile_index < (IMAPAINT_TILE_NUMBER(ibuf->x) * IMAPAINT_TILE_NUMBER(ibuf->y)));
- BLI_assert(tile_offset < (IMAPAINT_TILE_SIZE * IMAPAINT_TILE_SIZE));
+ BLI_assert(tile_index <
+ (ED_IMAGE_UNDO_TILE_NUMBER(ibuf->x) * ED_IMAGE_UNDO_TILE_NUMBER(ibuf->y)));
+ BLI_assert(tile_offset < (ED_IMAGE_UNDO_TILE_SIZE * ED_IMAGE_UNDO_TILE_SIZE));
projPixel->valid = projima->valid[tile_index];
@@ -2974,7 +2976,7 @@ static void project_paint_face_init(const ProjPaintState *ps,
TileInfo tinf = {
ps->tile_lock,
ps->do_masking,
- IMAPAINT_TILE_NUMBER(ibuf->x),
+ ED_IMAGE_UNDO_TILE_NUMBER(ibuf->x),
tmpibuf,
ps->projImages + image_index,
};
@@ -3926,7 +3928,7 @@ static void proj_paint_state_thread_init(ProjPaintState *ps, const bool reset_th
BLI_spin_init(ps->tile_lock);
}
- image_undo_init_locks();
+ ED_image_paint_tile_lock_init();
}
for (a = 0; a < ps->thread_tot; a++) {
@@ -4244,8 +4246,8 @@ static void project_paint_build_proj_ima(ProjPaintState *ps,
projIma->ima = node->link;
projIma->touch = 0;
projIma->ibuf = BKE_image_acquire_ibuf(projIma->ima, NULL, NULL);
- size = sizeof(void **) * IMAPAINT_TILE_NUMBER(projIma->ibuf->x) *
- IMAPAINT_TILE_NUMBER(projIma->ibuf->y);
+ size = sizeof(void **) * ED_IMAGE_UNDO_TILE_NUMBER(projIma->ibuf->x) *
+ ED_IMAGE_UNDO_TILE_NUMBER(projIma->ibuf->y);
projIma->partRedrawRect = BLI_memarena_alloc(
arena, sizeof(ImagePaintPartialRedraw) * PROJ_BOUNDBOX_SQUARED);
partial_redraw_array_init(projIma->partRedrawRect);
@@ -4535,8 +4537,6 @@ static void project_paint_end(ProjPaintState *ps)
{
int a;
- image_undo_remove_masks();
-
/* dereference used image buffers */
if (ps->is_shared_user == false) {
ProjPaintImage *projIma;
@@ -4578,7 +4578,7 @@ static void project_paint_end(ProjPaintState *ps)
MEM_freeN((void *)ps->tile_lock);
}
- image_undo_end_locks();
+ ED_image_paint_tile_lock_end();
#ifndef PROJ_DEBUG_NOSEAMBLEED
if (ps->seam_bleed_px > 0.0f) {
@@ -6138,6 +6138,9 @@ static bool texture_paint_image_from_view_poll(bContext *C)
CTX_wm_operator_poll_msg_set(C, "No 3D viewport found to create image from");
return false;
}
+ if (!GPU_is_initialized()) {
+ return false;
+ }
return true;
}
diff --git a/source/blender/editors/sculpt_paint/paint_image_undo.c b/source/blender/editors/sculpt_paint/paint_image_undo.c
deleted file mode 100644
index 496db9793b7..00000000000
--- a/source/blender/editors/sculpt_paint/paint_image_undo.c
+++ /dev/null
@@ -1,619 +0,0 @@
-/*
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- */
-
-/** \file
- * \ingroup edsculpt
- */
-
-#include "MEM_guardedalloc.h"
-
-#include "BLI_math.h"
-#include "BLI_blenlib.h"
-#include "BLI_utildefines.h"
-#include "BLI_threads.h"
-
-#include "DNA_image_types.h"
-#include "DNA_windowmanager_types.h"
-#include "DNA_object_types.h"
-#include "DNA_screen_types.h"
-#include "DNA_space_types.h"
-
-#include "IMB_imbuf.h"
-#include "IMB_imbuf_types.h"
-
-#include "BKE_context.h"
-#include "BKE_image.h"
-#include "BKE_paint.h"
-#include "BKE_undo_system.h"
-
-#include "DEG_depsgraph.h"
-
-#include "ED_paint.h"
-#include "ED_undo.h"
-#include "ED_util.h"
-#include "ED_object.h"
-
-#include "GPU_draw.h"
-
-#include "WM_api.h"
-
-#include "paint_intern.h"
-
-/* -------------------------------------------------------------------- */
-/** \name Undo Conversion
- * \{ */
-
-typedef struct UndoImageTile {
- struct UndoImageTile *next, *prev;
-
- char ibufname[IMB_FILENAME_SIZE];
-
- union {
- float *fp;
- unsigned int *uint;
- void *pt;
- } rect;
-
- unsigned short *mask;
-
- int x, y;
-
- /* TODO(campbell): avoid storing the ID per tile,
- * adds unnecessary overhead restoring undo steps when most tiles share the same image. */
- UndoRefID_Image image_ref;
-
- short source;
- bool use_float;
- char gen_type;
- bool valid;
-
- size_t undo_size;
-} UndoImageTile;
-
-/* this is a static resource for non-globality,
- * Maybe it should be exposed as part of the
- * paint operation, but for now just give a public interface */
-static SpinLock undolock;
-
-void image_undo_init_locks(void)
-{
- BLI_spin_init(&undolock);
-}
-
-void image_undo_end_locks(void)
-{
- BLI_spin_end(&undolock);
-}
-
-/* UNDO */
-typedef enum {
- COPY = 0,
- RESTORE = 1,
- RESTORE_COPY = 2,
-} CopyMode;
-
-static void undo_copy_tile(UndoImageTile *tile, ImBuf *tmpibuf, ImBuf *ibuf, CopyMode mode)
-{
- if (mode == COPY) {
- /* copy or swap contents of tile->rect and region in ibuf->rect */
- IMB_rectcpy(tmpibuf,
- ibuf,
- 0,
- 0,
- tile->x * IMAPAINT_TILE_SIZE,
- tile->y * IMAPAINT_TILE_SIZE,
- IMAPAINT_TILE_SIZE,
- IMAPAINT_TILE_SIZE);
-
- if (ibuf->rect_float) {
- SWAP(float *, tmpibuf->rect_float, tile->rect.fp);
- }
- else {
- SWAP(unsigned int *, tmpibuf->rect, tile->rect.uint);
- }
- }
- else {
- if (mode == RESTORE_COPY) {
- IMB_rectcpy(tmpibuf,
- ibuf,
- 0,
- 0,
- tile->x * IMAPAINT_TILE_SIZE,
- tile->y * IMAPAINT_TILE_SIZE,
- IMAPAINT_TILE_SIZE,
- IMAPAINT_TILE_SIZE);
- }
- /* swap to the tmpbuf for easy copying */
- if (ibuf->rect_float) {
- SWAP(float *, tmpibuf->rect_float, tile->rect.fp);
- }
- else {
- SWAP(unsigned int *, tmpibuf->rect, tile->rect.uint);
- }
-
- IMB_rectcpy(ibuf,
- tmpibuf,
- tile->x * IMAPAINT_TILE_SIZE,
- tile->y * IMAPAINT_TILE_SIZE,
- 0,
- 0,
- IMAPAINT_TILE_SIZE,
- IMAPAINT_TILE_SIZE);
-
- if (mode == RESTORE) {
- if (ibuf->rect_float) {
- SWAP(float *, tmpibuf->rect_float, tile->rect.fp);
- }
- else {
- SWAP(unsigned int *, tmpibuf->rect, tile->rect.uint);
- }
- }
- }
-}
-
-void *image_undo_find_tile(ListBase *undo_tiles,
- Image *ima,
- ImBuf *ibuf,
- int x_tile,
- int y_tile,
- unsigned short **mask,
- bool validate)
-{
- UndoImageTile *tile;
- const bool use_float = (ibuf->rect_float != NULL);
-
- for (tile = undo_tiles->first; tile; tile = tile->next) {
- if (tile->x == x_tile && tile->y == y_tile && ima->gen_type == tile->gen_type &&
- ima->source == tile->source) {
- if (tile->use_float == use_float) {
- if (STREQ(tile->ibufname, ibuf->name)) {
- if (mask) {
- /* allocate mask if requested */
- if (!tile->mask) {
- tile->mask = MEM_callocN(sizeof(unsigned short) * IMAPAINT_TILE_SIZE *
- IMAPAINT_TILE_SIZE,
- "UndoImageTile.mask");
- }
-
- *mask = tile->mask;
- }
- if (validate) {
- tile->valid = true;
- }
- return tile->rect.pt;
- }
- }
- }
- }
-
- return NULL;
-}
-
-void *image_undo_push_tile(ListBase *undo_tiles,
- Image *ima,
- ImBuf *ibuf,
- ImBuf **tmpibuf,
- int x_tile,
- int y_tile,
- unsigned short **mask,
- bool **valid,
- bool proj,
- bool find_prev)
-{
- UndoImageTile *tile;
- int allocsize;
- const bool use_float = (ibuf->rect_float != NULL);
- void *data;
-
- /* check if tile is already pushed */
-
- /* in projective painting we keep accounting of tiles, so if we need one pushed, just push! */
- if (find_prev) {
- data = image_undo_find_tile(undo_tiles, ima, ibuf, x_tile, y_tile, mask, true);
- if (data) {
- return data;
- }
- }
-
- if (*tmpibuf == NULL) {
- *tmpibuf = IMB_allocImBuf(IMAPAINT_TILE_SIZE, IMAPAINT_TILE_SIZE, 32, IB_rectfloat | IB_rect);
- }
-
- tile = MEM_callocN(sizeof(UndoImageTile), "UndoImageTile");
- tile->x = x_tile;
- tile->y = y_tile;
-
- /* add mask explicitly here */
- if (mask) {
- *mask = tile->mask = MEM_callocN(
- sizeof(unsigned short) * IMAPAINT_TILE_SIZE * IMAPAINT_TILE_SIZE, "UndoImageTile.mask");
- }
- allocsize = IMAPAINT_TILE_SIZE * IMAPAINT_TILE_SIZE * 4;
- allocsize *= (ibuf->rect_float) ? sizeof(float) : sizeof(char);
- tile->rect.pt = MEM_mapallocN(allocsize, "UndeImageTile.rect");
-
- BLI_strncpy(tile->ibufname, ibuf->name, sizeof(tile->ibufname));
-
- tile->gen_type = ima->gen_type;
- tile->source = ima->source;
- tile->use_float = use_float;
- tile->valid = true;
- tile->image_ref.ptr = ima;
-
- if (valid) {
- *valid = &tile->valid;
- }
- undo_copy_tile(tile, *tmpibuf, ibuf, COPY);
-
- if (proj) {
- BLI_spin_lock(&undolock);
- }
- BLI_addtail(undo_tiles, tile);
-
- if (proj) {
- BLI_spin_unlock(&undolock);
- }
- return tile->rect.pt;
-}
-
-void image_undo_remove_masks(void)
-{
- ListBase *undo_tiles = ED_image_undo_get_tiles();
- for (UndoImageTile *tile = undo_tiles->first; tile; tile = tile->next) {
- MEM_SAFE_FREE(tile->mask);
- }
-}
-
-static void image_undo_restore_runtime(ListBase *lb)
-{
- ImBuf *tmpibuf = IMB_allocImBuf(
- IMAPAINT_TILE_SIZE, IMAPAINT_TILE_SIZE, 32, IB_rectfloat | IB_rect);
-
- for (UndoImageTile *tile = lb->first; tile; tile = tile->next) {
- Image *ima = tile->image_ref.ptr;
- ImBuf *ibuf = BKE_image_acquire_ibuf(ima, NULL, NULL);
-
- undo_copy_tile(tile, tmpibuf, ibuf, RESTORE);
-
- GPU_free_image(ima); /* force OpenGL reload (maybe partial update will operate better?) */
- if (ibuf->rect_float) {
- ibuf->userflags |= IB_RECT_INVALID; /* force recreate of char rect */
- }
- if (ibuf->mipmap[0]) {
- ibuf->userflags |= IB_MIPMAP_INVALID; /* force mipmap recreatiom */
- }
- ibuf->userflags |= IB_DISPLAY_BUFFER_INVALID;
-
- BKE_image_release_ibuf(ima, ibuf, NULL);
- }
-
- IMB_freeImBuf(tmpibuf);
-}
-
-static void image_undo_restore_list(ListBase *lb)
-{
- ImBuf *tmpibuf = IMB_allocImBuf(
- IMAPAINT_TILE_SIZE, IMAPAINT_TILE_SIZE, 32, IB_rectfloat | IB_rect);
-
- for (UndoImageTile *tile = lb->first; tile; tile = tile->next) {
- Image *ima = tile->image_ref.ptr;
- ImBuf *ibuf = BKE_image_acquire_ibuf(ima, NULL, NULL);
-
- if (ima && ibuf && !STREQ(tile->ibufname, ibuf->name)) {
- /* current ImBuf filename was changed, probably current frame
- * was changed when painting on image sequence, rather than storing
- * full image user (which isn't so obvious, btw) try to find ImBuf with
- * matched file name in list of already loaded images */
-
- BKE_image_release_ibuf(ima, ibuf, NULL);
-
- ibuf = BKE_image_get_ibuf_with_name(ima, tile->ibufname);
- }
-
- if (!ima || !ibuf || !(ibuf->rect || ibuf->rect_float)) {
- BKE_image_release_ibuf(ima, ibuf, NULL);
- continue;
- }
-
- if (ima->gen_type != tile->gen_type || ima->source != tile->source) {
- BKE_image_release_ibuf(ima, ibuf, NULL);
- continue;
- }
-
- const bool use_float = (ibuf->rect_float != NULL);
-
- if (use_float != tile->use_float) {
- BKE_image_release_ibuf(ima, ibuf, NULL);
- continue;
- }
-
- undo_copy_tile(tile, tmpibuf, ibuf, RESTORE_COPY);
-
- BKE_image_mark_dirty(ima, ibuf);
- GPU_free_image(ima); /* force OpenGL reload */
-
- if (ibuf->rect_float) {
- ibuf->userflags |= IB_RECT_INVALID; /* force recreate of char rect */
- }
- if (ibuf->mipmap[0]) {
- ibuf->userflags |= IB_MIPMAP_INVALID; /* force mipmap recreatiom */
- }
- ibuf->userflags |= IB_DISPLAY_BUFFER_INVALID;
-
- DEG_id_tag_update(&ima->id, 0);
-
- BKE_image_release_ibuf(ima, ibuf, NULL);
- }
-
- IMB_freeImBuf(tmpibuf);
-}
-
-static void image_undo_free_tile(UndoImageTile *tile)
-{
- MEM_freeN(tile->rect.pt);
- MEM_freeN(tile);
-}
-
-static void image_undo_free_list(ListBase *lb)
-{
- for (UndoImageTile *tile = lb->first, *tile_next; tile; tile = tile_next) {
- tile_next = tile->next;
- image_undo_free_tile(tile);
- }
-}
-
-static void image_undo_invalidate(void)
-{
- ListBase *lb = ED_image_undo_get_tiles();
- for (UndoImageTile *tile = lb->first; tile; tile = tile->next) {
- tile->valid = false;
- }
-}
-
-/** \} */
-
-/* -------------------------------------------------------------------- */
-/** \name Implements ED Undo System
- * \{ */
-
-typedef struct ImageUndoStep {
- UndoStep step;
- ListBase tiles;
- bool is_encode_init;
- ePaintMode paint_mode;
-} ImageUndoStep;
-
-static bool image_undosys_poll(bContext *C)
-{
- Object *obact = CTX_data_active_object(C);
-
- ScrArea *sa = CTX_wm_area(C);
- if (sa && (sa->spacetype == SPACE_IMAGE)) {
- SpaceImage *sima = (SpaceImage *)sa->spacedata.first;
- if ((obact && (obact->mode & OB_MODE_TEXTURE_PAINT)) || (sima->mode == SI_MODE_PAINT)) {
- return true;
- }
- }
- else {
- if (obact && (obact->mode & OB_MODE_TEXTURE_PAINT)) {
- return true;
- }
- }
- return false;
-}
-
-static void image_undosys_step_encode_init(struct bContext *UNUSED(C), UndoStep *us_p)
-{
- ImageUndoStep *us = (ImageUndoStep *)us_p;
- /* dummy, memory is cleared anyway. */
- us->is_encode_init = true;
- BLI_listbase_clear(&us->tiles);
-}
-
-static bool image_undosys_step_encode(struct bContext *C,
- struct Main *UNUSED(bmain),
- UndoStep *us_p)
-{
- /* dummy, encoding is done along the way by adding tiles
- * to the current 'ImageUndoStep' added by encode_init. */
- ImageUndoStep *us = (ImageUndoStep *)us_p;
-
- BLI_assert(us->step.data_size == 0);
-
- int allocsize = IMAPAINT_TILE_SIZE * IMAPAINT_TILE_SIZE * 4;
-
- if (us->is_encode_init) {
- /* first dispose of invalid tiles (may happen due to drag dot for instance) */
- for (UndoImageTile *tile = us->tiles.first; tile;) {
- if (!tile->valid) {
- UndoImageTile *tile_next = tile->next;
- BLI_remlink(&us->tiles, tile);
- image_undo_free_tile(tile);
- tile = tile_next;
- }
- else {
- us->step.data_size += allocsize * (tile->use_float ? sizeof(float) : sizeof(char));
- tile = tile->next;
- }
- }
- }
- else {
- /* Happens when switching modes. */
- ePaintMode paint_mode = BKE_paintmode_get_active_from_context(C);
- BLI_assert(ELEM(paint_mode, PAINT_MODE_TEXTURE_2D, PAINT_MODE_TEXTURE_3D));
- us->paint_mode = paint_mode;
- }
-
- us_p->is_applied = true;
-
- return true;
-}
-
-static void image_undosys_step_decode_undo_impl(ImageUndoStep *us)
-{
- BLI_assert(us->step.is_applied == true);
- image_undo_restore_list(&us->tiles);
- us->step.is_applied = false;
-}
-
-static void image_undosys_step_decode_redo_impl(ImageUndoStep *us)
-{
- BLI_assert(us->step.is_applied == false);
- image_undo_restore_list(&us->tiles);
- us->step.is_applied = true;
-}
-
-static void image_undosys_step_decode_undo(ImageUndoStep *us, bool is_final)
-{
- ImageUndoStep *us_iter = us;
- while (us_iter->step.next && (us_iter->step.next->type == us_iter->step.type)) {
- if (us_iter->step.next->is_applied == false) {
- break;
- }
- us_iter = (ImageUndoStep *)us_iter->step.next;
- }
- while (us_iter != us || (!is_final && us_iter == us)) {
- image_undosys_step_decode_undo_impl(us_iter);
- if (us_iter == us) {
- break;
- }
- us_iter = (ImageUndoStep *)us_iter->step.prev;
- }
-}
-
-static void image_undosys_step_decode_redo(ImageUndoStep *us)
-{
- ImageUndoStep *us_iter = us;
- while (us_iter->step.prev && (us_iter->step.prev->type == us_iter->step.type)) {
- if (us_iter->step.prev->is_applied == true) {
- break;
- }
- us_iter = (ImageUndoStep *)us_iter->step.prev;
- }
- while (us_iter && (us_iter->step.is_applied == false)) {
- image_undosys_step_decode_redo_impl(us_iter);
- if (us_iter == us) {
- break;
- }
- us_iter = (ImageUndoStep *)us_iter->step.next;
- }
-}
-
-static void image_undosys_step_decode(
- struct bContext *C, struct Main *bmain, UndoStep *us_p, int dir, bool is_final)
-{
- ImageUndoStep *us = (ImageUndoStep *)us_p;
- if (dir < 0) {
- image_undosys_step_decode_undo(us, is_final);
- }
- else {
- image_undosys_step_decode_redo(us);
- }
-
- if (us->paint_mode == PAINT_MODE_TEXTURE_3D) {
- ED_object_mode_set(C, OB_MODE_TEXTURE_PAINT);
- }
-
- /* Refresh texture slots. */
- ED_editors_init_for_undo(bmain);
-}
-
-static void image_undosys_step_free(UndoStep *us_p)
-{
- ImageUndoStep *us = (ImageUndoStep *)us_p;
- image_undo_free_list(&us->tiles);
-}
-
-static void image_undosys_foreach_ID_ref(UndoStep *us_p,
- UndoTypeForEachIDRefFn foreach_ID_ref_fn,
- void *user_data)
-{
- ImageUndoStep *us = (ImageUndoStep *)us_p;
- for (UndoImageTile *tile = us->tiles.first; tile; tile = tile->next) {
- foreach_ID_ref_fn(user_data, ((UndoRefID *)&tile->image_ref));
- }
-}
-
-/* Export for ED_undo_sys. */
-void ED_image_undosys_type(UndoType *ut)
-{
- ut->name = "Image";
- ut->poll = image_undosys_poll;
- ut->step_encode_init = image_undosys_step_encode_init;
- ut->step_encode = image_undosys_step_encode;
- ut->step_decode = image_undosys_step_decode;
- ut->step_free = image_undosys_step_free;
-
- ut->step_foreach_ID_ref = image_undosys_foreach_ID_ref;
-
- ut->use_context = true;
-
- ut->step_size = sizeof(ImageUndoStep);
-}
-
-/** \} */
-
-/* -------------------------------------------------------------------- */
-/** \name Utilities
- * \{ */
-
-ListBase *ED_image_undosys_step_get_tiles(UndoStep *us_p)
-{
- ImageUndoStep *us = (ImageUndoStep *)us_p;
- return &us->tiles;
-}
-
-ListBase *ED_image_undo_get_tiles(void)
-{
- UndoStack *ustack = ED_undo_stack_get();
- UndoStep *us_prev = ustack->step_init;
- UndoStep *us_p = BKE_undosys_stack_init_or_active_with_type(ustack, BKE_UNDOSYS_TYPE_IMAGE);
- ImageUndoStep *us = (ImageUndoStep *)us_p;
- /* We should always have an undo push started when accessing tiles,
- * not doing this means we won't have paint_mode correctly set. */
- BLI_assert(us_p == us_prev);
- if (us_p != us_prev) {
- /* Fallback value until we can be sure this never happens. */
- us->paint_mode = PAINT_MODE_TEXTURE_2D;
- }
- return ED_image_undosys_step_get_tiles(us_p);
-}
-
-/* restore painting image to previous state. Used for anchored and drag-dot style brushes*/
-void ED_image_undo_restore(UndoStep *us)
-{
- ListBase *lb = ED_image_undosys_step_get_tiles(us);
- image_undo_restore_runtime(lb);
- image_undo_invalidate();
-}
-
-void ED_image_undo_push_begin(const char *name, int paint_mode)
-{
- UndoStack *ustack = ED_undo_stack_get();
- bContext *C = NULL; /* special case, we never read from this. */
- UndoStep *us_p = BKE_undosys_step_push_init_with_type(ustack, C, name, BKE_UNDOSYS_TYPE_IMAGE);
- ImageUndoStep *us = (ImageUndoStep *)us_p;
- BLI_assert(ELEM(paint_mode, PAINT_MODE_TEXTURE_2D, PAINT_MODE_TEXTURE_3D));
- us->paint_mode = paint_mode;
-}
-
-void ED_image_undo_push_end(void)
-{
- UndoStack *ustack = ED_undo_stack_get();
- BKE_undosys_step_push(ustack, NULL, NULL);
- WM_file_tag_modified();
-}
-
-/** \} */
diff --git a/source/blender/editors/sculpt_paint/paint_intern.h b/source/blender/editors/sculpt_paint/paint_intern.h
index 5efedf69fe4..84665728e17 100644
--- a/source/blender/editors/sculpt_paint/paint_intern.h
+++ b/source/blender/editors/sculpt_paint/paint_intern.h
@@ -29,7 +29,6 @@ struct Brush;
struct ColorManagedDisplay;
struct ColorSpace;
struct ImagePool;
-struct ListBase;
struct MTex;
struct Object;
struct Paint;
@@ -37,7 +36,6 @@ struct PaintStroke;
struct PointerRNA;
struct RegionView3D;
struct Scene;
-struct UndoStep;
struct VPaint;
struct ViewContext;
struct bContext;
@@ -70,7 +68,7 @@ struct PaintStroke *paint_stroke_new(struct bContext *C,
StrokeRedraw redraw,
StrokeDone done,
int event_type);
-void paint_stroke_data_free(struct wmOperator *op);
+void paint_stroke_free(struct bContext *C, struct wmOperator *op);
bool paint_space_stroke_enabled(struct Brush *br, enum ePaintMode mode);
bool paint_supports_dynamic_size(struct Brush *br, enum ePaintMode mode);
@@ -184,10 +182,6 @@ typedef struct ImagePaintPartialRedraw {
int enabled;
} ImagePaintPartialRedraw;
-#define IMAPAINT_TILE_BITS 6
-#define IMAPAINT_TILE_SIZE (1 << IMAPAINT_TILE_BITS)
-#define IMAPAINT_TILE_NUMBER(size) (((size) + IMAPAINT_TILE_SIZE - 1) >> IMAPAINT_TILE_BITS)
-
bool image_texture_paint_poll(struct bContext *C);
void imapaint_image_update(struct SpaceImage *sima,
struct Image *image,
@@ -197,7 +191,7 @@ struct ImagePaintPartialRedraw *get_imapaintpartial(void);
void set_imapaintpartial(struct ImagePaintPartialRedraw *ippr);
void imapaint_region_tiles(
struct ImBuf *ibuf, int x, int y, int w, int h, int *tx, int *ty, int *tw, int *th);
-int get_imapaint_zoom(struct bContext *C, float *zoomx, float *zoomy);
+bool get_imapaint_zoom(struct bContext *C, float *zoomx, float *zoomy);
void *paint_2d_new_stroke(struct bContext *, struct wmOperator *, int mode);
void paint_2d_redraw(const struct bContext *C, void *ps, bool final);
void paint_2d_stroke_done(void *ps);
@@ -252,31 +246,6 @@ void PAINT_OT_add_texture_paint_slot(struct wmOperatorType *ot);
void PAINT_OT_image_paint(struct wmOperatorType *ot);
void PAINT_OT_add_simple_uvs(struct wmOperatorType *ot);
-/* paint_image_undo.c */
-void *image_undo_find_tile(ListBase *undo_tiles,
- struct Image *ima,
- struct ImBuf *ibuf,
- int x_tile,
- int y_tile,
- unsigned short **mask,
- bool validate);
-void *image_undo_push_tile(ListBase *undo_tiles,
- struct Image *ima,
- struct ImBuf *ibuf,
- struct ImBuf **tmpibuf,
- int x_tile,
- int y_tile,
- unsigned short **,
- bool **valid,
- bool proj,
- bool find_prev);
-void image_undo_remove_masks(void);
-void image_undo_init_locks(void);
-void image_undo_end_locks(void);
-
-struct ListBase *ED_image_undosys_step_get_tiles(struct UndoStep *us_p);
-struct ListBase *ED_image_undo_get_tiles(void);
-
/* sculpt_uv.c */
void SCULPT_OT_uv_sculpt_stroke(struct wmOperatorType *ot);
diff --git a/source/blender/editors/sculpt_paint/paint_mask.c b/source/blender/editors/sculpt_paint/paint_mask.c
index 0757ae128ec..d160fba4013 100644
--- a/source/blender/editors/sculpt_paint/paint_mask.c
+++ b/source/blender/editors/sculpt_paint/paint_mask.c
@@ -109,6 +109,7 @@ static void mask_flood_fill_task_cb(void *__restrict userdata,
const PaintMaskFloodMode mode = data->mode;
const float value = data->value;
+ bool redraw = false;
PBVHVertexIter vi;
@@ -116,13 +117,19 @@ static void mask_flood_fill_task_cb(void *__restrict userdata,
BKE_pbvh_vertex_iter_begin(data->pbvh, node, vi, PBVH_ITER_UNIQUE)
{
+ float prevmask = *vi.mask;
mask_flood_fill_set_elem(vi.mask, mode, value);
+ if (prevmask != *vi.mask) {
+ redraw = true;
+ }
}
BKE_pbvh_vertex_iter_end;
- BKE_pbvh_node_mark_redraw(node);
- if (data->multires) {
- BKE_pbvh_node_mark_normals_update(node);
+ if (redraw) {
+ BKE_pbvh_node_mark_update_mask(node);
+ if (data->multires) {
+ BKE_pbvh_node_mark_normals_update(node);
+ }
}
}
@@ -159,17 +166,16 @@ static int mask_flood_fill_exec(bContext *C, wmOperator *op)
.value = value,
};
- TaskParallelSettings settings;
- BLI_parallel_range_settings_defaults(&settings);
- settings.use_threading = ((sd->flags & SCULPT_USE_OPENMP) && totnode > SCULPT_THREADED_LIMIT);
- BLI_task_parallel_range(
-
- 0, totnode, &data, mask_flood_fill_task_cb, &settings);
+ PBVHParallelSettings settings;
+ BKE_pbvh_parallel_range_settings(&settings, (sd->flags & SCULPT_USE_OPENMP), totnode);
+ BKE_pbvh_parallel_range(0, totnode, &data, mask_flood_fill_task_cb, &settings);
if (multires) {
multires_mark_as_modified(depsgraph, ob, MULTIRES_COORDS_MODIFIED);
}
+ BKE_pbvh_update_vertex_data(pbvh, PBVH_UpdateMask);
+
sculpt_undo_push_end();
if (nodes) {
@@ -255,24 +261,32 @@ static void mask_box_select_task_cb(void *__restrict userdata,
PBVHVertexIter vi;
bool any_masked = false;
+ bool redraw = false;
BKE_pbvh_vertex_iter_begin(data->pbvh, node, vi, PBVH_ITER_UNIQUE)
{
if (is_effected(clip_planes_final, vi.co)) {
+ float prevmask = *vi.mask;
if (!any_masked) {
any_masked = true;
sculpt_undo_push_node(data->ob, node, SCULPT_UNDO_MASK);
- BKE_pbvh_node_mark_redraw(node);
if (data->multires) {
BKE_pbvh_node_mark_normals_update(node);
}
}
mask_flood_fill_set_elem(vi.mask, mode, value);
+ if (prevmask != *vi.mask) {
+ redraw = true;
+ }
}
}
BKE_pbvh_vertex_iter_end;
+
+ if (redraw) {
+ BKE_pbvh_node_mark_update_mask(node);
+ }
}
bool ED_sculpt_mask_box_select(struct bContext *C, ViewContext *vc, const rcti *rect, bool select)
@@ -297,7 +311,6 @@ bool ED_sculpt_mask_box_select(struct bContext *C, ViewContext *vc, const rcti *
/* transform the clip planes in object space */
ED_view3d_clipping_calc(&bb, clip_planes, vc->ar, vc->obact, rect);
- negate_m4(clip_planes);
BKE_sculpt_update_object_for_edit(depsgraph, ob, false, true);
pbvh = ob->sculpt->pbvh;
@@ -315,8 +328,10 @@ bool ED_sculpt_mask_box_select(struct bContext *C, ViewContext *vc, const rcti *
flip_plane(clip_planes_final[j], clip_planes[j], symmpass);
}
- BKE_pbvh_search_gather(
- pbvh, BKE_pbvh_node_planes_contain_AABB, clip_planes_final, &nodes, &totnode);
+ PBVHFrustumPlanes frustum = {.planes = clip_planes_final, .num_planes = 4};
+ BKE_pbvh_search_gather(pbvh, BKE_pbvh_node_frustum_contain_AABB, &frustum, &nodes, &totnode);
+
+ negate_m4(clip_planes_final);
MaskTaskData data = {
.ob = ob,
@@ -328,11 +343,9 @@ bool ED_sculpt_mask_box_select(struct bContext *C, ViewContext *vc, const rcti *
.clip_planes_final = clip_planes_final,
};
- TaskParallelSettings settings;
- BLI_parallel_range_settings_defaults(&settings);
- settings.use_threading = ((sd->flags & SCULPT_USE_OPENMP) &&
- totnode > SCULPT_THREADED_LIMIT);
- BLI_task_parallel_range(0, totnode, &data, mask_box_select_task_cb, &settings);
+ PBVHParallelSettings settings;
+ BKE_pbvh_parallel_range_settings(&settings, (sd->flags & SCULPT_USE_OPENMP), totnode);
+ BKE_pbvh_parallel_range(0, totnode, &data, mask_box_select_task_cb, &settings);
if (nodes) {
MEM_freeN(nodes);
@@ -344,6 +357,8 @@ bool ED_sculpt_mask_box_select(struct bContext *C, ViewContext *vc, const rcti *
multires_mark_as_modified(depsgraph, ob, MULTIRES_COORDS_MODIFIED);
}
+ BKE_pbvh_update_vertex_data(pbvh, PBVH_UpdateMask);
+
sculpt_undo_push_end();
ED_region_tag_redraw(ar);
@@ -483,7 +498,6 @@ static int paint_mask_gesture_lasso_exec(bContext *C, wmOperator *op)
&data);
ED_view3d_clipping_calc(&bb, clip_planes, vc.ar, vc.obact, &data.rect);
- negate_m4(clip_planes);
BKE_sculpt_update_object_for_edit(depsgraph, ob, false, true);
pbvh = ob->sculpt->pbvh;
@@ -505,8 +519,11 @@ static int paint_mask_gesture_lasso_exec(bContext *C, wmOperator *op)
/* gather nodes inside lasso's enclosing rectangle
* (should greatly help with bigger meshes) */
+ PBVHFrustumPlanes frustum = {.planes = clip_planes_final, .num_planes = 4};
BKE_pbvh_search_gather(
- pbvh, BKE_pbvh_node_planes_contain_AABB, clip_planes_final, &nodes, &totnode);
+ pbvh, BKE_pbvh_node_frustum_contain_AABB, &frustum, &nodes, &totnode);
+
+ negate_m4(clip_planes_final);
data.task_data.ob = ob;
data.task_data.pbvh = pbvh;
@@ -515,11 +532,9 @@ static int paint_mask_gesture_lasso_exec(bContext *C, wmOperator *op)
data.task_data.mode = mode;
data.task_data.value = value;
- TaskParallelSettings settings;
- BLI_parallel_range_settings_defaults(&settings);
- settings.use_threading = ((sd->flags & SCULPT_USE_OPENMP) &&
- (totnode > SCULPT_THREADED_LIMIT));
- BLI_task_parallel_range(0, totnode, &data, mask_gesture_lasso_task_cb, &settings);
+ PBVHParallelSettings settings;
+ BKE_pbvh_parallel_range_settings(&settings, (sd->flags & SCULPT_USE_OPENMP), totnode);
+ BKE_pbvh_parallel_range(0, totnode, &data, mask_gesture_lasso_task_cb, &settings);
if (nodes) {
MEM_freeN(nodes);
@@ -531,6 +546,8 @@ static int paint_mask_gesture_lasso_exec(bContext *C, wmOperator *op)
multires_mark_as_modified(depsgraph, ob, MULTIRES_COORDS_MODIFIED);
}
+ BKE_pbvh_update_vertex_data(pbvh, PBVH_UpdateMask);
+
sculpt_undo_push_end();
ED_region_tag_redraw(vc.ar);
diff --git a/source/blender/editors/sculpt_paint/paint_stroke.c b/source/blender/editors/sculpt_paint/paint_stroke.c
index 51296fa5d44..36418045551 100644
--- a/source/blender/editors/sculpt_paint/paint_stroke.c
+++ b/source/blender/editors/sculpt_paint/paint_stroke.c
@@ -256,6 +256,7 @@ static bool paint_tool_require_inbetween_mouse_events(Brush *brush, ePaintMode m
SCULPT_TOOL_GRAB,
SCULPT_TOOL_ROTATE,
SCULPT_TOOL_THUMB,
+ SCULPT_TOOL_SNAKE_HOOK,
SCULPT_TOOL_ELASTIC_DEFORM,
SCULPT_TOOL_POSE)) {
return false;
@@ -668,7 +669,7 @@ static float paint_space_stroke_spacing(bContext *C,
return max_ff(0.001f, size_clamp * spacing / 50.f);
}
else {
- return max_ff(1.0, size_clamp * spacing / 50.0f);
+ return max_ff(stroke->zoom_2d, size_clamp * spacing / 50.0f);
}
}
@@ -862,6 +863,7 @@ PaintStroke *paint_stroke_new(bContext *C,
UnifiedPaintSettings *ups = &toolsettings->unified_paint_settings;
Paint *p = BKE_paint_get_active_from_context(C);
Brush *br = stroke->brush = BKE_paint_brush(p);
+ RegionView3D *rv3d = CTX_wm_region_view3d(C);
float zoomx, zoomy;
ED_view3d_viewcontext_init(C, &stroke->vc, depsgraph);
@@ -887,6 +889,10 @@ PaintStroke *paint_stroke_new(bContext *C,
ups->overlap_factor = 1.0;
ups->stroke_active = true;
+ if (rv3d) {
+ rv3d->rflag |= RV3D_PAINTING;
+ }
+
zero_v3(ups->average_stroke_accum);
ups->average_stroke_counter = 0;
@@ -901,20 +907,46 @@ PaintStroke *paint_stroke_new(bContext *C,
return stroke;
}
-void paint_stroke_data_free(struct wmOperator *op)
+void paint_stroke_free(bContext *C, wmOperator *op)
{
+ RegionView3D *rv3d = CTX_wm_region_view3d(C);
+ if (rv3d) {
+ rv3d->rflag &= ~RV3D_PAINTING;
+ }
+
BKE_paint_set_overlay_override(0);
+
+ PaintStroke *stroke = op->customdata;
+ if (stroke == NULL) {
+ return;
+ }
+
+ UnifiedPaintSettings *ups = stroke->ups;
+ ups->draw_anchored = false;
+ ups->stroke_active = false;
+
+ if (stroke->timer) {
+ WM_event_remove_timer(CTX_wm_manager(C), CTX_wm_window(C), stroke->timer);
+ }
+
+ if (stroke->rng) {
+ BLI_rng_free(stroke->rng);
+ }
+
+ if (stroke->stroke_cursor) {
+ WM_paint_cursor_end(CTX_wm_manager(C), stroke->stroke_cursor);
+ }
+
+ BLI_freelistN(&stroke->line);
+
MEM_SAFE_FREE(op->customdata);
}
-static void stroke_done(struct bContext *C, struct wmOperator *op)
+static void stroke_done(bContext *C, wmOperator *op)
{
- struct PaintStroke *stroke = op->customdata;
+ PaintStroke *stroke = op->customdata;
UnifiedPaintSettings *ups = stroke->ups;
- ups->draw_anchored = false;
- ups->stroke_active = false;
-
/* reset rotation here to avoid doing so in cursor display */
if (!(stroke->brush->mtex.brush_angle_mode & MTEX_ANGLE_RAKE)) {
ups->brush_rotation = 0.0f;
@@ -934,21 +966,7 @@ static void stroke_done(struct bContext *C, struct wmOperator *op)
}
}
- if (stroke->timer) {
- WM_event_remove_timer(CTX_wm_manager(C), CTX_wm_window(C), stroke->timer);
- }
-
- if (stroke->rng) {
- BLI_rng_free(stroke->rng);
- }
-
- if (stroke->stroke_cursor) {
- WM_paint_cursor_end(CTX_wm_manager(C), stroke->stroke_cursor);
- }
-
- BLI_freelistN(&stroke->line);
-
- paint_stroke_data_free(op);
+ paint_stroke_free(C, op);
}
/* Returns zero if the stroke dots should not be spaced, non-zero otherwise */
diff --git a/source/blender/editors/sculpt_paint/paint_utils.c b/source/blender/editors/sculpt_paint/paint_utils.c
index 6cf80ebf241..a014fe7fdff 100644
--- a/source/blender/editors/sculpt_paint/paint_utils.c
+++ b/source/blender/editors/sculpt_paint/paint_utils.c
@@ -144,7 +144,6 @@ void paint_calc_redraw_planes(float planes[4][4],
rect.ymax += 2;
ED_view3d_clipping_calc(&bb, planes, ar, ob, &rect);
- negate_m4(planes);
}
float paint_calc_object_space_radius(ViewContext *vc, const float center[3], float pixel_radius)
diff --git a/source/blender/editors/sculpt_paint/paint_vertex.c b/source/blender/editors/sculpt_paint/paint_vertex.c
index a171caeca6a..ac7cf310099 100644
--- a/source/blender/editors/sculpt_paint/paint_vertex.c
+++ b/source/blender/editors/sculpt_paint/paint_vertex.c
@@ -2072,11 +2072,9 @@ static void calculate_average_weight(SculptThreadedTaskData *data,
struct WPaintAverageAccum *accum = MEM_mallocN(sizeof(*accum) * totnode, __func__);
data->custom_data = accum;
- TaskParallelSettings settings;
- BLI_parallel_range_settings_defaults(&settings);
- settings.use_threading = ((data->sd->flags & SCULPT_USE_OPENMP) &&
- totnode > SCULPT_THREADED_LIMIT);
- BLI_task_parallel_range(0, totnode, data, do_wpaint_brush_calc_average_weight_cb_ex, &settings);
+ PBVHParallelSettings settings;
+ BKE_pbvh_parallel_range_settings(&settings, (data->sd->flags & SCULPT_USE_OPENMP), totnode);
+ BKE_pbvh_parallel_range(0, totnode, data, do_wpaint_brush_calc_average_weight_cb_ex, &settings);
uint accum_len = 0;
double accum_weight = 0.0;
@@ -2121,24 +2119,23 @@ static void wpaint_paint_leaves(bContext *C,
/* Use this so average can modify its weight without touching the brush. */
data.strength = BKE_brush_weight_get(scene, brush);
- TaskParallelSettings settings;
- BLI_parallel_range_settings_defaults(&settings);
/* NOTE: current mirroring code cannot be run in parallel */
- settings.use_threading = !(me->editflag & ME_EDIT_MIRROR_X);
+ PBVHParallelSettings settings;
+ BKE_pbvh_parallel_range_settings(&settings, !(me->editflag & ME_EDIT_MIRROR_X), totnode);
switch ((eBrushWeightPaintTool)brush->weightpaint_tool) {
case WPAINT_TOOL_AVERAGE:
calculate_average_weight(&data, nodes, totnode);
- BLI_task_parallel_range(0, totnode, &data, do_wpaint_brush_draw_task_cb_ex, &settings);
+ BKE_pbvh_parallel_range(0, totnode, &data, do_wpaint_brush_draw_task_cb_ex, &settings);
break;
case WPAINT_TOOL_SMEAR:
- BLI_task_parallel_range(0, totnode, &data, do_wpaint_brush_smear_task_cb_ex, &settings);
+ BKE_pbvh_parallel_range(0, totnode, &data, do_wpaint_brush_smear_task_cb_ex, &settings);
break;
case WPAINT_TOOL_BLUR:
- BLI_task_parallel_range(0, totnode, &data, do_wpaint_brush_blur_task_cb_ex, &settings);
+ BKE_pbvh_parallel_range(0, totnode, &data, do_wpaint_brush_blur_task_cb_ex, &settings);
break;
case WPAINT_TOOL_DRAW:
- BLI_task_parallel_range(0, totnode, &data, do_wpaint_brush_draw_task_cb_ex, &settings);
+ BKE_pbvh_parallel_range(0, totnode, &data, do_wpaint_brush_draw_task_cb_ex, &settings);
break;
}
}
@@ -2344,7 +2341,7 @@ static void wpaint_stroke_update_step(bContext *C, struct PaintStroke *stroke, P
/* calculate pivot for rotation around seletion if needed */
/* also needed for "View Selected" on last stroke */
- paint_last_stroke_update(scene, ss->cache->location);
+ paint_last_stroke_update(scene, ss->cache->true_location);
BKE_mesh_batch_cache_dirty_tag(ob->data, BKE_MESH_BATCH_DIRTY_ALL);
@@ -2439,7 +2436,7 @@ static int wpaint_invoke(bContext *C, wmOperator *op, const wmEvent *event)
event->type);
if ((retval = op->type->modal(C, op, event)) == OPERATOR_FINISHED) {
- paint_stroke_data_free(op);
+ paint_stroke_free(C, op);
return OPERATOR_FINISHED;
}
/* add modal handler */
@@ -2590,11 +2587,6 @@ void PAINT_OT_vertex_paint_toggle(wmOperatorType *ot)
* - revise whether op->customdata should be added in object, in set_vpaint
*/
-typedef struct PolyFaceMap {
- struct PolyFaceMap *next, *prev;
- int facenr;
-} PolyFaceMap;
-
struct VPaintData {
ViewContext vc;
struct NormalAnglePrecalc normal_angle_precalc;
@@ -3134,9 +3126,9 @@ static void calculate_average_color(SculptThreadedTaskData *data,
struct VPaintAverageAccum *accum = MEM_mallocN(sizeof(*accum) * totnode, __func__);
data->custom_data = accum;
- TaskParallelSettings settings;
- BLI_parallel_range_settings_defaults(&settings);
- BLI_task_parallel_range(0, totnode, data, do_vpaint_brush_calc_average_color_cb_ex, &settings);
+ PBVHParallelSettings settings;
+ BKE_pbvh_parallel_range_settings(&settings, true, totnode);
+ BKE_pbvh_parallel_range(0, totnode, data, do_vpaint_brush_calc_average_color_cb_ex, &settings);
uint accum_len = 0;
uint accum_value[3] = {0};
@@ -3180,21 +3172,21 @@ static void vpaint_paint_leaves(bContext *C,
.lcol = (uint *)me->mloopcol,
.me = me,
};
- TaskParallelSettings settings;
- BLI_parallel_range_settings_defaults(&settings);
+ PBVHParallelSettings settings;
+ BKE_pbvh_parallel_range_settings(&settings, true, totnode);
switch ((eBrushVertexPaintTool)brush->vertexpaint_tool) {
case VPAINT_TOOL_AVERAGE:
calculate_average_color(&data, nodes, totnode);
- BLI_task_parallel_range(0, totnode, &data, do_vpaint_brush_draw_task_cb_ex, &settings);
+ BKE_pbvh_parallel_range(0, totnode, &data, do_vpaint_brush_draw_task_cb_ex, &settings);
break;
case VPAINT_TOOL_BLUR:
- BLI_task_parallel_range(0, totnode, &data, do_vpaint_brush_blur_task_cb_ex, &settings);
+ BKE_pbvh_parallel_range(0, totnode, &data, do_vpaint_brush_blur_task_cb_ex, &settings);
break;
case VPAINT_TOOL_SMEAR:
- BLI_task_parallel_range(0, totnode, &data, do_vpaint_brush_smear_task_cb_ex, &settings);
+ BKE_pbvh_parallel_range(0, totnode, &data, do_vpaint_brush_smear_task_cb_ex, &settings);
break;
case VPAINT_TOOL_DRAW:
- BLI_task_parallel_range(0, totnode, &data, do_vpaint_brush_draw_task_cb_ex, &settings);
+ BKE_pbvh_parallel_range(0, totnode, &data, do_vpaint_brush_draw_task_cb_ex, &settings);
break;
}
}
@@ -3324,7 +3316,7 @@ static void vpaint_stroke_update_step(bContext *C, struct PaintStroke *stroke, P
/* calculate pivot for rotation around seletion if needed */
/* also needed for "View Selected" on last stroke */
- paint_last_stroke_update(scene, ss->cache->location);
+ paint_last_stroke_update(scene, ss->cache->true_location);
ED_region_tag_redraw(vc->ar);
@@ -3381,7 +3373,7 @@ static int vpaint_invoke(bContext *C, wmOperator *op, const wmEvent *event)
event->type);
if ((retval = op->type->modal(C, op, event)) == OPERATOR_FINISHED) {
- paint_stroke_data_free(op);
+ paint_stroke_free(C, op);
return OPERATOR_FINISHED;
}
diff --git a/source/blender/editors/sculpt_paint/paint_vertex_weight_ops.c b/source/blender/editors/sculpt_paint/paint_vertex_weight_ops.c
index 934aeeaf698..f0fe2d4ebdc 100644
--- a/source/blender/editors/sculpt_paint/paint_vertex_weight_ops.c
+++ b/source/blender/editors/sculpt_paint/paint_vertex_weight_ops.c
@@ -882,7 +882,7 @@ void PAINT_OT_weight_gradient(wmOperatorType *ot)
prop = RNA_def_enum(ot->srna, "type", gradient_types, 0, "Type", "");
RNA_def_property_flag(prop, PROP_SKIP_SAVE);
- WM_operator_properties_gesture_straightline(ot, CURSOR_EDIT);
+ WM_operator_properties_gesture_straightline(ot, WM_CURSOR_EDIT);
}
/** \} */
diff --git a/source/blender/editors/sculpt_paint/sculpt.c b/source/blender/editors/sculpt_paint/sculpt.c
index c07fa1d894d..43f1bbb33f3 100644
--- a/source/blender/editors/sculpt_paint/sculpt.c
+++ b/source/blender/editors/sculpt_paint/sculpt.c
@@ -27,13 +27,11 @@
#include "BLI_math.h"
#include "BLI_blenlib.h"
#include "BLI_dial_2d.h"
-#include "BLI_hash.h"
#include "BLI_gsqueue.h"
-#include "BLI_stack.h"
+#include "BLI_ghash.h"
+#include "BLI_hash.h"
#include "BLI_task.h"
-#include "BLI_stack.h"
#include "BLI_utildefines.h"
-#include "BLI_ghash.h"
#include "BLT_translation.h"
@@ -66,6 +64,7 @@
#include "BKE_report.h"
#include "BKE_scene.h"
#include "BKE_screen.h"
+#include "BKE_subdiv_ccg.h"
#include "BKE_subsurf.h"
#include "DEG_depsgraph.h"
@@ -95,23 +94,13 @@
#include <stdlib.h>
#include <string.h>
-/* Sculpt PBVH abstraction API */
-
-/* Do not use these functions while working with PBVH_GRIDS data in SculptSession */
-
-float *sculpt_vertex_co_get(SculptSession *ss, int index)
-{
- switch (BKE_pbvh_type(ss->pbvh)) {
- case PBVH_FACES:
- return ss->mvert[index].co;
- case PBVH_BMESH:
- return BM_vert_at_index(BKE_pbvh_get_bmesh(ss->pbvh), index)->co;
- case PBVH_GRIDS:
- BLI_assert(!"This fuction is not supposed to be used for PBVH_GRIDS");
- break;
- }
- return NULL;
-}
+/* Sculpt PBVH abstraction API
+ *
+ * This is read-only, for writing use PBVH vertex iterators. There vd.index matches
+ * the indices used here.
+ *
+ * For multires, the same vertex in multiple grids is counted multiple times, with
+ * different index for each grid. */
static void sculpt_vertex_random_access_init(SculptSession *ss)
{
@@ -120,31 +109,36 @@ static void sculpt_vertex_random_access_init(SculptSession *ss)
}
}
-static int sculpt_active_vertex_get(SculptSession *ss)
+static int sculpt_vertex_count_get(SculptSession *ss)
{
- BLI_assert(BKE_pbvh_type(ss->pbvh) != PBVH_GRIDS);
switch (BKE_pbvh_type(ss->pbvh)) {
case PBVH_FACES:
- return ss->active_vertex_index;
+ return ss->totvert;
case PBVH_BMESH:
- return ss->active_vertex_index;
+ return BM_mesh_elem_count(BKE_pbvh_get_bmesh(ss->pbvh), BM_VERT);
case PBVH_GRIDS:
- BLI_assert(!"This fuction is not supposed to be used for PBVH_GRIDS");
- break;
+ return BKE_pbvh_get_grid_num_vertices(ss->pbvh);
}
+
return 0;
}
-static int sculpt_vertex_count_get(SculptSession *ss)
+const float *sculpt_vertex_co_get(SculptSession *ss, int index)
{
switch (BKE_pbvh_type(ss->pbvh)) {
case PBVH_FACES:
- return ss->totvert;
+ return ss->mvert[index].co;
case PBVH_BMESH:
- return BM_mesh_elem_count(BKE_pbvh_get_bmesh(ss->pbvh), BM_VERT);
- default:
- return 0;
+ return BM_vert_at_index(BKE_pbvh_get_bmesh(ss->pbvh), index)->co;
+ case PBVH_GRIDS: {
+ const CCGKey *key = BKE_pbvh_get_grid_key(ss->pbvh);
+ const int grid_index = index / key->grid_area;
+ const int vertex_index = index - grid_index * key->grid_area;
+ CCGElem *elem = BKE_pbvh_get_grids(ss->pbvh)[grid_index];
+ return CCG_elem_co(key, CCG_elem_offset(key, elem, vertex_index));
+ }
}
+ return NULL;
}
static void sculpt_vertex_normal_get(SculptSession *ss, int index, float no[3])
@@ -156,27 +150,14 @@ static void sculpt_vertex_normal_get(SculptSession *ss, int index, float no[3])
case PBVH_BMESH:
copy_v3_v3(no, BM_vert_at_index(BKE_pbvh_get_bmesh(ss->pbvh), index)->no);
break;
- default:
- zero_v3(no);
- return;
- }
-}
-
-static void sculpt_vertex_mask_set(SculptSession *ss, int index, float mask)
-{
- BMVert *v;
- float *mask_p;
- switch (BKE_pbvh_type(ss->pbvh)) {
- case PBVH_FACES:
- ss->vmask[index] = mask;
- return;
- case PBVH_BMESH:
- v = BM_vert_at_index(BKE_pbvh_get_bmesh(ss->pbvh), index);
- mask_p = BM_ELEM_CD_GET_VOID_P(v, CustomData_get_offset(&ss->bm->vdata, CD_PAINT_MASK));
- *(mask_p) = mask;
- return;
- default:
- return;
+ case PBVH_GRIDS: {
+ const CCGKey *key = BKE_pbvh_get_grid_key(ss->pbvh);
+ const int grid_index = index / key->grid_area;
+ const int vertex_index = index - grid_index * key->grid_area;
+ CCGElem *elem = BKE_pbvh_get_grids(ss->pbvh)[grid_index];
+ copy_v3_v3(no, CCG_elem_no(key, CCG_elem_offset(key, elem, vertex_index)));
+ break;
+ }
}
}
@@ -191,49 +172,58 @@ static float sculpt_vertex_mask_get(SculptSession *ss, int index)
v = BM_vert_at_index(BKE_pbvh_get_bmesh(ss->pbvh), index);
mask = BM_ELEM_CD_GET_VOID_P(v, CustomData_get_offset(&ss->bm->vdata, CD_PAINT_MASK));
return *mask;
- default:
- return 0;
+ case PBVH_GRIDS: {
+ const CCGKey *key = BKE_pbvh_get_grid_key(ss->pbvh);
+ const int grid_index = index / key->grid_area;
+ const int vertex_index = index - grid_index * key->grid_area;
+ CCGElem *elem = BKE_pbvh_get_grids(ss->pbvh)[grid_index];
+ return *CCG_elem_mask(key, CCG_elem_offset(key, elem, vertex_index));
+ }
}
+
+ return 0.0f;
}
-static void UNUSED_FUNCTION(sculpt_vertex_co_set)(SculptSession *ss, int index, float co[3])
+static int sculpt_active_vertex_get(SculptSession *ss)
{
switch (BKE_pbvh_type(ss->pbvh)) {
case PBVH_FACES:
- copy_v3_v3(ss->mvert[index].co, co);
- return;
+ return ss->active_vertex_index;
case PBVH_BMESH:
- copy_v3_v3(BM_vert_at_index(BKE_pbvh_get_bmesh(ss->pbvh), index)->co, co);
- return;
- default:
- return;
+ return ss->active_vertex_index;
+ case PBVH_GRIDS:
+ return ss->active_vertex_index;
}
+
+ return 0;
}
-static void UNUSED_FUNCTION(sculpt_vertex_tag_update)(SculptSession *ss, int index)
+static const float *sculpt_active_vertex_co_get(SculptSession *ss)
{
- switch (BKE_pbvh_type(ss->pbvh)) {
- case PBVH_FACES:
- ss->mvert[index].flag |= ME_VERT_PBVH_UPDATE;
- return;
- case PBVH_BMESH:
- return;
- default:
- return;
- }
+ return sculpt_vertex_co_get(ss, sculpt_active_vertex_get(ss));
+}
+
+static void sculpt_active_vertex_normal_get(SculptSession *ss, float normal[3])
+{
+ sculpt_vertex_normal_get(ss, sculpt_active_vertex_get(ss), normal);
}
#define SCULPT_VERTEX_NEIGHBOR_FIXED_CAPACITY 256
typedef struct SculptVertexNeighborIter {
+ /* Storage */
int *neighbors;
int size;
int capacity;
-
int neighbors_fixed[SCULPT_VERTEX_NEIGHBOR_FIXED_CAPACITY];
- int index;
+ /* Internal iterator. */
+ int num_duplicates;
int i;
+
+ /* Public */
+ int index;
+ bool is_duplicate;
} SculptVertexNeighborIter;
static void sculpt_vertex_neighbor_add(SculptVertexNeighborIter *iter, int neighbor_index)
@@ -269,6 +259,7 @@ static void sculpt_vertex_neighbors_get_bmesh(SculptSession *ss,
BMIter liter;
BMLoop *l;
iter->size = 0;
+ iter->num_duplicates = 0;
iter->capacity = SCULPT_VERTEX_NEIGHBOR_FIXED_CAPACITY;
iter->neighbors = iter->neighbors_fixed;
@@ -291,6 +282,7 @@ static void sculpt_vertex_neighbors_get_faces(SculptSession *ss,
int i;
MeshElemMap *vert_map = &ss->pmap[(int)index];
iter->size = 0;
+ iter->num_duplicates = 0;
iter->capacity = SCULPT_VERTEX_NEIGHBOR_FIXED_CAPACITY;
iter->neighbors = iter->neighbors_fixed;
@@ -308,8 +300,44 @@ static void sculpt_vertex_neighbors_get_faces(SculptSession *ss,
}
}
+static void sculpt_vertex_neighbors_get_grids(SculptSession *ss,
+ const int index,
+ const bool include_duplicates,
+ SculptVertexNeighborIter *iter)
+{
+ /* TODO: optimize this. We could fill SculptVertexNeighborIter directly,
+ * maybe provide coordinate and mask pointers directly rather than converting
+ * back and forth between CCGElem and global index. */
+ const CCGKey *key = BKE_pbvh_get_grid_key(ss->pbvh);
+ const int grid_index = index / key->grid_area;
+ const int vertex_index = index - grid_index * key->grid_area;
+
+ SubdivCCGCoord coord = {.grid_index = grid_index,
+ .x = vertex_index % key->grid_size,
+ .y = vertex_index / key->grid_size};
+
+ SubdivCCGNeighbors neighbors;
+ BKE_subdiv_ccg_neighbor_coords_get(ss->subdiv_ccg, &coord, include_duplicates, &neighbors);
+
+ iter->size = 0;
+ iter->num_duplicates = neighbors.num_duplicates;
+ iter->capacity = SCULPT_VERTEX_NEIGHBOR_FIXED_CAPACITY;
+ iter->neighbors = iter->neighbors_fixed;
+
+ for (int i = 0; i < neighbors.size; i++) {
+ sculpt_vertex_neighbor_add(iter,
+ neighbors.coords[i].grid_index * key->grid_area +
+ neighbors.coords[i].y * key->grid_size + neighbors.coords[i].x);
+ }
+
+ if (neighbors.coords != neighbors.coords_fixed) {
+ MEM_freeN(neighbors.coords);
+ }
+}
+
static void sculpt_vertex_neighbors_get(SculptSession *ss,
- int index,
+ const int index,
+ const bool include_duplicates,
SculptVertexNeighborIter *iter)
{
switch (BKE_pbvh_type(ss->pbvh)) {
@@ -319,17 +347,29 @@ static void sculpt_vertex_neighbors_get(SculptSession *ss,
case PBVH_BMESH:
sculpt_vertex_neighbors_get_bmesh(ss, index, iter);
return;
- default:
- break;
+ case PBVH_GRIDS:
+ sculpt_vertex_neighbors_get_grids(ss, index, include_duplicates, iter);
+ return;
}
}
+/* Iterator over neighboring vertices. */
#define sculpt_vertex_neighbors_iter_begin(ss, v_index, neighbor_iterator) \
- sculpt_vertex_neighbors_get(ss, v_index, &neighbor_iterator); \
+ sculpt_vertex_neighbors_get(ss, v_index, false, &neighbor_iterator); \
for (neighbor_iterator.i = 0; neighbor_iterator.i < neighbor_iterator.size; \
neighbor_iterator.i++) { \
neighbor_iterator.index = ni.neighbors[ni.i];
+/* Iterate over neighboring and duplicate vertices (for PBVH_GRIDS). Duplicates come
+ * first since they are nearest for floodfill. */
+#define sculpt_vertex_duplicates_and_neighbors_iter_begin(ss, v_index, neighbor_iterator) \
+ sculpt_vertex_neighbors_get(ss, v_index, true, &neighbor_iterator); \
+ for (neighbor_iterator.i = neighbor_iterator.size - 1; neighbor_iterator.i >= 0; \
+ neighbor_iterator.i--) { \
+ neighbor_iterator.index = ni.neighbors[ni.i]; \
+ neighbor_iterator.is_duplicate = (ni.i >= \
+ neighbor_iterator.size - neighbor_iterator.num_duplicates);
+
#define sculpt_vertex_neighbors_iter_end(neighbor_iterator) \
} \
if (neighbor_iterator.neighbors != neighbor_iterator.neighbors_fixed) { \
@@ -338,17 +378,6 @@ static void sculpt_vertex_neighbors_get(SculptSession *ss,
((void)0)
/* Utils */
-static void sculpt_vertex_mask_clamp(SculptSession *ss, int index, float min, float max)
-{
- float mask = sculpt_vertex_mask_get(ss, index);
- if (mask > max) {
- sculpt_vertex_mask_set(ss, index, max);
- }
- else if (mask < min) {
- sculpt_vertex_mask_set(ss, index, min);
- }
-}
-
static bool check_vertex_pivot_symmetry(const float vco[3], const float pco[3], const char symm)
{
bool is_in_symmetry_area = true;
@@ -368,37 +397,46 @@ static bool check_vertex_pivot_symmetry(const float vco[3], const float pco[3],
return is_in_symmetry_area;
}
+typedef struct NearestVertexTLSData {
+ int nearest_vertex_index;
+ float nearest_vertex_distance_squared;
+} NearestVertexTLSData;
+
static void do_nearest_vertex_get_task_cb(void *__restrict userdata,
const int n,
- const TaskParallelTLS *__restrict UNUSED(tls))
+ const TaskParallelTLS *__restrict tls)
{
SculptThreadedTaskData *data = userdata;
SculptSession *ss = data->ob->sculpt;
+ NearestVertexTLSData *nvtd = tls->userdata_chunk;
PBVHVertexIter vd;
- int node_nearest_vertex_index = -1;
- float node_nearest_vertex_distance_squared = FLT_MAX;
BKE_pbvh_vertex_iter_begin(ss->pbvh, data->nodes[n], vd, PBVH_ITER_UNIQUE)
{
float distance_squared = len_squared_v3v3(vd.co, data->nearest_vertex_search_co);
- if (distance_squared < node_nearest_vertex_distance_squared &&
+ if (distance_squared < nvtd->nearest_vertex_distance_squared &&
distance_squared < data->max_distance_squared) {
- node_nearest_vertex_index = vd.index;
- node_nearest_vertex_distance_squared = distance_squared;
+ nvtd->nearest_vertex_index = vd.index;
+ nvtd->nearest_vertex_distance_squared = distance_squared;
}
}
BKE_pbvh_vertex_iter_end;
+}
- BLI_mutex_lock(&data->mutex);
- if (data->nearest_vertex_index == -1) {
- data->nearest_vertex_index = node_nearest_vertex_index;
+static void nearest_vertex_get_reduce(const void *__restrict UNUSED(userdata),
+ void *__restrict chunk_join,
+ void *__restrict chunk)
+{
+ NearestVertexTLSData *join = chunk_join;
+ NearestVertexTLSData *nvtd = chunk;
+ if (join->nearest_vertex_index == -1) {
+ join->nearest_vertex_index = nvtd->nearest_vertex_index;
+ join->nearest_vertex_distance_squared = nvtd->nearest_vertex_distance_squared;
}
- else if (node_nearest_vertex_distance_squared <
- len_squared_v3v3(data->nearest_vertex_search_co,
- sculpt_vertex_co_get(ss, data->nearest_vertex_index))) {
- data->nearest_vertex_index = node_nearest_vertex_index;
+ else if (nvtd->nearest_vertex_distance_squared < join->nearest_vertex_distance_squared) {
+ join->nearest_vertex_index = nvtd->nearest_vertex_index;
+ join->nearest_vertex_distance_squared = nvtd->nearest_vertex_distance_squared;
}
- BLI_mutex_unlock(&data->mutex);
}
static int sculpt_nearest_vertex_get(
@@ -424,19 +462,23 @@ static int sculpt_nearest_vertex_get(
.ob = ob,
.nodes = nodes,
.max_distance_squared = max_distance * max_distance,
- .nearest_vertex_index = -1,
};
copy_v3_v3(task_data.nearest_vertex_search_co, co);
+ NearestVertexTLSData nvtd;
+ nvtd.nearest_vertex_index = -1;
+ nvtd.nearest_vertex_distance_squared = FLT_MAX;
+
+ PBVHParallelSettings settings;
+ BKE_pbvh_parallel_range_settings(&settings, (sd->flags & SCULPT_USE_OPENMP), totnode);
+ settings.func_reduce = nearest_vertex_get_reduce;
+ settings.userdata_chunk = &nvtd;
+ settings.userdata_chunk_size = sizeof(NearestVertexTLSData);
+ BKE_pbvh_parallel_range(0, totnode, &task_data, do_nearest_vertex_get_task_cb, &settings);
- BLI_mutex_init(&task_data.mutex);
- TaskParallelSettings settings;
- BLI_parallel_range_settings_defaults(&settings);
- settings.use_threading = ((sd->flags & SCULPT_USE_OPENMP) && totnode > SCULPT_THREADED_LIMIT);
- BLI_task_parallel_range(0, totnode, &task_data, do_nearest_vertex_get_task_cb, &settings);
- BLI_mutex_end(&task_data.mutex);
+ MEM_SAFE_FREE(nodes);
- return task_data.nearest_vertex_index;
+ return nvtd.nearest_vertex_index;
}
static bool is_symmetry_iteration_valid(char i, char symm)
@@ -445,7 +487,7 @@ static bool is_symmetry_iteration_valid(char i, char symm)
}
/* Checks if a vertex is inside the brush radius from any of its mirrored axis */
-static bool sculpt_is_vertex_inside_brush_radius_symm(float vertex[3],
+static bool sculpt_is_vertex_inside_brush_radius_symm(const float vertex[3],
const float br_co[3],
float radius,
char symm)
@@ -462,6 +504,85 @@ static bool sculpt_is_vertex_inside_brush_radius_symm(float vertex[3],
return false;
}
+/* Sculpt Flood Fill API
+ *
+ * Iterate over connected vertices, starting from one or more initial vertices. */
+
+typedef struct SculptFloodFill {
+ GSQueue *queue;
+ char *visited_vertices;
+} SculptFloodFill;
+
+static void sculpt_floodfill_init(SculptSession *ss, SculptFloodFill *flood)
+{
+ int vertex_count = sculpt_vertex_count_get(ss);
+ sculpt_vertex_random_access_init(ss);
+
+ flood->queue = BLI_gsqueue_new(sizeof(int));
+ flood->visited_vertices = MEM_callocN(vertex_count * sizeof(char), "visited vertices");
+}
+
+static void sculpt_floodfill_add_initial(SculptFloodFill *flood, int index)
+{
+ BLI_gsqueue_push(flood->queue, &index);
+}
+
+static void sculpt_floodfill_add_active(
+ Sculpt *sd, Object *ob, SculptSession *ss, SculptFloodFill *flood, float radius)
+{
+ /* Add active vertex and symmetric vertices to the queue. */
+ const char symm = sd->paint.symmetry_flags & PAINT_SYMM_AXIS_ALL;
+ for (char i = 0; i <= symm; ++i) {
+ if (is_symmetry_iteration_valid(i, symm)) {
+ int v = -1;
+ if (i == 0) {
+ v = sculpt_active_vertex_get(ss);
+ }
+ else if (radius > 0.0f) {
+ float radius_squared = (radius == FLT_MAX) ? FLT_MAX : radius * radius;
+ float location[3];
+ flip_v3_v3(location, sculpt_active_vertex_co_get(ss), i);
+ v = sculpt_nearest_vertex_get(sd, ob, location, radius_squared, false);
+ }
+ if (v != -1) {
+ sculpt_floodfill_add_initial(flood, v);
+ }
+ }
+ }
+}
+
+static void sculpt_floodfill_execute(
+ SculptSession *ss,
+ SculptFloodFill *flood,
+ bool (*func)(SculptSession *ss, int from_v, int to_v, bool is_duplicate, void *userdata),
+ void *userdata)
+{
+ while (!BLI_gsqueue_is_empty(flood->queue)) {
+ int from_v;
+ BLI_gsqueue_pop(flood->queue, &from_v);
+ SculptVertexNeighborIter ni;
+ sculpt_vertex_duplicates_and_neighbors_iter_begin(ss, from_v, ni)
+ {
+ const int to_v = ni.index;
+ if (flood->visited_vertices[to_v] == 0) {
+ flood->visited_vertices[to_v] = 1;
+
+ if (func(ss, from_v, to_v, ni.is_duplicate, userdata)) {
+ BLI_gsqueue_push(flood->queue, &to_v);
+ }
+ }
+ }
+ sculpt_vertex_neighbors_iter_end(ni);
+ }
+}
+
+static void sculpt_floodfill_free(SculptFloodFill *flood)
+{
+ MEM_SAFE_FREE(flood->visited_vertices);
+ BLI_gsqueue_free(flood->queue);
+ flood->queue = NULL;
+}
+
/** \name Tool Capabilities
*
* Avoid duplicate checks, internal logic only,
@@ -816,15 +937,11 @@ static void paint_mesh_restore_co(Sculpt *sd, Object *ob)
.nodes = nodes,
};
- TaskParallelSettings settings;
- BLI_parallel_range_settings_defaults(&settings);
- settings.use_threading = ((sd->flags & SCULPT_USE_OPENMP) && !ss->bm &&
- totnode > SCULPT_THREADED_LIMIT);
- BLI_task_parallel_range(0, totnode, &data, paint_mesh_restore_co_task_cb, &settings);
+ PBVHParallelSettings settings;
+ BKE_pbvh_parallel_range_settings(&settings, (sd->flags & SCULPT_USE_OPENMP) && !ss->bm, totnode);
+ BKE_pbvh_parallel_range(0, totnode, &data, paint_mesh_restore_co_task_cb, &settings);
- if (nodes) {
- MEM_freeN(nodes);
- }
+ MEM_SAFE_FREE(nodes);
}
/*** BVH Tree ***/
@@ -1005,9 +1122,8 @@ bool sculpt_brush_test_cube(SculptBrushTest *test, const float co[3], float loca
local_co[1] = fabsf(local_co[1]);
local_co[2] = fabsf(local_co[2]);
+ const float p = 8.0f;
if (local_co[0] <= side && local_co[1] <= side && local_co[2] <= side) {
- float p = 4.0f;
-
test->dist = ((powf(local_co[0], p) + powf(local_co[1], p) + powf(local_co[2], p)) /
powf(side, p));
@@ -1102,11 +1218,6 @@ static bool sculpt_brush_test_cyl(SculptBrushTest *test,
static bool sculpt_automasking_enabled(SculptSession *ss, const Brush *br)
{
- // REMOVE WITH PBVH_GRIDS
- if (ss->pbvh && BKE_pbvh_type(ss->pbvh) == PBVH_GRIDS) {
- return false;
- }
-
if (sculpt_stroke_is_dynamic_topology(ss, br)) {
return false;
}
@@ -1137,7 +1248,7 @@ static void sculpt_automasking_end(Object *ob)
static bool sculpt_automasking_is_constrained_by_radius(Brush *br)
{
/* 2D falloff is not constrained by radius */
- if (br->falloff_shape & BRUSH_AIRBRUSH) {
+ if (br->falloff_shape == PAINT_FALLOFF_SHAPE_TUBE) {
return false;
}
@@ -1147,15 +1258,27 @@ static bool sculpt_automasking_is_constrained_by_radius(Brush *br)
return false;
}
-typedef struct VertexTopologyIterator {
- int v;
- int it;
- float edge_factor;
-} VertexTopologyIterator;
+typedef struct AutomaskFloodFillData {
+ float *automask_factor;
+ float radius;
+ bool use_radius;
+ float location[3];
+ char symm;
+} AutomaskFloodFillData;
-static float *sculpt_topology_automasking_init(Sculpt *sd, Object *ob, float *automask_factor)
+static bool automask_floodfill_cb(
+ SculptSession *ss, int UNUSED(from_v), int to_v, bool UNUSED(is_duplicate), void *userdata)
{
+ AutomaskFloodFillData *data = userdata;
+
+ data->automask_factor[to_v] = 1.0f;
+ return (!data->use_radius ||
+ sculpt_is_vertex_inside_brush_radius_symm(
+ sculpt_vertex_co_get(ss, to_v), data->location, data->radius, data->symm));
+}
+static float *sculpt_topology_automasking_init(Sculpt *sd, Object *ob, float *automask_factor)
+{
SculptSession *ss = ob->sculpt;
Brush *brush = BKE_paint_brush(&sd->paint);
@@ -1168,63 +1291,21 @@ static float *sculpt_topology_automasking_init(Sculpt *sd, Object *ob, float *au
return NULL;
}
- bool *visited_vertices = MEM_callocN(sculpt_vertex_count_get(ss) * sizeof(bool),
- "visited vertices");
-
- BLI_Stack *not_visited_vertices = BLI_stack_new(sizeof(VertexTopologyIterator),
- "not vertices stack");
-
- VertexTopologyIterator mevit;
-
- /* Add active vertex and symmetric vertices to the stack. */
- float location[3];
- const char symm = sd->paint.symmetry_flags & PAINT_SYMM_AXIS_ALL;
- for (char i = 0; i <= symm; ++i) {
- if (is_symmetry_iteration_valid(i, symm)) {
- flip_v3_v3(location, sculpt_vertex_co_get(ss, sculpt_active_vertex_get(ss)), i);
- if (i == 0) {
- mevit.v = sculpt_active_vertex_get(ss);
- }
- else {
- mevit.v = sculpt_nearest_vertex_get(
- sd, ob, location, ss->cache->radius * ss->cache->radius, false);
- }
- if (mevit.v != -1) {
- mevit.it = 1;
- BLI_stack_push(not_visited_vertices, &mevit);
- }
- }
- }
-
- copy_v3_v3(location, sculpt_vertex_co_get(ss, sculpt_active_vertex_get(ss)));
- bool use_radius = sculpt_automasking_is_constrained_by_radius(brush);
-
- /* Flood fill automask to connected vertices. Limited to vertices inside the brush radius if the
- * tool requires it */
- while (!BLI_stack_is_empty(not_visited_vertices)) {
- VertexTopologyIterator c_mevit;
- BLI_stack_pop(not_visited_vertices, &c_mevit);
- SculptVertexNeighborIter ni;
- sculpt_vertex_neighbors_iter_begin(ss, c_mevit.v, ni)
- {
- if (!visited_vertices[(int)ni.index]) {
- VertexTopologyIterator new_entry;
- new_entry.v = ni.index;
- automask_factor[new_entry.v] = 1.0f;
- visited_vertices[(int)ni.index] = true;
- if (!use_radius ||
- sculpt_is_vertex_inside_brush_radius_symm(
- sculpt_vertex_co_get(ss, new_entry.v), location, ss->cache->radius, symm)) {
- BLI_stack_push(not_visited_vertices, &new_entry);
- }
- }
- }
- sculpt_vertex_neighbors_iter_end(ni);
- }
-
- BLI_stack_free(not_visited_vertices);
+ /* Flood fill automask to connected vertices. Limited to vertices inside
+ * the brush radius if the tool requires it */
+ SculptFloodFill flood;
+ sculpt_floodfill_init(ss, &flood);
+ sculpt_floodfill_add_active(sd, ob, ss, &flood, ss->cache->radius);
- MEM_freeN(visited_vertices);
+ AutomaskFloodFillData fdata = {
+ .automask_factor = automask_factor,
+ .radius = ss->cache->radius,
+ .use_radius = sculpt_automasking_is_constrained_by_radius(brush),
+ .symm = sd->paint.symmetry_flags & PAINT_SYMM_AXIS_ALL,
+ };
+ copy_v3_v3(fdata.location, sculpt_active_vertex_co_get(ss));
+ sculpt_floodfill_execute(ss, &flood, automask_floodfill_cb, &fdata);
+ sculpt_floodfill_free(&flood);
return automask_factor;
}
@@ -1331,21 +1412,26 @@ static float calc_symmetry_feather(Sculpt *sd, StrokeCache *cache)
* \note These are all _very_ similar, when changing one, check others.
* \{ */
+typedef struct AreaNormalCenterTLSData {
+ /* 0=towards view, 1=flipped */
+ float area_cos[2][3];
+ float area_nos[2][3];
+ int area_count[2];
+} AreaNormalCenterTLSData;
+
static void calc_area_normal_and_center_task_cb(void *__restrict userdata,
const int n,
- const TaskParallelTLS *__restrict UNUSED(tls))
+ const TaskParallelTLS *__restrict tls)
{
SculptThreadedTaskData *data = userdata;
SculptSession *ss = data->ob->sculpt;
- float(*area_nos)[3] = data->area_nos;
- float(*area_cos)[3] = data->area_cos;
+ AreaNormalCenterTLSData *anctd = tls->userdata_chunk;
+ const bool use_area_nos = data->use_area_nos;
+ const bool use_area_cos = data->use_area_cos;
PBVHVertexIter vd;
SculptUndoNode *unode = NULL;
- float private_co[2][3] = {{0.0f}};
- float private_no[2][3] = {{0.0f}};
- int private_count[2] = {0};
bool use_original = false;
if (ss->cache && ss->cache->original) {
@@ -1360,7 +1446,10 @@ static void calc_area_normal_and_center_task_cb(void *__restrict userdata,
/* Update the test radius to sample the normal using the normal radius of the brush */
if (data->brush->ob_mode == OB_MODE_SCULPT) {
float test_radius = sqrtf(test.radius_squared);
- test_radius *= data->brush->normal_radius_factor;
+ /* Layer brush produces artifacts with normal radius */
+ if (!(ss->cache && data->brush->sculpt_tool == SCULPT_TOOL_LAYER)) {
+ test_radius *= data->brush->normal_radius_factor;
+ }
test.radius_squared = test_radius * test_radius;
}
@@ -1391,13 +1480,13 @@ static void calc_area_normal_and_center_task_cb(void *__restrict userdata,
normal_tri_v3(no, UNPACK3(co_tri));
flip_index = (dot_v3v3(ss->cache->view_normal, no) <= 0.0f);
- if (area_cos) {
- add_v3_v3(private_co[flip_index], co);
+ if (use_area_cos) {
+ add_v3_v3(anctd->area_cos[flip_index], co);
}
- if (area_nos) {
- add_v3_v3(private_no[flip_index], no);
+ if (use_area_nos) {
+ add_v3_v3(anctd->area_nos[flip_index], no);
}
- private_count[flip_index] += 1;
+ anctd->area_count[flip_index] += 1;
}
}
}
@@ -1443,37 +1532,37 @@ static void calc_area_normal_and_center_task_cb(void *__restrict userdata,
flip_index = (dot_v3v3(ss->cache ? ss->cache->view_normal : ss->cursor_view_normal, no) <=
0.0f);
- if (area_cos) {
- add_v3_v3(private_co[flip_index], co);
+ if (use_area_cos) {
+ add_v3_v3(anctd->area_cos[flip_index], co);
}
- if (area_nos) {
- add_v3_v3(private_no[flip_index], no);
+ if (use_area_nos) {
+ add_v3_v3(anctd->area_nos[flip_index], no);
}
- private_count[flip_index] += 1;
+ anctd->area_count[flip_index] += 1;
}
}
BKE_pbvh_vertex_iter_end;
}
+}
- BLI_mutex_lock(&data->mutex);
+static void calc_area_normal_and_center_reduce(const void *__restrict UNUSED(userdata),
+ void *__restrict chunk_join,
+ void *__restrict chunk)
+{
+ AreaNormalCenterTLSData *join = chunk_join;
+ AreaNormalCenterTLSData *anctd = chunk;
/* for flatten center */
- if (area_cos) {
- add_v3_v3(area_cos[0], private_co[0]);
- add_v3_v3(area_cos[1], private_co[1]);
- }
+ add_v3_v3(join->area_cos[0], anctd->area_cos[0]);
+ add_v3_v3(join->area_cos[1], anctd->area_cos[1]);
/* for area normal */
- if (area_nos) {
- add_v3_v3(area_nos[0], private_no[0]);
- add_v3_v3(area_nos[1], private_no[1]);
- }
+ add_v3_v3(join->area_nos[0], anctd->area_nos[0]);
+ add_v3_v3(join->area_nos[1], anctd->area_nos[1]);
/* weights */
- data->count[0] += private_count[0];
- data->count[1] += private_count[1];
-
- BLI_mutex_unlock(&data->mutex);
+ join->area_count[0] += anctd->area_count[0];
+ join->area_count[1] += anctd->area_count[1];
}
static void calc_area_center(
@@ -1484,11 +1573,6 @@ static void calc_area_center(
const bool has_bm_orco = ss->bm && sculpt_stroke_is_dynamic_topology(ss, brush);
int n;
- /* 0=towards view, 1=flipped */
- float area_cos[2][3] = {{0.0f}};
-
- int count[2] = {0};
-
/* Intentionally set 'sd' to NULL since we share logic with vertex paint. */
SculptThreadedTaskData data = {
.sd = NULL,
@@ -1497,23 +1581,22 @@ static void calc_area_center(
.nodes = nodes,
.totnode = totnode,
.has_bm_orco = has_bm_orco,
- .area_cos = area_cos,
- .area_nos = NULL,
- .count = count,
+ .use_area_cos = true,
};
- BLI_mutex_init(&data.mutex);
- TaskParallelSettings settings;
- BLI_parallel_range_settings_defaults(&settings);
- settings.use_threading = ((sd->flags & SCULPT_USE_OPENMP) && totnode > SCULPT_THREADED_LIMIT);
- BLI_task_parallel_range(0, totnode, &data, calc_area_normal_and_center_task_cb, &settings);
+ AreaNormalCenterTLSData anctd = {{{0}}};
- BLI_mutex_end(&data.mutex);
+ PBVHParallelSettings settings;
+ BKE_pbvh_parallel_range_settings(&settings, (sd->flags & SCULPT_USE_OPENMP), totnode);
+ settings.func_reduce = calc_area_normal_and_center_reduce;
+ settings.userdata_chunk = &anctd;
+ settings.userdata_chunk_size = sizeof(AreaNormalCenterTLSData);
+ BKE_pbvh_parallel_range(0, totnode, &data, calc_area_normal_and_center_task_cb, &settings);
/* for flatten center */
- for (n = 0; n < ARRAY_SIZE(area_cos); n++) {
- if (count[n] != 0) {
- mul_v3_v3fl(r_area_co, area_cos[n], 1.0f / count[n]);
+ for (n = 0; n < ARRAY_SIZE(anctd.area_cos); n++) {
+ if (anctd.area_count[n] != 0) {
+ mul_v3_v3fl(r_area_co, anctd.area_cos[n], 1.0f / anctd.area_count[n]);
break;
}
}
@@ -1526,7 +1609,7 @@ static void calc_area_normal(
Sculpt *sd, Object *ob, PBVHNode **nodes, int totnode, float r_area_no[3])
{
const Brush *brush = BKE_paint_brush(&sd->paint);
- bool use_threading = (sd->flags & SCULPT_USE_OPENMP) && totnode > SCULPT_THREADED_LIMIT;
+ bool use_threading = (sd->flags & SCULPT_USE_OPENMP);
sculpt_pbvh_calc_area_normal(brush, ob, nodes, totnode, use_threading, r_area_no);
}
@@ -1541,11 +1624,6 @@ bool sculpt_pbvh_calc_area_normal(const Brush *brush,
SculptSession *ss = ob->sculpt;
const bool has_bm_orco = ss->bm && sculpt_stroke_is_dynamic_topology(ss, brush);
- /* 0=towards view, 1=flipped */
- float area_nos[2][3] = {{0.0f}};
-
- int count[2] = {0};
-
/* Intentionally set 'sd' to NULL since this is used for vertex paint too. */
SculptThreadedTaskData data = {
.sd = NULL,
@@ -1554,23 +1632,22 @@ bool sculpt_pbvh_calc_area_normal(const Brush *brush,
.nodes = nodes,
.totnode = totnode,
.has_bm_orco = has_bm_orco,
- .area_cos = NULL,
- .area_nos = area_nos,
- .count = count,
+ .use_area_nos = true,
.any_vertex_sampled = false,
};
- BLI_mutex_init(&data.mutex);
- TaskParallelSettings settings;
- BLI_parallel_range_settings_defaults(&settings);
- settings.use_threading = use_threading;
- BLI_task_parallel_range(0, totnode, &data, calc_area_normal_and_center_task_cb, &settings);
+ AreaNormalCenterTLSData anctd = {{{0}}};
- BLI_mutex_end(&data.mutex);
+ PBVHParallelSettings settings;
+ BKE_pbvh_parallel_range_settings(&settings, use_threading, totnode);
+ settings.func_reduce = calc_area_normal_and_center_reduce;
+ settings.userdata_chunk = &anctd;
+ settings.userdata_chunk_size = sizeof(AreaNormalCenterTLSData);
+ BKE_pbvh_parallel_range(0, totnode, &data, calc_area_normal_and_center_task_cb, &settings);
/* for area normal */
- for (int i = 0; i < ARRAY_SIZE(area_nos); i++) {
- if (normalize_v3_v3(r_area_no, area_nos[i]) != 0.0f) {
+ for (int i = 0; i < ARRAY_SIZE(anctd.area_nos); i++) {
+ if (normalize_v3_v3(r_area_no, anctd.area_nos[i]) != 0.0f) {
break;
}
}
@@ -1588,12 +1665,6 @@ static void calc_area_normal_and_center(
const bool has_bm_orco = ss->bm && sculpt_stroke_is_dynamic_topology(ss, brush);
int n;
- /* 0=towards view, 1=flipped */
- float area_cos[2][3] = {{0.0f}};
- float area_nos[2][3] = {{0.0f}};
-
- int count[2] = {0};
-
/* Intentionally set 'sd' to NULL since this is used for vertex paint too. */
SculptThreadedTaskData data = {
.sd = NULL,
@@ -1602,23 +1673,23 @@ static void calc_area_normal_and_center(
.nodes = nodes,
.totnode = totnode,
.has_bm_orco = has_bm_orco,
- .area_cos = area_cos,
- .area_nos = area_nos,
- .count = count,
+ .use_area_cos = true,
+ .use_area_nos = true,
};
- BLI_mutex_init(&data.mutex);
- TaskParallelSettings settings;
- BLI_parallel_range_settings_defaults(&settings);
- settings.use_threading = ((sd->flags & SCULPT_USE_OPENMP) && totnode > SCULPT_THREADED_LIMIT);
- BLI_task_parallel_range(0, totnode, &data, calc_area_normal_and_center_task_cb, &settings);
+ AreaNormalCenterTLSData anctd = {{{0}}};
- BLI_mutex_end(&data.mutex);
+ PBVHParallelSettings settings;
+ BKE_pbvh_parallel_range_settings(&settings, (sd->flags & SCULPT_USE_OPENMP), totnode);
+ settings.func_reduce = calc_area_normal_and_center_reduce;
+ settings.userdata_chunk = &anctd;
+ settings.userdata_chunk_size = sizeof(AreaNormalCenterTLSData);
+ BKE_pbvh_parallel_range(0, totnode, &data, calc_area_normal_and_center_task_cb, &settings);
/* for flatten center */
- for (n = 0; n < ARRAY_SIZE(area_cos); n++) {
- if (count[n] != 0) {
- mul_v3_v3fl(r_area_co, area_cos[n], 1.0f / count[n]);
+ for (n = 0; n < ARRAY_SIZE(anctd.area_cos); n++) {
+ if (anctd.area_count[n] != 0) {
+ mul_v3_v3fl(r_area_co, anctd.area_cos[n], 1.0f / anctd.area_count[n]);
break;
}
}
@@ -1627,8 +1698,8 @@ static void calc_area_normal_and_center(
}
/* for area normal */
- for (n = 0; n < ARRAY_SIZE(area_nos); n++) {
- if (normalize_v3_v3(r_area_no, area_nos[n]) != 0.0f) {
+ for (n = 0; n < ARRAY_SIZE(anctd.area_nos); n++) {
+ if (normalize_v3_v3(r_area_no, anctd.area_nos[n]) != 0.0f) {
break;
}
}
@@ -1662,11 +1733,13 @@ static float brush_strength(const Sculpt *sd,
switch (brush->sculpt_tool) {
case SCULPT_TOOL_CLAY:
- case SCULPT_TOOL_CLAY_STRIPS:
case SCULPT_TOOL_DRAW:
case SCULPT_TOOL_DRAW_SHARP:
case SCULPT_TOOL_LAYER:
return alpha * flip * pressure * overlap * feather;
+ case SCULPT_TOOL_CLAY_STRIPS:
+ /* Clay Strips needs extra strength to compensate for its default normal radius */
+ return alpha * flip * pressure * overlap * feather * 1.3f;
case SCULPT_TOOL_MASK:
overlap = (1 + overlap) / 2;
@@ -1838,6 +1911,12 @@ bool sculpt_search_sphere_cb(PBVHNode *node, void *data_v)
float t[3], bb_min[3], bb_max[3];
int i;
+ if (data->ignore_fully_masked) {
+ if (BKE_pbvh_node_fully_masked_get(node)) {
+ return false;
+ }
+ }
+
if (data->original) {
BKE_pbvh_node_get_original_BB(node, bb_min, bb_max);
}
@@ -1868,6 +1947,12 @@ bool sculpt_search_circle_cb(PBVHNode *node, void *data_v)
SculptSearchCircleData *data = data_v;
float bb_min[3], bb_max[3];
+ if (data->ignore_fully_masked) {
+ if (BKE_pbvh_node_fully_masked_get(node)) {
+ return false;
+ }
+ }
+
if (data->original) {
BKE_pbvh_node_get_original_BB(node, bb_min, bb_max);
}
@@ -1901,6 +1986,25 @@ static void sculpt_clip(Sculpt *sd, SculptSession *ss, float co[3], const float
}
}
+static PBVHNode **sculpt_pbvh_gather_cursor_update(Object *ob,
+ Sculpt *sd,
+ bool use_original,
+ int *r_totnode)
+{
+ SculptSession *ss = ob->sculpt;
+ PBVHNode **nodes = NULL;
+ SculptSearchSphereData data = {
+ .ss = ss,
+ .sd = sd,
+ .radius_squared = ss->cursor_radius,
+ .original = use_original,
+ .ignore_fully_masked = false,
+ .center = NULL,
+ };
+ BKE_pbvh_search_gather(ss->pbvh, sculpt_search_sphere_cb, &data, &nodes, r_totnode);
+ return nodes;
+}
+
static PBVHNode **sculpt_pbvh_gather_generic(Object *ob,
Sculpt *sd,
const Brush *brush,
@@ -1917,8 +2021,9 @@ static PBVHNode **sculpt_pbvh_gather_generic(Object *ob,
SculptSearchSphereData data = {
.ss = ss,
.sd = sd,
- .radius_squared = ss->cache ? SQUARE(ss->cache->radius * radius_scale) : ss->cursor_radius,
+ .radius_squared = SQUARE(ss->cache->radius * radius_scale),
.original = use_original,
+ .ignore_fully_masked = brush->sculpt_tool != SCULPT_TOOL_MASK,
.center = NULL,
};
BKE_pbvh_search_gather(ss->pbvh, sculpt_search_sphere_cb, &data, &nodes, r_totnode);
@@ -1933,6 +2038,7 @@ static PBVHNode **sculpt_pbvh_gather_generic(Object *ob,
.radius_squared = ss->cache ? SQUARE(ss->cache->radius * radius_scale) : ss->cursor_radius,
.original = use_original,
.dist_ray_to_aabb_precalc = &dist_ray_to_aabb_precalc,
+ .ignore_fully_masked = brush->sculpt_tool != SCULPT_TOOL_MASK,
};
BKE_pbvh_search_gather(ss->pbvh, sculpt_search_circle_cb, &data, &nodes, r_totnode);
}
@@ -1976,9 +2082,15 @@ static void update_sculpt_normal(Sculpt *sd, Object *ob, PBVHNode **nodes, int t
{
const Brush *brush = BKE_paint_brush(&sd->paint);
StrokeCache *cache = ob->sculpt->cache;
+ /* Grab brush does not update the sculpt normal during a stroke */
+ const bool update_normal = !(brush->flag & BRUSH_ORIGINAL_NORMAL) &&
+ !(brush->sculpt_tool == SCULPT_TOOL_GRAB) &&
+ !(brush->sculpt_tool == SCULPT_TOOL_ELASTIC_DEFORM) &&
+ !(brush->sculpt_tool == SCULPT_TOOL_SNAKE_HOOK &&
+ cache->normal_weight > 0.0f);
if (cache->mirror_symmetry_pass == 0 && cache->radial_symmetry_pass == 0 &&
- (cache->first_time || !(brush->flag & BRUSH_ORIGINAL_NORMAL))) {
+ (cache->first_time || update_normal)) {
calc_sculpt_normal(sd, ob, nodes, totnode, cache->sculpt_normal);
if (brush->falloff_shape == PAINT_FALLOFF_SHAPE_TUBE) {
project_plane_v3_v3v3(cache->sculpt_normal, cache->sculpt_normal, cache->view_normal);
@@ -2167,92 +2279,51 @@ static void bmesh_neighbor_average(float avg[3], BMVert *v)
copy_v3_v3(avg, v->co);
}
-/* For bmesh: average only the four most aligned (parallel and perpendicular) edges
- * relative to a direction. Naturally converges to a quad-like tessellation. */
+/* For bmesh: Average surrounding verts based on an orthogonality measure.
+ * Naturally converges to a quad-like structure. */
static void bmesh_four_neighbor_average(float avg[3], float direction[3], BMVert *v)
{
- /* Logic for 3 or more is identical. */
- const int vfcount = BM_vert_face_count_at_most(v, 3);
-
- /* Don't modify corner vertices. */
- if (vfcount < 2) {
- copy_v3_v3(avg, v->co);
- return;
- }
- /* Project the direction to the vertex normal and create an additional
- * parallel vector. */
- float dir_a[3], dir_b[3];
- cross_v3_v3v3(dir_a, direction, v->no);
- cross_v3_v3v3(dir_b, dir_a, v->no);
-
- /* The four vectors which will be used for smoothing.
- * Occasionally less than 4 verts match the requirements in that case
- * use 'v' as fallback. */
- BMVert *pos_a = v;
- BMVert *neg_a = v;
- BMVert *pos_b = v;
- BMVert *neg_b = v;
-
- float pos_score_a = 0.0f;
- float neg_score_a = 0.0f;
- float pos_score_b = 0.0f;
- float neg_score_b = 0.0f;
-
- BMIter liter;
- BMLoop *l;
-
- BM_ITER_ELEM (l, &liter, v, BM_LOOPS_OF_VERT) {
- BMVert *adj_v[2] = {l->prev->v, l->next->v};
-
- for (int i = 0; i < ARRAY_SIZE(adj_v); i++) {
- BMVert *v_other = adj_v[i];
-
- if (vfcount != 2 || BM_vert_face_count_at_most(v_other, 2) <= 2) {
- float vec[3];
- sub_v3_v3v3(vec, v_other->co, v->co);
- normalize_v3(vec);
-
- /* The score is a measure of how orthogonal the edge is. */
- float score = dot_v3v3(vec, dir_a);
+ float avg_co[3] = {0, 0, 0};
+ float tot_co = 0;
- if (score >= pos_score_a) {
- pos_a = v_other;
- pos_score_a = score;
- }
- else if (score < neg_score_a) {
- neg_a = v_other;
- neg_score_a = score;
- }
- /* The same scoring but for the perpendicular direction. */
- score = dot_v3v3(vec, dir_b);
+ BMIter eiter;
+ BMEdge *e;
- if (score >= pos_score_b) {
- pos_b = v_other;
- pos_score_b = score;
- }
- else if (score < neg_score_b) {
- neg_b = v_other;
- neg_score_b = score;
- }
- }
+ BM_ITER_ELEM (e, &eiter, v, BM_EDGES_OF_VERT) {
+ if (BM_edge_is_boundary(e)) {
+ copy_v3_v3(avg, v->co);
+ return;
}
+ BMVert *v_other = (e->v1 == v) ? e->v2 : e->v1;
+ float vec[3];
+ sub_v3_v3v3(vec, v_other->co, v->co);
+ madd_v3_v3fl(vec, v->no, -dot_v3v3(vec, v->no));
+ normalize_v3(vec);
+
+ /* fac is a measure of how orthogonal or parallel the edge is
+ * relative to the direction */
+ float fac = dot_v3v3(vec, direction);
+ fac = fac * fac - 0.5f;
+ fac *= fac;
+ madd_v3_v3fl(avg_co, v_other->co, fac);
+ tot_co += fac;
}
- /* Average everything together. */
- zero_v3(avg);
- add_v3_v3(avg, pos_a->co);
- add_v3_v3(avg, neg_a->co);
- add_v3_v3(avg, pos_b->co);
- add_v3_v3(avg, neg_b->co);
- mul_v3_fl(avg, 0.25f);
+ /* In case vert has no Edge s */
+ if (tot_co > 0) {
+ mul_v3_v3fl(avg, avg_co, 1.0f / tot_co);
- /* Preserve volume. */
- float vec[3];
- sub_v3_v3(avg, v->co);
- mul_v3_v3fl(vec, v->no, dot_v3v3(avg, v->no));
- sub_v3_v3(avg, vec);
- add_v3_v3(avg, v->co);
+ /* Preserve volume. */
+ float vec[3];
+ sub_v3_v3(avg, v->co);
+ mul_v3_v3fl(vec, v->no, dot_v3v3(avg, v->no));
+ sub_v3_v3(avg, vec);
+ add_v3_v3(avg, v->co);
+ }
+ else {
+ zero_v3(avg);
+ }
}
/* Same logic as neighbor_average_mask(), but for bmesh rather than mesh */
@@ -2284,6 +2355,48 @@ static float bmesh_neighbor_average_mask(BMVert *v, const int cd_vert_mask_offse
}
}
+static void grids_neighbor_average(SculptSession *ss, float result[3], int index)
+{
+ float avg[3] = {0.0f, 0.0f, 0.0f};
+ int total = 0;
+
+ SculptVertexNeighborIter ni;
+ sculpt_vertex_neighbors_iter_begin(ss, index, ni)
+ {
+ add_v3_v3(avg, sculpt_vertex_co_get(ss, ni.index));
+ total++;
+ }
+ sculpt_vertex_neighbors_iter_end(ni);
+
+ if (total > 0) {
+ mul_v3_v3fl(result, avg, 1.0f / (float)total);
+ }
+ else {
+ copy_v3_v3(result, sculpt_vertex_co_get(ss, index));
+ }
+}
+
+static float grids_neighbor_average_mask(SculptSession *ss, int index)
+{
+ float avg = 0.0f;
+ int total = 0;
+
+ SculptVertexNeighborIter ni;
+ sculpt_vertex_neighbors_iter_begin(ss, index, ni)
+ {
+ avg += sculpt_vertex_mask_get(ss, ni.index);
+ total++;
+ }
+ sculpt_vertex_neighbors_iter_end(ni);
+
+ if (total > 0) {
+ return avg / (float)total;
+ }
+ else {
+ return sculpt_vertex_mask_get(ss, index);
+ }
+}
+
/* Note: uses after-struct allocated mem to store actual cache... */
typedef struct SculptDoBrushSmoothGridDataChunk {
size_t tmpgrid_size;
@@ -2449,6 +2562,7 @@ static void do_topology_rake_bmesh_task_cb_ex(void *__restrict userdata,
mul_v3_v3fl(
tmp, ss->cache->sculpt_normal_symm, dot_v3v3(ss->cache->sculpt_normal_symm, direction));
sub_v3_v3(direction, tmp);
+ normalize_v3(direction);
/* Cancel if there's no grab data. */
if (is_zero_v3(direction)) {
@@ -2509,7 +2623,6 @@ static void do_smooth_brush_multires_task_cb_ex(void *__restrict userdata,
float bstrength = data->strength;
CCGElem **griddata, *gddata;
- CCGKey key;
float(*tmpgrid_co)[3] = NULL;
float tmprow_co[2][3];
@@ -2528,7 +2641,7 @@ static void do_smooth_brush_multires_task_cb_ex(void *__restrict userdata,
BKE_pbvh_node_get_grids(
ss->pbvh, data->nodes[n], &grid_indices, &totgrid, NULL, &gridsize, &griddata);
- BKE_pbvh_get_grid_key(ss->pbvh, &key);
+ CCGKey key = *BKE_pbvh_get_grid_key(ss->pbvh);
grid_hidden = BKE_pbvh_grid_hidden(ss->pbvh);
@@ -2688,9 +2801,8 @@ static void smooth(Sculpt *sd,
.strength = strength,
};
- TaskParallelSettings settings;
- BLI_parallel_range_settings_defaults(&settings);
- settings.use_threading = ((sd->flags & SCULPT_USE_OPENMP) && totnode > SCULPT_THREADED_LIMIT);
+ PBVHParallelSettings settings;
+ BKE_pbvh_parallel_range_settings(&settings, (sd->flags & SCULPT_USE_OPENMP), totnode);
switch (type) {
case PBVH_GRIDS: {
@@ -2707,16 +2819,16 @@ static void smooth(Sculpt *sd,
settings.userdata_chunk = data_chunk;
settings.userdata_chunk_size = size;
- BLI_task_parallel_range(0, totnode, &data, do_smooth_brush_multires_task_cb_ex, &settings);
+ BKE_pbvh_parallel_range(0, totnode, &data, do_smooth_brush_multires_task_cb_ex, &settings);
MEM_freeN(data_chunk);
break;
}
case PBVH_FACES:
- BLI_task_parallel_range(0, totnode, &data, do_smooth_brush_mesh_task_cb_ex, &settings);
+ BKE_pbvh_parallel_range(0, totnode, &data, do_smooth_brush_mesh_task_cb_ex, &settings);
break;
case PBVH_BMESH:
- BLI_task_parallel_range(0, totnode, &data, do_smooth_brush_bmesh_task_cb_ex, &settings);
+ BKE_pbvh_parallel_range(0, totnode, &data, do_smooth_brush_bmesh_task_cb_ex, &settings);
break;
}
@@ -2748,11 +2860,10 @@ static void bmesh_topology_rake(
.nodes = nodes,
.strength = factor,
};
- TaskParallelSettings settings;
- BLI_parallel_range_settings_defaults(&settings);
- settings.use_threading = ((sd->flags & SCULPT_USE_OPENMP) && totnode > SCULPT_THREADED_LIMIT);
+ PBVHParallelSettings settings;
+ BKE_pbvh_parallel_range_settings(&settings, (sd->flags & SCULPT_USE_OPENMP), totnode);
- BLI_task_parallel_range(0, totnode, &data, do_topology_rake_bmesh_task_cb_ex, &settings);
+ BKE_pbvh_parallel_range(0, totnode, &data, do_topology_rake_bmesh_task_cb_ex, &settings);
}
}
@@ -2806,10 +2917,9 @@ static void do_mask_brush_draw(Sculpt *sd, Object *ob, PBVHNode **nodes, int tot
.nodes = nodes,
};
- TaskParallelSettings settings;
- BLI_parallel_range_settings_defaults(&settings);
- settings.use_threading = ((sd->flags & SCULPT_USE_OPENMP) && totnode > SCULPT_THREADED_LIMIT);
- BLI_task_parallel_range(0, totnode, &data, do_mask_brush_draw_task_cb_ex, &settings);
+ PBVHParallelSettings settings;
+ BKE_pbvh_parallel_range_settings(&settings, (sd->flags & SCULPT_USE_OPENMP), totnode);
+ BKE_pbvh_parallel_range(0, totnode, &data, do_mask_brush_draw_task_cb_ex, &settings);
}
static void do_mask_brush(Sculpt *sd, Object *ob, PBVHNode **nodes, int totnode)
@@ -2894,10 +3004,9 @@ static void do_draw_brush(Sculpt *sd, Object *ob, PBVHNode **nodes, int totnode)
.offset = offset,
};
- TaskParallelSettings settings;
- BLI_parallel_range_settings_defaults(&settings);
- settings.use_threading = ((sd->flags & SCULPT_USE_OPENMP) && totnode > SCULPT_THREADED_LIMIT);
- BLI_task_parallel_range(0, totnode, &data, do_draw_brush_task_cb_ex, &settings);
+ PBVHParallelSettings settings;
+ BKE_pbvh_parallel_range_settings(&settings, (sd->flags & SCULPT_USE_OPENMP), totnode);
+ BKE_pbvh_parallel_range(0, totnode, &data, do_draw_brush_task_cb_ex, &settings);
}
static void do_draw_sharp_brush_task_cb_ex(void *__restrict userdata,
@@ -2971,10 +3080,9 @@ static void do_draw_sharp_brush(Sculpt *sd, Object *ob, PBVHNode **nodes, int to
.offset = offset,
};
- TaskParallelSettings settings;
- BLI_parallel_range_settings_defaults(&settings);
- settings.use_threading = ((sd->flags & SCULPT_USE_OPENMP) && totnode > SCULPT_THREADED_LIMIT);
- BLI_task_parallel_range(0, totnode, &data, do_draw_sharp_brush_task_cb_ex, &settings);
+ PBVHParallelSettings settings;
+ BKE_pbvh_parallel_range_settings(&settings, (sd->flags & SCULPT_USE_OPENMP), totnode);
+ BKE_pbvh_parallel_range(0, totnode, &data, do_draw_sharp_brush_task_cb_ex, &settings);
}
/**
@@ -3088,10 +3196,9 @@ static void do_crease_brush(Sculpt *sd, Object *ob, PBVHNode **nodes, int totnod
.flippedbstrength = flippedbstrength,
};
- TaskParallelSettings settings;
- BLI_parallel_range_settings_defaults(&settings);
- settings.use_threading = ((sd->flags & SCULPT_USE_OPENMP) && totnode > SCULPT_THREADED_LIMIT);
- BLI_task_parallel_range(0, totnode, &data, do_crease_brush_task_cb_ex, &settings);
+ PBVHParallelSettings settings;
+ BKE_pbvh_parallel_range_settings(&settings, (sd->flags & SCULPT_USE_OPENMP), totnode);
+ BKE_pbvh_parallel_range(0, totnode, &data, do_crease_brush_task_cb_ex, &settings);
}
static void do_pinch_brush_task_cb_ex(void *__restrict userdata,
@@ -3151,10 +3258,9 @@ static void do_pinch_brush(Sculpt *sd, Object *ob, PBVHNode **nodes, int totnode
.nodes = nodes,
};
- TaskParallelSettings settings;
- BLI_parallel_range_settings_defaults(&settings);
- settings.use_threading = ((sd->flags & SCULPT_USE_OPENMP) && totnode > SCULPT_THREADED_LIMIT);
- BLI_task_parallel_range(0, totnode, &data, do_pinch_brush_task_cb_ex, &settings);
+ PBVHParallelSettings settings;
+ BKE_pbvh_parallel_range_settings(&settings, (sd->flags & SCULPT_USE_OPENMP), totnode);
+ BKE_pbvh_parallel_range(0, totnode, &data, do_pinch_brush_task_cb_ex, &settings);
}
static void do_grab_brush_task_cb_ex(void *__restrict userdata,
@@ -3224,10 +3330,9 @@ static void do_grab_brush(Sculpt *sd, Object *ob, PBVHNode **nodes, int totnode)
.grab_delta = grab_delta,
};
- TaskParallelSettings settings;
- BLI_parallel_range_settings_defaults(&settings);
- settings.use_threading = ((sd->flags & SCULPT_USE_OPENMP) && totnode > SCULPT_THREADED_LIMIT);
- BLI_task_parallel_range(0, totnode, &data, do_grab_brush_task_cb_ex, &settings);
+ PBVHParallelSettings settings;
+ BKE_pbvh_parallel_range_settings(&settings, (sd->flags & SCULPT_USE_OPENMP), totnode);
+ BKE_pbvh_parallel_range(0, totnode, &data, do_grab_brush_task_cb_ex, &settings);
}
/* Regularized Kelvinlets: Sculpting Brushes based on Fundamental Solutions of Elasticity
@@ -3466,6 +3571,10 @@ static void do_elastic_deform_brush(Sculpt *sd, Object *ob, PBVHNode **nodes, in
copy_v3_v3(grab_delta, ss->cache->grab_delta_symmetry);
+ if (ss->cache->normal_weight > 0.0f) {
+ sculpt_project_v3_normal_align(ss, ss->cache->normal_weight, grab_delta);
+ }
+
SculptThreadedTaskData data = {
.sd = sd,
.ob = ob,
@@ -3474,10 +3583,9 @@ static void do_elastic_deform_brush(Sculpt *sd, Object *ob, PBVHNode **nodes, in
.grab_delta = grab_delta,
};
- TaskParallelSettings settings;
- BLI_parallel_range_settings_defaults(&settings);
- settings.use_threading = ((sd->flags & SCULPT_USE_OPENMP) && totnode > SCULPT_THREADED_LIMIT);
- BLI_task_parallel_range(0, totnode, &data, do_elastic_deform_brush_task_cb_ex, &settings);
+ PBVHParallelSettings settings;
+ BKE_pbvh_parallel_range_settings(&settings, (sd->flags & SCULPT_USE_OPENMP), totnode);
+ BKE_pbvh_parallel_range(0, totnode, &data, do_elastic_deform_brush_task_cb_ex, &settings);
}
static void do_pose_brush_task_cb_ex(void *__restrict userdata,
@@ -3529,10 +3637,6 @@ static void do_pose_brush(Sculpt *sd, Object *ob, PBVHNode **nodes, int totnode)
float pose_initial_co[3];
float transform_rot[4][4], transform_trans[4][4], transform_trans_inv[4][4];
- if (BKE_pbvh_type(ss->pbvh) == PBVH_GRIDS) {
- return;
- }
-
copy_v3_v3(grab_delta, ss->cache->grab_delta_symmetry);
copy_v3_v3(pose_origin, ss->cache->pose_origin);
@@ -3568,39 +3672,115 @@ static void do_pose_brush(Sculpt *sd, Object *ob, PBVHNode **nodes, int totnode)
.transform_trans_inv = transform_trans_inv,
};
- TaskParallelSettings settings;
- BLI_parallel_range_settings_defaults(&settings);
- settings.use_threading = ((sd->flags & SCULPT_USE_OPENMP) && totnode > SCULPT_THREADED_LIMIT);
- BLI_task_parallel_range(0, totnode, &data, do_pose_brush_task_cb_ex, &settings);
+ PBVHParallelSettings settings;
+ BKE_pbvh_parallel_range_settings(&settings, (sd->flags & SCULPT_USE_OPENMP), totnode);
+ BKE_pbvh_parallel_range(0, totnode, &data, do_pose_brush_task_cb_ex, &settings);
}
-static void pose_brush_init_task_cb_ex(void *__restrict userdata,
- const int n,
- const TaskParallelTLS *__restrict UNUSED(tls))
+typedef struct PoseGrowFactorTLSData {
+ float pos_avg[3];
+ int pos_count;
+} PoseGrowFactorTLSData;
+
+static void pose_brush_grow_factor_task_cb_ex(void *__restrict userdata,
+ const int n,
+ const TaskParallelTLS *__restrict tls)
{
SculptThreadedTaskData *data = userdata;
+ PoseGrowFactorTLSData *gftd = tls->userdata_chunk;
SculptSession *ss = data->ob->sculpt;
+ const char symm = data->sd->paint.symmetry_flags & PAINT_SYMM_AXIS_ALL;
+ const float *active_co = sculpt_active_vertex_co_get(ss);
PBVHVertexIter vd;
BKE_pbvh_vertex_iter_begin(ss->pbvh, data->nodes[n], vd, PBVH_ITER_UNIQUE)
{
SculptVertexNeighborIter ni;
- float avg = 0;
- int total = 0;
+ float max = 0.0f;
sculpt_vertex_neighbors_iter_begin(ss, vd.index, ni)
{
- avg += ss->cache->pose_factor[ni.index];
- total++;
+ float vmask_f = data->prev_mask[ni.index];
+ if (vmask_f > max) {
+ max = vmask_f;
+ }
}
sculpt_vertex_neighbors_iter_end(ni);
-
- if (total > 0) {
- ss->cache->pose_factor[vd.index] = avg / (float)total;
+ if (max != data->prev_mask[vd.index]) {
+ data->pose_factor[vd.index] = max;
+ if (check_vertex_pivot_symmetry(vd.co, active_co, symm)) {
+ add_v3_v3(gftd->pos_avg, vd.co);
+ gftd->pos_count++;
+ }
}
}
+
BKE_pbvh_vertex_iter_end;
}
-static bool sculpt_pose_brush_is_vertex_inside_brush_radius(float vertex[3],
+static void pose_brush_grow_factor_reduce(const void *__restrict UNUSED(userdata),
+ void *__restrict chunk_join,
+ void *__restrict chunk)
+{
+ PoseGrowFactorTLSData *join = chunk_join;
+ PoseGrowFactorTLSData *gftd = chunk;
+ add_v3_v3(join->pos_avg, gftd->pos_avg);
+ join->pos_count += gftd->pos_count;
+}
+
+/* Grow the factor until its boundary is near to the offset pose origin */
+static void sculpt_pose_grow_pose_factor(
+ Sculpt *sd, Object *ob, SculptSession *ss, float pose_origin[3], float *pose_factor)
+{
+ PBVHNode **nodes;
+ PBVH *pbvh = ob->sculpt->pbvh;
+ int totnode;
+
+ BKE_pbvh_search_gather(pbvh, NULL, NULL, &nodes, &totnode);
+ SculptThreadedTaskData data = {
+ .sd = sd,
+ .ob = ob,
+ .nodes = nodes,
+ .totnode = totnode,
+ .pose_factor = pose_factor,
+ };
+ PBVHParallelSettings settings;
+ PoseGrowFactorTLSData gftd;
+ gftd.pos_count = 0;
+ zero_v3(gftd.pos_avg);
+ BKE_pbvh_parallel_range_settings(&settings, (sd->flags & SCULPT_USE_OPENMP), totnode);
+ settings.func_reduce = pose_brush_grow_factor_reduce;
+ settings.userdata_chunk = &gftd;
+ settings.userdata_chunk_size = sizeof(PoseGrowFactorTLSData);
+
+ bool grow_next_iteration = true;
+ float prev_len = FLT_MAX;
+ data.prev_mask = MEM_mallocN(sculpt_vertex_count_get(ss) * sizeof(float), "prev mask");
+ while (grow_next_iteration) {
+ zero_v3(gftd.pos_avg);
+ gftd.pos_count = 0;
+ memcpy(data.prev_mask, pose_factor, sculpt_vertex_count_get(ss) * sizeof(float));
+ BKE_pbvh_parallel_range(0, totnode, &data, pose_brush_grow_factor_task_cb_ex, &settings);
+ if (gftd.pos_count != 0) {
+ mul_v3_fl(gftd.pos_avg, 1.0f / (float)gftd.pos_count);
+ float len = len_v3v3(gftd.pos_avg, pose_origin);
+ if (len < prev_len) {
+ prev_len = len;
+ grow_next_iteration = true;
+ }
+ else {
+ grow_next_iteration = false;
+ memcpy(pose_factor, data.prev_mask, sculpt_vertex_count_get(ss) * sizeof(float));
+ }
+ }
+ else {
+ grow_next_iteration = false;
+ }
+ }
+ MEM_freeN(data.prev_mask);
+
+ MEM_SAFE_FREE(nodes);
+}
+
+static bool sculpt_pose_brush_is_vertex_inside_brush_radius(const float vertex[3],
const float br_co[3],
float radius,
char symm)
@@ -3621,94 +3801,107 @@ static bool sculpt_pose_brush_is_vertex_inside_brush_radius(float vertex[3],
*
* r_pose_origin must be a valid pointer. the r_pose_factor is optional. When set to NULL it won't
* be calculated. */
+typedef struct PoseFloodFillData {
+ float pose_initial_co[3];
+ float radius;
+ int symm;
+
+ float *pose_factor;
+ float pose_origin[3];
+ int tot_co;
+} PoseFloodFillData;
+
+static bool pose_floodfill_cb(
+ SculptSession *ss, int UNUSED(from_v), int to_v, bool is_duplicate, void *userdata)
+{
+ PoseFloodFillData *data = userdata;
+
+ if (data->pose_factor) {
+ data->pose_factor[to_v] = 1.0f;
+ }
+
+ const float *co = sculpt_vertex_co_get(ss, to_v);
+ if (sculpt_pose_brush_is_vertex_inside_brush_radius(
+ co, data->pose_initial_co, data->radius, data->symm)) {
+ return true;
+ }
+ else if (check_vertex_pivot_symmetry(co, data->pose_initial_co, data->symm)) {
+ if (!is_duplicate) {
+ add_v3_v3(data->pose_origin, co);
+ data->tot_co++;
+ }
+ }
+
+ return false;
+}
+
void sculpt_pose_calc_pose_data(Sculpt *sd,
Object *ob,
SculptSession *ss,
float initial_location[3],
float radius,
+ float pose_offset,
float *r_pose_origin,
float *r_pose_factor)
{
- const bool calc_pose_factor = (r_pose_factor != NULL);
-
sculpt_vertex_random_access_init(ss);
- float pose_origin[3];
- float pose_initial_co[3];
-
- copy_v3_v3(pose_initial_co, initial_location);
+ /* Calculate the pose rotation point based on the boundaries of the brush factor. */
+ SculptFloodFill flood;
+ sculpt_floodfill_init(ss, &flood);
+ sculpt_floodfill_add_active(sd, ob, ss, &flood, (r_pose_factor) ? radius : 0.0f);
- char *visited_vertices = MEM_callocN(sculpt_vertex_count_get(ss) * sizeof(char),
- "Visited vertices");
- BLI_Stack *not_visited_vertices = BLI_stack_new(sizeof(VertexTopologyIterator),
- "not visited vertices stack");
+ PoseFloodFillData fdata = {
+ .radius = radius,
+ .symm = sd->paint.symmetry_flags & PAINT_SYMM_AXIS_ALL,
+ .pose_factor = r_pose_factor,
+ .tot_co = 0,
+ };
+ zero_v3(fdata.pose_origin);
+ copy_v3_v3(fdata.pose_initial_co, initial_location);
+ sculpt_floodfill_execute(ss, &flood, pose_floodfill_cb, &fdata);
+ sculpt_floodfill_free(&flood);
- float tot_co = 0;
- zero_v3(pose_origin);
+ if (fdata.tot_co > 0) {
+ mul_v3_fl(fdata.pose_origin, 1.0f / (float)fdata.tot_co);
+ }
- VertexTopologyIterator mevit;
+ /* Offset the pose origin */
+ float pose_d[3];
+ sub_v3_v3v3(pose_d, fdata.pose_origin, fdata.pose_initial_co);
+ normalize_v3(pose_d);
+ madd_v3_v3fl(fdata.pose_origin, pose_d, radius * pose_offset);
+ copy_v3_v3(r_pose_origin, fdata.pose_origin);
- /* Add active vertex and symmetric vertices to the stack. */
- const char symm = sd->paint.symmetry_flags & PAINT_SYMM_AXIS_ALL;
- for (char i = 0; i <= symm; ++i) {
- mevit.v = -1;
- if (is_symmetry_iteration_valid(i, symm)) {
- float location[3];
- flip_v3_v3(location, sculpt_vertex_co_get(ss, sculpt_active_vertex_get(ss)), (char)i);
- if (i == 0) {
- mevit.v = sculpt_active_vertex_get(ss);
- }
- else {
- if (calc_pose_factor) {
- mevit.v = sculpt_nearest_vertex_get(sd, ob, location, radius * radius, false);
- }
- }
- if (mevit.v != -1) {
- mevit.it = 1;
- BLI_stack_push(not_visited_vertices, &mevit);
- }
- }
+ if (pose_offset != 0.0f && r_pose_factor) {
+ sculpt_pose_grow_pose_factor(sd, ob, ss, fdata.pose_origin, r_pose_factor);
}
+}
- /* Flood fill the internal pose brush factor. Calculate the pose rotation point based on the
- * boundaries of the brush factor*/
- while (!BLI_stack_is_empty(not_visited_vertices)) {
- VertexTopologyIterator c_mevit;
- BLI_stack_pop(not_visited_vertices, &c_mevit);
+static void pose_brush_init_task_cb_ex(void *__restrict userdata,
+ const int n,
+ const TaskParallelTLS *__restrict UNUSED(tls))
+{
+ SculptThreadedTaskData *data = userdata;
+ SculptSession *ss = data->ob->sculpt;
+ PBVHVertexIter vd;
+ BKE_pbvh_vertex_iter_begin(ss->pbvh, data->nodes[n], vd, PBVH_ITER_UNIQUE)
+ {
SculptVertexNeighborIter ni;
- sculpt_vertex_neighbors_iter_begin(ss, c_mevit.v, ni)
+ float avg = 0;
+ int total = 0;
+ sculpt_vertex_neighbors_iter_begin(ss, vd.index, ni)
{
- if (visited_vertices[(int)ni.index] == 0) {
- VertexTopologyIterator new_entry;
- new_entry.v = ni.index;
- new_entry.it = c_mevit.it + 1;
- if (calc_pose_factor) {
- r_pose_factor[new_entry.v] = 1.0f;
- }
- visited_vertices[(int)ni.index] = 1;
- if (sculpt_pose_brush_is_vertex_inside_brush_radius(
- sculpt_vertex_co_get(ss, new_entry.v), pose_initial_co, radius, symm)) {
- BLI_stack_push(not_visited_vertices, &new_entry);
- }
- else {
- if (check_vertex_pivot_symmetry(
- sculpt_vertex_co_get(ss, new_entry.v), pose_initial_co, symm)) {
- tot_co++;
- add_v3_v3(pose_origin, sculpt_vertex_co_get(ss, new_entry.v));
- }
- }
- }
+ avg += ss->cache->pose_factor[ni.index];
+ total++;
}
sculpt_vertex_neighbors_iter_end(ni);
- }
-
- BLI_stack_free(not_visited_vertices);
- MEM_freeN(visited_vertices);
- if (tot_co > 0) {
- mul_v3_fl(pose_origin, 1.0f / (float)tot_co);
+ if (total > 0) {
+ ss->cache->pose_factor[vd.index] = avg / (float)total;
+ }
}
- copy_v3_v3(r_pose_origin, pose_origin);
+ BKE_pbvh_vertex_iter_end;
}
static void sculpt_pose_brush_init(
@@ -3717,12 +3910,11 @@ static void sculpt_pose_brush_init(
float *pose_factor = MEM_callocN(sculpt_vertex_count_get(ss) * sizeof(float), "Pose factor");
sculpt_pose_calc_pose_data(
- sd, ob, ss, initial_location, radius, ss->cache->pose_origin, pose_factor);
+ sd, ob, ss, initial_location, radius, br->pose_offset, ss->cache->pose_origin, pose_factor);
copy_v3_v3(ss->cache->pose_initial_co, initial_location);
ss->cache->pose_factor = pose_factor;
- /* Smooth the pose brush factor for cleaner deformation */
PBVHNode **nodes;
PBVH *pbvh = ob->sculpt->pbvh;
int totnode;
@@ -3736,12 +3928,14 @@ static void sculpt_pose_brush_init(
.nodes = nodes,
};
+ /* Smooth the pose brush factor for cleaner deformation */
for (int i = 0; i < 4; i++) {
- TaskParallelSettings settings;
- BLI_parallel_range_settings_defaults(&settings);
- settings.use_threading = ((sd->flags & SCULPT_USE_OPENMP) && totnode > SCULPT_THREADED_LIMIT);
- BLI_task_parallel_range(0, totnode, &data, pose_brush_init_task_cb_ex, &settings);
+ PBVHParallelSettings settings;
+ BKE_pbvh_parallel_range_settings(&settings, (sd->flags & SCULPT_USE_OPENMP), totnode);
+ BKE_pbvh_parallel_range(0, totnode, &data, pose_brush_init_task_cb_ex, &settings);
}
+
+ MEM_SAFE_FREE(nodes);
}
static void do_nudge_brush_task_cb_ex(void *__restrict userdata,
@@ -3806,10 +4000,9 @@ static void do_nudge_brush(Sculpt *sd, Object *ob, PBVHNode **nodes, int totnode
.cono = cono,
};
- TaskParallelSettings settings;
- BLI_parallel_range_settings_defaults(&settings);
- settings.use_threading = ((sd->flags & SCULPT_USE_OPENMP) && totnode > SCULPT_THREADED_LIMIT);
- BLI_task_parallel_range(0, totnode, &data, do_nudge_brush_task_cb_ex, &settings);
+ PBVHParallelSettings settings;
+ BKE_pbvh_parallel_range_settings(&settings, (sd->flags & SCULPT_USE_OPENMP), totnode);
+ BKE_pbvh_parallel_range(0, totnode, &data, do_nudge_brush_task_cb_ex, &settings);
}
static void do_snake_hook_brush_task_cb_ex(void *__restrict userdata,
@@ -3928,10 +4121,9 @@ static void do_snake_hook_brush(Sculpt *sd, Object *ob, PBVHNode **nodes, int to
.grab_delta = grab_delta,
};
- TaskParallelSettings settings;
- BLI_parallel_range_settings_defaults(&settings);
- settings.use_threading = ((sd->flags & SCULPT_USE_OPENMP) && totnode > SCULPT_THREADED_LIMIT);
- BLI_task_parallel_range(0, totnode, &data, do_snake_hook_brush_task_cb_ex, &settings);
+ PBVHParallelSettings settings;
+ BKE_pbvh_parallel_range_settings(&settings, (sd->flags & SCULPT_USE_OPENMP), totnode);
+ BKE_pbvh_parallel_range(0, totnode, &data, do_snake_hook_brush_task_cb_ex, &settings);
}
static void do_thumb_brush_task_cb_ex(void *__restrict userdata,
@@ -4001,10 +4193,9 @@ static void do_thumb_brush(Sculpt *sd, Object *ob, PBVHNode **nodes, int totnode
.cono = cono,
};
- TaskParallelSettings settings;
- BLI_parallel_range_settings_defaults(&settings);
- settings.use_threading = ((sd->flags & SCULPT_USE_OPENMP) && totnode > SCULPT_THREADED_LIMIT);
- BLI_task_parallel_range(0, totnode, &data, do_thumb_brush_task_cb_ex, &settings);
+ PBVHParallelSettings settings;
+ BKE_pbvh_parallel_range_settings(&settings, (sd->flags & SCULPT_USE_OPENMP), totnode);
+ BKE_pbvh_parallel_range(0, totnode, &data, do_thumb_brush_task_cb_ex, &settings);
}
static void do_rotate_brush_task_cb_ex(void *__restrict userdata,
@@ -4075,10 +4266,9 @@ static void do_rotate_brush(Sculpt *sd, Object *ob, PBVHNode **nodes, int totnod
.angle = angle,
};
- TaskParallelSettings settings;
- BLI_parallel_range_settings_defaults(&settings);
- settings.use_threading = ((sd->flags & SCULPT_USE_OPENMP) && totnode > SCULPT_THREADED_LIMIT);
- BLI_task_parallel_range(0, totnode, &data, do_rotate_brush_task_cb_ex, &settings);
+ PBVHParallelSettings settings;
+ BKE_pbvh_parallel_range_settings(&settings, (sd->flags & SCULPT_USE_OPENMP), totnode);
+ BKE_pbvh_parallel_range(0, totnode, &data, do_rotate_brush_task_cb_ex, &settings);
}
static void do_layer_brush_task_cb_ex(void *__restrict userdata,
@@ -4173,10 +4363,9 @@ static void do_layer_brush(Sculpt *sd, Object *ob, PBVHNode **nodes, int totnode
};
BLI_mutex_init(&data.mutex);
- TaskParallelSettings settings;
- BLI_parallel_range_settings_defaults(&settings);
- settings.use_threading = ((sd->flags & SCULPT_USE_OPENMP) && totnode > SCULPT_THREADED_LIMIT);
- BLI_task_parallel_range(0, totnode, &data, do_layer_brush_task_cb_ex, &settings);
+ PBVHParallelSettings settings;
+ BKE_pbvh_parallel_range_settings(&settings, (sd->flags & SCULPT_USE_OPENMP), totnode);
+ BKE_pbvh_parallel_range(0, totnode, &data, do_layer_brush_task_cb_ex, &settings);
BLI_mutex_end(&data.mutex);
}
@@ -4242,10 +4431,9 @@ static void do_inflate_brush(Sculpt *sd, Object *ob, PBVHNode **nodes, int totno
.nodes = nodes,
};
- TaskParallelSettings settings;
- BLI_parallel_range_settings_defaults(&settings);
- settings.use_threading = ((sd->flags & SCULPT_USE_OPENMP) && totnode > SCULPT_THREADED_LIMIT);
- BLI_task_parallel_range(0, totnode, &data, do_inflate_brush_task_cb_ex, &settings);
+ PBVHParallelSettings settings;
+ BKE_pbvh_parallel_range_settings(&settings, (sd->flags & SCULPT_USE_OPENMP), totnode);
+ BKE_pbvh_parallel_range(0, totnode, &data, do_inflate_brush_task_cb_ex, &settings);
}
static void calc_sculpt_plane(
@@ -4452,10 +4640,9 @@ static void do_flatten_brush(Sculpt *sd, Object *ob, PBVHNode **nodes, int totno
.area_co = area_co,
};
- TaskParallelSettings settings;
- BLI_parallel_range_settings_defaults(&settings);
- settings.use_threading = ((sd->flags & SCULPT_USE_OPENMP) && totnode > SCULPT_THREADED_LIMIT);
- BLI_task_parallel_range(0, totnode, &data, do_flatten_brush_task_cb_ex, &settings);
+ PBVHParallelSettings settings;
+ BKE_pbvh_parallel_range_settings(&settings, (sd->flags & SCULPT_USE_OPENMP), totnode);
+ BKE_pbvh_parallel_range(0, totnode, &data, do_flatten_brush_task_cb_ex, &settings);
}
static void do_clay_brush_task_cb_ex(void *__restrict userdata,
@@ -4551,10 +4738,9 @@ static void do_clay_brush(Sculpt *sd, Object *ob, PBVHNode **nodes, int totnode)
.area_co = area_co,
};
- TaskParallelSettings settings;
- BLI_parallel_range_settings_defaults(&settings);
- settings.use_threading = ((sd->flags & SCULPT_USE_OPENMP) && totnode > SCULPT_THREADED_LIMIT);
- BLI_task_parallel_range(0, totnode, &data, do_clay_brush_task_cb_ex, &settings);
+ PBVHParallelSettings settings;
+ BKE_pbvh_parallel_range_settings(&settings, (sd->flags & SCULPT_USE_OPENMP), totnode);
+ BKE_pbvh_parallel_range(0, totnode, &data, do_clay_brush_task_cb_ex, &settings);
}
static void do_clay_strips_brush_task_cb_ex(void *__restrict userdata,
@@ -4682,10 +4868,9 @@ static void do_clay_strips_brush(Sculpt *sd, Object *ob, PBVHNode **nodes, int t
.mat = mat,
};
- TaskParallelSettings settings;
- BLI_parallel_range_settings_defaults(&settings);
- settings.use_threading = ((sd->flags & SCULPT_USE_OPENMP) && totnode > SCULPT_THREADED_LIMIT);
- BLI_task_parallel_range(0, totnode, &data, do_clay_strips_brush_task_cb_ex, &settings);
+ PBVHParallelSettings settings;
+ BKE_pbvh_parallel_range_settings(&settings, (sd->flags & SCULPT_USE_OPENMP), totnode);
+ BKE_pbvh_parallel_range(0, totnode, &data, do_clay_strips_brush_task_cb_ex, &settings);
}
static void do_fill_brush_task_cb_ex(void *__restrict userdata,
@@ -4776,10 +4961,9 @@ static void do_fill_brush(Sculpt *sd, Object *ob, PBVHNode **nodes, int totnode)
.area_co = area_co,
};
- TaskParallelSettings settings;
- BLI_parallel_range_settings_defaults(&settings);
- settings.use_threading = ((sd->flags & SCULPT_USE_OPENMP) && totnode > SCULPT_THREADED_LIMIT);
- BLI_task_parallel_range(0, totnode, &data, do_fill_brush_task_cb_ex, &settings);
+ PBVHParallelSettings settings;
+ BKE_pbvh_parallel_range_settings(&settings, (sd->flags & SCULPT_USE_OPENMP), totnode);
+ BKE_pbvh_parallel_range(0, totnode, &data, do_fill_brush_task_cb_ex, &settings);
}
static void do_scrape_brush_task_cb_ex(void *__restrict userdata,
@@ -4869,10 +5053,9 @@ static void do_scrape_brush(Sculpt *sd, Object *ob, PBVHNode **nodes, int totnod
.area_co = area_co,
};
- TaskParallelSettings settings;
- BLI_parallel_range_settings_defaults(&settings);
- settings.use_threading = ((sd->flags & SCULPT_USE_OPENMP) && totnode > SCULPT_THREADED_LIMIT);
- BLI_task_parallel_range(0, totnode, &data, do_scrape_brush_task_cb_ex, &settings);
+ PBVHParallelSettings settings;
+ BKE_pbvh_parallel_range_settings(&settings, (sd->flags & SCULPT_USE_OPENMP), totnode);
+ BKE_pbvh_parallel_range(0, totnode, &data, do_scrape_brush_task_cb_ex, &settings);
}
static void do_gravity_task_cb_ex(void *__restrict userdata,
@@ -4939,10 +5122,9 @@ static void do_gravity(Sculpt *sd, Object *ob, PBVHNode **nodes, int totnode, fl
.offset = offset,
};
- TaskParallelSettings settings;
- BLI_parallel_range_settings_defaults(&settings);
- settings.use_threading = ((sd->flags & SCULPT_USE_OPENMP) && totnode > SCULPT_THREADED_LIMIT);
- BLI_task_parallel_range(0, totnode, &data, do_gravity_task_cb_ex, &settings);
+ PBVHParallelSettings settings;
+ BKE_pbvh_parallel_range_settings(&settings, (sd->flags & SCULPT_USE_OPENMP), totnode);
+ BKE_pbvh_parallel_range(0, totnode, &data, do_gravity_task_cb_ex, &settings);
}
void sculpt_vertcos_to_key(Object *ob, KeyBlock *kb, const float (*vertCos)[3])
@@ -5029,7 +5211,7 @@ static void sculpt_topology_update(Sculpt *sd,
if (BKE_pbvh_type(ss->pbvh) == PBVH_BMESH) {
BKE_pbvh_node_mark_topology_update(nodes[n]);
- BKE_pbvh_bmesh_node_save_orig(nodes[n]);
+ BKE_pbvh_bmesh_node_save_orig(ss->bm, nodes[n]);
}
}
@@ -5043,7 +5225,7 @@ static void sculpt_topology_update(Sculpt *sd,
(brush->falloff_shape != PAINT_FALLOFF_SHAPE_SPHERE));
}
- MEM_freeN(nodes);
+ MEM_SAFE_FREE(nodes);
/* update average stroke position */
copy_v3_v3(location, ss->cache->true_location);
@@ -5061,7 +5243,12 @@ static void do_brush_action_task_cb(void *__restrict userdata,
data->nodes[n],
data->brush->sculpt_tool == SCULPT_TOOL_MASK ? SCULPT_UNDO_MASK :
SCULPT_UNDO_COORDS);
- BKE_pbvh_node_mark_update(data->nodes[n]);
+ if (data->brush->sculpt_tool == SCULPT_TOOL_MASK) {
+ BKE_pbvh_node_mark_update_mask(data->nodes[n]);
+ }
+ else {
+ BKE_pbvh_node_mark_update(data->nodes[n]);
+ }
}
static void do_brush_action(Sculpt *sd, Object *ob, Brush *brush, UnifiedPaintSettings *ups)
@@ -5074,18 +5261,27 @@ static void do_brush_action(Sculpt *sd, Object *ob, Brush *brush, UnifiedPaintSe
/* These brushes need to update all nodes as they are not constrained by the brush radius */
if (brush->sculpt_tool == SCULPT_TOOL_ELASTIC_DEFORM) {
+ BKE_pbvh_search_gather(ss->pbvh, NULL, NULL, &nodes, &totnode);
+ }
+ else if (brush->sculpt_tool == SCULPT_TOOL_POSE) {
+ float final_radius = ss->cache->radius * (1 + brush->pose_offset);
SculptSearchSphereData data = {
.ss = ss,
.sd = sd,
- .radius_squared = FLT_MAX,
+ .radius_squared = final_radius * final_radius,
.original = true,
};
- BKE_pbvh_search_gather(ss->pbvh, NULL, &data, &nodes, &totnode);
+ BKE_pbvh_search_gather(ss->pbvh, sculpt_search_sphere_cb, &data, &nodes, &totnode);
}
else {
const bool use_original = sculpt_tool_needs_original(brush->sculpt_tool) ? true :
ss->cache->original;
- const float radius_scale = 1.0f;
+ float radius_scale = 1.0f;
+ /* With these options enabled not all required nodes are inside the original brush radius, so
+ * the brush can produce artifacts in some situations */
+ if (brush->sculpt_tool == SCULPT_TOOL_DRAW && brush->flag & BRUSH_ORIGINAL_NORMAL) {
+ radius_scale = 2.0f;
+ }
nodes = sculpt_pbvh_gather_generic(ob, sd, brush, use_original, radius_scale, &totnode);
}
@@ -5100,10 +5296,9 @@ static void do_brush_action(Sculpt *sd, Object *ob, Brush *brush, UnifiedPaintSe
.nodes = nodes,
};
- TaskParallelSettings settings;
- BLI_parallel_range_settings_defaults(&settings);
- settings.use_threading = ((sd->flags & SCULPT_USE_OPENMP) && totnode > SCULPT_THREADED_LIMIT);
- BLI_task_parallel_range(0, totnode, &task_data, do_brush_action_task_cb, &settings);
+ PBVHParallelSettings settings;
+ BKE_pbvh_parallel_range_settings(&settings, (sd->flags & SCULPT_USE_OPENMP), totnode);
+ BKE_pbvh_parallel_range(0, totnode, &task_data, do_brush_action_task_cb, &settings);
if (sculpt_brush_needs_normal(ss, brush)) {
update_sculpt_normal(sd, ob, nodes, totnode);
@@ -5121,9 +5316,7 @@ static void do_brush_action(Sculpt *sd, Object *ob, Brush *brush, UnifiedPaintSe
if (brush->sculpt_tool == SCULPT_TOOL_POSE && ss->cache->first_time &&
ss->cache->mirror_symmetry_pass == 0) {
- if (BKE_pbvh_type(ss->pbvh) != PBVH_GRIDS) {
- sculpt_pose_brush_init(sd, ob, ss, brush, ss->cache->location, ss->cache->radius);
- }
+ sculpt_pose_brush_init(sd, ob, ss, brush, ss->cache->location, ss->cache->radius);
}
/* Apply one type of brush action */
@@ -5212,7 +5405,7 @@ static void do_brush_action(Sculpt *sd, Object *ob, Brush *brush, UnifiedPaintSe
do_gravity(sd, ob, nodes, totnode, sd->gravity_factor);
}
- MEM_freeN(nodes);
+ MEM_SAFE_FREE(nodes);
/* update average stroke position */
copy_v3_v3(location, ss->cache->true_location);
@@ -5240,7 +5433,7 @@ static void sculpt_flush_pbvhvert_deform(Object *ob, PBVHVertexIter *vd)
copy_v3_v3(ss->deform_cos[index], vd->co);
copy_v3_v3(ss->orig_cos[index], newco);
- if (!ss->kb) {
+ if (!ss->shapekey_active) {
copy_v3_v3(me->mvert[index].co, newco);
}
}
@@ -5296,7 +5489,7 @@ static void sculpt_combine_proxies_task_cb(void *__restrict userdata,
sculpt_clip(sd, ss, vd.co, val);
- if (ss->modifiers_active) {
+ if (ss->deform_modifiers_active) {
sculpt_flush_pbvhvert_deform(ob, &vd);
}
}
@@ -5323,15 +5516,12 @@ static void sculpt_combine_proxies(Sculpt *sd, Object *ob)
.nodes = nodes,
};
- TaskParallelSettings settings;
- BLI_parallel_range_settings_defaults(&settings);
- settings.use_threading = ((sd->flags & SCULPT_USE_OPENMP) && totnode > SCULPT_THREADED_LIMIT);
- BLI_task_parallel_range(0, totnode, &data, sculpt_combine_proxies_task_cb, &settings);
+ PBVHParallelSettings settings;
+ BKE_pbvh_parallel_range_settings(&settings, (sd->flags & SCULPT_USE_OPENMP), totnode);
+ BKE_pbvh_parallel_range(0, totnode, &data, sculpt_combine_proxies_task_cb, &settings);
}
- if (nodes) {
- MEM_freeN(nodes);
- }
+ MEM_SAFE_FREE(nodes);
}
/* copy the modified vertices from bvh to the active key */
@@ -5350,7 +5540,7 @@ static void sculpt_update_keyblock(Object *ob)
}
if (vertCos) {
- sculpt_vertcos_to_key(ob, ss->kb, vertCos);
+ sculpt_vertcos_to_key(ob, ss->shapekey_active, vertCos);
if (vertCos != ss->orig_cos) {
MEM_freeN(vertCos);
@@ -5396,7 +5586,7 @@ static void sculpt_flush_stroke_deform(Sculpt *sd, Object *ob, bool is_proxy_use
PBVHNode **nodes;
float(*vertCos)[3] = NULL;
- if (ss->kb) {
+ if (ss->shapekey_active) {
vertCos = MEM_mallocN(sizeof(*vertCos) * me->totvert, "flushStrokeDeofrm keyVerts");
/* mesh could have isolated verts which wouldn't be in BVH,
@@ -5416,24 +5606,23 @@ static void sculpt_flush_stroke_deform(Sculpt *sd, Object *ob, bool is_proxy_use
.vertCos = vertCos,
};
- TaskParallelSettings settings;
- BLI_parallel_range_settings_defaults(&settings);
- settings.use_threading = ((sd->flags & SCULPT_USE_OPENMP) && totnode > SCULPT_THREADED_LIMIT);
- BLI_task_parallel_range(0, totnode, &data, sculpt_flush_stroke_deform_task_cb, &settings);
+ PBVHParallelSettings settings;
+ BKE_pbvh_parallel_range_settings(&settings, (sd->flags & SCULPT_USE_OPENMP), totnode);
+ BKE_pbvh_parallel_range(0, totnode, &data, sculpt_flush_stroke_deform_task_cb, &settings);
if (vertCos) {
- sculpt_vertcos_to_key(ob, ss->kb, vertCos);
+ sculpt_vertcos_to_key(ob, ss->shapekey_active, vertCos);
MEM_freeN(vertCos);
}
- MEM_freeN(nodes);
+ MEM_SAFE_FREE(nodes);
/* Modifiers could depend on mesh normals, so we should update them/
* Note, then if sculpting happens on locked key, normals should be re-calculated
* after applying coords from keyblock on base mesh */
BKE_mesh_calc_normals(me);
}
- else if (ss->kb) {
+ else if (ss->shapekey_active) {
sculpt_update_keyblock(ob);
}
}
@@ -5916,12 +6105,21 @@ static void sculpt_update_cache_invariants(
/* Make copies of the mesh vertex locations and normals for some tools */
if (brush->flag & BRUSH_ANCHORED) {
- cache->original = 1;
+ cache->original = true;
+ }
+
+ /* Draw sharp does not need the original coordinates to produce the accumulate effect, so it
+ * should work the opposite way. */
+ if (brush->sculpt_tool == SCULPT_TOOL_DRAW_SHARP) {
+ cache->original = true;
}
if (SCULPT_TOOL_HAS_ACCUMULATE(brush->sculpt_tool)) {
if (!(brush->flag & BRUSH_ACCUMULATE)) {
- cache->original = 1;
+ cache->original = true;
+ if (brush->sculpt_tool == SCULPT_TOOL_DRAW_SHARP) {
+ cache->original = false;
+ }
}
}
@@ -5958,8 +6156,7 @@ static void sculpt_update_brush_delta(UnifiedPaintSettings *ups, Object *ob, Bru
if (cache->first_time) {
if (tool == SCULPT_TOOL_GRAB && brush->flag & BRUSH_GRAB_ACTIVE_VERTEX) {
- copy_v3_v3(cache->orig_grab_location,
- sculpt_vertex_co_get(ss, sculpt_active_vertex_get(ss)));
+ copy_v3_v3(cache->orig_grab_location, sculpt_active_vertex_co_get(ss));
}
else {
copy_v3_v3(cache->orig_grab_location, cache->true_location);
@@ -6172,9 +6369,9 @@ static void sculpt_update_cache_variants(bContext *C, Sculpt *sd, Object *ob, Po
/* Returns true if any of the smoothing modes are active (currently
* one of smooth brush, autosmooth, mask smooth, or shift-key
* smooth) */
-static bool sculpt_needs_conectivity_info(const Brush *brush, SculptSession *ss, int stroke_mode)
+static bool sculpt_needs_connectivity_info(const Brush *brush, SculptSession *ss, int stroke_mode)
{
- if (ss && sculpt_automasking_enabled(ss, brush)) {
+ if (ss && ss->pbvh && sculpt_automasking_enabled(ss, brush)) {
return true;
}
return ((stroke_mode == BRUSH_STROKE_SMOOTH) || (ss && ss->cache && ss->cache->alt_smooth) ||
@@ -6188,8 +6385,9 @@ static void sculpt_stroke_modifiers_check(const bContext *C, Object *ob, const B
SculptSession *ss = ob->sculpt;
View3D *v3d = CTX_wm_view3d(C);
- bool need_pmap = sculpt_needs_conectivity_info(brush, ss, 0);
- if (ss->kb || ss->modifiers_active || (!BKE_sculptsession_use_pbvh_draw(ob, v3d) && need_pmap)) {
+ bool need_pmap = sculpt_needs_connectivity_info(brush, ss, 0);
+ if (ss->shapekey_active || ss->deform_modifiers_active ||
+ (!BKE_sculptsession_use_pbvh_draw(ob, v3d) && need_pmap)) {
Depsgraph *depsgraph = CTX_data_depsgraph_pointer(C);
BKE_sculpt_update_object_for_edit(depsgraph, ob, need_pmap, false);
}
@@ -6370,13 +6568,7 @@ bool sculpt_cursor_geometry_info_update(bContext *C,
/* Update the active vertex of the SculptSession */
ss->active_vertex_index = srd.active_vertex_index;
-
- if (!ss->multires) {
- copy_v3_v3(out->active_vertex_co, sculpt_vertex_co_get(ss, srd.active_vertex_index));
- }
- else {
- zero_v3(out->active_vertex_co);
- }
+ copy_v3_v3(out->active_vertex_co, sculpt_active_vertex_co_get(ss));
copy_v3_v3(out->location, ray_normal);
mul_v3_fl(out->location, srd.depth);
@@ -6389,7 +6581,6 @@ bool sculpt_cursor_geometry_info_update(bContext *C,
}
/* Sampled normal calculation */
- const float radius_scale = 1.0f;
float radius;
/* Update cursor data in SculptSession */
@@ -6411,11 +6602,11 @@ bool sculpt_cursor_geometry_info_update(bContext *C,
}
ss->cursor_radius = radius;
- PBVHNode **nodes = sculpt_pbvh_gather_generic(ob, sd, brush, original, radius_scale, &totnode);
+ PBVHNode **nodes = sculpt_pbvh_gather_cursor_update(ob, sd, original, &totnode);
/* In case there are no nodes under the cursor, return the face normal */
if (!totnode) {
- MEM_freeN(nodes);
+ MEM_SAFE_FREE(nodes);
copy_v3_v3(out->normal, srd.face_normal);
return true;
}
@@ -6428,7 +6619,7 @@ bool sculpt_cursor_geometry_info_update(bContext *C,
/* Use face normal when there are no vertices to sample inside the cursor radius */
copy_v3_v3(out->normal, srd.face_normal);
}
- MEM_freeN(nodes);
+ MEM_SAFE_FREE(nodes);
return true;
}
@@ -6452,7 +6643,7 @@ bool sculpt_stroke_get_location(bContext *C, float out[3], const float mouse[2])
ss = ob->sculpt;
cache = ss->cache;
- original = (cache) ? cache->original : 0;
+ original = (cache) ? cache->original : false;
const Brush *brush = BKE_paint_brush(BKE_paint_get_active_from_context(C));
@@ -6508,10 +6699,6 @@ bool sculpt_stroke_get_location(bContext *C, float out[3], const float mouse[2])
}
}
- if (cache && hit) {
- copy_v3_v3(cache->true_location, out);
- }
-
return hit;
}
@@ -6551,7 +6738,7 @@ static void sculpt_brush_stroke_init(bContext *C, wmOperator *op)
view3d_operator_needs_opengl(C);
sculpt_brush_init_tex(scene, sd, ss);
- is_smooth = sculpt_needs_conectivity_info(brush, ss, mode);
+ is_smooth = sculpt_needs_connectivity_info(brush, ss, mode);
BKE_sculpt_update_object_for_edit(depsgraph, ob, is_smooth, need_mask);
}
@@ -6581,7 +6768,7 @@ void sculpt_update_object_bounding_box(Object *ob)
}
}
-static void sculpt_flush_update_step(bContext *C)
+static void sculpt_flush_update_step(bContext *C, SculptUpdateType update_flags)
{
Depsgraph *depsgraph = CTX_data_depsgraph_pointer(C);
Object *ob = CTX_data_active_object(C);
@@ -6589,6 +6776,12 @@ static void sculpt_flush_update_step(bContext *C)
ARegion *ar = CTX_wm_region(C);
MultiresModifierData *mmd = ss->multires;
View3D *v3d = CTX_wm_view3d(C);
+ RegionView3D *rv3d = CTX_wm_region_view3d(C);
+
+ if (rv3d) {
+ /* Mark for faster 3D viewport redraws. */
+ rv3d->rflag |= RV3D_PAINTING;
+ }
if (mmd != NULL) {
multires_mark_as_modified(depsgraph, ob, MULTIRES_COORDS_MODIFIED);
@@ -6609,11 +6802,13 @@ static void sculpt_flush_update_step(bContext *C)
* only the part of the 3D viewport where changes happened. */
rcti r;
- BKE_pbvh_update_bounds(ss->pbvh, PBVH_UpdateBB);
- /* Update the object's bounding box too so that the object
- * doesn't get incorrectly clipped during drawing in
- * draw_mesh_object(). [#33790] */
- sculpt_update_object_bounding_box(ob);
+ if (update_flags & SCULPT_UPDATE_COORDS) {
+ BKE_pbvh_update_bounds(ss->pbvh, PBVH_UpdateBB);
+ /* Update the object's bounding box too so that the object
+ * doesn't get incorrectly clipped during drawing in
+ * draw_mesh_object(). [#33790] */
+ sculpt_update_object_bounding_box(ob);
+ }
if (sculpt_get_redraw_rect(ar, CTX_wm_region_view3d(C), ob, &r)) {
if (ss->cache) {
@@ -6633,16 +6828,21 @@ static void sculpt_flush_update_step(bContext *C)
}
}
-static void sculpt_flush_update_done(const bContext *C, Object *ob)
+static void sculpt_flush_update_done(const bContext *C, Object *ob, SculptUpdateType update_flags)
{
/* After we are done drawing the stroke, check if we need to do a more
* expensive depsgraph tag to update geometry. */
wmWindowManager *wm = CTX_wm_manager(C);
View3D *current_v3d = CTX_wm_view3d(C);
+ RegionView3D *rv3d = CTX_wm_region_view3d(C);
SculptSession *ss = ob->sculpt;
Mesh *mesh = ob->data;
bool need_tag = (mesh->id.us > 1); /* Always needed for linked duplicates. */
+ if (rv3d) {
+ rv3d->rflag &= ~RV3D_PAINTING;
+ }
+
for (wmWindow *win = wm->windows.first; win; win = win->next) {
bScreen *screen = WM_window_get_active_screen(win);
for (ScrArea *sa = screen->areabase.first; sa; sa = sa->next) {
@@ -6652,11 +6852,26 @@ static void sculpt_flush_update_done(const bContext *C, Object *ob)
if (v3d != current_v3d) {
need_tag |= !BKE_sculptsession_use_pbvh_draw(ob, v3d);
}
+
+ /* Tag all 3D viewports for redraw now that we are done. Others
+ * viewports did not get a full redraw, and anti-aliasing for the
+ * current viewport was deactivated. */
+ for (ARegion *ar = sa->regionbase.first; ar; ar = ar->next) {
+ if (ar->regiontype == RGN_TYPE_WINDOW) {
+ ED_region_tag_redraw(ar);
+ }
+ }
}
}
}
- BKE_pbvh_update_bounds(ss->pbvh, PBVH_UpdateOriginalBB);
+ if (update_flags & SCULPT_UPDATE_COORDS) {
+ BKE_pbvh_update_bounds(ss->pbvh, PBVH_UpdateOriginalBB);
+ }
+
+ if (update_flags & SCULPT_UPDATE_MASK) {
+ BKE_pbvh_update_vertex_data(ss->pbvh, PBVH_UpdateMask);
+ }
if (BKE_pbvh_type(ss->pbvh) == PBVH_BMESH) {
BKE_pbvh_bmesh_after_stroke(ss->pbvh);
@@ -6665,7 +6880,7 @@ static void sculpt_flush_update_done(const bContext *C, Object *ob)
/* optimization: if there is locked key and active modifiers present in */
/* the stack, keyblock is updating at each step. otherwise we could update */
/* keyblock only when stroke is finished */
- if (ss->kb && !ss->modifiers_active) {
+ if (ss->shapekey_active && !ss->deform_modifiers_active) {
sculpt_update_keyblock(ob);
}
@@ -6758,17 +6973,22 @@ static void sculpt_stroke_update_step(bContext *C,
* Same applies to the DEG_id_tag_update() invoked from
* sculpt_flush_update_step().
*/
- if (ss->modifiers_active) {
+ if (ss->deform_modifiers_active) {
sculpt_flush_stroke_deform(sd, ob, sculpt_tool_is_proxy_used(brush->sculpt_tool));
}
- else if (ss->kb) {
+ else if (ss->shapekey_active) {
sculpt_update_keyblock(ob);
}
ss->cache->first_time = false;
/* Cleanup */
- sculpt_flush_update_step(C);
+ if (brush->sculpt_tool == SCULPT_TOOL_MASK) {
+ sculpt_flush_update_step(C, SCULPT_UPDATE_MASK);
+ }
+ else {
+ sculpt_flush_update_step(C, SCULPT_UPDATE_COORDS);
+ }
}
static void sculpt_brush_exit_tex(Sculpt *sd)
@@ -6821,7 +7041,12 @@ static void sculpt_stroke_done(const bContext *C, struct PaintStroke *UNUSED(str
sculpt_undo_push_end();
- sculpt_flush_update_done(C, ob);
+ if (brush->sculpt_tool == SCULPT_TOOL_MASK) {
+ sculpt_flush_update_done(C, ob, SCULPT_UPDATE_MASK);
+ }
+ else {
+ sculpt_flush_update_done(C, ob, SCULPT_UPDATE_COORDS);
+ }
WM_event_add_notifier(C, NC_OBJECT | ND_DRAW, ob);
}
@@ -6852,12 +7077,12 @@ static int sculpt_brush_stroke_invoke(bContext *C, wmOperator *op, const wmEvent
ignore_background_click = RNA_boolean_get(op->ptr, "ignore_background_click");
if (ignore_background_click && !over_mesh(C, op, event->x, event->y)) {
- paint_stroke_data_free(op);
+ paint_stroke_free(C, op);
return OPERATOR_PASS_THROUGH;
}
if ((retval = op->type->modal(C, op, event)) == OPERATOR_FINISHED) {
- paint_stroke_data_free(op);
+ paint_stroke_free(C, op);
return OPERATOR_FINISHED;
}
/* add modal handler */
@@ -7717,7 +7942,7 @@ static int sculpt_detail_flood_fill_exec(bContext *C, wmOperator *UNUSED(op))
}
}
- MEM_freeN(nodes);
+ MEM_SAFE_FREE(nodes);
sculpt_undo_push_end();
/* force rebuild of pbvh for better BB placement */
@@ -7803,7 +8028,7 @@ static int sculpt_sample_detail_size_exec(bContext *C, wmOperator *op)
static int sculpt_sample_detail_size_invoke(bContext *C, wmOperator *op, const wmEvent *UNUSED(e))
{
ED_workspace_status_text(C, TIP_("Click on the mesh to set the detail"));
- WM_cursor_modal_set(CTX_wm_window(C), BC_EYEDROPPER_CURSOR);
+ WM_cursor_modal_set(CTX_wm_window(C), WM_CURSOR_EYEDROPPER);
WM_event_add_modal_handler(C, op);
return OPERATOR_RUNNING_MODAL;
}
@@ -7924,43 +8149,36 @@ static void filter_cache_init_task_cb(void *__restrict userdata,
const TaskParallelTLS *__restrict UNUSED(tls))
{
SculptThreadedTaskData *data = userdata;
- SculptSession *ss = data->ob->sculpt;
PBVHNode *node = data->nodes[i];
- PBVHVertexIter vd;
- BKE_pbvh_vertex_iter_begin(ss->pbvh, node, vd, PBVH_ITER_UNIQUE)
- {
- if (!vd.mask || (vd.mask && *vd.mask < 1.0f)) {
- data->node_mask[i] = 1;
- }
- }
- BKE_pbvh_vertex_iter_end;
-
- if (data->node_mask[i] == 1) {
- sculpt_undo_push_node(data->ob, node, SCULPT_UNDO_COORDS);
- }
+ sculpt_undo_push_node(data->ob, node, SCULPT_UNDO_COORDS);
}
static void sculpt_filter_cache_init(Object *ob, Sculpt *sd)
{
SculptSession *ss = ob->sculpt;
PBVH *pbvh = ob->sculpt->pbvh;
- PBVHNode **nodes;
- int totnode;
ss->filter_cache = MEM_callocN(sizeof(FilterCache), "filter cache");
ss->filter_cache->random_seed = rand();
+ float center[3] = {0.0f};
SculptSearchSphereData search_data = {
.original = true,
- };
- BKE_pbvh_search_gather(pbvh, NULL, &search_data, &nodes, &totnode);
+ .center = center,
+ .radius_squared = FLT_MAX,
+ .ignore_fully_masked = true,
- int *node_mask = MEM_callocN((unsigned int)totnode * sizeof(int), "node mask");
+ };
+ BKE_pbvh_search_gather(pbvh,
+ sculpt_search_sphere_cb,
+ &search_data,
+ &ss->filter_cache->nodes,
+ &ss->filter_cache->totnode);
- for (int i = 0; i < totnode; i++) {
- BKE_pbvh_node_mark_normals_update(nodes[i]);
+ for (int i = 0; i < ss->filter_cache->totnode; i++) {
+ BKE_pbvh_node_mark_normals_update(ss->filter_cache->nodes[i]);
}
/* mesh->runtime.subdiv_ccg is not available. Updating of the normals is done during drawing.
@@ -7972,45 +8190,14 @@ static void sculpt_filter_cache_init(Object *ob, Sculpt *sd)
SculptThreadedTaskData data = {
.sd = sd,
.ob = ob,
- .nodes = nodes,
- .node_mask = node_mask,
+ .nodes = ss->filter_cache->nodes,
};
- TaskParallelSettings settings;
- BLI_parallel_range_settings_defaults(&settings);
- settings.use_threading = ((sd->flags & SCULPT_USE_OPENMP) && totnode > SCULPT_THREADED_LIMIT);
- BLI_task_parallel_range(0, totnode, &data, filter_cache_init_task_cb, &settings);
-
- int tot_active_nodes = 0;
- int active_node_index = 0;
- PBVHNode **active_nodes;
-
- /* Count number of PBVH nodes that are not fully masked */
- for (int i = 0; i < totnode; i++) {
- if (node_mask[i] == 1) {
- tot_active_nodes++;
- }
- }
-
- /* Create the final list of nodes that is going to be processed in the filter */
- active_nodes = MEM_callocN(tot_active_nodes * sizeof(PBVHNode *), "active nodes");
-
- for (int i = 0; i < totnode; i++) {
- if (node_mask[i] == 1) {
- active_nodes[active_node_index] = nodes[i];
- active_node_index++;
- }
- }
-
- ss->filter_cache->nodes = active_nodes;
- ss->filter_cache->totnode = tot_active_nodes;
-
- if (nodes) {
- MEM_freeN(nodes);
- }
- if (node_mask) {
- MEM_freeN(node_mask);
- }
+ PBVHParallelSettings settings;
+ BKE_pbvh_parallel_range_settings(
+ &settings, (sd->flags & SCULPT_USE_OPENMP), ss->filter_cache->totnode);
+ BKE_pbvh_parallel_range(
+ 0, ss->filter_cache->totnode, &data, filter_cache_init_task_cb, &settings);
}
static void sculpt_filter_cache_free(SculptSession *ss)
@@ -8082,15 +8269,25 @@ static void mesh_filter_task_cb(void *__restrict userdata,
float fade = vd.mask ? *vd.mask : 0.0f;
fade = 1 - fade;
fade *= data->filter_strength;
+
+ if (fade == 0.0f) {
+ continue;
+ }
+
copy_v3_v3(orig_co, orig_data.co);
switch (filter_type) {
case MESH_FILTER_SMOOTH:
CLAMP(fade, -1.0f, 1.0f);
- if (BKE_pbvh_type(ss->pbvh) == PBVH_FACES) {
- neighbor_average(ss, avg, vd.index);
- }
- else if (BKE_pbvh_type(ss->pbvh) == PBVH_BMESH) {
- bmesh_neighbor_average(avg, vd.bm_vert);
+ switch (BKE_pbvh_type(ss->pbvh)) {
+ case PBVH_FACES:
+ neighbor_average(ss, avg, vd.index);
+ break;
+ case PBVH_BMESH:
+ bmesh_neighbor_average(avg, vd.bm_vert);
+ break;
+ case PBVH_GRIDS:
+ grids_neighbor_average(ss, avg, vd.index);
+ break;
}
sub_v3_v3v3(val, avg, orig_co);
madd_v3_v3v3fl(val, orig_co, val, fade);
@@ -8129,11 +8326,16 @@ static void mesh_filter_task_cb(void *__restrict userdata,
mid_v3_v3v3(disp, disp, disp2);
break;
- case MESH_FILTER_RANDOM:
+ case MESH_FILTER_RANDOM: {
normal_short_to_float_v3(normal, orig_data.no);
- mul_v3_fl(normal, BLI_hash_int_01(vd.index ^ ss->filter_cache->random_seed) - 0.5f);
+ /* Index is not unique for multires, so hash by vertex coordinates. */
+ const uint *hash_co = (const uint *)orig_co;
+ const uint hash = BLI_hash_int_2d(hash_co[0], hash_co[1]) ^
+ BLI_hash_int_2d(hash_co[2], ss->filter_cache->random_seed);
+ mul_v3_fl(normal, hash * (1.0f / (float)0xFFFFFFFF) - 0.5f);
mul_v3_v3fl(disp, normal, fade);
break;
+ }
}
for (int it = 0; it < 3; it++) {
@@ -8166,7 +8368,7 @@ static int sculpt_mesh_filter_modal(bContext *C, wmOperator *op, const wmEvent *
if (event->type == LEFTMOUSE && event->val == KM_RELEASE) {
sculpt_filter_cache_free(ss);
sculpt_undo_push_end();
- sculpt_flush_update_done(C, ob);
+ sculpt_flush_update_done(C, ob, SCULPT_UPDATE_COORDS);
return OPERATOR_FINISHED;
}
@@ -8190,17 +8392,16 @@ static int sculpt_mesh_filter_modal(bContext *C, wmOperator *op, const wmEvent *
.filter_strength = filter_strength,
};
- TaskParallelSettings settings;
- BLI_parallel_range_settings_defaults(&settings);
- settings.use_threading = ((sd->flags & SCULPT_USE_OPENMP) &&
- ss->filter_cache->totnode > SCULPT_THREADED_LIMIT);
- BLI_task_parallel_range(0, ss->filter_cache->totnode, &data, mesh_filter_task_cb, &settings);
+ PBVHParallelSettings settings;
+ BKE_pbvh_parallel_range_settings(
+ &settings, (sd->flags & SCULPT_USE_OPENMP), ss->filter_cache->totnode);
+ BKE_pbvh_parallel_range(0, ss->filter_cache->totnode, &data, mesh_filter_task_cb, &settings);
- if (ss->modifiers_active || ss->kb) {
+ if (ss->deform_modifiers_active || ss->shapekey_active) {
sculpt_flush_stroke_deform(sd, ob, true);
}
- sculpt_flush_update_step(C);
+ sculpt_flush_update_step(C, SCULPT_UPDATE_COORDS);
return OPERATOR_RUNNING_MODAL;
}
@@ -8214,10 +8415,6 @@ static int sculpt_mesh_filter_invoke(bContext *C, wmOperator *op, const wmEvent
SculptSession *ss = ob->sculpt;
PBVH *pbvh = ob->sculpt->pbvh;
- if (BKE_pbvh_type(ss->pbvh) == PBVH_GRIDS) {
- return OPERATOR_CANCELLED;
- }
-
int deform_axis = RNA_enum_get(op->ptr, "deform_axis");
if (deform_axis == 0) {
return OPERATOR_CANCELLED;
@@ -8326,35 +8523,42 @@ static void mask_filter_task_cb(void *__restrict userdata,
BKE_pbvh_vertex_iter_begin(ss->pbvh, node, vd, PBVH_ITER_UNIQUE)
{
- float val;
float delta, gain, offset, max, min;
float prev_val = *vd.mask;
SculptVertexNeighborIter ni;
switch (mode) {
case MASK_FILTER_SMOOTH:
- if (BKE_pbvh_type(ss->pbvh) == PBVH_FACES) {
- val = neighbor_average_mask(ss, vd.index) - *vd.mask;
- }
- else {
- val = bmesh_neighbor_average_mask(vd.bm_vert, vd.cd_vert_mask_offset) - *vd.mask;
+ case MASK_FILTER_SHARPEN: {
+ float val = 0.0f;
+
+ switch (BKE_pbvh_type(ss->pbvh)) {
+ case PBVH_FACES:
+ val = neighbor_average_mask(ss, vd.index);
+ break;
+ case PBVH_BMESH:
+ val = bmesh_neighbor_average_mask(vd.bm_vert, vd.cd_vert_mask_offset);
+ break;
+ case PBVH_GRIDS:
+ val = grids_neighbor_average_mask(ss, vd.index);
+ break;
}
- *vd.mask += val;
- break;
- case MASK_FILTER_SHARPEN:
- if (BKE_pbvh_type(ss->pbvh) == PBVH_FACES) {
- val = neighbor_average_mask(ss, vd.index) - *vd.mask;
- }
- else {
- val = bmesh_neighbor_average_mask(vd.bm_vert, vd.cd_vert_mask_offset) - *vd.mask;
- }
- if (*vd.mask > 0.5f) {
- *vd.mask += 0.05f;
+
+ val -= *vd.mask;
+
+ if (mode == MASK_FILTER_SMOOTH) {
+ *vd.mask += val;
}
- else {
- *vd.mask -= 0.05f;
+ else if (mode == MASK_FILTER_SHARPEN) {
+ if (*vd.mask > 0.5f) {
+ *vd.mask += 0.05f;
+ }
+ else {
+ *vd.mask -= 0.05f;
+ }
+ *vd.mask += val / 2;
}
- *vd.mask += val / 2;
break;
+ }
case MASK_FILTER_GROW:
max = 0.0f;
sculpt_vertex_neighbors_iter_begin(ss, vd.index, ni)
@@ -8405,7 +8609,7 @@ static void mask_filter_task_cb(void *__restrict userdata,
BKE_pbvh_vertex_iter_end;
if (update) {
- BKE_pbvh_node_mark_redraw(node);
+ BKE_pbvh_node_mark_update_mask(node);
}
}
@@ -8421,10 +8625,6 @@ static int sculpt_mask_filter_exec(bContext *C, wmOperator *op)
int totnode;
int filter_type = RNA_enum_get(op->ptr, "filter_type");
- if (BKE_pbvh_type(ss->pbvh) == PBVH_GRIDS) {
- return OPERATOR_CANCELLED;
- }
-
BKE_sculpt_update_object_for_edit(depsgraph, ob, true, true);
sculpt_vertex_random_access_init(ss);
@@ -8455,7 +8655,7 @@ static int sculpt_mask_filter_exec(bContext *C, wmOperator *op)
for (int i = 0; i < iterations; i++) {
if (ELEM(filter_type, MASK_FILTER_GROW, MASK_FILTER_SHRINK)) {
- prev_mask = MEM_mallocN((unsigned long)num_verts * sizeof(float), "prevmask");
+ prev_mask = MEM_mallocN(num_verts * sizeof(float), "prevmask");
for (int j = 0; j < num_verts; j++) {
prev_mask[j] = sculpt_vertex_mask_get(ss, j);
}
@@ -8469,19 +8669,16 @@ static int sculpt_mask_filter_exec(bContext *C, wmOperator *op)
.prev_mask = prev_mask,
};
- TaskParallelSettings settings;
- BLI_parallel_range_settings_defaults(&settings);
- settings.use_threading = ((sd->flags & SCULPT_USE_OPENMP) && totnode > SCULPT_THREADED_LIMIT);
- BLI_task_parallel_range(0, totnode, &data, mask_filter_task_cb, &settings);
+ PBVHParallelSettings settings;
+ BKE_pbvh_parallel_range_settings(&settings, (sd->flags & SCULPT_USE_OPENMP), totnode);
+ BKE_pbvh_parallel_range(0, totnode, &data, mask_filter_task_cb, &settings);
if (ELEM(filter_type, MASK_FILTER_GROW, MASK_FILTER_SHRINK)) {
MEM_freeN(prev_mask);
}
}
- if (nodes) {
- MEM_freeN(nodes);
- }
+ MEM_SAFE_FREE(nodes);
sculpt_undo_push_end();
@@ -8527,17 +8724,17 @@ static void SCULPT_OT_mask_filter(struct wmOperatorType *ot)
"Use a automatic number of iterations based on the number of vertices of the sculpt");
}
-static float neighbor_dirty_mask(SculptSession *ss, const int vert)
+static float neighbor_dirty_mask(SculptSession *ss, PBVHVertexIter *vd)
{
int total = 0;
float avg[3];
zero_v3(avg);
SculptVertexNeighborIter ni;
- sculpt_vertex_neighbors_iter_begin(ss, vert, ni)
+ sculpt_vertex_neighbors_iter_begin(ss, vd->index, ni)
{
float normalized[3];
- sub_v3_v3v3(normalized, sculpt_vertex_co_get(ss, ni.index), sculpt_vertex_co_get(ss, vert));
+ sub_v3_v3v3(normalized, sculpt_vertex_co_get(ss, ni.index), vd->co);
normalize_v3(normalized);
add_v3_v3(avg, normalized);
total++;
@@ -8547,7 +8744,12 @@ static float neighbor_dirty_mask(SculptSession *ss, const int vert)
if (total > 0) {
mul_v3_fl(avg, 1.0f / total);
float normal[3];
- sculpt_vertex_normal_get(ss, vert, normal);
+ if (vd->no) {
+ normal_short_to_float_v3(normal, vd->no);
+ }
+ else {
+ copy_v3_v3(normal, vd->fno);
+ }
float dot = dot_v3v3(avg, normal);
float angle = max_ff(saacosf(dot), 0.0f);
return angle;
@@ -8555,25 +8757,75 @@ static float neighbor_dirty_mask(SculptSession *ss, const int vert)
return 0;
}
-static void dirty_mask_task_cb(void *__restrict userdata,
- const int i,
- const TaskParallelTLS *__restrict UNUSED(tls))
+typedef struct DirtyMaskRangeData {
+ float min, max;
+} DirtyMaskRangeData;
+
+static void dirty_mask_compute_range_task_cb(void *__restrict userdata,
+ const int i,
+ const TaskParallelTLS *__restrict tls)
{
SculptThreadedTaskData *data = userdata;
SculptSession *ss = data->ob->sculpt;
PBVHNode *node = data->nodes[i];
+ DirtyMaskRangeData *range = tls->userdata_chunk;
PBVHVertexIter vd;
+
BKE_pbvh_vertex_iter_begin(ss->pbvh, node, vd, PBVH_ITER_UNIQUE)
{
- float val;
- val = neighbor_dirty_mask(ss, vd.index);
- data->prev_mask[vd.index] = val;
+ float dirty_mask = neighbor_dirty_mask(ss, &vd);
+ range->min = min_ff(dirty_mask, range->min);
+ range->max = max_ff(dirty_mask, range->max);
+ }
+ BKE_pbvh_vertex_iter_end;
+}
+
+static void dirty_mask_compute_range_reduce(const void *__restrict UNUSED(userdata),
+ void *__restrict chunk_join,
+ void *__restrict chunk)
+{
+ DirtyMaskRangeData *join = chunk_join;
+ DirtyMaskRangeData *range = chunk;
+ join->min = min_ff(range->min, join->min);
+ join->max = max_ff(range->max, join->max);
+}
+
+static void dirty_mask_apply_task_cb(void *__restrict userdata,
+ const int i,
+ const TaskParallelTLS *__restrict UNUSED(tls))
+{
+ SculptThreadedTaskData *data = userdata;
+ SculptSession *ss = data->ob->sculpt;
+ PBVHNode *node = data->nodes[i];
+ PBVHVertexIter vd;
+
+ const bool dirty_only = data->dirty_mask_dirty_only;
+ const float min = data->dirty_mask_min;
+ const float max = data->dirty_mask_max;
+
+ float range = max - min;
+ if (range < 0.0001f) {
+ range = 0;
+ }
+ else {
+ range = 1.0f / range;
+ }
+
+ BKE_pbvh_vertex_iter_begin(ss->pbvh, node, vd, PBVH_ITER_UNIQUE)
+ {
+ float dirty_mask = neighbor_dirty_mask(ss, &vd);
+ float mask = *vd.mask + (1 - ((dirty_mask - min) * range));
+ if (dirty_only) {
+ mask = fminf(mask, 0.5f) * 2.0f;
+ }
+ *vd.mask = CLAMPIS(mask, 0.0f, 1.0f);
+
if (vd.mvert) {
vd.mvert->flag |= ME_VERT_PBVH_UPDATE;
}
}
BKE_pbvh_vertex_iter_end;
- BKE_pbvh_node_mark_redraw(node);
+ BKE_pbvh_node_mark_update_mask(node);
}
static int sculpt_dirty_mask_exec(bContext *C, wmOperator *op)
@@ -8587,10 +8839,6 @@ static int sculpt_dirty_mask_exec(bContext *C, wmOperator *op)
Sculpt *sd = CTX_data_tool_settings(C)->sculpt;
int totnode;
- if (BKE_pbvh_type(ss->pbvh) == PBVH_GRIDS) {
- return OPERATOR_CANCELLED;
- }
-
BKE_sculpt_update_object_for_edit(depsgraph, ob, true, true);
sculpt_vertex_random_access_init(ss);
@@ -8599,8 +8847,6 @@ static int sculpt_dirty_mask_exec(bContext *C, wmOperator *op)
return OPERATOR_CANCELLED;
}
- int num_verts = sculpt_vertex_count_get(ss);
-
BKE_pbvh_search_gather(pbvh, NULL, NULL, &nodes, &totnode);
sculpt_undo_push_begin("Dirty Mask");
@@ -8608,59 +8854,32 @@ static int sculpt_dirty_mask_exec(bContext *C, wmOperator *op)
sculpt_undo_push_node(ob, nodes[i], SCULPT_UNDO_MASK);
}
- float *prev_mask = NULL;
-
- prev_mask = MEM_mallocN((unsigned long)num_verts * sizeof(float), "prevmask");
- for (int j = 0; j < num_verts; j++) {
- prev_mask[j] = sculpt_vertex_mask_get(ss, j);
- }
-
SculptThreadedTaskData data = {
.sd = sd,
.ob = ob,
.nodes = nodes,
- .prev_mask = prev_mask,
+ .dirty_mask_dirty_only = RNA_boolean_get(op->ptr, "dirty_only"),
+ };
+ DirtyMaskRangeData range = {
+ .min = FLT_MAX,
+ .max = -FLT_MAX,
};
- TaskParallelSettings settings;
- BLI_parallel_range_settings_defaults(&settings);
- settings.use_threading = ((sd->flags & SCULPT_USE_OPENMP) && totnode > SCULPT_THREADED_LIMIT);
- BLI_task_parallel_range(0, totnode, &data, dirty_mask_task_cb, &settings);
+ PBVHParallelSettings settings;
+ BKE_pbvh_parallel_range_settings(&settings, (sd->flags & SCULPT_USE_OPENMP), totnode);
- float min = FLT_MAX;
- float max = FLT_MIN;
- for (int i = 0; i < num_verts; i++) {
- float val = prev_mask[i];
- if (val < min) {
- min = val;
- }
- if (val > max) {
- max = val;
- }
- }
+ settings.func_reduce = dirty_mask_compute_range_reduce;
+ settings.userdata_chunk = &range;
+ settings.userdata_chunk_size = sizeof(DirtyMaskRangeData);
- float range = max - min;
- if (range < 0.0001f) {
- range = 0;
- }
- else {
- range = 1.0f / range;
- }
+ BKE_pbvh_parallel_range(0, totnode, &data, dirty_mask_compute_range_task_cb, &settings);
+ data.dirty_mask_min = range.min;
+ data.dirty_mask_max = range.max;
+ BKE_pbvh_parallel_range(0, totnode, &data, dirty_mask_apply_task_cb, &settings);
- bool dirty_only = RNA_boolean_get(op->ptr, "dirty_only");
- for (int i = 0; i < num_verts; i++) {
- sculpt_vertex_mask_set(
- ss, i, sculpt_vertex_mask_get(ss, i) + (1 - ((prev_mask[i] - min) * range)));
- if (dirty_only) {
- sculpt_vertex_mask_set(ss, i, fminf(sculpt_vertex_mask_get(ss, i), 0.5f) * 2.0f);
- }
- sculpt_vertex_mask_clamp(ss, i, 0.0f, 1.0f);
- }
- MEM_freeN(prev_mask);
+ MEM_SAFE_FREE(nodes);
- if (nodes) {
- MEM_freeN(nodes);
- }
+ BKE_pbvh_update_vertex_data(pbvh, SCULPT_UPDATE_MASK);
sculpt_undo_push_end();
@@ -8696,19 +8915,22 @@ static void sculpt_mask_expand_cancel(bContext *C, wmOperator *op)
MEM_freeN(op->customdata);
- int vert_count = sculpt_vertex_count_get(ss);
- for (int i = 0; i < vert_count; i++) {
- sculpt_vertex_mask_set(ss, i, ss->filter_cache->prev_mask[i]);
- }
+ for (int n = 0; n < ss->filter_cache->totnode; n++) {
+ PBVHNode *node = ss->filter_cache->nodes[n];
+ PBVHVertexIter vd;
+ BKE_pbvh_vertex_iter_begin(ss->pbvh, node, vd, PBVH_ITER_UNIQUE)
+ {
+ *vd.mask = ss->filter_cache->prev_mask[vd.index];
+ }
+ BKE_pbvh_vertex_iter_end;
- for (int i = 0; i < ss->filter_cache->totnode; i++) {
- BKE_pbvh_node_mark_redraw(ss->filter_cache->nodes[i]);
+ BKE_pbvh_node_mark_redraw(node);
}
- sculpt_flush_update_step(C);
+ sculpt_flush_update_step(C, SCULPT_UPDATE_MASK);
sculpt_filter_cache_free(ss);
sculpt_undo_push_end();
- sculpt_flush_update_done(C, ob);
+ sculpt_flush_update_done(C, ob, SCULPT_UPDATE_MASK);
ED_workspace_status_text(C, NULL);
}
@@ -8758,7 +8980,7 @@ static void sculpt_expand_task_cb(void *__restrict userdata,
vd.mvert->flag |= ME_VERT_PBVH_UPDATE;
}
*vd.mask = final_mask;
- BKE_pbvh_node_mark_redraw(node);
+ BKE_pbvh_node_mark_update_mask(node);
}
}
BKE_pbvh_vertex_iter_end;
@@ -8790,8 +9012,11 @@ static int sculpt_mask_expand_modal(bContext *C, wmOperator *op, const wmEvent *
if ((event->type == ESCKEY && event->val == KM_PRESS) ||
(event->type == RIGHTMOUSE && event->val == KM_PRESS)) {
+ /* Returning OPERATOR_CANCELLED will leak memory due to not finishing
+ * undo. Better solution could be to make paint_mesh_restore_co work
+ * for this case. */
sculpt_mask_expand_cancel(C, op);
- return OPERATOR_CANCELLED;
+ return OPERATOR_FINISHED;
}
if ((event->type == LEFTMOUSE && event->val == KM_RELEASE) ||
@@ -8809,30 +9034,36 @@ static int sculpt_mask_expand_modal(bContext *C, wmOperator *op, const wmEvent *
int smooth_iterations = RNA_int_get(op->ptr, "smooth_iterations");
BKE_sculpt_update_object_for_edit(depsgraph, ob, true, false);
for (int i = 0; i < smooth_iterations; i++) {
- TaskParallelSettings settings;
- BLI_parallel_range_settings_defaults(&settings);
- settings.use_threading = ((sd->flags & SCULPT_USE_OPENMP) &&
- ss->filter_cache->totnode > SCULPT_THREADED_LIMIT);
- BLI_task_parallel_range(0, ss->filter_cache->totnode, &data, mask_filter_task_cb, &settings);
+ PBVHParallelSettings settings;
+ BKE_pbvh_parallel_range_settings(
+ &settings, (sd->flags & SCULPT_USE_OPENMP), ss->filter_cache->totnode);
+ BKE_pbvh_parallel_range(0, ss->filter_cache->totnode, &data, mask_filter_task_cb, &settings);
}
/* Pivot position */
if (RNA_boolean_get(op->ptr, "update_pivot")) {
const char symm = sd->paint.symmetry_flags & PAINT_SYMM_AXIS_ALL;
+ const float threshold = 0.2f;
float avg[3];
int total = 0;
- float threshold = 0.2f;
zero_v3(avg);
- int vertex_count = sculpt_vertex_count_get(ss);
- for (int i = 0; i < vertex_count; i++) {
- if (sculpt_vertex_mask_get(ss, i) < (0.5f + threshold) &&
- sculpt_vertex_mask_get(ss, i) > (0.5f - threshold) &&
- check_vertex_pivot_symmetry(
- sculpt_vertex_co_get(ss, i), ss->filter_cache->mask_expand_initial_co, symm)) {
- total++;
- add_v3_v3(avg, sculpt_vertex_co_get(ss, i));
+
+ for (int n = 0; n < ss->filter_cache->totnode; n++) {
+ PBVHVertexIter vd;
+ BKE_pbvh_vertex_iter_begin(ss->pbvh, ss->filter_cache->nodes[n], vd, PBVH_ITER_UNIQUE)
+ {
+ const float mask = (vd.mask) ? *vd.mask : 0.0f;
+ if (mask < (0.5f + threshold) && mask > (0.5f - threshold)) {
+ if (check_vertex_pivot_symmetry(
+ vd.co, ss->filter_cache->mask_expand_initial_co, symm)) {
+ add_v3_v3(avg, vd.co);
+ total++;
+ }
+ }
}
+ BKE_pbvh_vertex_iter_end;
}
+
if (total > 0) {
mul_v3_fl(avg, 1.0f / total);
copy_v3_v3(ss->pivot_pos, avg);
@@ -8849,7 +9080,7 @@ static int sculpt_mask_expand_modal(bContext *C, wmOperator *op, const wmEvent *
sculpt_filter_cache_free(ss);
sculpt_undo_push_end();
- sculpt_flush_update_done(C, ob);
+ sculpt_flush_update_done(C, ob, SCULPT_UPDATE_MASK);
ED_workspace_status_text(C, NULL);
return OPERATOR_FINISHED;
}
@@ -8872,20 +9103,60 @@ static int sculpt_mask_expand_modal(bContext *C, wmOperator *op, const wmEvent *
.mask_expand_invert_mask = RNA_boolean_get(op->ptr, "invert"),
.mask_expand_keep_prev_mask = RNA_boolean_get(op->ptr, "keep_previous_mask"),
};
- TaskParallelSettings settings;
- BLI_parallel_range_settings_defaults(&settings);
- settings.use_threading = ((sd->flags & SCULPT_USE_OPENMP) &&
- ss->filter_cache->totnode > SCULPT_THREADED_LIMIT);
-
- BLI_task_parallel_range(0, ss->filter_cache->totnode, &data, sculpt_expand_task_cb, &settings);
+ PBVHParallelSettings settings;
+ BKE_pbvh_parallel_range_settings(
+ &settings, (sd->flags & SCULPT_USE_OPENMP), ss->filter_cache->totnode);
+ BKE_pbvh_parallel_range(0, ss->filter_cache->totnode, &data, sculpt_expand_task_cb, &settings);
ss->filter_cache->mask_update_current_it = mask_expand_update_it;
}
- sculpt_flush_update_step(C);
+ sculpt_flush_update_step(C, SCULPT_UPDATE_MASK);
return OPERATOR_RUNNING_MODAL;
}
+typedef struct MaskExpandFloodFillData {
+ float original_normal[3];
+ float edge_sensitivity;
+ bool use_normals;
+} MaskExpandFloodFillData;
+
+static bool mask_expand_floodfill_cb(
+ SculptSession *ss, int from_v, int to_v, bool is_duplicate, void *userdata)
+{
+ MaskExpandFloodFillData *data = userdata;
+
+ if (!is_duplicate) {
+ int to_it = ss->filter_cache->mask_update_it[from_v] + 1;
+ ss->filter_cache->mask_update_it[to_v] = to_it;
+ if (to_it > ss->filter_cache->mask_update_last_it) {
+ ss->filter_cache->mask_update_last_it = to_it;
+ }
+
+ if (data->use_normals) {
+ float current_normal[3], prev_normal[3];
+ sculpt_vertex_normal_get(ss, to_v, current_normal);
+ sculpt_vertex_normal_get(ss, from_v, prev_normal);
+ const float from_edge_factor = ss->filter_cache->edge_factor[from_v];
+ ss->filter_cache->edge_factor[to_v] = dot_v3v3(current_normal, prev_normal) *
+ from_edge_factor;
+ ss->filter_cache->normal_factor[to_v] = dot_v3v3(data->original_normal, current_normal) *
+ powf(from_edge_factor, data->edge_sensitivity);
+ CLAMP(ss->filter_cache->normal_factor[to_v], 0.0f, 1.0f);
+ }
+ }
+ else {
+ /* PBVH_GRIDS duplicate handling */
+ ss->filter_cache->mask_update_it[to_v] = ss->filter_cache->mask_update_it[from_v];
+ if (data->use_normals) {
+ ss->filter_cache->edge_factor[to_v] = ss->filter_cache->edge_factor[from_v];
+ ss->filter_cache->normal_factor[to_v] = ss->filter_cache->normal_factor[from_v];
+ }
+ }
+
+ return true;
+}
+
static int sculpt_mask_expand_invoke(bContext *C, wmOperator *op, const wmEvent *event)
{
Depsgraph *depsgraph = CTX_data_depsgraph_pointer(C);
@@ -8893,20 +9164,14 @@ static int sculpt_mask_expand_invoke(bContext *C, wmOperator *op, const wmEvent
SculptSession *ss = ob->sculpt;
Sculpt *sd = CTX_data_tool_settings(C)->sculpt;
PBVH *pbvh = ob->sculpt->pbvh;
- float original_normal[3];
bool use_normals = RNA_boolean_get(op->ptr, "use_normals");
- int edge_sensitivity = RNA_int_get(op->ptr, "edge_sensitivity");
SculptCursorGeometryInfo sgi;
float mouse[2];
mouse[0] = event->mval[0];
mouse[1] = event->mval[1];
- if (BKE_pbvh_type(ss->pbvh) == PBVH_GRIDS) {
- return OPERATOR_CANCELLED;
- }
-
sculpt_vertex_random_access_init(ss);
op->customdata = MEM_mallocN(2 * sizeof(float), "initial mouse position");
@@ -8920,16 +9185,7 @@ static int sculpt_mask_expand_invoke(bContext *C, wmOperator *op, const wmEvent
ss->filter_cache = MEM_callocN(sizeof(FilterCache), "filter cache");
- SculptSearchSphereData searchdata = {
- .ss = ss,
- .sd = sd,
- .radius_squared = FLT_MAX,
- };
- BKE_pbvh_search_gather(pbvh,
- sculpt_search_sphere_cb,
- &searchdata,
- &ss->filter_cache->nodes,
- &ss->filter_cache->totnode);
+ BKE_pbvh_search_gather(pbvh, NULL, NULL, &ss->filter_cache->nodes, &ss->filter_cache->totnode);
sculpt_undo_push_begin("Mask Expand");
@@ -8943,6 +9199,11 @@ static int sculpt_mask_expand_invoke(bContext *C, wmOperator *op, const wmEvent
if (use_normals) {
ss->filter_cache->normal_factor = MEM_callocN(sizeof(float) * vertex_count,
"mask update normal factor");
+ ss->filter_cache->edge_factor = MEM_callocN(sizeof(float) * vertex_count,
+ "mask update normal factor");
+ for (int i = 0; i < vertex_count; i++) {
+ ss->filter_cache->edge_factor[i] = 1.0f;
+ }
}
ss->filter_cache->prev_mask = MEM_callocN(sizeof(float) * vertex_count, "prev mask");
@@ -8952,68 +9213,21 @@ static int sculpt_mask_expand_invoke(bContext *C, wmOperator *op, const wmEvent
ss->filter_cache->mask_update_last_it = 1;
ss->filter_cache->mask_update_current_it = 1;
- ss->filter_cache->mask_update_it[(int)sculpt_active_vertex_get(ss)] = 1;
+ ss->filter_cache->mask_update_it[sculpt_active_vertex_get(ss)] = 1;
- copy_v3_v3(ss->filter_cache->mask_expand_initial_co,
- sculpt_vertex_co_get(ss, sculpt_active_vertex_get(ss)));
+ copy_v3_v3(ss->filter_cache->mask_expand_initial_co, sculpt_active_vertex_co_get(ss));
- char *visited_vertices = MEM_callocN(vertex_count * sizeof(char), "visited vertices");
-
- sculpt_vertex_normal_get(ss, sculpt_active_vertex_get(ss), original_normal);
-
- GSQueue *queue = BLI_gsqueue_new(sizeof(VertexTopologyIterator));
- VertexTopologyIterator mevit;
-
- const char symm = sd->paint.symmetry_flags & PAINT_SYMM_AXIS_ALL;
- for (char i = 0; i <= symm; ++i) {
- if (is_symmetry_iteration_valid(i, symm)) {
- float location[3];
- flip_v3_v3(location, sculpt_vertex_co_get(ss, sculpt_active_vertex_get(ss)), i);
- if (i == 0) {
- mevit.v = sculpt_active_vertex_get(ss);
- mevit.edge_factor = 1.0f;
- }
- else {
- mevit.v = sculpt_nearest_vertex_get(sd, ob, location, FLT_MAX, false);
- mevit.edge_factor = 1.0f;
- }
- if (mevit.v != -1) {
- sculpt_vertex_mask_set(ss, mevit.v, 1.0f);
- mevit.it = 0;
- BLI_gsqueue_push(queue, &mevit);
- }
- }
- }
+ SculptFloodFill flood;
+ sculpt_floodfill_init(ss, &flood);
+ sculpt_floodfill_add_active(sd, ob, ss, &flood, FLT_MAX);
- while (!BLI_gsqueue_is_empty(queue)) {
- VertexTopologyIterator c_mevit;
- BLI_gsqueue_pop(queue, &c_mevit);
- SculptVertexNeighborIter ni;
- sculpt_vertex_neighbors_iter_begin(ss, c_mevit.v, ni)
- {
- if (visited_vertices[(int)ni.index] == 0) {
- VertexTopologyIterator new_entry;
- new_entry.v = ni.index;
- new_entry.it = c_mevit.it + 1;
- ss->filter_cache->mask_update_it[(int)new_entry.v] = new_entry.it;
- visited_vertices[(int)ni.index] = 1;
- if (ss->filter_cache->mask_update_last_it < new_entry.it) {
- ss->filter_cache->mask_update_last_it = new_entry.it;
- }
- if (use_normals) {
- float current_normal[3], prev_normal[3];
- sculpt_vertex_normal_get(ss, ni.index, current_normal);
- sculpt_vertex_normal_get(ss, c_mevit.v, prev_normal);
- new_entry.edge_factor = dot_v3v3(current_normal, prev_normal) * c_mevit.edge_factor;
- ss->filter_cache->normal_factor[ni.index] = dot_v3v3(original_normal, current_normal) *
- powf(c_mevit.edge_factor, edge_sensitivity);
- CLAMP(ss->filter_cache->normal_factor[ni.index], 0, 1);
- }
- BLI_gsqueue_push(queue, &new_entry);
- }
- }
- sculpt_vertex_neighbors_iter_end(ni);
- }
+ MaskExpandFloodFillData fdata = {
+ .use_normals = use_normals,
+ .edge_sensitivity = RNA_int_get(op->ptr, "edge_sensitivity"),
+ };
+ sculpt_active_vertex_normal_get(ss, fdata.original_normal);
+ sculpt_floodfill_execute(ss, &flood, mask_expand_floodfill_cb, &fdata);
+ sculpt_floodfill_free(&flood);
if (use_normals) {
for (int repeat = 0; repeat < 2; repeat++) {
@@ -9028,11 +9242,9 @@ static int sculpt_mask_expand_invoke(bContext *C, wmOperator *op, const wmEvent
ss->filter_cache->normal_factor[i] = avg / ni.size;
}
}
- }
-
- BLI_gsqueue_free(queue);
- MEM_freeN(visited_vertices);
+ MEM_SAFE_FREE(ss->filter_cache->edge_factor);
+ }
SculptThreadedTaskData data = {
.sd = sd,
@@ -9043,19 +9255,17 @@ static int sculpt_mask_expand_invoke(bContext *C, wmOperator *op, const wmEvent
.mask_expand_invert_mask = RNA_boolean_get(op->ptr, "invert"),
.mask_expand_keep_prev_mask = RNA_boolean_get(op->ptr, "keep_previous_mask"),
};
- TaskParallelSettings settings;
- BLI_parallel_range_settings_defaults(&settings);
- settings.use_threading = ((sd->flags & SCULPT_USE_OPENMP) &&
- ss->filter_cache->totnode > SCULPT_THREADED_LIMIT);
-
- BLI_task_parallel_range(0, ss->filter_cache->totnode, &data, sculpt_expand_task_cb, &settings);
+ PBVHParallelSettings settings;
+ BKE_pbvh_parallel_range_settings(
+ &settings, (sd->flags & SCULPT_USE_OPENMP), ss->filter_cache->totnode);
+ BKE_pbvh_parallel_range(0, ss->filter_cache->totnode, &data, sculpt_expand_task_cb, &settings);
const char *status_str = TIP_(
"Move the mouse to expand the mask from the active vertex. LBM: confirm mask, ESC/RMB: "
"cancel");
ED_workspace_status_text(C, status_str);
- sculpt_flush_update_step(C);
+ sculpt_flush_update_step(C, SCULPT_UPDATE_MASK);
WM_event_add_modal_handler(C, op);
return OPERATOR_RUNNING_MODAL;
}
@@ -9127,7 +9337,7 @@ void sculpt_geometry_preview_lines_update(bContext *C, SculptSession *ss, float
}
float brush_co[3];
- copy_v3_v3(brush_co, sculpt_vertex_co_get(ss, sculpt_active_vertex_get(ss)));
+ copy_v3_v3(brush_co, sculpt_active_vertex_co_get(ss));
char *visited_vertices = MEM_callocN(sculpt_vertex_count_get(ss) * sizeof(char),
"visited vertices");
@@ -9139,31 +9349,27 @@ void sculpt_geometry_preview_lines_update(bContext *C, SculptSession *ss, float
ss->preview_vert_index_list = MEM_callocN(max_preview_vertices * sizeof(int), "preview lines");
}
- BLI_Stack *not_visited_vertices = BLI_stack_new(sizeof(VertexTopologyIterator),
- "Not visited vertices stack");
- VertexTopologyIterator mevit;
- mevit.v = sculpt_active_vertex_get(ss);
- BLI_stack_push(not_visited_vertices, &mevit);
+ GSQueue *not_visited_vertices = BLI_gsqueue_new(sizeof(int));
+ int active_v = sculpt_active_vertex_get(ss);
+ BLI_gsqueue_push(not_visited_vertices, &active_v);
- while (!BLI_stack_is_empty(not_visited_vertices)) {
- VertexTopologyIterator c_mevit;
- BLI_stack_pop(not_visited_vertices, &c_mevit);
+ while (!BLI_gsqueue_is_empty(not_visited_vertices)) {
+ int from_v;
+ BLI_gsqueue_pop(not_visited_vertices, &from_v);
SculptVertexNeighborIter ni;
- sculpt_vertex_neighbors_iter_begin(ss, c_mevit.v, ni)
+ sculpt_vertex_neighbors_iter_begin(ss, from_v, ni)
{
if (totpoints + (ni.size * 2) < max_preview_vertices) {
- VertexTopologyIterator new_entry;
- new_entry.v = ni.index;
- new_entry.it = c_mevit.it + 1;
- ss->preview_vert_index_list[totpoints] = c_mevit.v;
+ int to_v = ni.index;
+ ss->preview_vert_index_list[totpoints] = from_v;
totpoints++;
- ss->preview_vert_index_list[totpoints] = new_entry.v;
+ ss->preview_vert_index_list[totpoints] = to_v;
totpoints++;
- if (visited_vertices[(int)ni.index] == 0) {
- visited_vertices[(int)ni.index] = 1;
- if (len_squared_v3v3(brush_co, sculpt_vertex_co_get(ss, new_entry.v)) <
- radius * radius) {
- BLI_stack_push(not_visited_vertices, &new_entry);
+ if (visited_vertices[to_v] == 0) {
+ visited_vertices[to_v] = 1;
+ const float *co = sculpt_vertex_co_get(ss, to_v);
+ if (len_squared_v3v3(brush_co, co) < radius * radius) {
+ BLI_gsqueue_push(not_visited_vertices, &to_v);
}
}
}
@@ -9171,7 +9377,7 @@ void sculpt_geometry_preview_lines_update(bContext *C, SculptSession *ss, float
sculpt_vertex_neighbors_iter_end(ni);
}
- BLI_stack_free(not_visited_vertices);
+ BLI_gsqueue_free(not_visited_vertices);
MEM_freeN(visited_vertices);
@@ -9305,8 +9511,7 @@ static void sculpt_transform_task_cb(void *__restrict userdata,
}
BKE_pbvh_vertex_iter_end;
- BKE_pbvh_node_mark_redraw(node);
- BKE_pbvh_node_mark_normals_update(node);
+ BKE_pbvh_node_mark_update(node);
}
void ED_sculpt_update_modal_transform(struct bContext *C)
@@ -9366,18 +9571,17 @@ void ED_sculpt_update_modal_transform(struct bContext *C)
mul_m4_m4m4(data.transform_mats[i], pivot_mat, data.transform_mats[i]);
}
- TaskParallelSettings settings;
- BLI_parallel_range_settings_defaults(&settings);
- settings.use_threading = ((sd->flags & SCULPT_USE_OPENMP) &&
- ss->filter_cache->totnode > SCULPT_THREADED_LIMIT);
- BLI_task_parallel_range(
+ PBVHParallelSettings settings;
+ BKE_pbvh_parallel_range_settings(
+ &settings, (sd->flags & SCULPT_USE_OPENMP), ss->filter_cache->totnode);
+ BKE_pbvh_parallel_range(
0, ss->filter_cache->totnode, &data, sculpt_transform_task_cb, &settings);
- if (ss->modifiers_active || ss->kb) {
+ if (ss->deform_modifiers_active || ss->shapekey_active) {
sculpt_flush_stroke_deform(sd, ob, true);
}
- sculpt_flush_update_step(C);
+ sculpt_flush_update_step(C, SCULPT_UPDATE_COORDS);
}
void ED_sculpt_end_transform(struct bContext *C)
@@ -9388,7 +9592,7 @@ void ED_sculpt_end_transform(struct bContext *C)
sculpt_filter_cache_free(ss);
}
sculpt_undo_push_end();
- sculpt_flush_update_done(C, ob);
+ sculpt_flush_update_done(C, ob, SCULPT_UPDATE_COORDS);
}
typedef enum eSculptPivotPositionModes {
@@ -9437,73 +9641,80 @@ static int sculpt_set_pivot_position_invoke(bContext *C, wmOperator *op, const w
Depsgraph *depsgraph = CTX_data_depsgraph_pointer(C);
const char symm = sd->paint.symmetry_flags & PAINT_SYMM_AXIS_ALL;
- if (BKE_pbvh_type(ss->pbvh) == PBVH_GRIDS) {
- return OPERATOR_CANCELLED;
- }
-
int mode = RNA_enum_get(op->ptr, "mode");
BKE_sculpt_update_object_for_edit(depsgraph, ob, false, true);
- int vert_count = sculpt_vertex_count_get(ss);
-
/* Pivot to center */
if (mode == SCULPT_PIVOT_POSITION_ORIGIN) {
zero_v3(ss->pivot_pos);
}
+ /* Pivot to active vertex */
+ else if (mode == SCULPT_PIVOT_POSITION_ACTIVE_VERTEX) {
+ copy_v3_v3(ss->pivot_pos, sculpt_active_vertex_co_get(ss));
+ }
+ /* Pivot to raycast surface */
+ else if (mode == SCULPT_PIVOT_POSITION_CURSOR_SURFACE) {
+ float stroke_location[3];
+ float mouse[2];
+ mouse[0] = event->mval[0];
+ mouse[1] = event->mval[1];
+ if (sculpt_stroke_get_location(C, stroke_location, mouse)) {
+ copy_v3_v3(ss->pivot_pos, stroke_location);
+ }
+ }
+ else {
+ PBVHNode **nodes;
+ int totnode;
+ BKE_pbvh_search_gather(ss->pbvh, NULL, NULL, &nodes, &totnode);
- /* Pivot to unmasked */
- if (mode == SCULPT_PIVOT_POSITION_UNMASKED) {
float avg[3];
int total = 0;
zero_v3(avg);
- for (int i = 0; i < vert_count; i++) {
- if (sculpt_vertex_mask_get(ss, i) < 1.0f &&
- check_vertex_pivot_symmetry(sculpt_vertex_co_get(ss, i), ss->pivot_pos, symm)) {
- total++;
- add_v3_v3(avg, sculpt_vertex_co_get(ss, i));
+
+ /* Pivot to unmasked */
+ if (mode == SCULPT_PIVOT_POSITION_UNMASKED) {
+ for (int n = 0; n < totnode; n++) {
+ PBVHVertexIter vd;
+ BKE_pbvh_vertex_iter_begin(ss->pbvh, nodes[n], vd, PBVH_ITER_UNIQUE)
+ {
+ const float mask = (vd.mask) ? *vd.mask : 0.0f;
+ if (mask < 1.0f) {
+ if (check_vertex_pivot_symmetry(vd.co, ss->pivot_pos, symm)) {
+ add_v3_v3(avg, vd.co);
+ total++;
+ }
+ }
+ }
+ BKE_pbvh_vertex_iter_end;
}
}
- if (total > 0) {
- mul_v3_fl(avg, 1.0f / total);
- copy_v3_v3(ss->pivot_pos, avg);
- }
- }
+ /* Pivot to mask border */
+ else if (mode == SCULPT_PIVOT_POSITION_MASK_BORDER) {
+ const float threshold = 0.2f;
- /* Pivot to mask border */
- if (mode == SCULPT_PIVOT_POSITION_MASK_BORDER) {
- float avg[3];
- int total = 0;
- float threshold = 0.2f;
- zero_v3(avg);
- for (int i = 0; i < vert_count; i++) {
- if (sculpt_vertex_mask_get(ss, i) < (0.5f + threshold) &&
- sculpt_vertex_mask_get(ss, i) > (0.5f - threshold) &&
- check_vertex_pivot_symmetry(sculpt_vertex_co_get(ss, i), ss->pivot_pos, symm)) {
- total++;
- add_v3_v3(avg, sculpt_vertex_co_get(ss, i));
+ for (int n = 0; n < totnode; n++) {
+ PBVHVertexIter vd;
+ BKE_pbvh_vertex_iter_begin(ss->pbvh, nodes[n], vd, PBVH_ITER_UNIQUE)
+ {
+ const float mask = (vd.mask) ? *vd.mask : 0.0f;
+ if (mask < (0.5f + threshold) && mask > (0.5f - threshold)) {
+ if (check_vertex_pivot_symmetry(vd.co, ss->pivot_pos, symm)) {
+ add_v3_v3(avg, vd.co);
+ total++;
+ }
+ }
+ }
+ BKE_pbvh_vertex_iter_end;
}
}
+
if (total > 0) {
mul_v3_fl(avg, 1.0f / total);
copy_v3_v3(ss->pivot_pos, avg);
}
- }
- /* Pivot to active vertex */
- if (mode == SCULPT_PIVOT_POSITION_ACTIVE_VERTEX) {
- copy_v3_v3(ss->pivot_pos, sculpt_vertex_co_get(ss, sculpt_active_vertex_get(ss)));
- }
-
- /* Pivot to raycast surface */
- if (mode == SCULPT_PIVOT_POSITION_CURSOR_SURFACE) {
- float stroke_location[3];
- float mouse[2];
- mouse[0] = event->mval[0];
- mouse[1] = event->mval[1];
- if (sculpt_stroke_get_location(C, stroke_location, mouse)) {
- copy_v3_v3(ss->pivot_pos, stroke_location);
- }
+ MEM_SAFE_FREE(nodes);
}
ED_region_tag_redraw(ar);
diff --git a/source/blender/editors/sculpt_paint/sculpt_intern.h b/source/blender/editors/sculpt_paint/sculpt_intern.h
index ba7c2e601ff..93e4a777569 100644
--- a/source/blender/editors/sculpt_paint/sculpt_intern.h
+++ b/source/blender/editors/sculpt_paint/sculpt_intern.h
@@ -44,6 +44,13 @@ bool sculpt_mode_poll_view3d(struct bContext *C);
bool sculpt_poll(struct bContext *C);
bool sculpt_poll_view3d(struct bContext *C);
+/* Updates */
+
+typedef enum SculptUpdateType {
+ SCULPT_UPDATE_COORDS = 1 << 0,
+ SCULPT_UPDATE_MASK = 1 << 1,
+} SculptUpdateType;
+
/* Stroke */
typedef struct SculptCursorGeometryInfo {
@@ -63,11 +70,12 @@ void sculpt_pose_calc_pose_data(struct Sculpt *sd,
struct SculptSession *ss,
float initial_location[3],
float radius,
+ float pose_offset,
float *r_pose_origin,
float *r_pose_factor);
/* Sculpt PBVH abstraction API */
-float *sculpt_vertex_co_get(struct SculptSession *ss, int index);
+const float *sculpt_vertex_co_get(struct SculptSession *ss, int index);
/* Dynamic topology */
void sculpt_pbvh_clear(Object *ob);
@@ -186,23 +194,20 @@ typedef struct SculptThreadedTaskData {
int filter_type;
float filter_strength;
- int *node_mask;
- /* 0=towards view, 1=flipped */
- float (*area_cos)[3];
- float (*area_nos)[3];
- int *count;
+ bool use_area_cos;
+ bool use_area_nos;
bool any_vertex_sampled;
float *prev_mask;
float *pose_origin;
float *pose_initial_co;
+ float *pose_factor;
float (*transform_rot)[4], (*transform_trans)[4], (*transform_trans_inv)[4];
float max_distance_squared;
float nearest_vertex_search_co[3];
- int nearest_vertex_index;
int mask_expand_update_it;
bool mask_expand_invert_mask;
@@ -211,6 +216,10 @@ typedef struct SculptThreadedTaskData {
float transform_mats[8][4][4];
+ float dirty_mask_min;
+ float dirty_mask_max;
+ bool dirty_mask_dirty_only;
+
ThreadMutex mutex;
} SculptThreadedTaskData;
@@ -240,6 +249,7 @@ typedef struct {
float radius_squared;
float *center;
bool original;
+ bool ignore_fully_masked;
} SculptSearchSphereData;
typedef struct {
@@ -247,6 +257,7 @@ typedef struct {
struct SculptSession *ss;
float radius_squared;
bool original;
+ bool ignore_fully_masked;
struct DistRayAABB_Precalc *dist_ray_to_aabb_precalc;
} SculptSearchCircleData;
@@ -399,6 +410,7 @@ typedef struct FilterCache {
int mask_update_last_it;
int *mask_update_it;
float *normal_factor;
+ float *edge_factor;
float *prev_mask;
float mask_expand_initial_co[3];
} FilterCache;
@@ -420,6 +432,4 @@ void sculpt_update_object_bounding_box(struct Object *ob);
bool sculpt_get_redraw_rect(struct ARegion *ar, struct RegionView3D *rv3d, Object *ob, rcti *rect);
-#define SCULPT_THREADED_LIMIT 4
-
#endif
diff --git a/source/blender/editors/sculpt_paint/sculpt_undo.c b/source/blender/editors/sculpt_paint/sculpt_undo.c
index 3ba2847a374..052f2bd03a4 100644
--- a/source/blender/editors/sculpt_paint/sculpt_undo.c
+++ b/source/blender/editors/sculpt_paint/sculpt_undo.c
@@ -77,6 +77,7 @@ static UndoSculpt *sculpt_undo_get_nodes(void);
static void update_cb(PBVHNode *node, void *rebuild)
{
BKE_pbvh_node_mark_update(node);
+ BKE_pbvh_node_mark_update_mask(node);
if (*((bool *)rebuild)) {
BKE_pbvh_node_mark_rebuild_draw(node);
}
@@ -86,6 +87,7 @@ static void update_cb(PBVHNode *node, void *rebuild)
struct PartialUpdateData {
PBVH *pbvh;
bool rebuild;
+ char *modified_grids;
};
/**
@@ -94,8 +96,24 @@ struct PartialUpdateData {
static void update_cb_partial(PBVHNode *node, void *userdata)
{
struct PartialUpdateData *data = userdata;
- if (BKE_pbvh_node_vert_update_check_any(data->pbvh, node)) {
- update_cb(node, &(data->rebuild));
+ if (BKE_pbvh_type(data->pbvh) == PBVH_GRIDS) {
+ int *node_grid_indices;
+ int totgrid;
+ bool update = false;
+ BKE_pbvh_node_get_grids(data->pbvh, node, &node_grid_indices, &totgrid, NULL, NULL, NULL);
+ for (int i = 0; i < totgrid; i++) {
+ if (data->modified_grids[node_grid_indices[i]] == 1) {
+ update = true;
+ }
+ }
+ if (update) {
+ update_cb(node, &(data->rebuild));
+ }
+ }
+ else {
+ if (BKE_pbvh_node_vert_update_check_any(data->pbvh, node)) {
+ update_cb(node, &(data->rebuild));
+ }
}
}
@@ -135,7 +153,7 @@ static bool sculpt_undo_restore_coords(bContext *C, Depsgraph *depsgraph, Sculpt
if (unode->maxvert) {
/* regular mesh restore */
- if (ss->kb && !STREQ(ss->kb->name, unode->shapeName)) {
+ if (ss->shapekey_active && !STREQ(ss->shapekey_active->name, unode->shapeName)) {
/* shape key has been changed before calling undo operator */
Key *key = BKE_key_from_object(ob);
@@ -157,12 +175,12 @@ static bool sculpt_undo_restore_coords(bContext *C, Depsgraph *depsgraph, Sculpt
index = unode->index;
mvert = ss->mvert;
- if (ss->kb) {
+ if (ss->shapekey_active) {
float(*vertCos)[3];
- vertCos = BKE_keyblock_convert_to_vertcos(ob, ss->kb);
+ vertCos = BKE_keyblock_convert_to_vertcos(ob, ss->shapekey_active);
if (unode->orig_co) {
- if (ss->modifiers_active) {
+ if (ss->deform_modifiers_active) {
for (int i = 0; i < unode->totvert; i++) {
sculpt_undo_restore_deformed(ss, unode, i, index[i], vertCos[index[i]]);
}
@@ -180,36 +198,33 @@ static bool sculpt_undo_restore_coords(bContext *C, Depsgraph *depsgraph, Sculpt
}
/* propagate new coords to keyblock */
- sculpt_vertcos_to_key(ob, ss->kb, vertCos);
+ sculpt_vertcos_to_key(ob, ss->shapekey_active, vertCos);
/* pbvh uses it's own mvert array, so coords should be */
/* propagated to pbvh here */
- BKE_pbvh_vert_coords_apply(ss->pbvh, vertCos, ss->kb->totelem);
+ BKE_pbvh_vert_coords_apply(ss->pbvh, vertCos, ss->shapekey_active->totelem);
MEM_freeN(vertCos);
}
else {
if (unode->orig_co) {
- if (ss->modifiers_active) {
+ if (ss->deform_modifiers_active) {
for (int i = 0; i < unode->totvert; i++) {
- if (sculpt_undo_restore_deformed(ss, unode, i, index[i], mvert[index[i]].co)) {
- mvert[index[i]].flag |= ME_VERT_PBVH_UPDATE;
- }
+ sculpt_undo_restore_deformed(ss, unode, i, index[i], mvert[index[i]].co);
+ mvert[index[i]].flag |= ME_VERT_PBVH_UPDATE;
}
}
else {
for (int i = 0; i < unode->totvert; i++) {
- if (test_swap_v3_v3(mvert[index[i]].co, unode->orig_co[i])) {
- mvert[index[i]].flag |= ME_VERT_PBVH_UPDATE;
- }
+ swap_v3_v3(mvert[index[i]].co, unode->orig_co[i]);
+ mvert[index[i]].flag |= ME_VERT_PBVH_UPDATE;
}
}
}
else {
for (int i = 0; i < unode->totvert; i++) {
- if (test_swap_v3_v3(mvert[index[i]].co, unode->co[i])) {
- mvert[index[i]].flag |= ME_VERT_PBVH_UPDATE;
- }
+ swap_v3_v3(mvert[index[i]].co, unode->co[i]);
+ mvert[index[i]].flag |= ME_VERT_PBVH_UPDATE;
}
}
}
@@ -346,10 +361,9 @@ static void sculpt_undo_bmesh_restore_generic(bContext *C,
BKE_pbvh_search_gather(ss->pbvh, NULL, NULL, &nodes, &totnode);
- TaskParallelSettings settings;
- BLI_parallel_range_settings_defaults(&settings);
- settings.use_threading = ((sd->flags & SCULPT_USE_OPENMP) && totnode > SCULPT_THREADED_LIMIT);
- BLI_task_parallel_range(
+ PBVHParallelSettings settings;
+ BKE_pbvh_parallel_range_settings(&settings, (sd->flags & SCULPT_USE_OPENMP), totnode);
+ BKE_pbvh_parallel_range(
0, totnode, nodes, sculpt_undo_bmesh_restore_generic_task_cb, &settings);
if (nodes) {
@@ -484,9 +498,8 @@ static void sculpt_undo_restore_list(bContext *C, Depsgraph *depsgraph, ListBase
SculptSession *ss = ob->sculpt;
SubdivCCG *subdiv_ccg = ss->subdiv_ccg;
SculptUndoNode *unode;
- bool update = false, rebuild = false;
+ bool update = false, rebuild = false, update_mask = false;
bool need_mask = false;
- bool partial_update = true;
for (unode = lb->first; unode; unode = unode->next) {
/* restore pivot */
@@ -528,6 +541,9 @@ static void sculpt_undo_restore_list(bContext *C, Depsgraph *depsgraph, ListBase
return;
}
+ char *undo_modified_grids = NULL;
+ bool use_multires_undo = false;
+
for (unode = lb->first; unode; unode = unode->next) {
if (!STREQ(unode->idname, ob->id.name)) {
@@ -547,8 +563,7 @@ static void sculpt_undo_restore_list(bContext *C, Depsgraph *depsgraph, ListBase
continue;
}
- /* multi-res can't do partial updates since it doesn't flag edited vertices */
- partial_update = false;
+ use_multires_undo = true;
}
switch (unode->type) {
@@ -565,6 +580,7 @@ static void sculpt_undo_restore_list(bContext *C, Depsgraph *depsgraph, ListBase
case SCULPT_UNDO_MASK:
if (sculpt_undo_restore_mask(C, unode)) {
update = true;
+ update_mask = true;
}
break;
@@ -578,22 +594,33 @@ static void sculpt_undo_restore_list(bContext *C, Depsgraph *depsgraph, ListBase
}
}
+ if (use_multires_undo) {
+ int max_grid;
+ unode = lb->first;
+ max_grid = unode->maxgrid;
+ undo_modified_grids = MEM_callocN(sizeof(char) * max_grid, "undo_grids");
+ for (unode = lb->first; unode; unode = unode->next) {
+ for (int i = 0; i < unode->totgrid; i++) {
+ undo_modified_grids[unode->grids[i]] = 1;
+ }
+ }
+ }
+
if (update || rebuild) {
bool tag_update = false;
/* we update all nodes still, should be more clever, but also
* needs to work correct when exiting/entering sculpt mode and
* the nodes get recreated, though in that case it could do all */
- if (partial_update) {
- struct PartialUpdateData data = {
- .rebuild = rebuild,
- .pbvh = ss->pbvh,
- };
- BKE_pbvh_search_callback(ss->pbvh, NULL, NULL, update_cb_partial, &data);
- }
- else {
- BKE_pbvh_search_callback(ss->pbvh, NULL, NULL, update_cb, &rebuild);
- }
+ struct PartialUpdateData data = {
+ .rebuild = rebuild,
+ .pbvh = ss->pbvh,
+ .modified_grids = undo_modified_grids,
+ };
+ BKE_pbvh_search_callback(ss->pbvh, NULL, NULL, update_cb_partial, &data);
BKE_pbvh_update_bounds(ss->pbvh, PBVH_UpdateBB | PBVH_UpdateOriginalBB | PBVH_UpdateRedraw);
+ if (update_mask) {
+ BKE_pbvh_update_vertex_data(ss->pbvh, PBVH_UpdateMask);
+ }
if (BKE_sculpt_multires_active(scene, ob)) {
if (rebuild) {
@@ -606,7 +633,7 @@ static void sculpt_undo_restore_list(bContext *C, Depsgraph *depsgraph, ListBase
tag_update |= ((Mesh *)ob->data)->id.us > 1 || !BKE_sculptsession_use_pbvh_draw(ob, v3d);
- if (ss->kb || ss->modifiers_active) {
+ if (ss->shapekey_active || ss->deform_modifiers_active) {
Mesh *mesh = ob->data;
BKE_mesh_calc_normals(mesh);
@@ -621,6 +648,8 @@ static void sculpt_undo_restore_list(bContext *C, Depsgraph *depsgraph, ListBase
sculpt_update_object_bounding_box(ob);
}
}
+
+ MEM_SAFE_FREE(undo_modified_grids);
}
static void sculpt_undo_free_list(ListBase *lb)
@@ -807,7 +836,7 @@ static SculptUndoNode *sculpt_undo_alloc_node(Object *ob, PBVHNode *node, Sculpt
unode->index = MEM_mapallocN(sizeof(int) * allvert, "SculptUndoNode.index");
}
- if (ss->modifiers_active) {
+ if (ss->deform_modifiers_active) {
unode->orig_co = MEM_callocN(allvert * sizeof(*unode->orig_co), "undoSculpt orig_cos");
}
@@ -829,7 +858,7 @@ static void sculpt_undo_store_coords(Object *ob, SculptUndoNode *unode)
normal_float_to_short_v3(unode->no[vd.i], vd.fno);
}
- if (ss->modifiers_active) {
+ if (ss->deform_modifiers_active) {
copy_v3_v3(unode->orig_co[vd.i], ss->orig_cos[unode->index[vd.i]]);
}
}
@@ -998,6 +1027,8 @@ SculptUndoNode *sculpt_undo_push_node(Object *ob, PBVHNode *node, SculptUndoType
/* list is manipulated by multiple threads, so we lock */
BLI_thread_lock(LOCK_CUSTOM1);
+ ss->needs_flush_to_id = 1;
+
if (ss->bm || ELEM(type, SCULPT_UNDO_DYNTOPO_BEGIN, SCULPT_UNDO_DYNTOPO_END)) {
/* Dynamic topology stores only one undo node per stroke,
* regardless of the number of PBVH nodes modified */
@@ -1058,8 +1089,8 @@ SculptUndoNode *sculpt_undo_push_node(Object *ob, PBVHNode *node, SculptUndoType
copy_v3_v3(unode->pivot_rot, ss->pivot_rot);
/* store active shape key */
- if (ss->kb) {
- BLI_strncpy(unode->shapeName, ss->kb->name, sizeof(ss->kb->name));
+ if (ss->shapekey_active) {
+ BLI_strncpy(unode->shapeName, ss->shapekey_active->name, sizeof(ss->shapekey_active->name));
}
else {
unode->shapeName[0] = '\0';
@@ -1113,17 +1144,6 @@ typedef struct SculptUndoStep {
UndoSculpt data;
} SculptUndoStep;
-static bool sculpt_undosys_poll(bContext *C)
-{
- Object *obact = CTX_data_active_object(C);
- if (obact && obact->type == OB_MESH) {
- if (obact && (obact->mode & OB_MODE_SCULPT)) {
- return true;
- }
- }
- return false;
-}
-
static void sculpt_undosys_step_encode_init(struct bContext *UNUSED(C), UndoStep *us_p)
{
SculptUndoStep *us = (SculptUndoStep *)us_p;
@@ -1132,7 +1152,7 @@ static void sculpt_undosys_step_encode_init(struct bContext *UNUSED(C), UndoStep
}
static bool sculpt_undosys_step_encode(struct bContext *UNUSED(C),
- struct Main *UNUSED(bmain),
+ struct Main *bmain,
UndoStep *us_p)
{
/* dummy, encoding is done along the way by adding tiles
@@ -1145,6 +1165,11 @@ static bool sculpt_undosys_step_encode(struct bContext *UNUSED(C),
us->step.use_memfile_step = true;
}
us->step.is_applied = true;
+
+ if (!BLI_listbase_is_empty(&us->data.nodes)) {
+ bmain->is_memfile_undo_flush_needed = true;
+ }
+
return true;
}
@@ -1227,7 +1252,11 @@ static void sculpt_undosys_step_decode(
me->flag &= ~ME_SCULPT_DYNAMIC_TOPOLOGY;
ED_object_sculptmode_enter_ex(bmain, depsgraph, scene, ob, true, NULL);
}
- BLI_assert(sculpt_undosys_poll(C));
+
+ if (ob->sculpt) {
+ ob->sculpt->needs_flush_to_id = 1;
+ }
+ bmain->is_memfile_undo_flush_needed = true;
}
else {
BLI_assert(0);
@@ -1266,7 +1295,6 @@ void ED_sculpt_undo_geometry_end(struct Object *ob)
void ED_sculpt_undosys_type(UndoType *ut)
{
ut->name = "Sculpt";
- ut->poll = sculpt_undosys_poll;
ut->step_encode_init = sculpt_undosys_step_encode_init;
ut->step_encode = sculpt_undosys_step_encode;
ut->step_decode = sculpt_undosys_step_decode;
diff --git a/source/blender/editors/sound/sound_ops.c b/source/blender/editors/sound/sound_ops.c
index 4e710d31cbb..69745663c02 100644
--- a/source/blender/editors/sound/sound_ops.c
+++ b/source/blender/editors/sound/sound_ops.c
@@ -273,8 +273,11 @@ static void sound_update_animation_flags(Scene *scene)
static int sound_update_animation_flags_exec(bContext *C, wmOperator *UNUSED(op))
{
+ Scene *scene = CTX_data_scene(C);
+
BKE_main_id_tag_idcode(CTX_data_main(C), ID_SCE, LIB_TAG_DOIT, false);
sound_update_animation_flags(CTX_data_scene(C));
+ DEG_id_tag_update(&scene->id, ID_RECALC_SEQUENCER_STRIPS);
return OPERATOR_FINISHED;
}
diff --git a/source/blender/editors/space_action/action_select.c b/source/blender/editors/space_action/action_select.c
index 4a4ff5f5605..ca6efb5f69e 100644
--- a/source/blender/editors/space_action/action_select.c
+++ b/source/blender/editors/space_action/action_select.c
@@ -153,7 +153,8 @@ static void actkeys_find_key_in_list_element(bAnimContext *ac,
float region_x,
float *r_selx,
float *r_frame,
- bool *r_found)
+ bool *r_found,
+ bool *r_is_selected)
{
*r_found = false;
@@ -182,6 +183,7 @@ static void actkeys_find_key_in_list_element(bAnimContext *ac,
*r_selx = BKE_nla_tweakedit_remap(adt, ak->cfra, NLATIME_CONVERT_UNMAP);
*r_frame = ak->cfra;
*r_found = true;
+ *r_is_selected = (ak->sel & SELECT) != 0;
break;
}
}
@@ -197,14 +199,16 @@ static void actkeys_find_key_at_position(bAnimContext *ac,
bAnimListElem **r_ale,
float *r_selx,
float *r_frame,
- bool *r_found)
+ bool *r_found,
+ bool *r_is_selected)
{
*r_found = false;
*r_ale = actkeys_find_list_element_at_position(ac, filter, region_x, region_y);
if (*r_ale != NULL) {
- actkeys_find_key_in_list_element(ac, *r_ale, region_x, r_selx, r_frame, r_found);
+ actkeys_find_key_in_list_element(
+ ac, *r_ale, region_x, r_selx, r_frame, r_found, r_is_selected);
}
}
@@ -213,9 +217,11 @@ static bool actkeys_is_key_at_position(bAnimContext *ac, float region_x, float r
bAnimListElem *ale;
float selx, frame;
bool found;
+ bool is_selected;
int filter = ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_LIST_CHANNELS;
- actkeys_find_key_at_position(ac, filter, region_x, region_y, &ale, &selx, &frame, &found);
+ actkeys_find_key_at_position(
+ ac, filter, region_x, region_y, &ale, &selx, &frame, &found, &is_selected);
if (ale != NULL) {
MEM_freeN(ale);
@@ -1681,20 +1687,29 @@ static void actkeys_mselect_channel_only(bAnimContext *ac, bAnimListElem *ale, s
/* ------------------- */
-static void mouse_action_keys(bAnimContext *ac,
- const int mval[2],
- short select_mode,
- const bool deselect_all,
- const bool column,
- const bool same_channel)
+static int mouse_action_keys(bAnimContext *ac,
+ const int mval[2],
+ short select_mode,
+ const bool deselect_all,
+ const bool column,
+ const bool same_channel,
+ bool wait_to_deselect_others)
{
int filter = ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_LIST_CHANNELS;
bAnimListElem *ale = NULL;
bool found = false;
+ bool is_selected = false;
float frame = 0.0f; /* frame of keyframe under mouse - NLA corrections not applied/included */
float selx = 0.0f; /* frame of keyframe under mouse */
- actkeys_find_key_at_position(ac, filter, mval[0], mval[1], &ale, &selx, &frame, &found);
+ int ret_value = OPERATOR_FINISHED;
+
+ actkeys_find_key_at_position(
+ ac, filter, mval[0], mval[1], &ale, &selx, &frame, &found, &is_selected);
+
+ if (select_mode != SELECT_REPLACE) {
+ wait_to_deselect_others = false;
+ }
/* For replacing selection, if we have something to select, we have to clear existing selection.
* The same goes if we found nothing to select, and deselect_all is true
@@ -1703,56 +1718,61 @@ static void mouse_action_keys(bAnimContext *ac,
/* reset selection mode for next steps */
select_mode = SELECT_ADD;
- /* deselect all keyframes */
- deselect_action_keys(ac, 0, SELECT_SUBTRACT);
-
- /* highlight channel clicked on */
- if (ELEM(ac->datatype, ANIMCONT_ACTION, ANIMCONT_DOPESHEET, ANIMCONT_TIMELINE)) {
- /* deselect all other channels first */
- ANIM_deselect_anim_channels(ac, ac->data, ac->datatype, 0, ACHANNEL_SETFLAG_CLEAR);
-
- /* Highlight Action-Group or F-Curve? */
- if (ale != NULL && ale->data) {
- if (ale->type == ANIMTYPE_GROUP) {
- bActionGroup *agrp = ale->data;
-
- agrp->flag |= AGRP_SELECTED;
- ANIM_set_active_channel(ac, ac->data, ac->datatype, filter, agrp, ANIMTYPE_GROUP);
- }
- else if (ELEM(ale->type, ANIMTYPE_FCURVE, ANIMTYPE_NLACURVE)) {
- FCurve *fcu = ale->data;
-
- fcu->flag |= FCURVE_SELECTED;
- ANIM_set_active_channel(ac, ac->data, ac->datatype, filter, fcu, ale->type);
+ if (wait_to_deselect_others && is_selected) {
+ ret_value = OPERATOR_RUNNING_MODAL;
+ }
+ else {
+ /* deselect all keyframes */
+ deselect_action_keys(ac, 0, SELECT_SUBTRACT);
+
+ /* highlight channel clicked on */
+ if (ELEM(ac->datatype, ANIMCONT_ACTION, ANIMCONT_DOPESHEET, ANIMCONT_TIMELINE)) {
+ /* deselect all other channels first */
+ ANIM_deselect_anim_channels(ac, ac->data, ac->datatype, 0, ACHANNEL_SETFLAG_CLEAR);
+
+ /* Highlight Action-Group or F-Curve? */
+ if (ale != NULL && ale->data) {
+ if (ale->type == ANIMTYPE_GROUP) {
+ bActionGroup *agrp = ale->data;
+
+ agrp->flag |= AGRP_SELECTED;
+ ANIM_set_active_channel(ac, ac->data, ac->datatype, filter, agrp, ANIMTYPE_GROUP);
+ }
+ else if (ELEM(ale->type, ANIMTYPE_FCURVE, ANIMTYPE_NLACURVE)) {
+ FCurve *fcu = ale->data;
+
+ fcu->flag |= FCURVE_SELECTED;
+ ANIM_set_active_channel(ac, ac->data, ac->datatype, filter, fcu, ale->type);
+ }
}
}
- }
- else if (ac->datatype == ANIMCONT_GPENCIL) {
- /* deselect all other channels first */
- ANIM_deselect_anim_channels(ac, ac->data, ac->datatype, 0, ACHANNEL_SETFLAG_CLEAR);
-
- /* Highlight GPencil Layer */
- if (ale != NULL && ale->data != NULL && ale->type == ANIMTYPE_GPLAYER) {
- bGPdata *gpd = (bGPdata *)ale->id;
- bGPDlayer *gpl = ale->data;
-
- gpl->flag |= GP_LAYER_SELECT;
- /* Update other layer status. */
- if (BKE_gpencil_layer_getactive(gpd) != gpl) {
- BKE_gpencil_layer_setactive(gpd, gpl);
- BKE_gpencil_layer_autolock_set(gpd, false);
- WM_main_add_notifier(NC_GPENCIL | ND_DATA | NA_EDITED, NULL);
+ else if (ac->datatype == ANIMCONT_GPENCIL) {
+ /* deselect all other channels first */
+ ANIM_deselect_anim_channels(ac, ac->data, ac->datatype, 0, ACHANNEL_SETFLAG_CLEAR);
+
+ /* Highlight GPencil Layer */
+ if (ale != NULL && ale->data != NULL && ale->type == ANIMTYPE_GPLAYER) {
+ bGPdata *gpd = (bGPdata *)ale->id;
+ bGPDlayer *gpl = ale->data;
+
+ gpl->flag |= GP_LAYER_SELECT;
+ /* Update other layer status. */
+ if (BKE_gpencil_layer_getactive(gpd) != gpl) {
+ BKE_gpencil_layer_setactive(gpd, gpl);
+ BKE_gpencil_layer_autolock_set(gpd, false);
+ WM_main_add_notifier(NC_GPENCIL | ND_DATA | NA_EDITED, NULL);
+ }
}
}
- }
- else if (ac->datatype == ANIMCONT_MASK) {
- /* deselect all other channels first */
- ANIM_deselect_anim_channels(ac, ac->data, ac->datatype, 0, ACHANNEL_SETFLAG_CLEAR);
+ else if (ac->datatype == ANIMCONT_MASK) {
+ /* deselect all other channels first */
+ ANIM_deselect_anim_channels(ac, ac->data, ac->datatype, 0, ACHANNEL_SETFLAG_CLEAR);
- if (ale != NULL && ale->data != NULL && ale->type == ANIMTYPE_MASKLAYER) {
- MaskLayer *masklay = ale->data;
+ if (ale != NULL && ale->data != NULL && ale->type == ANIMTYPE_MASKLAYER) {
+ MaskLayer *masklay = ale->data;
- masklay->flag |= MASK_LAYERFLAG_SELECT;
+ masklay->flag |= MASK_LAYERFLAG_SELECT;
+ }
}
}
}
@@ -1787,12 +1807,15 @@ static void mouse_action_keys(bAnimContext *ac,
/* free this channel */
MEM_freeN(ale);
}
+
+ return ret_value;
}
/* handle clicking */
-static int actkeys_clickselect_invoke(bContext *C, wmOperator *op, const wmEvent *event)
+static int actkeys_clickselect_exec(bContext *C, wmOperator *op)
{
bAnimContext ac;
+ int ret_value;
/* get editor data */
if (ANIM_animdata_get_context(C, &ac) == 0) {
@@ -1805,20 +1828,26 @@ static int actkeys_clickselect_invoke(bContext *C, wmOperator *op, const wmEvent
/* select mode is either replace (deselect all, then add) or add/extend */
const short selectmode = RNA_boolean_get(op->ptr, "extend") ? SELECT_INVERT : SELECT_REPLACE;
const bool deselect_all = RNA_boolean_get(op->ptr, "deselect_all");
+ const bool wait_to_deselect_others = RNA_boolean_get(op->ptr, "wait_to_deselect_others");
+ int mval[2];
/* column selection */
const bool column = RNA_boolean_get(op->ptr, "column");
const bool channel = RNA_boolean_get(op->ptr, "channel");
+ mval[0] = RNA_int_get(op->ptr, "mouse_x");
+ mval[1] = RNA_int_get(op->ptr, "mouse_y");
+
/* select keyframe(s) based upon mouse position*/
- mouse_action_keys(&ac, event->mval, selectmode, deselect_all, column, channel);
+ ret_value = mouse_action_keys(
+ &ac, mval, selectmode, deselect_all, column, channel, wait_to_deselect_others);
/* set notifier that keyframe selection (and channels too) have changed */
WM_event_add_notifier(C, NC_ANIMATION | ND_KEYFRAME | NA_SELECTED, NULL);
WM_event_add_notifier(C, NC_ANIMATION | ND_ANIMCHAN | NA_SELECTED, NULL);
/* for tweak grab to work */
- return OPERATOR_FINISHED | OPERATOR_PASS_THROUGH;
+ return ret_value | OPERATOR_PASS_THROUGH;
}
void ACTION_OT_clickselect(wmOperatorType *ot)
@@ -1831,13 +1860,16 @@ void ACTION_OT_clickselect(wmOperatorType *ot)
ot->description = "Select keyframes by clicking on them";
/* callbacks */
- ot->invoke = actkeys_clickselect_invoke;
ot->poll = ED_operator_action_active;
+ ot->exec = actkeys_clickselect_exec;
+ ot->invoke = WM_generic_select_invoke;
+ ot->modal = WM_generic_select_modal;
/* flags */
ot->flag = OPTYPE_UNDO;
/* properties */
+ WM_operator_properties_generic_select(ot);
prop = RNA_def_boolean(
ot->srna,
"extend",
diff --git a/source/blender/editors/space_clip/clip_intern.h b/source/blender/editors/space_clip/clip_intern.h
index 1fae4c91a48..bd54d4f0016 100644
--- a/source/blender/editors/space_clip/clip_intern.h
+++ b/source/blender/editors/space_clip/clip_intern.h
@@ -94,6 +94,7 @@ void CLIP_OT_view_zoom_out(struct wmOperatorType *ot);
void CLIP_OT_view_zoom_ratio(struct wmOperatorType *ot);
void CLIP_OT_view_all(struct wmOperatorType *ot);
void CLIP_OT_view_selected(struct wmOperatorType *ot);
+void CLIP_OT_view_center_cursor(struct wmOperatorType *ot);
void CLIP_OT_change_frame(wmOperatorType *ot);
void CLIP_OT_rebuild_proxy(struct wmOperatorType *ot);
void CLIP_OT_mode_set(struct wmOperatorType *ot);
diff --git a/source/blender/editors/space_clip/clip_ops.c b/source/blender/editors/space_clip/clip_ops.c
index da534cf9b40..4a4b85cbf8f 100644
--- a/source/blender/editors/space_clip/clip_ops.c
+++ b/source/blender/editors/space_clip/clip_ops.c
@@ -78,7 +78,9 @@
#include "clip_intern.h" // own include
-/******************** view navigation utilities *********************/
+/* -------------------------------------------------------------------- */
+/** \name View Navigation Utilities
+ * \{ */
static void sclip_zoom_set(const bContext *C,
float zoom,
@@ -162,7 +164,11 @@ static void sclip_zoom_set_factor_exec(bContext *C, const wmEvent *event, float
ED_region_tag_redraw(ar);
}
-/******************** open clip operator ********************/
+/** \} */
+
+/* -------------------------------------------------------------------- */
+/** \name Open Clip Operator
+ * \{ */
static void clip_filesel(bContext *C, wmOperator *op, const char *path)
{
@@ -326,7 +332,11 @@ void CLIP_OT_open(wmOperatorType *ot)
FILE_SORT_ALPHA);
}
-/******************* reload clip operator *********************/
+/** \} */
+
+/* -------------------------------------------------------------------- */
+/** \name Reload Clip Operator
+ * \{ */
static int reload_exec(bContext *C, wmOperator *UNUSED(op))
{
@@ -355,7 +365,11 @@ void CLIP_OT_reload(wmOperatorType *ot)
ot->exec = reload_exec;
}
-/********************** view pan operator *********************/
+/** \} */
+
+/* -------------------------------------------------------------------- */
+/** \name View Pan Operator
+ * \{ */
typedef struct ViewPanData {
float x, y;
@@ -376,7 +390,7 @@ static void view_pan_init(bContext *C, wmOperator *op, const wmEvent *event)
/* Grab will be set when running from gizmo. */
vpd->own_cursor = (win->grabcursor == 0);
if (vpd->own_cursor) {
- WM_cursor_modal_set(win, BC_NSEW_SCROLLCURSOR);
+ WM_cursor_modal_set(win, WM_CURSOR_NSEW_SCROLL);
}
vpd->x = event->x;
@@ -525,7 +539,11 @@ void CLIP_OT_view_pan(wmOperatorType *ot)
FLT_MAX);
}
-/********************** view zoom operator *********************/
+/** \} */
+
+/* -------------------------------------------------------------------- */
+/** \name View Zoom Operator
+ * \{ */
typedef struct ViewZoomData {
float x, y;
@@ -549,7 +567,7 @@ static void view_zoom_init(bContext *C, wmOperator *op, const wmEvent *event)
/* Grab will be set when running from gizmo. */
vpd->own_cursor = (win->grabcursor == 0);
if (vpd->own_cursor) {
- WM_cursor_modal_set(win, BC_NSEW_SCROLLCURSOR);
+ WM_cursor_modal_set(win, WM_CURSOR_NSEW_SCROLL);
}
if (U.viewzoom == USER_ZOOM_CONT) {
@@ -729,7 +747,11 @@ void CLIP_OT_view_zoom(wmOperatorType *ot)
WM_operator_properties_use_cursor_init(ot);
}
-/********************** view zoom in/out operator *********************/
+/** \} */
+
+/* -------------------------------------------------------------------- */
+/** \name View Zoom In/Out Operator
+ * \{ */
static int view_zoom_in_exec(bContext *C, wmOperator *op)
{
@@ -845,7 +867,11 @@ void CLIP_OT_view_zoom_out(wmOperatorType *ot)
RNA_def_property_flag(prop, PROP_HIDDEN);
}
-/********************** view zoom ratio operator *********************/
+/** \} */
+
+/* -------------------------------------------------------------------- */
+/** \name View Zoom Ratio Operator
+ * \{ */
static int view_zoom_ratio_exec(bContext *C, wmOperator *op)
{
@@ -887,8 +913,11 @@ void CLIP_OT_view_zoom_ratio(wmOperatorType *ot)
-FLT_MAX,
FLT_MAX);
}
+/** \} */
-/********************** view all operator *********************/
+/* -------------------------------------------------------------------- */
+/** \name View All Operator
+ * \{ */
static int view_all_exec(bContext *C, wmOperator *op)
{
@@ -961,8 +990,41 @@ void CLIP_OT_view_all(wmOperatorType *ot)
prop = RNA_def_boolean(ot->srna, "fit_view", 0, "Fit View", "Fit frame to the viewport");
RNA_def_property_flag(prop, PROP_SKIP_SAVE);
}
+/** \} */
+
+/* -------------------------------------------------------------------- */
+/** \name Center View To Cursor Operator
+ * \{ */
+
+static int view_center_cursor_exec(bContext *C, wmOperator *UNUSED(op))
+{
+ SpaceClip *sc = CTX_wm_space_clip(C);
+ ARegion *ar = CTX_wm_region(C);
+
+ clip_view_center_to_point(sc, sc->cursor[0], sc->cursor[1]);
-/********************** view selected operator *********************/
+ ED_region_tag_redraw(ar);
+
+ return OPERATOR_FINISHED;
+}
+
+void CLIP_OT_view_center_cursor(wmOperatorType *ot)
+{
+ /* identifiers */
+ ot->name = "Center View to Cursor";
+ ot->description = "Center the view so that the cursor is in the middle of the view";
+ ot->idname = "CLIP_OT_view_center_cursor";
+
+ /* api callbacks */
+ ot->exec = view_center_cursor_exec;
+ ot->poll = ED_space_clip_maskedit_poll;
+}
+
+/** \} */
+
+/* -------------------------------------------------------------------- */
+/** \name View Selected Operator
+ * \{ */
static int view_selected_exec(bContext *C, wmOperator *UNUSED(op))
{
@@ -992,8 +1054,11 @@ void CLIP_OT_view_selected(wmOperatorType *ot)
/* flags */
ot->flag = OPTYPE_LOCK_BYPASS;
}
+/** \} */
-/********************** change frame operator *********************/
+/* -------------------------------------------------------------------- */
+/** \name Change Frame Operator
+ * \{ */
static bool change_frame_poll(bContext *C)
{
@@ -1053,7 +1118,7 @@ static int change_frame_invoke(bContext *C, wmOperator *op, const wmEvent *event
ARegion *ar = CTX_wm_region(C);
if (ar->regiontype == RGN_TYPE_WINDOW) {
- if (event->mval[1] > 16) {
+ if (event->mval[1] > 16 * UI_DPI_FAC) {
return OPERATOR_PASS_THROUGH;
}
}
@@ -1109,8 +1174,11 @@ void CLIP_OT_change_frame(wmOperatorType *ot)
/* rna */
RNA_def_int(ot->srna, "frame", 0, MINAFRAME, MAXFRAME, "Frame", "", MINAFRAME, MAXFRAME);
}
+/** \} */
-/********************** rebuild proxies operator *********************/
+/* -------------------------------------------------------------------- */
+/** \name Rebuild Proxies Operator
+ * \{ */
typedef struct ProxyBuildJob {
Scene *scene;
@@ -1521,8 +1589,11 @@ void CLIP_OT_rebuild_proxy(wmOperatorType *ot)
/* flags */
ot->flag = OPTYPE_REGISTER;
}
+/** \} */
-/********************** mode set operator *********************/
+/* -------------------------------------------------------------------- */
+/** \name Mode Set Operator
+ * \{ */
static int mode_set_exec(bContext *C, wmOperator *op)
{
@@ -1558,7 +1629,12 @@ void CLIP_OT_mode_set(wmOperatorType *ot)
}
#ifdef WITH_INPUT_NDOF
-/********************** NDOF operator *********************/
+
+/** \} */
+
+/* -------------------------------------------------------------------- */
+/** \name NDOF Operator
+ * \{ */
/* Combined pan/zoom from a 3D mouse device.
* Z zooms, XY pans
@@ -1608,9 +1684,14 @@ void CLIP_OT_view_ndof(wmOperatorType *ot)
/* flags */
ot->flag = OPTYPE_LOCK_BYPASS;
}
+
+/** \} */
+
#endif /* WITH_INPUT_NDOF */
-/********************** Prefetch operator *********************/
+/* -------------------------------------------------------------------- */
+/** \name Prefetch Operator
+ * \{ */
static int clip_prefetch_modal(bContext *C, wmOperator *UNUSED(op), const wmEvent *event)
{
@@ -1650,8 +1731,11 @@ void CLIP_OT_prefetch(wmOperatorType *ot)
ot->invoke = clip_prefetch_invoke;
ot->modal = clip_prefetch_modal;
}
+/** \} */
-/********************** Set scene frames *********************/
+/* -------------------------------------------------------------------- */
+/** \name Set Scene Frames Operator
+ * \{ */
static int clip_set_scene_frames_exec(bContext *C, wmOperator *UNUSED(op))
{
@@ -1686,8 +1770,11 @@ void CLIP_OT_set_scene_frames(wmOperatorType *ot)
ot->poll = ED_space_clip_view_clip_poll;
ot->exec = clip_set_scene_frames_exec;
}
+/** \} */
-/******************** set 3d cursor operator ********************/
+/* -------------------------------------------------------------------- */
+/** \name Set 3d Cursor Operator
+ * \{ */
static int clip_set_2d_cursor_exec(bContext *C, wmOperator *op)
{
@@ -1748,7 +1835,11 @@ void CLIP_OT_cursor_set(wmOperatorType *ot)
10.0f);
}
-/********************** Toggle lock to selection operator *********************/
+/** \} */
+
+/* -------------------------------------------------------------------- */
+/** \name Toggle Lock To Selection Operator
+ * \{ */
static int lock_selection_togglee_exec(bContext *C, wmOperator *UNUSED(op))
{
@@ -1773,7 +1864,11 @@ void CLIP_OT_lock_selection_toggle(wmOperatorType *ot)
ot->flag = OPTYPE_LOCK_BYPASS;
}
-/********************** macros *********************/
+/** \} */
+
+/* -------------------------------------------------------------------- */
+/** \name Macros
+ * \{ */
void ED_operatormacros_clip(void)
{
@@ -1797,3 +1892,5 @@ void ED_operatormacros_clip(void)
otmacro = WM_operatortype_macro_define(ot, "TRANSFORM_OT_translate");
RNA_boolean_set(otmacro->ptr, "release_confirm", true);
}
+
+/** \} */
diff --git a/source/blender/editors/space_clip/space_clip.c b/source/blender/editors/space_clip/space_clip.c
index 2964a95648a..16305a9b17b 100644
--- a/source/blender/editors/space_clip/space_clip.c
+++ b/source/blender/editors/space_clip/space_clip.c
@@ -443,6 +443,7 @@ static void clip_operatortypes(void)
WM_operatortype_append(CLIP_OT_view_zoom_ratio);
WM_operatortype_append(CLIP_OT_view_all);
WM_operatortype_append(CLIP_OT_view_selected);
+ WM_operatortype_append(CLIP_OT_view_center_cursor);
WM_operatortype_append(CLIP_OT_change_frame);
WM_operatortype_append(CLIP_OT_rebuild_proxy);
WM_operatortype_append(CLIP_OT_mode_set);
diff --git a/source/blender/editors/space_clip/tracking_ops_solve.c b/source/blender/editors/space_clip/tracking_ops_solve.c
index 1d2fc239a89..7e2671382b9 100644
--- a/source/blender/editors/space_clip/tracking_ops_solve.c
+++ b/source/blender/editors/space_clip/tracking_ops_solve.c
@@ -118,7 +118,11 @@ static void solve_camera_freejob(void *scv)
MovieClip *clip = scj->clip;
int solved;
- WM_set_locked_interface(scj->wm, false);
+ /* WindowManager is missing in the job when initialization is incomplete.
+ * In this case the interface is not locked either. */
+ if (scj->wm != NULL) {
+ WM_set_locked_interface(scj->wm, false);
+ }
if (!scj->context) {
/* job weren't fully initialized due to some error */
diff --git a/source/blender/editors/space_clip/tracking_ops_utils.c b/source/blender/editors/space_clip/tracking_ops_utils.c
index 3970f1381bf..7579c9a49c6 100644
--- a/source/blender/editors/space_clip/tracking_ops_utils.c
+++ b/source/blender/editors/space_clip/tracking_ops_utils.c
@@ -57,11 +57,11 @@ void clip_tracking_clear_invisible_track_selection(SpaceClip *sc, MovieClip *cli
void clip_tracking_hide_cursor(bContext *C)
{
wmWindow *win = CTX_wm_window(C);
- WM_cursor_set(win, CURSOR_NONE);
+ WM_cursor_set(win, WM_CURSOR_NONE);
}
void clip_tracking_show_cursor(bContext *C)
{
wmWindow *win = CTX_wm_window(C);
- WM_cursor_set(win, CURSOR_STD);
+ WM_cursor_set(win, WM_CURSOR_DEFAULT);
}
diff --git a/source/blender/editors/space_console/space_console.c b/source/blender/editors/space_console/space_console.c
index f5c02dbd724..5cc2f00413a 100644
--- a/source/blender/editors/space_console/space_console.c
+++ b/source/blender/editors/space_console/space_console.c
@@ -149,11 +149,11 @@ static void console_main_region_init(wmWindowManager *wm, ARegion *ar)
static void console_cursor(wmWindow *win, ScrArea *sa, ARegion *ar)
{
SpaceText *st = sa->spacedata.first;
- int wmcursor = BC_TEXTEDITCURSOR;
+ int wmcursor = WM_CURSOR_TEXT_EDIT;
if (st->text &&
BLI_rcti_isect_pt(&st->txtbar, win->eventstate->x - ar->winrct.xmin, st->txtbar.ymin)) {
- wmcursor = CURSOR_STD;
+ wmcursor = WM_CURSOR_DEFAULT;
}
WM_cursor_set(win, wmcursor);
diff --git a/source/blender/editors/space_file/file_ops.c b/source/blender/editors/space_file/file_ops.c
index b4b51de302d..3cdcc07f081 100644
--- a/source/blender/editors/space_file/file_ops.c
+++ b/source/blender/editors/space_file/file_ops.c
@@ -2395,60 +2395,49 @@ void FILE_OT_filenum(struct wmOperatorType *ot)
RNA_def_int(ot->srna, "increment", 1, -100, 100, "Increment", "", -100, 100);
}
-static int file_rename_exec(bContext *C, wmOperator *UNUSED(op))
+static void file_rename_state_activate(SpaceFile *sfile, int file_idx, bool require_selected)
{
- ScrArea *sa = CTX_wm_area(C);
- SpaceFile *sfile = (SpaceFile *)CTX_wm_space_data(C);
+ const int numfiles = filelist_files_ensure(sfile->files);
- if (sfile->params) {
- int idx = sfile->params->highlight_file;
- int numfiles = filelist_files_ensure(sfile->files);
- if ((0 <= idx) && (idx < numfiles)) {
- FileDirEntry *file = filelist_file(sfile->files, idx);
+ if ((file_idx >= 0) && (file_idx < numfiles)) {
+ FileDirEntry *file = filelist_file(sfile->files, file_idx);
+
+ if ((require_selected == false) ||
+ (filelist_entry_select_get(sfile->files, file, CHECK_ALL) & FILE_SEL_SELECTED)) {
filelist_entry_select_index_set(
- sfile->files, idx, FILE_SEL_ADD, FILE_SEL_EDITING, CHECK_ALL);
+ sfile->files, file_idx, FILE_SEL_ADD, FILE_SEL_EDITING, CHECK_ALL);
BLI_strncpy(sfile->params->renamefile, file->relpath, FILE_MAXFILE);
/* We can skip the pending state,
* as we can directly set FILE_SEL_EDITING on the expected entry here. */
sfile->params->rename_flag = FILE_PARAMS_RENAME_ACTIVE;
}
+ }
+}
+
+static int file_rename_invoke(bContext *C, wmOperator *UNUSED(op), const wmEvent *UNUSED(event))
+{
+ ScrArea *sa = CTX_wm_area(C);
+ SpaceFile *sfile = (SpaceFile *)CTX_wm_space_data(C);
+
+ if (sfile->params) {
+ file_rename_state_activate(sfile, sfile->params->active_file, true);
ED_area_tag_redraw(sa);
}
return OPERATOR_FINISHED;
}
-static bool file_rename_poll(bContext *C)
+static int file_rename_exec(bContext *C, wmOperator *UNUSED(op))
{
- bool poll = ED_operator_file_active(C);
- SpaceFile *sfile = CTX_wm_space_file(C);
-
- if (sfile && sfile->params) {
- int idx = sfile->params->highlight_file;
- int numfiles = filelist_files_ensure(sfile->files);
-
- if ((0 <= idx) && (idx < numfiles)) {
- FileDirEntry *file = filelist_file(sfile->files, idx);
- if (FILENAME_IS_CURRPAR(file->relpath)) {
- poll = false;
- }
- }
+ ScrArea *sa = CTX_wm_area(C);
+ SpaceFile *sfile = (SpaceFile *)CTX_wm_space_data(C);
- if (sfile->params->highlight_file < 0) {
- poll = false;
- }
- else {
- char dir[FILE_MAX_LIBEXTRA];
- if (filelist_islibrary(sfile->files, dir, NULL)) {
- poll = false;
- }
- }
- }
- else {
- poll = false;
+ if (sfile->params) {
+ file_rename_state_activate(sfile, sfile->params->highlight_file, false);
+ ED_area_tag_redraw(sa);
}
- return poll;
+ return OPERATOR_FINISHED;
}
void FILE_OT_rename(struct wmOperatorType *ot)
@@ -2459,8 +2448,9 @@ void FILE_OT_rename(struct wmOperatorType *ot)
ot->idname = "FILE_OT_rename";
/* api callbacks */
+ ot->invoke = file_rename_invoke;
ot->exec = file_rename_exec;
- ot->poll = file_rename_poll;
+ ot->poll = ED_operator_file_active;
}
static bool file_delete_poll(bContext *C)
@@ -2504,23 +2494,29 @@ int file_delete_exec(bContext *C, wmOperator *op)
int numfiles = filelist_files_ensure(sfile->files);
int i;
+ const char *error_message = NULL;
bool report_error = false;
errno = 0;
for (i = 0; i < numfiles; i++) {
if (filelist_entry_select_index_get(sfile->files, i, CHECK_FILES)) {
file = filelist_file(sfile->files, i);
BLI_make_file_string(BKE_main_blendfile_path(bmain), str, sfile->params->dir, file->relpath);
- if (BLI_delete(str, false, false) != 0 || BLI_exists(str)) {
+ if (BLI_delete_soft(str, &error_message) != 0 || BLI_exists(str)) {
report_error = true;
}
}
}
if (report_error) {
- BKE_reportf(op->reports,
- RPT_ERROR,
- "Could not delete file: %s",
- errno ? strerror(errno) : "unknown error");
+ if (error_message != NULL) {
+ BKE_reportf(op->reports, RPT_ERROR, "Could not delete file or directory: %s", error_message);
+ }
+ else {
+ BKE_reportf(op->reports,
+ RPT_ERROR,
+ "Could not delete file or directory: %s",
+ errno ? strerror(errno) : "unknown error");
+ }
}
ED_fileselect_clear(wm, sa, sfile);
@@ -2533,7 +2529,7 @@ void FILE_OT_delete(struct wmOperatorType *ot)
{
/* identifiers */
ot->name = "Delete Selected Files";
- ot->description = "Delete selected files";
+ ot->description = "Move selected files to the trash or recycle bin";
ot->idname = "FILE_OT_delete";
/* api callbacks */
diff --git a/source/blender/editors/space_file/filelist.c b/source/blender/editors/space_file/filelist.c
index 27cccf6bab1..1ea7d81f9da 100644
--- a/source/blender/editors/space_file/filelist.c
+++ b/source/blender/editors/space_file/filelist.c
@@ -338,7 +338,7 @@ enum {
enum {
SPECIAL_IMG_DOCUMENT = 0,
- SPECIAL_IMG_UNSUPORTED = 1,
+ SPECIAL_IMG_DRIVE_DISC = 1,
SPECIAL_IMG_FOLDER = 2,
SPECIAL_IMG_PARENT = 3,
SPECIAL_IMG_DRIVE_FIXED = 4,
@@ -831,7 +831,7 @@ void filelist_setfilter_options(FileList *filelist,
}
if ((filelist->filter_data.filter != filter) || (filelist->filter_data.filter_id != filter_id)) {
filelist->filter_data.filter = filter;
- filelist->filter_data.filter_id = filter_id;
+ filelist->filter_data.filter_id = (filter & FILE_TYPE_BLENDERLIB) ? filter_id : FILTER_ID_ALL;
update = true;
}
if (!STREQ(filelist->filter_data.filter_glob, filter_glob)) {
diff --git a/source/blender/editors/space_file/filesel.c b/source/blender/editors/space_file/filesel.c
index 6e576006332..bb3906a961b 100644
--- a/source/blender/editors/space_file/filesel.c
+++ b/source/blender/editors/space_file/filesel.c
@@ -49,6 +49,8 @@
#include "BLI_utildefines.h"
#include "BLI_fnmatch.h"
+#include "BLO_readfile.h"
+
#include "BLT_translation.h"
#include "BKE_appdir.h"
@@ -101,10 +103,9 @@ short ED_fileselect_set_params(SpaceFile *sfile)
sizeof(sfile->params->dir),
sizeof(sfile->params->file));
sfile->params->filter_glob[0] = '\0';
- /* set the default thumbnails size */
- sfile->params->thumbnail_size = 128;
- /* Show size column by default. */
- sfile->params->details_flags = FILE_DETAILS_SIZE | FILE_DETAILS_DATETIME;
+ sfile->params->thumbnail_size = U_default.file_space_data.thumbnail_size;
+ sfile->params->details_flags = U_default.file_space_data.details_flags;
+ sfile->params->filter_id = U_default.file_space_data.filter_id;
}
params = sfile->params;
@@ -244,15 +245,6 @@ short ED_fileselect_set_params(SpaceFile *sfile)
}
}
- /* For now, always init filterid to 'all true' */
- params->filter_id = FILTER_ID_AC | FILTER_ID_AR | FILTER_ID_BR | FILTER_ID_CA | FILTER_ID_CU |
- FILTER_ID_GD | FILTER_ID_GR | FILTER_ID_IM | FILTER_ID_LA | FILTER_ID_LS |
- FILTER_ID_LT | FILTER_ID_MA | FILTER_ID_MB | FILTER_ID_MC | FILTER_ID_ME |
- FILTER_ID_MSK | FILTER_ID_NT | FILTER_ID_OB | FILTER_ID_PA |
- FILTER_ID_PAL | FILTER_ID_PC | FILTER_ID_SCE | FILTER_ID_SPK |
- FILTER_ID_SO | FILTER_ID_TE | FILTER_ID_TXT | FILTER_ID_VF | FILTER_ID_WO |
- FILTER_ID_CF | FILTER_ID_WS | FILTER_ID_LP;
-
if (U.uiflag & USER_HIDE_DOT) {
params->flag |= FILE_HIDE_DOT;
}
@@ -274,26 +266,11 @@ short ED_fileselect_set_params(SpaceFile *sfile)
params->sort = RNA_property_enum_get(op->ptr, prop);
}
else {
- params->sort = FILE_SORT_ALPHA;
+ params->sort = U_default.file_space_data.sort_type;
}
if (params->display == FILE_DEFAULTDISPLAY) {
- if (params->display_previous == FILE_DEFAULTDISPLAY) {
- if (U.uiflag & USER_SHOW_THUMBNAILS) {
- if (params->filter & (FILE_TYPE_IMAGE | FILE_TYPE_MOVIE | FILE_TYPE_FTFONT)) {
- params->display = FILE_IMGDISPLAY;
- }
- else {
- params->display = FILE_VERTICALDISPLAY;
- }
- }
- else {
- params->display = FILE_VERTICALDISPLAY;
- }
- }
- else {
- params->display = params->display_previous;
- }
+ params->display = U_default.file_space_data.display_type;
}
if (is_relative_path) {
@@ -307,10 +284,9 @@ short ED_fileselect_set_params(SpaceFile *sfile)
else {
/* default values, if no operator */
params->type = FILE_UNIX;
- params->flag |= FILE_HIDE_DOT;
+ params->flag |= U_default.file_space_data.flag;
params->flag &= ~FILE_DIRSEL_ONLY;
params->display = FILE_VERTICALDISPLAY;
- params->display_previous = FILE_DEFAULTDISPLAY;
params->sort = FILE_SORT_ALPHA;
params->filter = 0;
params->filter_glob[0] = '\0';
@@ -346,6 +322,65 @@ short ED_fileselect_set_params(SpaceFile *sfile)
return 1;
}
+/* The subset of FileSelectParams.flag items we store into preferences. */
+#define PARAMS_FLAGS_REMEMBERED (FILE_HIDE_DOT | FILE_SORT_INVERT)
+
+void ED_fileselect_set_params_from_userdef(SpaceFile *sfile)
+{
+ wmOperator *op = sfile->op;
+ UserDef_FileSpaceData *sfile_udata = &U.file_space_data;
+
+ ED_fileselect_set_params(sfile);
+
+ if (!op) {
+ return;
+ }
+
+ if (!RNA_struct_property_is_set(op->ptr, "display_type")) {
+ sfile->params->display = sfile_udata->display_type;
+ }
+ if (!RNA_struct_property_is_set(op->ptr, "sort_method")) {
+ sfile->params->sort = sfile_udata->sort_type;
+ }
+ sfile->params->thumbnail_size = sfile_udata->thumbnail_size;
+ sfile->params->details_flags = sfile_udata->details_flags;
+ sfile->params->filter_id = sfile_udata->filter_id;
+
+ /* Combine flags we take from params with the flags we take from userdef. */
+ sfile->params->flag = (sfile->params->flag & ~PARAMS_FLAGS_REMEMBERED) |
+ (sfile_udata->flag & PARAMS_FLAGS_REMEMBERED);
+}
+
+/**
+ * Update the user-preference data for the file space. In fact, this also contains some
+ * non-FileSelectParams data, but we can safely ignore this.
+ *
+ * \param temp_win_size: If the browser was opened in a temporary window,
+ * pass its size here so we can store that in the preferences. Otherwise NULL.
+ */
+void ED_fileselect_params_to_userdef(SpaceFile *sfile, int temp_win_size[2])
+{
+ UserDef_FileSpaceData *sfile_udata_new = &U.file_space_data;
+ UserDef_FileSpaceData sfile_udata_old = U.file_space_data;
+
+ sfile_udata_new->display_type = sfile->params->display;
+ sfile_udata_new->thumbnail_size = sfile->params->thumbnail_size;
+ sfile_udata_new->sort_type = sfile->params->sort;
+ sfile_udata_new->details_flags = sfile->params->details_flags;
+ sfile_udata_new->flag = sfile->params->flag & PARAMS_FLAGS_REMEMBERED;
+ sfile_udata_new->filter_id = sfile->params->filter_id;
+
+ if (temp_win_size) {
+ sfile_udata_new->temp_win_sizex = temp_win_size[0];
+ sfile_udata_new->temp_win_sizey = temp_win_size[1];
+ }
+
+ /* Tag prefs as dirty if something has changed. */
+ if (memcmp(sfile_udata_new, &sfile_udata_old, sizeof(sfile_udata_old)) != 0) {
+ U.runtime.is_dirty = true;
+ }
+}
+
void ED_fileselect_reset_params(SpaceFile *sfile)
{
sfile->params->type = FILE_UNIX;
@@ -766,7 +801,6 @@ void ED_fileselect_init_layout(struct SpaceFile *sfile, ARegion *ar)
layout->tile_border_x * 2;
layout->flag = FILE_LAYOUT_HOR;
}
- params->display_previous = params->display;
layout->dirty = false;
}
@@ -923,6 +957,17 @@ void ED_fileselect_exit(wmWindowManager *wm, ScrArea *sa, SpaceFile *sfile)
return;
}
if (sfile->op) {
+ wmWindow *temp_win = WM_window_is_temp_screen(wm->winactive) ? wm->winactive : NULL;
+ int win_size[2];
+
+ if (temp_win) {
+ /* Get DPI/pixelsize independent size to be stored in preferences. */
+ WM_window_set_dpi(temp_win); /* Ensure the DPI is taken from the right window. */
+ win_size[0] = WM_window_pixels_x(temp_win) / UI_DPI_FAC;
+ win_size[1] = WM_window_pixels_y(temp_win) / UI_DPI_FAC;
+ }
+ ED_fileselect_params_to_userdef(sfile, temp_win ? win_size : NULL);
+
WM_event_fileselect_event(wm, sfile->op, EVT_FILESELECT_EXTERNAL_CANCEL);
sfile->op = NULL;
}
diff --git a/source/blender/editors/space_file/space_file.c b/source/blender/editors/space_file/space_file.c
index 2f0e796d500..d63fcf402de 100644
--- a/source/blender/editors/space_file/space_file.c
+++ b/source/blender/editors/space_file/space_file.c
@@ -106,6 +106,12 @@ static SpaceLink *file_new(const ScrArea *UNUSED(area), const Scene *UNUSED(scen
/* Ignore user preference "USER_HEADER_BOTTOM" here (always show top for new types). */
ar->alignment = RGN_ALIGN_TOP;
+ /* Tools region */
+ ar = MEM_callocN(sizeof(ARegion), "tools region for file");
+ BLI_addtail(&sfile->regionbase, ar);
+ ar->regiontype = RGN_TYPE_TOOLS;
+ ar->alignment = RGN_ALIGN_LEFT;
+
/* ui list region */
ar = MEM_callocN(sizeof(ARegion), "ui region for file");
BLI_addtail(&sfile->regionbase, ar);
@@ -113,12 +119,6 @@ static SpaceLink *file_new(const ScrArea *UNUSED(area), const Scene *UNUSED(scen
ar->alignment = RGN_ALIGN_TOP;
ar->flag |= RGN_FLAG_DYNAMIC_SIZE;
- /* Tools region */
- ar = MEM_callocN(sizeof(ARegion), "tools region for file");
- BLI_addtail(&sfile->regionbase, ar);
- ar->regiontype = RGN_TYPE_TOOLS;
- ar->alignment = RGN_ALIGN_LEFT;
-
/* Tool props and execute region are added as needed, see file_refresh(). */
/* main region */
@@ -239,14 +239,14 @@ static void file_ensure_valid_region_state(bContext *C,
SpaceFile *sfile,
FileSelectParams *params)
{
- ARegion *ar_tools = BKE_area_find_region_type(sa, RGN_TYPE_TOOLS);
+ ARegion *ar_ui = BKE_area_find_region_type(sa, RGN_TYPE_UI);
ARegion *ar_props = BKE_area_find_region_type(sa, RGN_TYPE_TOOL_PROPS);
ARegion *ar_execute = BKE_area_find_region_type(sa, RGN_TYPE_EXECUTE);
bool needs_init = false; /* To avoid multiple ED_area_initialize() calls. */
/* If there's an file-operation, ensure we have the option and execute region */
if (sfile->op && (ar_props == NULL)) {
- ar_execute = file_execute_region_ensure(sa, ar_tools);
+ ar_execute = file_execute_region_ensure(sa, ar_ui);
ar_props = file_tool_props_region_ensure(sa, ar_execute);
if (params->flag & FILE_HIDE_TOOL_PROPS) {
diff --git a/source/blender/editors/space_graph/graph_buttons.c b/source/blender/editors/space_graph/graph_buttons.c
index 708d91a82bb..33cb1cb0075 100644
--- a/source/blender/editors/space_graph/graph_buttons.c
+++ b/source/blender/editors/space_graph/graph_buttons.c
@@ -862,7 +862,11 @@ static void graph_panel_driverVar__transChan(uiLayout *layout, ID *id, DriverVar
sub = uiLayoutColumn(layout, true);
uiItemR(sub, &dtar_ptr, "transform_type", 0, NULL, ICON_NONE);
- if (ELEM(dtar->transChan, DTAR_TRANSCHAN_ROTX, DTAR_TRANSCHAN_ROTY, DTAR_TRANSCHAN_ROTZ)) {
+ if (ELEM(dtar->transChan,
+ DTAR_TRANSCHAN_ROTX,
+ DTAR_TRANSCHAN_ROTY,
+ DTAR_TRANSCHAN_ROTZ,
+ DTAR_TRANSCHAN_ROTW)) {
uiItemR(sub, &dtar_ptr, "rotation_mode", 0, IFACE_("Mode"), ICON_NONE);
}
@@ -1152,8 +1156,12 @@ static void graph_draw_driver_settings_panel(uiLayout *layout,
if ((dvar->type == DVAR_TYPE_ROT_DIFF) ||
(dvar->type == DVAR_TYPE_TRANSFORM_CHAN &&
- dvar->targets[0].transChan >= DTAR_TRANSCHAN_ROTX &&
- dvar->targets[0].transChan < DTAR_TRANSCHAN_SCALEX)) {
+ ELEM(dvar->targets[0].transChan,
+ DTAR_TRANSCHAN_ROTX,
+ DTAR_TRANSCHAN_ROTY,
+ DTAR_TRANSCHAN_ROTZ,
+ DTAR_TRANSCHAN_ROTW) &&
+ dvar->targets[0].rotation_mode != DTAR_ROTMODE_QUATERNION)) {
BLI_snprintf(
valBuf, sizeof(valBuf), "%.3f (%4.1f°)", dvar->curval, RAD2DEGF(dvar->curval));
}
diff --git a/source/blender/editors/space_graph/space_graph.c b/source/blender/editors/space_graph/space_graph.c
index 91e5ab61dd9..95ad56a35e6 100644
--- a/source/blender/editors/space_graph/space_graph.c
+++ b/source/blender/editors/space_graph/space_graph.c
@@ -303,8 +303,10 @@ static void graph_main_region_draw(const bContext *C, ARegion *ar)
}
/* preview range */
- UI_view2d_view_ortho(v2d);
- ANIM_draw_previewrange(C, v2d, 0);
+ if (sipo->mode != SIPO_MODE_DRIVERS) {
+ UI_view2d_view_ortho(v2d);
+ ANIM_draw_previewrange(C, v2d, 0);
+ }
/* callback */
UI_view2d_view_ortho(v2d);
diff --git a/source/blender/editors/space_image/CMakeLists.txt b/source/blender/editors/space_image/CMakeLists.txt
index 61e6b065cba..5abcff436f1 100644
--- a/source/blender/editors/space_image/CMakeLists.txt
+++ b/source/blender/editors/space_image/CMakeLists.txt
@@ -29,6 +29,7 @@ set(INC
../../makesrna
../../render/extern/include
../../windowmanager
+ ../../../../intern/clog
../../../../intern/glew-mx
../../../../intern/guardedalloc
)
@@ -42,6 +43,7 @@ set(SRC
image_draw.c
image_edit.c
image_ops.c
+ image_undo.c
space_image.c
image_intern.h
diff --git a/source/blender/editors/space_image/image_draw.c b/source/blender/editors/space_image/image_draw.c
index 9a2b0d95c20..2d4ca6dc15a 100644
--- a/source/blender/editors/space_image/image_draw.c
+++ b/source/blender/editors/space_image/image_draw.c
@@ -901,6 +901,10 @@ void draw_image_cache(const bContext *C, ARegion *ar)
mask = ED_space_image_get_mask(sima);
}
+ /* Local coordinate visible rect inside region, to accommodate overlapping ui. */
+ const rcti *rect_visible = ED_region_visible_rect(ar);
+ const int region_bottom = rect_visible->ymin;
+
GPU_blend(true);
GPU_blend_set_func_separate(
GPU_SRC_ALPHA, GPU_ONE_MINUS_SRC_ALPHA, GPU_ONE, GPU_ONE_MINUS_SRC_ALPHA);
@@ -928,10 +932,10 @@ void draw_image_cache(const bContext *C, ARegion *ar)
immVertexFormat(), "pos", GPU_COMP_I32, 2, GPU_FETCH_INT_TO_FLOAT);
immBindBuiltinProgram(GPU_SHADER_2D_UNIFORM_COLOR);
immUniformThemeColor(TH_CFRAME);
- immRecti(pos, x, 0, x + ceilf(framelen), 8 * UI_DPI_FAC);
+ immRecti(pos, x, region_bottom, x + ceilf(framelen), region_bottom + 8 * UI_DPI_FAC);
immUnbindProgram();
- ED_region_cache_draw_curfra_label(cfra, x, 8.0f * UI_DPI_FAC);
+ ED_region_cache_draw_curfra_label(cfra, x, region_bottom + 8.0f * UI_DPI_FAC);
if (mask != NULL) {
ED_mask_draw_frames(mask, ar, cfra, sfra, efra);
diff --git a/source/blender/editors/space_image/image_edit.c b/source/blender/editors/space_image/image_edit.c
index ccd0a2bfd79..ec2b1cc7fbe 100644
--- a/source/blender/editors/space_image/image_edit.c
+++ b/source/blender/editors/space_image/image_edit.c
@@ -301,6 +301,18 @@ void ED_image_mouse_pos(SpaceImage *sima, ARegion *ar, const int mval[2], float
co[1] = ((mval[1] - sy) / zoomy) / height;
}
+void ED_image_view_center_to_point(SpaceImage *sima, float x, float y)
+{
+ int width, height;
+ float aspx, aspy;
+
+ ED_space_image_get_size(sima, &width, &height);
+ ED_space_image_get_aspect(sima, &aspx, &aspy);
+
+ sima->xof = (x - 0.5f) * width * aspx;
+ sima->yof = (y - 0.5f) * height * aspy;
+}
+
void ED_image_point_pos(SpaceImage *sima, ARegion *ar, float x, float y, float *xr, float *yr)
{
int sx, sy, width, height;
@@ -476,3 +488,9 @@ bool ED_space_image_maskedit_mask_poll(bContext *C)
return false;
}
+
+bool ED_space_image_cursor_poll(bContext *C)
+{
+ return ED_operator_uvedit_space_image(C) || ED_space_image_maskedit_poll(C) ||
+ ED_space_image_paint_curve(C);
+}
diff --git a/source/blender/editors/space_image/image_intern.h b/source/blender/editors/space_image/image_intern.h
index 1abb6715fdb..f8ce065d46c 100644
--- a/source/blender/editors/space_image/image_intern.h
+++ b/source/blender/editors/space_image/image_intern.h
@@ -44,10 +44,12 @@ void draw_image_sample_line(struct SpaceImage *sima);
/* image_ops.c */
bool space_image_main_region_poll(struct bContext *C);
+bool space_image_view_center_cursor_poll(struct bContext *C);
void IMAGE_OT_view_all(struct wmOperatorType *ot);
void IMAGE_OT_view_pan(struct wmOperatorType *ot);
void IMAGE_OT_view_selected(struct wmOperatorType *ot);
+void IMAGE_OT_view_center_cursor(struct wmOperatorType *ot);
void IMAGE_OT_view_zoom(struct wmOperatorType *ot);
void IMAGE_OT_view_zoom_in(struct wmOperatorType *ot);
void IMAGE_OT_view_zoom_out(struct wmOperatorType *ot);
@@ -70,6 +72,7 @@ void IMAGE_OT_pack(struct wmOperatorType *ot);
void IMAGE_OT_unpack(struct wmOperatorType *ot);
void IMAGE_OT_invert(struct wmOperatorType *ot);
+void IMAGE_OT_resize(struct wmOperatorType *ot);
void IMAGE_OT_cycle_render_slot(struct wmOperatorType *ot);
void IMAGE_OT_clear_render_slot(struct wmOperatorType *ot);
diff --git a/source/blender/editors/space_image/image_ops.c b/source/blender/editors/space_image/image_ops.c
index c2c499e3cc1..8d17b703449 100644
--- a/source/blender/editors/space_image/image_ops.c
+++ b/source/blender/editors/space_image/image_ops.c
@@ -103,7 +103,9 @@
#include "image_intern.h"
-/******************** view navigation utilities *********************/
+/* -------------------------------------------------------------------- */
+/** \name View Navigation Utilities
+ * \{ */
static void sima_zoom_set(
SpaceImage *sima, ARegion *ar, float zoom, const float location[2], const bool zoom_to_pos)
@@ -211,7 +213,7 @@ static ImageUser *image_user_from_context(const bContext *C)
}
}
-static bool image_buffer_exists_from_context(bContext *C)
+static bool image_from_context_has_data_poll(bContext *C)
{
Image *ima = image_from_context(C);
ImageUser *iuser = image_user_from_context(C);
@@ -227,6 +229,16 @@ static bool image_buffer_exists_from_context(bContext *C)
return has_buffer;
}
+/**
+ * Use this when the image buffer is accessed without the image user.
+ */
+static bool image_from_contect_has_data_poll_no_image_user(bContext *C)
+{
+ Image *ima = image_from_context(C);
+
+ return BKE_image_has_ibuf(ima, NULL);
+}
+
static bool image_not_packed_poll(bContext *C)
{
/* Do not run 'replace' on packed images, it does not give user expected results at all. */
@@ -280,7 +292,12 @@ static bool image_sample_poll(bContext *C)
return true;
}
-/********************** view pan operator *********************/
+
+/** \} */
+
+/* -------------------------------------------------------------------- */
+/** \name View Pan Operator
+ * \{ */
typedef struct ViewPanData {
float x, y;
@@ -300,7 +317,7 @@ static void image_view_pan_init(bContext *C, wmOperator *op, const wmEvent *even
/* Grab will be set when running from gizmo. */
vpd->own_cursor = (win->grabcursor == 0);
if (vpd->own_cursor) {
- WM_cursor_modal_set(win, BC_NSEW_SCROLLCURSOR);
+ WM_cursor_modal_set(win, WM_CURSOR_NSEW_SCROLL);
}
vpd->x = event->x;
@@ -423,7 +440,11 @@ void IMAGE_OT_view_pan(wmOperatorType *ot)
FLT_MAX);
}
-/********************** view zoom operator *********************/
+/** \} */
+
+/* -------------------------------------------------------------------- */
+/** \name View Zoom Operator
+ * \{ */
typedef struct ViewZoomData {
float origx, origy;
@@ -453,7 +474,7 @@ static void image_view_zoom_init(bContext *C, wmOperator *op, const wmEvent *eve
/* Grab will be set when running from gizmo. */
vpd->own_cursor = (win->grabcursor == 0);
if (vpd->own_cursor) {
- WM_cursor_modal_set(win, BC_NSEW_SCROLLCURSOR);
+ WM_cursor_modal_set(win, WM_CURSOR_NSEW_SCROLL);
}
vpd->origx = event->x;
@@ -671,7 +692,12 @@ void IMAGE_OT_view_zoom(wmOperatorType *ot)
}
#ifdef WITH_INPUT_NDOF
-/********************** NDOF operator *********************/
+
+/** \} */
+
+/* -------------------------------------------------------------------- */
+/** \name NDOF Operator
+ * \{ */
/* Combined pan/zoom from a 3D mouse device.
* Z zooms, XY pans
@@ -721,9 +747,14 @@ void IMAGE_OT_view_ndof(wmOperatorType *ot)
/* flags */
ot->flag = OPTYPE_LOCK_BYPASS;
}
+
+/** \} */
+
#endif /* WITH_INPUT_NDOF */
-/********************** view all operator *********************/
+/* -------------------------------------------------------------------- */
+/** \name View All Operator
+ * \{ */
/* Updates the fields of the View2D member of the SpaceImage struct.
* Default behavior is to reset the position of the image and set the zoom to 1
@@ -800,7 +831,41 @@ void IMAGE_OT_view_all(wmOperatorType *ot)
RNA_def_property_flag(prop, PROP_SKIP_SAVE);
}
-/********************** view selected operator *********************/
+/** \} */
+
+/* -------------------------------------------------------------------- */
+/** \name Center View To Cursor Operator
+ * \{ */
+
+static int view_center_cursor_exec(bContext *C, wmOperator *UNUSED(op))
+{
+ SpaceImage *sima = CTX_wm_space_image(C);
+ ARegion *ar = CTX_wm_region(C);
+
+ ED_image_view_center_to_point(sima, sima->cursor[0], sima->cursor[1]);
+
+ ED_region_tag_redraw(ar);
+
+ return OPERATOR_FINISHED;
+}
+
+void IMAGE_OT_view_center_cursor(wmOperatorType *ot)
+{
+ /* identifiers */
+ ot->name = "Center View to Cursor";
+ ot->description = "Center the view so that the cursor is in the middle of the view";
+ ot->idname = "IMAGE_OT_view_center_cursor";
+
+ /* api callbacks */
+ ot->exec = view_center_cursor_exec;
+ ot->poll = ED_space_image_cursor_poll;
+}
+
+/** \} */
+
+/* -------------------------------------------------------------------- */
+/** \name View Selected Operator
+ * \{ */
static int image_view_selected_exec(bContext *C, wmOperator *UNUSED(op))
{
@@ -866,7 +931,11 @@ void IMAGE_OT_view_selected(wmOperatorType *ot)
ot->poll = image_view_selected_poll;
}
-/********************** view zoom in/out operator *********************/
+/** \} */
+
+/* -------------------------------------------------------------------- */
+/** \name View Zoom In/Out Operator
+ * \{ */
static int image_view_zoom_in_exec(bContext *C, wmOperator *op)
{
@@ -984,7 +1053,11 @@ void IMAGE_OT_view_zoom_out(wmOperatorType *ot)
RNA_def_property_flag(prop, PROP_HIDDEN);
}
-/********************** view zoom ratio operator *********************/
+/** \} */
+
+/* -------------------------------------------------------------------- */
+/** \name View Zoom Ratio Operator
+ * \{ */
static int image_view_zoom_ratio_exec(bContext *C, wmOperator *op)
{
@@ -1028,7 +1101,11 @@ void IMAGE_OT_view_zoom_ratio(wmOperatorType *ot)
FLT_MAX);
}
-/********************** view border-zoom operator *********************/
+/** \} */
+
+/* -------------------------------------------------------------------- */
+/** \name View Border-Zoom Operator
+ * \{ */
static int image_view_zoom_border_exec(bContext *C, wmOperator *op)
{
@@ -1084,14 +1161,18 @@ void IMAGE_OT_view_zoom_border(wmOperatorType *ot)
WM_operator_properties_gesture_box_zoom(ot);
}
-/**************** load/replace/save callbacks ******************/
+/* load/replace/save callbacks */
static void image_filesel(bContext *C, wmOperator *op, const char *path)
{
RNA_string_set(op->ptr, "filepath", path);
WM_event_add_fileselect(C, op);
}
-/******************** open image operator ********************/
+/** \} */
+
+/* -------------------------------------------------------------------- */
+/** \name Open Image Operator
+ * \{ */
typedef struct ImageOpenData {
PropertyPointerRNA pprop;
@@ -1525,7 +1606,12 @@ void IMAGE_OT_open(wmOperatorType *ot)
"Automatically detect animated sequences in selected images (based on file names)");
}
-/******************** Match movie length operator ********************/
+/** \} */
+
+/* -------------------------------------------------------------------- */
+/** \name Match Movie Length Operator
+ * \{ */
+
static int image_match_len_exec(bContext *C, wmOperator *UNUSED(op))
{
Scene *scene = CTX_data_scene(C);
@@ -1571,7 +1657,11 @@ void IMAGE_OT_match_movie_length(wmOperatorType *ot)
ot->flag = OPTYPE_REGISTER | OPTYPE_INTERNAL /* | OPTYPE_UNDO */;
}
-/******************** replace image operator ********************/
+/** \} */
+
+/* -------------------------------------------------------------------- */
+/** \name Replace Image Operator
+ * \{ */
static int image_replace_exec(bContext *C, wmOperator *op)
{
@@ -1656,7 +1746,11 @@ void IMAGE_OT_replace(wmOperatorType *ot)
FILE_SORT_ALPHA);
}
-/******************** save image as operator ********************/
+/** \} */
+
+/* -------------------------------------------------------------------- */
+/** \name Save Image As Operator
+ * \{ */
static char imtype_best_depth(ImBuf *ibuf, const char imtype)
{
@@ -1970,7 +2064,7 @@ static void image_save_as_draw(bContext *UNUSED(C), wmOperator *op)
static bool image_save_as_poll(bContext *C)
{
- if (!image_buffer_exists_from_context(C)) {
+ if (!image_from_context_has_data_poll(C)) {
return false;
}
@@ -2026,7 +2120,11 @@ void IMAGE_OT_save_as(wmOperatorType *ot)
FILE_SORT_ALPHA);
}
-/******************** save image operator ********************/
+/** \} */
+
+/* -------------------------------------------------------------------- */
+/** \name Save Image Operator
+ * \{ */
static bool image_file_path_saveable(bContext *C, Image *ima, ImageUser *iuser)
{
@@ -2067,7 +2165,7 @@ static bool image_file_path_saveable(bContext *C, Image *ima, ImageUser *iuser)
static bool image_save_poll(bContext *C)
{
/* Can't save if there are no pixels. */
- if (image_buffer_exists_from_context(C) == false) {
+ if (image_from_context_has_data_poll(C) == false) {
return false;
}
@@ -2147,7 +2245,11 @@ void IMAGE_OT_save(wmOperatorType *ot)
ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO;
}
-/******************* save sequence operator ********************/
+/** \} */
+
+/* -------------------------------------------------------------------- */
+/** \name Save Sequence Operator
+ * \{ */
static int image_save_sequence_exec(bContext *C, wmOperator *op)
{
@@ -2233,13 +2335,17 @@ void IMAGE_OT_save_sequence(wmOperatorType *ot)
/* api callbacks */
ot->exec = image_save_sequence_exec;
- ot->poll = image_buffer_exists_from_context;
+ ot->poll = image_from_context_has_data_poll;
/* flags */
ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO;
}
-/********************** save all operator **********************/
+/** \} */
+
+/* -------------------------------------------------------------------- */
+/** \name Save All Operator
+ * \{ */
static bool image_should_be_saved_when_modified(Image *ima)
{
@@ -2389,7 +2495,11 @@ void IMAGE_OT_save_all_modified(wmOperatorType *ot)
ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO;
}
-/******************** reload image operator ********************/
+/** \} */
+
+/* -------------------------------------------------------------------- */
+/** \name Reload Image Operator
+ * \{ */
static int image_reload_exec(bContext *C, wmOperator *UNUSED(op))
{
@@ -2426,7 +2536,12 @@ void IMAGE_OT_reload(wmOperatorType *ot)
ot->flag = OPTYPE_REGISTER; /* no undo, image buffer is not handled by undo */
}
-/********************** new image operator *********************/
+/** \} */
+
+/* -------------------------------------------------------------------- */
+/** \name New Image Operator
+ * \{ */
+
#define IMA_DEF_NAME N_("Untitled")
enum {
@@ -2642,22 +2757,18 @@ void IMAGE_OT_new(wmOperatorType *ot)
#undef IMA_DEF_NAME
-/********************* invert operators *********************/
-
-static bool image_invert_poll(bContext *C)
-{
- Image *ima = image_from_context(C);
+/** \} */
- return BKE_image_has_ibuf(ima, NULL);
-}
+/* -------------------------------------------------------------------- */
+/** \name Invert Operators
+ * \{ */
static int image_invert_exec(bContext *C, wmOperator *op)
{
Image *ima = image_from_context(C);
ImBuf *ibuf = BKE_image_acquire_ibuf(ima, NULL, NULL);
SpaceImage *sima = CTX_wm_space_image(C);
- /* undo is supported only on image paint mode currently */
- bool support_undo = ((sima != NULL) && (sima->mode == SI_MODE_PAINT));
+ const bool is_paint = ((sima != NULL) && (sima->mode == SI_MODE_PAINT));
/* flags indicate if this channel should be inverted */
const bool r = RNA_boolean_get(op->ptr, "invert_r");
@@ -2672,14 +2783,12 @@ static int image_invert_exec(bContext *C, wmOperator *op)
return OPERATOR_CANCELLED;
}
- if (support_undo) {
- ED_image_undo_push_begin(op->type->name, PAINT_MODE_TEXTURE_2D);
- /* not strictly needed, because we only imapaint_dirty_region to invalidate all tiles
- * but better do this right in case someone copies this for a tool that uses partial
- * redraw better */
+ ED_image_undo_push_begin_with_image(op->type->name, ima, ibuf);
+
+ if (is_paint) {
ED_imapaint_clear_partial_redraw();
- ED_imapaint_dirty_region(ima, ibuf, 0, 0, ibuf->x, ibuf->y, false);
}
+
/* TODO: make this into an IMB_invert_channels(ibuf,r,g,b,a) method!? */
if (ibuf->rect_float) {
@@ -2733,9 +2842,7 @@ static int image_invert_exec(bContext *C, wmOperator *op)
ibuf->userflags |= IB_MIPMAP_INVALID;
}
- if (support_undo) {
- ED_image_undo_push_end();
- }
+ ED_image_undo_push_end();
/* force GPU reupload, all image is invalid */
GPU_free_image(ima);
@@ -2758,7 +2865,7 @@ void IMAGE_OT_invert(wmOperatorType *ot)
/* api callbacks */
ot->exec = image_invert_exec;
- ot->poll = image_invert_poll;
+ ot->poll = image_from_contect_has_data_poll_no_image_user;
/* properties */
prop = RNA_def_boolean(ot->srna, "invert_r", 0, "Red", "Invert Red Channel");
@@ -2771,10 +2878,96 @@ void IMAGE_OT_invert(wmOperatorType *ot)
RNA_def_property_flag(prop, PROP_SKIP_SAVE);
/* flags */
- ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO;
+ ot->flag = OPTYPE_REGISTER;
+}
+
+/** \} */
+
+/* -------------------------------------------------------------------- */
+/** \name Scale Operator
+ * \{ */
+
+static int image_scale_invoke(bContext *C, wmOperator *op, const wmEvent *UNUSED(event))
+{
+ Image *ima = image_from_context(C);
+ PropertyRNA *prop = RNA_struct_find_property(op->ptr, "size");
+ if (!RNA_property_is_set(op->ptr, prop)) {
+ ImBuf *ibuf = BKE_image_acquire_ibuf(ima, NULL, NULL);
+ const int size[2] = {ibuf->x, ibuf->y};
+ RNA_property_int_set_array(op->ptr, prop, size);
+ BKE_image_release_ibuf(ima, ibuf, NULL);
+ }
+ return WM_operator_props_dialog_popup(C, op, 200, 200);
+}
+
+static int image_scale_exec(bContext *C, wmOperator *op)
+{
+ Image *ima = image_from_context(C);
+ ImBuf *ibuf = BKE_image_acquire_ibuf(ima, NULL, NULL);
+ SpaceImage *sima = CTX_wm_space_image(C);
+ const bool is_paint = ((sima != NULL) && (sima->mode == SI_MODE_PAINT));
+
+ if (ibuf == NULL) {
+ /* TODO: this should actually never happen, but does for render-results -> cleanup */
+ return OPERATOR_CANCELLED;
+ }
+
+ if (is_paint) {
+ ED_imapaint_clear_partial_redraw();
+ }
+
+ PropertyRNA *prop = RNA_struct_find_property(op->ptr, "size");
+ int size[2];
+ if (RNA_property_is_set(op->ptr, prop)) {
+ RNA_property_int_get_array(op->ptr, prop, size);
+ }
+ else {
+ size[0] = ibuf->x;
+ size[1] = ibuf->y;
+ RNA_property_int_set_array(op->ptr, prop, size);
+ }
+
+ ED_image_undo_push_begin_with_image(op->type->name, ima, ibuf);
+
+ ibuf->userflags |= IB_DISPLAY_BUFFER_INVALID;
+ IMB_scaleImBuf(ibuf, size[0], size[1]);
+ BKE_image_release_ibuf(ima, ibuf, NULL);
+
+ ED_image_undo_push_end();
+
+ /* force GPU reupload, all image is invalid */
+ GPU_free_image(ima);
+
+ DEG_id_tag_update(&ima->id, 0);
+ WM_event_add_notifier(C, NC_IMAGE | NA_EDITED, ima);
+
+ return OPERATOR_FINISHED;
+}
+
+void IMAGE_OT_resize(wmOperatorType *ot)
+{
+ /* identifiers */
+ ot->name = "Resize Image";
+ ot->idname = "IMAGE_OT_resize";
+ ot->description = "Resize the image";
+
+ /* api callbacks */
+ ot->invoke = image_scale_invoke;
+ ot->exec = image_scale_exec;
+ ot->poll = image_from_contect_has_data_poll_no_image_user;
+
+ /* properties */
+ RNA_def_int_vector(ot->srna, "size", 2, NULL, 1, INT_MAX, "Size", "", 1, SHRT_MAX);
+
+ /* flags */
+ ot->flag = OPTYPE_REGISTER;
}
-/********************* pack operator *********************/
+/** \} */
+
+/* -------------------------------------------------------------------- */
+/** \name Pack Operator
+ * \{ */
static bool image_pack_test(bContext *C, wmOperator *op)
{
@@ -2827,7 +3020,11 @@ void IMAGE_OT_pack(wmOperatorType *ot)
ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO;
}
-/********************* unpack operator *********************/
+/** \} */
+
+/* -------------------------------------------------------------------- */
+/** \name Unpack Operator
+ * \{ */
static int image_unpack_exec(bContext *C, wmOperator *op)
{
@@ -2926,7 +3123,11 @@ void IMAGE_OT_unpack(wmOperatorType *ot)
ot->srna, "id", NULL, MAX_ID_NAME - 2, "Image Name", "Image data-block name to unpack");
}
-/******************** sample image operator ********************/
+/** \} */
+
+/* -------------------------------------------------------------------- */
+/** \name Sample Image Operator
+ * \{ */
typedef struct ImageSampleInfo {
ARegionType *art;
@@ -3339,7 +3540,12 @@ void IMAGE_OT_sample(wmOperatorType *ot)
RNA_def_property_flag(prop, PROP_SKIP_SAVE);
}
-/******************** sample line operator ********************/
+/** \} */
+
+/* -------------------------------------------------------------------- */
+/** \name Sample Line Operator
+ * \{ */
+
static int image_sample_line_exec(bContext *C, wmOperator *op)
{
SpaceImage *sima = CTX_wm_space_image(C);
@@ -3421,10 +3627,14 @@ void IMAGE_OT_sample_line(wmOperatorType *ot)
/* flags */
ot->flag = 0; /* no undo/register since this operates on the space */
- WM_operator_properties_gesture_straightline(ot, CURSOR_EDIT);
+ WM_operator_properties_gesture_straightline(ot, WM_CURSOR_EDIT);
}
-/******************** set curve point operator ********************/
+/** \} */
+
+/* -------------------------------------------------------------------- */
+/** \name Set Curve Point Operator
+ * \{ */
void IMAGE_OT_curves_point_set(wmOperatorType *ot)
{
@@ -3458,7 +3668,11 @@ void IMAGE_OT_curves_point_set(wmOperatorType *ot)
RNA_def_property_flag(prop, PROP_SKIP_SAVE);
}
-/********************* cycle render slot operator *********************/
+/** \} */
+
+/* -------------------------------------------------------------------- */
+/** \name Cycle Render Slot Operator
+ * \{ */
static bool image_cycle_render_slot_poll(bContext *C)
{
@@ -3504,7 +3718,11 @@ void IMAGE_OT_cycle_render_slot(wmOperatorType *ot)
RNA_def_boolean(ot->srna, "reverse", 0, "Cycle in Reverse", "");
}
-/********************* clear render slot operator *********************/
+/** \} */
+
+/* -------------------------------------------------------------------- */
+/** \name Clear Render Slot Operator
+ * \{ */
static int image_clear_render_slot_exec(bContext *C, wmOperator *UNUSED(op))
{
@@ -3535,7 +3753,11 @@ void IMAGE_OT_clear_render_slot(wmOperatorType *ot)
ot->flag = OPTYPE_REGISTER;
}
-/********************* add render slot operator *********************/
+/** \} */
+
+/* -------------------------------------------------------------------- */
+/** \name Add Render Slot Operator
+ * \{ */
static int image_add_render_slot_exec(bContext *C, wmOperator *UNUSED(op))
{
@@ -3564,7 +3786,11 @@ void IMAGE_OT_add_render_slot(wmOperatorType *ot)
ot->flag = OPTYPE_REGISTER;
}
-/********************* remove render slot operator *********************/
+/** \} */
+
+/* -------------------------------------------------------------------- */
+/** \name Remove Render Slot Operator
+ * \{ */
static int image_remove_render_slot_exec(bContext *C, wmOperator *UNUSED(op))
{
@@ -3595,7 +3821,11 @@ void IMAGE_OT_remove_render_slot(wmOperatorType *ot)
ot->flag = OPTYPE_REGISTER;
}
-/********************** change frame operator *********************/
+/** \} */
+
+/* -------------------------------------------------------------------- */
+/** \name Change Frame Operator
+ * \{ */
static bool change_frame_poll(bContext *C)
{
@@ -3656,7 +3886,12 @@ static int change_frame_invoke(bContext *C, wmOperator *op, const wmEvent *event
if (ar->regiontype == RGN_TYPE_WINDOW) {
SpaceImage *sima = CTX_wm_space_image(C);
- if (event->mval[1] > 16 || !ED_space_image_show_cache(sima)) {
+
+ /* Local coordinate visible rect inside region, to accommodate overlapping ui. */
+ const rcti *rect_visible = ED_region_visible_rect(ar);
+ const int region_bottom = rect_visible->ymin;
+
+ if (event->mval[1] > (region_bottom + 16 * UI_DPI_FAC) || !ED_space_image_show_cache(sima)) {
return OPERATOR_PASS_THROUGH;
}
}
@@ -3746,7 +3981,11 @@ void IMAGE_OT_read_viewlayers(wmOperatorType *ot)
ot->flag = 0;
}
-/* ********************* Render border operator ****************** */
+/** \} */
+
+/* -------------------------------------------------------------------- */
+/** \name Render Border Operator
+ * \{ */
static int render_border_exec(bContext *C, wmOperator *op)
{
@@ -3815,7 +4054,11 @@ void IMAGE_OT_render_border(wmOperatorType *ot)
WM_operator_properties_border(ot);
}
-/* ********************* Clear render border operator ****************** */
+/** \} */
+
+/* -------------------------------------------------------------------- */
+/** \name Clear Render Border Operator
+ * \{ */
static int clear_render_border_exec(bContext *C, wmOperator *UNUSED(op))
{
@@ -3840,3 +4083,5 @@ void IMAGE_OT_clear_render_border(wmOperatorType *ot)
/* flags */
ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO;
}
+
+/** \} */
diff --git a/source/blender/editors/space_image/image_undo.c b/source/blender/editors/space_image/image_undo.c
new file mode 100644
index 00000000000..b6b32293cee
--- /dev/null
+++ b/source/blender/editors/space_image/image_undo.c
@@ -0,0 +1,1064 @@
+/*
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+/** \file
+ * \ingroup spimage
+ *
+ * Overview
+ * ========
+ *
+ * - Each undo step is a #ImageUndoStep
+ * - Each #ImageUndoStep stores a list of #UndoImageHandle
+ * - Each #UndoImageHandle stores a list of #UndoImageBuf
+ * (this is the undo systems equivalent of an #ImBuf).
+ * - Each #UndoImageBuf stores an array of #UndoImageTile
+ * The tiles are shared between #UndoImageBuf's to avoid duplication.
+ *
+ * When the undo system manages an image, there will always be a full copy (as a #UndoImageBuf)
+ * each new undo step only stores modified tiles.
+ */
+
+#include "CLG_log.h"
+
+#include "MEM_guardedalloc.h"
+
+#include "BLI_math.h"
+#include "BLI_blenlib.h"
+#include "BLI_utildefines.h"
+#include "BLI_threads.h"
+
+#include "DNA_image_types.h"
+#include "DNA_windowmanager_types.h"
+#include "DNA_object_types.h"
+#include "DNA_screen_types.h"
+#include "DNA_space_types.h"
+
+#include "IMB_imbuf.h"
+#include "IMB_imbuf_types.h"
+
+#include "BKE_context.h"
+#include "BKE_image.h"
+#include "BKE_paint.h"
+#include "BKE_undo_system.h"
+
+#include "DEG_depsgraph.h"
+
+#include "ED_paint.h"
+#include "ED_undo.h"
+#include "ED_util.h"
+#include "ED_object.h"
+
+#include "GPU_draw.h"
+
+#include "WM_api.h"
+
+static CLG_LogRef LOG = {"ed.image.undo"};
+
+/* -------------------------------------------------------------------- */
+/** \name Thread Locking
+ * \{ */
+
+/* This is a non-global static resource,
+ * Maybe it should be exposed as part of the
+ * paint operation, but for now just give a public interface */
+static SpinLock paint_tiles_lock;
+
+void ED_image_paint_tile_lock_init(void)
+{
+ BLI_spin_init(&paint_tiles_lock);
+}
+
+void ED_image_paint_tile_lock_end(void)
+{
+ BLI_spin_end(&paint_tiles_lock);
+}
+
+/** \} */
+
+/* -------------------------------------------------------------------- */
+/** \name Paint Tiles
+ *
+ * Created on demand while painting,
+ * use to access the previous state for some paint operations.
+ *
+ * These buffers are also used for undo when available.
+ *
+ * \{ */
+
+static ImBuf *imbuf_alloc_temp_tile(void)
+{
+ return IMB_allocImBuf(
+ ED_IMAGE_UNDO_TILE_SIZE, ED_IMAGE_UNDO_TILE_SIZE, 32, IB_rectfloat | IB_rect);
+}
+
+typedef struct PaintTile {
+ struct PaintTile *next, *prev;
+ Image *image;
+ ImBuf *ibuf;
+ union {
+ float *fp;
+ uint *uint;
+ void *pt;
+ } rect;
+ ushort *mask;
+ bool valid;
+ bool use_float;
+ int x_tile, y_tile;
+} PaintTile;
+
+static void ptile_free(PaintTile *ptile)
+{
+ if (ptile->rect.pt) {
+ MEM_freeN(ptile->rect.pt);
+ }
+ if (ptile->mask) {
+ MEM_freeN(ptile->mask);
+ }
+ MEM_freeN(ptile);
+}
+
+static void ptile_free_list(ListBase *paint_tiles)
+{
+ for (PaintTile *ptile = paint_tiles->first, *ptile_next; ptile; ptile = ptile_next) {
+ ptile_next = ptile->next;
+ ptile_free(ptile);
+ }
+ BLI_listbase_clear(paint_tiles);
+}
+
+static void ptile_invalidate_list(ListBase *paint_tiles)
+{
+ for (PaintTile *ptile = paint_tiles->first; ptile; ptile = ptile->next) {
+ ptile->valid = false;
+ }
+}
+
+void *ED_image_paint_tile_find(ListBase *paint_tiles,
+ Image *image,
+ ImBuf *ibuf,
+ int x_tile,
+ int y_tile,
+ ushort **r_mask,
+ bool validate)
+{
+ for (PaintTile *ptile = paint_tiles->first; ptile; ptile = ptile->next) {
+ if (ptile->x_tile == x_tile && ptile->y_tile == y_tile) {
+ if (ptile->image == image && ptile->ibuf == ibuf) {
+ if (r_mask) {
+ /* allocate mask if requested. */
+ if (!ptile->mask) {
+ ptile->mask = MEM_callocN(sizeof(ushort) * SQUARE(ED_IMAGE_UNDO_TILE_SIZE),
+ "UndoImageTile.mask");
+ }
+ *r_mask = ptile->mask;
+ }
+ if (validate) {
+ ptile->valid = true;
+ }
+ return ptile->rect.pt;
+ }
+ }
+ }
+ return NULL;
+}
+
+void *ED_image_paint_tile_push(ListBase *paint_tiles,
+ Image *image,
+ ImBuf *ibuf,
+ ImBuf **tmpibuf,
+ int x_tile,
+ int y_tile,
+ ushort **r_mask,
+ bool **r_valid,
+ bool use_thread_lock,
+ bool find_prev)
+{
+ const bool has_float = (ibuf->rect_float != NULL);
+
+ /* check if tile is already pushed */
+
+ /* in projective painting we keep accounting of tiles, so if we need one pushed, just push! */
+ if (find_prev) {
+ void *data = ED_image_paint_tile_find(paint_tiles, image, ibuf, x_tile, y_tile, r_mask, true);
+ if (data) {
+ return data;
+ }
+ }
+
+ if (*tmpibuf == NULL) {
+ *tmpibuf = imbuf_alloc_temp_tile();
+ }
+
+ PaintTile *ptile = MEM_callocN(sizeof(PaintTile), "PaintTile");
+
+ ptile->image = image;
+ ptile->ibuf = ibuf;
+
+ ptile->x_tile = x_tile;
+ ptile->y_tile = y_tile;
+
+ /* add mask explicitly here */
+ if (r_mask) {
+ *r_mask = ptile->mask = MEM_callocN(sizeof(ushort) * SQUARE(ED_IMAGE_UNDO_TILE_SIZE),
+ "PaintTile.mask");
+ }
+
+ ptile->rect.pt = MEM_mapallocN((ibuf->rect_float ? sizeof(float[4]) : sizeof(char[4])) *
+ SQUARE(ED_IMAGE_UNDO_TILE_SIZE),
+ "PaintTile.rect");
+
+ ptile->use_float = has_float;
+ ptile->valid = true;
+
+ if (r_valid) {
+ *r_valid = &ptile->valid;
+ }
+
+ IMB_rectcpy(*tmpibuf,
+ ibuf,
+ 0,
+ 0,
+ x_tile * ED_IMAGE_UNDO_TILE_SIZE,
+ y_tile * ED_IMAGE_UNDO_TILE_SIZE,
+ ED_IMAGE_UNDO_TILE_SIZE,
+ ED_IMAGE_UNDO_TILE_SIZE);
+
+ if (has_float) {
+ SWAP(float *, ptile->rect.fp, (*tmpibuf)->rect_float);
+ }
+ else {
+ SWAP(uint *, ptile->rect.uint, (*tmpibuf)->rect);
+ }
+
+ if (use_thread_lock) {
+ BLI_spin_lock(&paint_tiles_lock);
+ }
+ BLI_addtail(paint_tiles, ptile);
+
+ if (use_thread_lock) {
+ BLI_spin_unlock(&paint_tiles_lock);
+ }
+ return ptile->rect.pt;
+}
+
+static void ptile_restore_runtime_list(ListBase *paint_tiles)
+{
+ ImBuf *tmpibuf = imbuf_alloc_temp_tile();
+
+ for (PaintTile *ptile = paint_tiles->first; ptile; ptile = ptile->next) {
+ Image *image = ptile->image;
+ ImBuf *ibuf = BKE_image_acquire_ibuf(image, NULL, NULL);
+ const bool has_float = (ibuf->rect_float != NULL);
+
+ if (has_float) {
+ SWAP(float *, ptile->rect.fp, tmpibuf->rect_float);
+ }
+ else {
+ SWAP(uint *, ptile->rect.uint, tmpibuf->rect);
+ }
+
+ IMB_rectcpy(ibuf,
+ tmpibuf,
+ ptile->x_tile * ED_IMAGE_UNDO_TILE_SIZE,
+ ptile->y_tile * ED_IMAGE_UNDO_TILE_SIZE,
+ 0,
+ 0,
+ ED_IMAGE_UNDO_TILE_SIZE,
+ ED_IMAGE_UNDO_TILE_SIZE);
+
+ if (has_float) {
+ SWAP(float *, ptile->rect.fp, tmpibuf->rect_float);
+ }
+ else {
+ SWAP(uint *, ptile->rect.uint, tmpibuf->rect);
+ }
+
+ GPU_free_image(image); /* force OpenGL reload (maybe partial update will operate better?) */
+ if (ibuf->rect_float) {
+ ibuf->userflags |= IB_RECT_INVALID; /* force recreate of char rect */
+ }
+ if (ibuf->mipmap[0]) {
+ ibuf->userflags |= IB_MIPMAP_INVALID; /* force mip-map recreation. */
+ }
+ ibuf->userflags |= IB_DISPLAY_BUFFER_INVALID;
+
+ BKE_image_release_ibuf(image, ibuf, NULL);
+ }
+
+ IMB_freeImBuf(tmpibuf);
+}
+
+/** \} */
+
+/* -------------------------------------------------------------------- */
+/** \name Image Undo Tile
+ * \{ */
+
+static uint index_from_xy(uint tile_x, uint tile_y, const uint tiles_dims[2])
+{
+ BLI_assert(tile_x < tiles_dims[0] && tile_y < tiles_dims[1]);
+ return (tile_y * tiles_dims[0]) + tile_x;
+}
+
+typedef struct UndoImageTile {
+ union {
+ float *fp;
+ uint *uint;
+ void *pt;
+ } rect;
+ int users;
+} UndoImageTile;
+
+static UndoImageTile *utile_alloc(bool has_float)
+{
+ UndoImageTile *utile = MEM_callocN(sizeof(*utile), "ImageUndoTile");
+ if (has_float) {
+ utile->rect.fp = MEM_mallocN(sizeof(float[4]) * SQUARE(ED_IMAGE_UNDO_TILE_SIZE), __func__);
+ }
+ else {
+ utile->rect.uint = MEM_mallocN(sizeof(uint) * SQUARE(ED_IMAGE_UNDO_TILE_SIZE), __func__);
+ }
+ return utile;
+}
+
+static void utile_init_from_imbuf(
+ UndoImageTile *utile, const uint x, const uint y, const ImBuf *ibuf, ImBuf *tmpibuf)
+{
+ const bool has_float = ibuf->rect_float;
+
+ if (has_float) {
+ SWAP(float *, utile->rect.fp, tmpibuf->rect_float);
+ }
+ else {
+ SWAP(uint *, utile->rect.uint, tmpibuf->rect);
+ }
+
+ IMB_rectcpy(tmpibuf, ibuf, 0, 0, x, y, ED_IMAGE_UNDO_TILE_SIZE, ED_IMAGE_UNDO_TILE_SIZE);
+
+ if (has_float) {
+ SWAP(float *, utile->rect.fp, tmpibuf->rect_float);
+ }
+ else {
+ SWAP(uint *, utile->rect.uint, tmpibuf->rect);
+ }
+}
+
+static void utile_restore(
+ const UndoImageTile *utile, const uint x, const uint y, ImBuf *ibuf, ImBuf *tmpibuf)
+{
+ const bool has_float = ibuf->rect_float;
+ float *prev_rect_float = tmpibuf->rect_float;
+ uint *prev_rect = tmpibuf->rect;
+
+ if (has_float) {
+ tmpibuf->rect_float = utile->rect.fp;
+ }
+ else {
+ tmpibuf->rect = utile->rect.uint;
+ }
+
+ IMB_rectcpy(ibuf, tmpibuf, x, y, 0, 0, ED_IMAGE_UNDO_TILE_SIZE, ED_IMAGE_UNDO_TILE_SIZE);
+
+ tmpibuf->rect_float = prev_rect_float;
+ tmpibuf->rect = prev_rect;
+}
+
+static void utile_decref(UndoImageTile *utile)
+{
+ utile->users -= 1;
+ BLI_assert(utile->users >= 0);
+ if (utile->users == 0) {
+ MEM_freeN(utile->rect.pt);
+ MEM_freeN(utile);
+ }
+}
+
+/** \} */
+
+/* -------------------------------------------------------------------- */
+/** \name Image Undo Buffer
+ * \{ */
+
+typedef struct UndoImageBuf {
+ struct UndoImageBuf *next, *prev;
+
+ /**
+ * The buffer after the undo step has executed.
+ */
+ struct UndoImageBuf *post;
+
+ char ibuf_name[IMB_FILENAME_SIZE];
+
+ UndoImageTile **tiles;
+
+ /** Can calculate these from dims, just for convenience. */
+ uint tiles_len;
+ uint tiles_dims[2];
+
+ uint image_dims[2];
+
+ /** Store variables from the image. */
+ struct {
+ short source;
+ bool use_float;
+ char gen_type;
+ } image_state;
+
+} UndoImageBuf;
+
+static UndoImageBuf *ubuf_from_image_no_tiles(Image *image, const ImBuf *ibuf)
+{
+ UndoImageBuf *ubuf = MEM_callocN(sizeof(*ubuf), __func__);
+
+ ubuf->image_dims[0] = ibuf->x;
+ ubuf->image_dims[1] = ibuf->y;
+
+ ubuf->tiles_dims[0] = ED_IMAGE_UNDO_TILE_NUMBER(ubuf->image_dims[0]);
+ ubuf->tiles_dims[1] = ED_IMAGE_UNDO_TILE_NUMBER(ubuf->image_dims[1]);
+
+ ubuf->tiles_len = ubuf->tiles_dims[0] * ubuf->tiles_dims[1];
+ ubuf->tiles = MEM_callocN(sizeof(*ubuf->tiles) * ubuf->tiles_len, __func__);
+
+ BLI_strncpy(ubuf->ibuf_name, ibuf->name, sizeof(ubuf->ibuf_name));
+ ubuf->image_state.gen_type = image->gen_type;
+ ubuf->image_state.source = image->source;
+ ubuf->image_state.use_float = ibuf->rect_float != NULL;
+
+ return ubuf;
+}
+
+static void ubuf_from_image_all_tiles(UndoImageBuf *ubuf, const ImBuf *ibuf)
+{
+ ImBuf *tmpibuf = imbuf_alloc_temp_tile();
+
+ const bool has_float = ibuf->rect_float;
+ int i = 0;
+ for (uint y_tile = 0; y_tile < ubuf->tiles_dims[1]; y_tile += 1) {
+ uint y = y_tile << ED_IMAGE_UNDO_TILE_BITS;
+ for (uint x_tile = 0; x_tile < ubuf->tiles_dims[0]; x_tile += 1) {
+ uint x = x_tile << ED_IMAGE_UNDO_TILE_BITS;
+
+ BLI_assert(ubuf->tiles[i] == NULL);
+ UndoImageTile *utile = utile_alloc(has_float);
+ utile->users = 1;
+ utile_init_from_imbuf(utile, x, y, ibuf, tmpibuf);
+ ubuf->tiles[i] = utile;
+
+ i += 1;
+ }
+ }
+
+ IMB_freeImBuf(tmpibuf);
+}
+
+/** Ensure we can copy the ubuf into the ibuf. */
+static void ubuf_ensure_compat_ibuf(const UndoImageBuf *ubuf, ImBuf *ibuf)
+{
+ /* We could have both float and rect buffers,
+ * in this case free the float buffer if it's unused. */
+ if ((ibuf->rect_float != NULL) && (ubuf->image_state.use_float == false)) {
+ imb_freerectfloatImBuf(ibuf);
+ }
+
+ if (ibuf->x == ubuf->image_dims[0] && ibuf->y == ubuf->image_dims[1] &&
+ (ubuf->image_state.use_float ? (void *)ibuf->rect_float : (void *)ibuf->rect)) {
+ return;
+ }
+
+ imb_freerectImbuf_all(ibuf);
+ IMB_rect_size_set(ibuf, ubuf->image_dims);
+
+ if (ubuf->image_state.use_float) {
+ imb_addrectfloatImBuf(ibuf);
+ }
+ else {
+ imb_addrectImBuf(ibuf);
+ }
+}
+
+static void ubuf_free(UndoImageBuf *ubuf)
+{
+ UndoImageBuf *ubuf_post = ubuf->post;
+ for (uint i = 0; i < ubuf->tiles_len; i++) {
+ UndoImageTile *utile = ubuf->tiles[i];
+ utile_decref(utile);
+ }
+ MEM_freeN(ubuf->tiles);
+ MEM_freeN(ubuf);
+ if (ubuf_post) {
+ ubuf_free(ubuf_post);
+ }
+}
+
+/** \} */
+
+/* -------------------------------------------------------------------- */
+/** \name Image Undo Handle
+ * \{ */
+
+typedef struct UndoImageHandle {
+ struct UndoImageHandle *next, *prev;
+
+ /** Each undo handle refers to a single image which may have multiple buffers. */
+ UndoRefID_Image image_ref;
+
+ /**
+ * List of #UndoImageBuf's to support multiple buffers per image.
+ *
+ * \note To properly support multiple buffers per image
+ * we would need to store an #ImageUser for each #UndoImageBuf.
+ * since when restoring the image we use:
+ * `BKE_image_acquire_ibuf(image, NULL, NULL)`.
+ */
+ ListBase buffers;
+
+} UndoImageHandle;
+
+static void uhandle_restore_list(ListBase *undo_handles, bool use_init)
+{
+ ImBuf *tmpibuf = imbuf_alloc_temp_tile();
+
+ for (UndoImageHandle *uh = undo_handles->first; uh; uh = uh->next) {
+ /* Tiles only added to second set of tiles. */
+ Image *image = uh->image_ref.ptr;
+ ImBuf *ibuf = BKE_image_acquire_ibuf(image, NULL, NULL);
+ if (UNLIKELY(ibuf == NULL)) {
+ CLOG_ERROR(&LOG, "Unable to get buffer for image '%s'", image->id.name + 2);
+ continue;
+ }
+ bool changed = false;
+ for (UndoImageBuf *ubuf_iter = uh->buffers.first; ubuf_iter; ubuf_iter = ubuf_iter->next) {
+ UndoImageBuf *ubuf = use_init ? ubuf_iter : ubuf_iter->post;
+ ubuf_ensure_compat_ibuf(ubuf, ibuf);
+
+ int i = 0;
+ for (uint y_tile = 0; y_tile < ubuf->tiles_dims[1]; y_tile += 1) {
+ uint y = y_tile << ED_IMAGE_UNDO_TILE_BITS;
+ for (uint x_tile = 0; x_tile < ubuf->tiles_dims[0]; x_tile += 1) {
+ uint x = x_tile << ED_IMAGE_UNDO_TILE_BITS;
+ utile_restore(ubuf->tiles[i], x, y, ibuf, tmpibuf);
+ changed = true;
+ i += 1;
+ }
+ }
+ }
+
+ if (changed) {
+ BKE_image_mark_dirty(image, ibuf);
+ GPU_free_image(image); /* force OpenGL reload */
+
+ if (ibuf->rect_float) {
+ ibuf->userflags |= IB_RECT_INVALID; /* force recreate of char rect */
+ }
+ if (ibuf->mipmap[0]) {
+ ibuf->userflags |= IB_MIPMAP_INVALID; /* force mip-map recreation. */
+ }
+ ibuf->userflags |= IB_DISPLAY_BUFFER_INVALID;
+
+ DEG_id_tag_update(&image->id, 0);
+ }
+ BKE_image_release_ibuf(image, ibuf, NULL);
+ }
+
+ IMB_freeImBuf(tmpibuf);
+}
+
+static void uhandle_free_list(ListBase *undo_handles)
+{
+ LISTBASE_FOREACH_MUTABLE (UndoImageHandle *, uh, undo_handles) {
+ LISTBASE_FOREACH_MUTABLE (UndoImageBuf *, ubuf, &uh->buffers) {
+ ubuf_free(ubuf);
+ }
+ MEM_freeN(uh);
+ }
+ BLI_listbase_clear(undo_handles);
+}
+
+/** \} */
+
+/* -------------------------------------------------------------------- */
+/** \name Image Undo Internal Utilities
+ * \{ */
+
+/** #UndoImageHandle utilities */
+
+static UndoImageBuf *uhandle_lookup_ubuf(UndoImageHandle *uh,
+ const Image *UNUSED(image),
+ const char *ibuf_name)
+{
+ for (UndoImageBuf *ubuf = uh->buffers.first; ubuf; ubuf = ubuf->next) {
+ if (STREQ(ubuf->ibuf_name, ibuf_name)) {
+ return ubuf;
+ }
+ }
+ return NULL;
+}
+
+static UndoImageBuf *uhandle_add_ubuf(UndoImageHandle *uh, Image *image, ImBuf *ibuf)
+{
+ BLI_assert(uhandle_lookup_ubuf(uh, image, ibuf->name) == NULL);
+ UndoImageBuf *ubuf = ubuf_from_image_no_tiles(image, ibuf);
+ BLI_addtail(&uh->buffers, ubuf);
+
+ ubuf->post = NULL;
+
+ return ubuf;
+}
+
+static UndoImageBuf *uhandle_ensure_ubuf(UndoImageHandle *uh, Image *image, ImBuf *ibuf)
+{
+ UndoImageBuf *ubuf = uhandle_lookup_ubuf(uh, image, ibuf->name);
+ if (ubuf == NULL) {
+ ubuf = uhandle_add_ubuf(uh, image, ibuf);
+ }
+ return ubuf;
+}
+
+static UndoImageHandle *uhandle_lookup_by_name(ListBase *undo_handles, const Image *image)
+{
+ for (UndoImageHandle *uh = undo_handles->first; uh; uh = uh->next) {
+ if (STREQ(image->id.name + 2, uh->image_ref.name + 2)) {
+ return uh;
+ }
+ }
+ return NULL;
+}
+
+static UndoImageHandle *uhandle_lookup(ListBase *undo_handles, const Image *image)
+{
+ for (UndoImageHandle *uh = undo_handles->first; uh; uh = uh->next) {
+ if (image == uh->image_ref.ptr) {
+ return uh;
+ }
+ }
+ return NULL;
+}
+
+static UndoImageHandle *uhandle_add(ListBase *undo_handles, Image *image)
+{
+ BLI_assert(uhandle_lookup(undo_handles, image) == NULL);
+ UndoImageHandle *uh = MEM_callocN(sizeof(*uh), __func__);
+ uh->image_ref.ptr = image;
+ BLI_addtail(undo_handles, uh);
+ return uh;
+}
+
+static UndoImageHandle *uhandle_ensure(ListBase *undo_handles, Image *image)
+{
+ UndoImageHandle *uh = uhandle_lookup(undo_handles, image);
+ if (uh == NULL) {
+ uh = uhandle_add(undo_handles, image);
+ }
+ return uh;
+}
+
+/** \} */
+
+/* -------------------------------------------------------------------- */
+/** \name Implements ED Undo System
+ * \{ */
+
+typedef struct ImageUndoStep {
+ UndoStep step;
+
+ /** #UndoImageHandle */
+ ListBase handles;
+
+ /**
+ * #PaintTile
+ * Run-time only data (active during a paint stroke).
+ */
+ ListBase paint_tiles;
+
+ bool is_encode_init;
+ ePaintMode paint_mode;
+
+} ImageUndoStep;
+
+/**
+ * Find the previous undo buffer from this one.
+ * \note We could look into undo steps even further back.
+ */
+static UndoImageBuf *ubuf_lookup_from_reference(ImageUndoStep *us_prev,
+ const Image *image,
+ const UndoImageBuf *ubuf)
+{
+ /* Use name lookup because because the pointer is cleared for previous steps. */
+ UndoImageHandle *uh_prev = uhandle_lookup_by_name(&us_prev->handles, image);
+ if (uh_prev != NULL) {
+ UndoImageBuf *ubuf_reference = uhandle_lookup_ubuf(uh_prev, image, ubuf->ibuf_name);
+ if (ubuf_reference) {
+ ubuf_reference = ubuf_reference->post;
+ if ((ubuf_reference->image_dims[0] == ubuf->image_dims[0]) &&
+ (ubuf_reference->image_dims[1] == ubuf->image_dims[1])) {
+ return ubuf_reference;
+ }
+ }
+ }
+ return NULL;
+}
+
+static bool image_undosys_poll(bContext *C)
+{
+ Object *obact = CTX_data_active_object(C);
+
+ ScrArea *sa = CTX_wm_area(C);
+ if (sa && (sa->spacetype == SPACE_IMAGE)) {
+ SpaceImage *sima = (SpaceImage *)sa->spacedata.first;
+ if ((obact && (obact->mode & OB_MODE_TEXTURE_PAINT)) || (sima->mode == SI_MODE_PAINT)) {
+ return true;
+ }
+ }
+ else {
+ if (obact && (obact->mode & OB_MODE_TEXTURE_PAINT)) {
+ return true;
+ }
+ }
+ return false;
+}
+
+static void image_undosys_step_encode_init(struct bContext *UNUSED(C), UndoStep *us_p)
+{
+ ImageUndoStep *us = (ImageUndoStep *)us_p;
+ /* dummy, memory is cleared anyway. */
+ us->is_encode_init = true;
+ BLI_listbase_clear(&us->handles);
+ BLI_listbase_clear(&us->paint_tiles);
+}
+
+static bool image_undosys_step_encode(struct bContext *C,
+ struct Main *UNUSED(bmain),
+ UndoStep *us_p)
+{
+ /* Encoding is done along the way by adding tiles
+ * to the current 'ImageUndoStep' added by encode_init.
+ *
+ * This function ensures there are previous and current states of the image in the undo buffer.
+ */
+ ImageUndoStep *us = (ImageUndoStep *)us_p;
+
+ BLI_assert(us->step.data_size == 0);
+
+ if (us->is_encode_init) {
+
+ ImBuf *tmpibuf = imbuf_alloc_temp_tile();
+
+ ImageUndoStep *us_reference = (ImageUndoStep *)ED_undo_stack_get()->step_active;
+ while (us_reference && us_reference->step.type != BKE_UNDOSYS_TYPE_IMAGE) {
+ us_reference = (ImageUndoStep *)us_reference->step.prev;
+ }
+
+ /* Initialize undo tiles from ptiles (if they exist). */
+ for (PaintTile *ptile = us->paint_tiles.first, *ptile_next; ptile; ptile = ptile_next) {
+ if (ptile->valid) {
+ UndoImageHandle *uh = uhandle_ensure(&us->handles, ptile->image);
+ UndoImageBuf *ubuf_pre = uhandle_ensure_ubuf(uh, ptile->image, ptile->ibuf);
+
+ UndoImageTile *utile = MEM_callocN(sizeof(*utile), "UndoImageTile");
+ utile->users = 1;
+ utile->rect.pt = ptile->rect.pt;
+ ptile->rect.pt = NULL;
+ const uint tile_index = index_from_xy(ptile->x_tile, ptile->y_tile, ubuf_pre->tiles_dims);
+
+ BLI_assert(ubuf_pre->tiles[tile_index] == NULL);
+ ubuf_pre->tiles[tile_index] = utile;
+ }
+ ptile_next = ptile->next;
+ ptile_free(ptile);
+ }
+ BLI_listbase_clear(&us->paint_tiles);
+
+ for (UndoImageHandle *uh = us->handles.first; uh; uh = uh->next) {
+ for (UndoImageBuf *ubuf_pre = uh->buffers.first; ubuf_pre; ubuf_pre = ubuf_pre->next) {
+
+ ImBuf *ibuf = BKE_image_acquire_ibuf(uh->image_ref.ptr, NULL, NULL);
+
+ const bool has_float = ibuf->rect_float;
+
+ BLI_assert(ubuf_pre->post == NULL);
+ ubuf_pre->post = ubuf_from_image_no_tiles(uh->image_ref.ptr, ibuf);
+ UndoImageBuf *ubuf_post = ubuf_pre->post;
+
+ if (ubuf_pre->image_dims[0] != ubuf_post->image_dims[0] ||
+ ubuf_pre->image_dims[1] != ubuf_post->image_dims[1]) {
+ ubuf_from_image_all_tiles(ubuf_post, ibuf);
+ }
+ else {
+ /* Search for the previous buffer. */
+ UndoImageBuf *ubuf_reference = (us_reference ?
+ ubuf_lookup_from_reference(
+ us_reference, uh->image_ref.ptr, ubuf_post) :
+ NULL);
+
+ int i = 0;
+ for (uint y_tile = 0; y_tile < ubuf_pre->tiles_dims[1]; y_tile += 1) {
+ uint y = y_tile << ED_IMAGE_UNDO_TILE_BITS;
+ for (uint x_tile = 0; x_tile < ubuf_pre->tiles_dims[0]; x_tile += 1) {
+ uint x = x_tile << ED_IMAGE_UNDO_TILE_BITS;
+
+ if ((ubuf_reference != NULL) && ((ubuf_pre->tiles[i] == NULL) ||
+ /* In this case the paint stroke as has added a tile
+ * which we have a duplicate reference available. */
+ (ubuf_pre->tiles[i]->users == 1))) {
+ if (ubuf_pre->tiles[i] != NULL) {
+ /* If we have a reference, re-use this single use tile for the post state. */
+ BLI_assert(ubuf_pre->tiles[i]->users == 1);
+ ubuf_post->tiles[i] = ubuf_pre->tiles[i];
+ ubuf_pre->tiles[i] = NULL;
+ utile_init_from_imbuf(ubuf_post->tiles[i], x, y, ibuf, tmpibuf);
+ }
+ else {
+ BLI_assert(ubuf_post->tiles[i] == NULL);
+ ubuf_post->tiles[i] = ubuf_reference->tiles[i];
+ ubuf_post->tiles[i]->users += 1;
+ }
+ BLI_assert(ubuf_pre->tiles[i] == NULL);
+ ubuf_pre->tiles[i] = ubuf_reference->tiles[i];
+ ubuf_pre->tiles[i]->users += 1;
+
+ BLI_assert(ubuf_pre->tiles[i] != NULL);
+ BLI_assert(ubuf_post->tiles[i] != NULL);
+ }
+ else {
+ UndoImageTile *utile = utile_alloc(has_float);
+ utile_init_from_imbuf(utile, x, y, ibuf, tmpibuf);
+
+ if (ubuf_pre->tiles[i] != NULL) {
+ ubuf_post->tiles[i] = utile;
+ utile->users = 1;
+ }
+ else {
+ ubuf_pre->tiles[i] = utile;
+ ubuf_post->tiles[i] = utile;
+ utile->users = 2;
+ }
+ }
+ BLI_assert(ubuf_pre->tiles[i] != NULL);
+ BLI_assert(ubuf_post->tiles[i] != NULL);
+ i += 1;
+ }
+ }
+ }
+ BKE_image_release_ibuf(uh->image_ref.ptr, ibuf, NULL);
+ }
+ }
+
+ IMB_freeImBuf(tmpibuf);
+
+ /* Useful to debug tiles are stored correctly. */
+ if (false) {
+ uhandle_restore_list(&us->handles, false);
+ }
+ }
+ else {
+ /* Happens when switching modes. */
+ ePaintMode paint_mode = BKE_paintmode_get_active_from_context(C);
+ BLI_assert(ELEM(paint_mode, PAINT_MODE_TEXTURE_2D, PAINT_MODE_TEXTURE_3D));
+ us->paint_mode = paint_mode;
+ }
+
+ us_p->is_applied = true;
+
+ return true;
+}
+
+static void image_undosys_step_decode_undo_impl(ImageUndoStep *us, bool is_final)
+{
+ BLI_assert(us->step.is_applied == true);
+ uhandle_restore_list(&us->handles, !is_final);
+ us->step.is_applied = false;
+}
+
+static void image_undosys_step_decode_redo_impl(ImageUndoStep *us)
+{
+ BLI_assert(us->step.is_applied == false);
+ uhandle_restore_list(&us->handles, false);
+ us->step.is_applied = true;
+}
+
+static void image_undosys_step_decode_undo(ImageUndoStep *us, bool is_final)
+{
+ ImageUndoStep *us_iter = us;
+ while (us_iter->step.next && (us_iter->step.next->type == us_iter->step.type)) {
+ if (us_iter->step.next->is_applied == false) {
+ break;
+ }
+ us_iter = (ImageUndoStep *)us_iter->step.next;
+ }
+ while (us_iter != us || (!is_final && us_iter == us)) {
+
+ image_undosys_step_decode_undo_impl(us_iter, is_final);
+ if (us_iter == us) {
+ break;
+ }
+ us_iter = (ImageUndoStep *)us_iter->step.prev;
+ }
+}
+
+static void image_undosys_step_decode_redo(ImageUndoStep *us)
+{
+ ImageUndoStep *us_iter = us;
+ while (us_iter->step.prev && (us_iter->step.prev->type == us_iter->step.type)) {
+ if (us_iter->step.prev->is_applied == true) {
+ break;
+ }
+ us_iter = (ImageUndoStep *)us_iter->step.prev;
+ }
+ while (us_iter && (us_iter->step.is_applied == false)) {
+ image_undosys_step_decode_redo_impl(us_iter);
+ if (us_iter == us) {
+ break;
+ }
+ us_iter = (ImageUndoStep *)us_iter->step.next;
+ }
+}
+
+static void image_undosys_step_decode(
+ struct bContext *C, struct Main *bmain, UndoStep *us_p, int dir, bool is_final)
+{
+ ImageUndoStep *us = (ImageUndoStep *)us_p;
+ if (dir < 0) {
+ image_undosys_step_decode_undo(us, is_final);
+ }
+ else {
+ image_undosys_step_decode_redo(us);
+ }
+
+ if (us->paint_mode == PAINT_MODE_TEXTURE_3D) {
+ ED_object_mode_set(C, OB_MODE_TEXTURE_PAINT);
+ }
+
+ /* Refresh texture slots. */
+ ED_editors_init_for_undo(bmain);
+}
+
+static void image_undosys_step_free(UndoStep *us_p)
+{
+ ImageUndoStep *us = (ImageUndoStep *)us_p;
+ uhandle_free_list(&us->handles);
+
+ /* Typically this list will have been cleared. */
+ ptile_free_list(&us->paint_tiles);
+}
+
+static void image_undosys_foreach_ID_ref(UndoStep *us_p,
+ UndoTypeForEachIDRefFn foreach_ID_ref_fn,
+ void *user_data)
+{
+ ImageUndoStep *us = (ImageUndoStep *)us_p;
+ for (UndoImageHandle *uh = us->handles.first; uh; uh = uh->next) {
+ foreach_ID_ref_fn(user_data, ((UndoRefID *)&uh->image_ref));
+ }
+}
+
+/* Export for ED_undo_sys. */
+void ED_image_undosys_type(UndoType *ut)
+{
+ ut->name = "Image";
+ ut->poll = image_undosys_poll;
+ ut->step_encode_init = image_undosys_step_encode_init;
+ ut->step_encode = image_undosys_step_encode;
+ ut->step_decode = image_undosys_step_decode;
+ ut->step_free = image_undosys_step_free;
+
+ ut->step_foreach_ID_ref = image_undosys_foreach_ID_ref;
+
+ ut->use_context = true;
+
+ ut->step_size = sizeof(ImageUndoStep);
+}
+
+/** \} */
+
+/* -------------------------------------------------------------------- */
+/** \name Utilities
+ * \{ */
+
+ListBase *ED_image_paint_tile_list_get(void)
+{
+ UndoStack *ustack = ED_undo_stack_get();
+ UndoStep *us_prev = ustack->step_init;
+ UndoStep *us_p = BKE_undosys_stack_init_or_active_with_type(ustack, BKE_UNDOSYS_TYPE_IMAGE);
+ ImageUndoStep *us = (ImageUndoStep *)us_p;
+ /* We should always have an undo push started when accessing tiles,
+ * not doing this means we won't have paint_mode correctly set. */
+ BLI_assert(us_p == us_prev);
+ if (us_p != us_prev) {
+ /* Fallback value until we can be sure this never happens. */
+ us->paint_mode = PAINT_MODE_TEXTURE_2D;
+ }
+ return &us->paint_tiles;
+}
+
+/* restore painting image to previous state. Used for anchored and drag-dot style brushes*/
+void ED_image_undo_restore(UndoStep *us)
+{
+ ListBase *paint_tiles = &((ImageUndoStep *)us)->paint_tiles;
+ ptile_restore_runtime_list(paint_tiles);
+ ptile_invalidate_list(paint_tiles);
+}
+
+static ImageUndoStep *image_undo_push_begin(const char *name, int paint_mode)
+{
+ UndoStack *ustack = ED_undo_stack_get();
+ bContext *C = NULL; /* special case, we never read from this. */
+ UndoStep *us_p = BKE_undosys_step_push_init_with_type(ustack, C, name, BKE_UNDOSYS_TYPE_IMAGE);
+ ImageUndoStep *us = (ImageUndoStep *)us_p;
+ BLI_assert(ELEM(paint_mode, PAINT_MODE_TEXTURE_2D, PAINT_MODE_TEXTURE_3D));
+ us->paint_mode = paint_mode;
+ return us;
+}
+
+void ED_image_undo_push_begin(const char *name, int paint_mode)
+{
+ image_undo_push_begin(name, paint_mode);
+}
+
+void ED_image_undo_push_begin_with_image(const char *name, Image *image, ImBuf *ibuf)
+{
+ ImageUndoStep *us = image_undo_push_begin(name, PAINT_MODE_TEXTURE_2D);
+
+ UndoImageHandle *uh = uhandle_ensure(&us->handles, image);
+ UndoImageBuf *ubuf_pre = uhandle_ensure_ubuf(uh, image, ibuf);
+ BLI_assert(ubuf_pre->post == NULL);
+
+ ImageUndoStep *us_reference = (ImageUndoStep *)ED_undo_stack_get()->step_active;
+ while (us_reference && us_reference->step.type != BKE_UNDOSYS_TYPE_IMAGE) {
+ us_reference = (ImageUndoStep *)us_reference->step.prev;
+ }
+ UndoImageBuf *ubuf_reference = (us_reference ?
+ ubuf_lookup_from_reference(us_reference, image, ubuf_pre) :
+ NULL);
+
+ if (ubuf_reference) {
+ memcpy(ubuf_pre->tiles, ubuf_reference->tiles, sizeof(*ubuf_pre->tiles) * ubuf_pre->tiles_len);
+ for (uint i = 0; i < ubuf_pre->tiles_len; i++) {
+ UndoImageTile *utile = ubuf_pre->tiles[i];
+ utile->users += 1;
+ }
+ }
+ else {
+ ubuf_from_image_all_tiles(ubuf_pre, ibuf);
+ }
+}
+
+void ED_image_undo_push_end(void)
+{
+ UndoStack *ustack = ED_undo_stack_get();
+ BKE_undosys_step_push(ustack, NULL, NULL);
+ WM_file_tag_modified();
+}
+
+/** \} */
diff --git a/source/blender/editors/space_image/space_image.c b/source/blender/editors/space_image/space_image.c
index 5fa4fe3e077..a88ecc91868 100644
--- a/source/blender/editors/space_image/space_image.c
+++ b/source/blender/editors/space_image/space_image.c
@@ -207,6 +207,7 @@ static void image_operatortypes(void)
WM_operatortype_append(IMAGE_OT_view_all);
WM_operatortype_append(IMAGE_OT_view_pan);
WM_operatortype_append(IMAGE_OT_view_selected);
+ WM_operatortype_append(IMAGE_OT_view_center_cursor);
WM_operatortype_append(IMAGE_OT_view_zoom);
WM_operatortype_append(IMAGE_OT_view_zoom_in);
WM_operatortype_append(IMAGE_OT_view_zoom_out);
@@ -229,6 +230,7 @@ static void image_operatortypes(void)
WM_operatortype_append(IMAGE_OT_unpack);
WM_operatortype_append(IMAGE_OT_invert);
+ WM_operatortype_append(IMAGE_OT_resize);
WM_operatortype_append(IMAGE_OT_cycle_render_slot);
WM_operatortype_append(IMAGE_OT_clear_render_slot);
diff --git a/source/blender/editors/space_info/info_ops.c b/source/blender/editors/space_info/info_ops.c
index 14817e9ffa1..124e3c08165 100644
--- a/source/blender/editors/space_info/info_ops.c
+++ b/source/blender/editors/space_info/info_ops.c
@@ -211,6 +211,7 @@ static const EnumPropertyItem unpack_all_method_items[] = {
"Write files to original location (overwrite existing files)",
""},
{PF_KEEP, "KEEP", 0, "Disable Auto-pack, keep all packed files", ""},
+ {PF_REMOVE, "REMOVE", 0, "Remove Pack", ""},
/* {PF_ASK, "ASK", 0, "Ask for each file", ""}, */
{0, NULL, 0, NULL, NULL},
};
diff --git a/source/blender/editors/space_nla/nla_select.c b/source/blender/editors/space_nla/nla_select.c
index 1abf1a64263..938e7f09881 100644
--- a/source/blender/editors/space_nla/nla_select.c
+++ b/source/blender/editors/space_nla/nla_select.c
@@ -597,13 +597,19 @@ void NLA_OT_select_leftright(wmOperatorType *ot)
/* ******************** Mouse-Click Select Operator *********************** */
/* select strip directly under mouse */
-static void mouse_nla_strips(
- bContext *C, bAnimContext *ac, const int mval[2], short select_mode, const bool deselect_all)
+static int mouse_nla_strips(bContext *C,
+ bAnimContext *ac,
+ const int mval[2],
+ short select_mode,
+ const bool deselect_all,
+ bool wait_to_deselect_others)
{
Scene *scene = ac->scene;
bAnimListElem *ale = NULL;
NlaStrip *strip = NULL;
+ int ret_value = OPERATOR_FINISHED;
+
nlaedit_strip_at_region_position(ac, mval[0], mval[1], &ale, &strip);
/* if currently in tweakmode, exit tweakmode before changing selection states
@@ -613,6 +619,10 @@ static void mouse_nla_strips(
WM_operator_name_call(C, "NLA_OT_tweakmode_exit", WM_OP_EXEC_DEFAULT, NULL);
}
+ if (select_mode != SELECT_REPLACE) {
+ wait_to_deselect_others = false;
+ }
+
/* For replacing selection, if we have something to select, we have to clear existing selection.
* The same goes if we found nothing to select, and deselect_all is true
* (deselect on nothing behavior). */
@@ -620,11 +630,16 @@ static void mouse_nla_strips(
/* reset selection mode for next steps */
select_mode = SELECT_ADD;
- /* deselect all strips */
- deselect_nla_strips(ac, 0, SELECT_SUBTRACT);
+ if (strip && wait_to_deselect_others && (strip->flag & DESELECT_STRIPS_CLEARACTIVE)) {
+ ret_value = OPERATOR_RUNNING_MODAL;
+ }
+ else {
+ /* deselect all strips */
+ deselect_nla_strips(ac, 0, SELECT_SUBTRACT);
- /* deselect all other channels first */
- ANIM_deselect_anim_channels(ac, ac->data, ac->datatype, 0, ACHANNEL_SETFLAG_CLEAR);
+ /* deselect all other channels first */
+ ANIM_deselect_anim_channels(ac, ac->data, ac->datatype, 0, ACHANNEL_SETFLAG_CLEAR);
+ }
}
/* only select strip if we clicked on a valid channel and hit something */
@@ -658,14 +673,17 @@ static void mouse_nla_strips(
/* free this channel */
MEM_freeN(ale);
}
+
+ return ret_value;
}
/* ------------------- */
/* handle clicking */
-static int nlaedit_clickselect_invoke(bContext *C, wmOperator *op, const wmEvent *event)
+static int nlaedit_clickselect_exec(bContext *C, wmOperator *op)
{
bAnimContext ac;
+ int ret_value;
/* get editor data */
if (ANIM_animdata_get_context(C, &ac) == 0) {
@@ -675,15 +693,19 @@ static int nlaedit_clickselect_invoke(bContext *C, wmOperator *op, const wmEvent
/* select mode is either replace (deselect all, then add) or add/extend */
const short selectmode = RNA_boolean_get(op->ptr, "extend") ? SELECT_INVERT : SELECT_REPLACE;
const bool deselect_all = RNA_boolean_get(op->ptr, "deselect_all");
+ const bool wait_to_deselect_others = RNA_boolean_get(op->ptr, "wait_to_deselect_others");
+ int mval[2];
+ mval[0] = RNA_int_get(op->ptr, "mouse_x");
+ mval[1] = RNA_int_get(op->ptr, "mouse_y");
/* select strips based upon mouse position */
- mouse_nla_strips(C, &ac, event->mval, selectmode, deselect_all);
+ ret_value = mouse_nla_strips(C, &ac, mval, selectmode, deselect_all, wait_to_deselect_others);
/* set notifier that things have changed */
WM_event_add_notifier(C, NC_ANIMATION | ND_NLA | NA_SELECTED, NULL);
/* for tweak grab to work */
- return OPERATOR_FINISHED | OPERATOR_PASS_THROUGH;
+ return ret_value | OPERATOR_PASS_THROUGH;
}
void NLA_OT_click_select(wmOperatorType *ot)
@@ -695,14 +717,17 @@ void NLA_OT_click_select(wmOperatorType *ot)
ot->idname = "NLA_OT_click_select";
ot->description = "Handle clicks to select NLA Strips";
- /* api callbacks - absolutely no exec() this yet... */
- ot->invoke = nlaedit_clickselect_invoke;
+ /* callbacks */
ot->poll = ED_operator_nla_active;
+ ot->exec = nlaedit_clickselect_exec;
+ ot->invoke = WM_generic_select_invoke;
+ ot->modal = WM_generic_select_modal;
/* flags */
ot->flag = OPTYPE_UNDO;
/* properties */
+ WM_operator_properties_generic_select(ot);
prop = RNA_def_boolean(ot->srna, "extend", 0, "Extend Select", ""); // SHIFTKEY
RNA_def_property_flag(prop, PROP_SKIP_SAVE);
diff --git a/source/blender/editors/space_node/drawnode.c b/source/blender/editors/space_node/drawnode.c
index 93121a6bef9..a5b18ff7589 100644
--- a/source/blender/editors/space_node/drawnode.c
+++ b/source/blender/editors/space_node/drawnode.c
@@ -47,6 +47,7 @@
#include "GPU_batch.h"
#include "GPU_batch_presets.h"
+#include "GPU_platform.h"
#include "GPU_immediate.h"
#include "GPU_matrix.h"
#include "GPU_state.h"
@@ -815,51 +816,8 @@ static void node_shader_buts_tex_environment(uiLayout *layout, bContext *C, Poin
static void node_shader_buts_tex_environment_ex(uiLayout *layout, bContext *C, PointerRNA *ptr)
{
- PointerRNA imaptr = RNA_pointer_get(ptr, "image");
PointerRNA iuserptr = RNA_pointer_get(ptr, "image_user");
- Image *ima = imaptr.data;
-
- uiLayoutSetContextPointer(layout, "image_user", &iuserptr);
- uiTemplateID(layout,
- C,
- ptr,
- "image",
- "IMAGE_OT_new",
- "IMAGE_OT_open",
- NULL,
- UI_TEMPLATE_ID_FILTER_ALL,
- false);
-
- if (!ima) {
- return;
- }
-
- uiItemR(layout, &imaptr, "source", 0, IFACE_("Source"), ICON_NONE);
-
- if (!(ELEM(ima->source, IMA_SRC_GENERATED, IMA_SRC_VIEWER))) {
- uiLayout *row = uiLayoutRow(layout, true);
- const bool is_packed = BKE_image_has_packedfile(ima);
-
- if (is_packed) {
- uiItemO(row, "", ICON_PACKAGE, "image.unpack");
- }
- else {
- uiItemO(row, "", ICON_UGLYPACKAGE, "image.pack");
- }
-
- row = uiLayoutRow(row, true);
- uiLayoutSetEnabled(row, !is_packed);
- uiItemR(row, &imaptr, "filepath", 0, "", ICON_NONE);
- uiItemO(row, "", ICON_FILE_REFRESH, "image.reload");
- }
-
- /* multilayer? */
- if (ima->type == IMA_TYPE_MULTILAYER && ima->rr) {
- uiTemplateImageLayers(layout, C, ima, iuserptr.data);
- }
- else if (ima->source != IMA_SRC_GENERATED) {
- uiTemplateImageInfo(layout, C, ima, iuserptr.data);
- }
+ uiTemplateImage(layout, C, ptr, "image", &iuserptr, 0, 0);
uiItemR(layout, ptr, "interpolation", 0, IFACE_("Interpolation"), ICON_NONE);
uiItemR(layout, ptr, "projection", 0, IFACE_("Projection"), ICON_NONE);
diff --git a/source/blender/editors/space_node/node_add.c b/source/blender/editors/space_node/node_add.c
index 01a30f677a3..664349b3c3b 100644
--- a/source/blender/editors/space_node/node_add.c
+++ b/source/blender/editors/space_node/node_add.c
@@ -309,7 +309,7 @@ void NODE_OT_add_reroute(wmOperatorType *ot)
prop = RNA_def_collection_runtime(ot->srna, "path", &RNA_OperatorMousePath, "Path", "");
RNA_def_property_flag(prop, PROP_HIDDEN | PROP_SKIP_SAVE);
/* internal */
- RNA_def_int(ot->srna, "cursor", BC_CROSSCURSOR, 0, INT_MAX, "Cursor", "", 0, INT_MAX);
+ RNA_def_int(ot->srna, "cursor", WM_CURSOR_CROSS, 0, INT_MAX, "Cursor", "", 0, INT_MAX);
}
/* ****************** Add File Node Operator ******************* */
diff --git a/source/blender/editors/space_node/node_draw.c b/source/blender/editors/space_node/node_draw.c
index 770e6dd2a9e..2081c69a1a4 100644
--- a/source/blender/editors/space_node/node_draw.c
+++ b/source/blender/editors/space_node/node_draw.c
@@ -1456,16 +1456,16 @@ static void node_draw_hidden(const bContext *C,
int node_get_resize_cursor(int directions)
{
if (directions == 0) {
- return CURSOR_STD;
+ return WM_CURSOR_DEFAULT;
}
else if ((directions & ~(NODE_RESIZE_TOP | NODE_RESIZE_BOTTOM)) == 0) {
- return CURSOR_Y_MOVE;
+ return WM_CURSOR_Y_MOVE;
}
else if ((directions & ~(NODE_RESIZE_RIGHT | NODE_RESIZE_LEFT)) == 0) {
- return CURSOR_X_MOVE;
+ return WM_CURSOR_X_MOVE;
}
else {
- return CURSOR_EDIT;
+ return WM_CURSOR_EDIT;
}
}
@@ -1474,7 +1474,7 @@ void node_set_cursor(wmWindow *win, SpaceNode *snode, float cursor[2])
bNodeTree *ntree = snode->edittree;
bNode *node;
bNodeSocket *sock;
- int wmcursor = CURSOR_STD;
+ int wmcursor = WM_CURSOR_DEFAULT;
if (ntree) {
if (node_find_indicated_socket(snode, &node, &sock, cursor, SOCK_IN | SOCK_OUT)) {
diff --git a/source/blender/editors/space_node/node_group.c b/source/blender/editors/space_node/node_group.c
index 588fc4d4307..5d020ff5ab4 100644
--- a/source/blender/editors/space_node/node_group.c
+++ b/source/blender/editors/space_node/node_group.c
@@ -241,6 +241,8 @@ static int node_group_ungroup(Main *bmain, bNodeTree *ntree, bNode *gnode)
node->flag |= NODE_SELECT;
}
+ bNodeLink *glinks_first = ntree->links.last;
+
/* Add internal links to the ntree */
for (link = wgroup->links.first; link; link = linkn) {
linkn = link->next;
@@ -248,6 +250,8 @@ static int node_group_ungroup(Main *bmain, bNodeTree *ntree, bNode *gnode)
BLI_addtail(&ntree->links, link);
}
+ bNodeLink *glinks_last = ntree->links.last;
+
/* and copy across the animation,
* note that the animation data's action can be NULL here */
if (wgroup->adt) {
@@ -280,70 +284,64 @@ static int node_group_ungroup(Main *bmain, bNodeTree *ntree, bNode *gnode)
BKE_id_free(bmain, wgroup);
/* restore external links to and from the gnode */
- /* note: the nodes have been copied to intermediate wgroup first (so need to use new_node),
- * then transferred to ntree (new_node pointers remain valid).
- */
/* input links */
- for (link = ngroup->links.first; link; link = link->next) {
- if (link->fromnode->type == NODE_GROUP_INPUT) {
- const char *identifier = link->fromsock->identifier;
- int num_external_links = 0;
-
- /* find external links to this input */
- for (tlink = ntree->links.first; tlink; tlink = tlink->next) {
- if (tlink->tonode == gnode && STREQ(tlink->tosock->identifier, identifier)) {
- nodeAddLink(ntree,
- tlink->fromnode,
- tlink->fromsock,
- link->tonode->new_node,
- link->tosock->new_sock);
- num_external_links++;
+ if (glinks_first != NULL) {
+ for (link = glinks_first->next; link != glinks_last->next; link = link->next) {
+ if (link->fromnode->type == NODE_GROUP_INPUT) {
+ const char *identifier = link->fromsock->identifier;
+ int num_external_links = 0;
+
+ /* find external links to this input */
+ for (tlink = ntree->links.first; tlink != glinks_first->next; tlink = tlink->next) {
+ if (tlink->tonode == gnode && STREQ(tlink->tosock->identifier, identifier)) {
+ nodeAddLink(ntree, tlink->fromnode, tlink->fromsock, link->tonode, link->tosock);
+ num_external_links++;
+ }
}
- }
- /* if group output is not externally linked,
- * convert the constant input value to ensure somewhat consistent behavior */
- if (num_external_links == 0) {
- /* XXX TODO bNodeSocket *sock = node_group_find_input_socket(gnode, identifier);
- BLI_assert(sock);*/
+ /* if group output is not externally linked,
+ * convert the constant input value to ensure somewhat consistent behavior */
+ if (num_external_links == 0) {
+ /* XXX TODO bNodeSocket *sock = node_group_find_input_socket(gnode, identifier);
+ BLI_assert(sock);*/
- /* XXX TODO
- * nodeSocketCopy(ntree, link->tosock->new_sock, link->tonode->new_node,
- * ntree, sock, gnode);*/
+ /* XXX TODO
+ * nodeSocketCopy(ntree, link->tosock->new_sock, link->tonode->new_node,
+ * ntree, sock, gnode);*/
+ }
}
}
- }
- /* output links */
- for (link = ntree->links.first; link; link = link->next) {
- if (link->fromnode == gnode) {
- const char *identifier = link->fromsock->identifier;
- int num_internal_links = 0;
-
- /* find internal links to this output */
- for (tlink = ngroup->links.first; tlink; tlink = tlink->next) {
- /* only use active output node */
- if (tlink->tonode->type == NODE_GROUP_OUTPUT && (tlink->tonode->flag & NODE_DO_OUTPUT)) {
- if (STREQ(tlink->tosock->identifier, identifier)) {
- nodeAddLink(ntree,
- tlink->fromnode->new_node,
- tlink->fromsock->new_sock,
- link->tonode,
- link->tosock);
- num_internal_links++;
+ /* Also iterate over new links to cover passthrough links. */
+ glinks_last = ntree->links.last;
+
+ /* output links */
+ for (link = ntree->links.first; link != glinks_first->next; link = link->next) {
+ if (link->fromnode == gnode) {
+ const char *identifier = link->fromsock->identifier;
+ int num_internal_links = 0;
+
+ /* find internal links to this output */
+ for (tlink = glinks_first->next; tlink != glinks_last->next; tlink = tlink->next) {
+ /* only use active output node */
+ if (tlink->tonode->type == NODE_GROUP_OUTPUT && (tlink->tonode->flag & NODE_DO_OUTPUT)) {
+ if (STREQ(tlink->tosock->identifier, identifier)) {
+ nodeAddLink(ntree, tlink->fromnode, tlink->fromsock, link->tonode, link->tosock);
+ num_internal_links++;
+ }
}
}
- }
- /* if group output is not internally linked,
- * convert the constant output value to ensure somewhat consistent behavior */
- if (num_internal_links == 0) {
- /* XXX TODO bNodeSocket *sock = node_group_find_output_socket(gnode, identifier);
- BLI_assert(sock);*/
+ /* if group output is not internally linked,
+ * convert the constant output value to ensure somewhat consistent behavior */
+ if (num_internal_links == 0) {
+ /* XXX TODO bNodeSocket *sock = node_group_find_output_socket(gnode, identifier);
+ BLI_assert(sock);*/
- /* XXX TODO
- * nodeSocketCopy(ntree, link->tosock, link->tonode, ntree, sock, gnode); */
+ /* XXX TODO
+ * nodeSocketCopy(ntree, link->tosock, link->tonode, ntree, sock, gnode); */
+ }
}
}
}
@@ -717,7 +715,7 @@ static void node_group_make_insert_selected(const bContext *C, bNodeTree *ntree,
ListBase anim_basepaths = {NULL, NULL};
float min[2], max[2], center[2];
int totselect;
- bool expose_all = false;
+ bool expose_visible = false;
bNode *input_node, *output_node;
/* XXX rough guess, not nice but we don't have access to UI constants here ... */
@@ -735,7 +733,7 @@ static void node_group_make_insert_selected(const bContext *C, bNodeTree *ntree,
/* auto-add interface for "solo" nodes */
if (totselect == 1) {
- expose_all = true;
+ expose_visible = true;
}
/* move nodes over */
@@ -879,8 +877,8 @@ static void node_group_make_insert_selected(const bContext *C, bNodeTree *ntree,
}
}
- /* expose all unlinked sockets too */
- if (expose_all) {
+ /* expose all unlinked sockets too but only the visible ones*/
+ if (expose_visible) {
for (node = ngroup->nodes.first; node; node = node->next) {
if (node_group_make_use_node(node, gnode)) {
for (sock = node->inputs.first; sock; sock = sock->next) {
@@ -892,6 +890,9 @@ static void node_group_make_insert_selected(const bContext *C, bNodeTree *ntree,
break;
}
}
+ if (sock->flag & (SOCK_HIDDEN | SOCK_UNAVAIL)) {
+ skip = true;
+ }
if (skip) {
continue;
}
@@ -913,6 +914,9 @@ static void node_group_make_insert_selected(const bContext *C, bNodeTree *ntree,
skip = true;
}
}
+ if (sock->flag & (SOCK_HIDDEN | SOCK_UNAVAIL)) {
+ skip = true;
+ }
if (skip) {
continue;
}
diff --git a/source/blender/editors/space_node/node_relationships.c b/source/blender/editors/space_node/node_relationships.c
index eef3f85319c..357ef31c51f 100644
--- a/source/blender/editors/space_node/node_relationships.c
+++ b/source/blender/editors/space_node/node_relationships.c
@@ -1103,7 +1103,7 @@ void NODE_OT_links_cut(wmOperatorType *ot)
RNA_def_property_flag(prop, PROP_HIDDEN | PROP_SKIP_SAVE);
/* internal */
- RNA_def_int(ot->srna, "cursor", BC_KNIFECURSOR, 0, INT_MAX, "Cursor", "", 0, INT_MAX);
+ RNA_def_int(ot->srna, "cursor", WM_CURSOR_KNIFE, 0, INT_MAX, "Cursor", "", 0, INT_MAX);
}
/* ********************** Detach links operator ***************** */
diff --git a/source/blender/editors/space_node/node_select.c b/source/blender/editors/space_node/node_select.c
index 450cf28cce1..e22ef389516 100644
--- a/source/blender/editors/space_node/node_select.c
+++ b/source/blender/editors/space_node/node_select.c
@@ -430,11 +430,9 @@ void node_select_single(bContext *C, bNode *node)
}
static int node_mouse_select(bContext *C,
+ wmOperator *op,
const int mval[2],
- const bool extend,
- const bool socket_select,
- const bool deselect_all,
- const bool wait_to_deselect_others)
+ bool wait_to_deselect_others)
{
Main *bmain = CTX_data_main(C);
SpaceNode *snode = CTX_wm_space_node(C);
@@ -445,8 +443,15 @@ static int node_mouse_select(bContext *C,
float cursor[2];
int ret_value = OPERATOR_CANCELLED;
- /* Waiting to deselect others is only allowed for basic selection. */
- BLI_assert(!(extend || socket_select) || !wait_to_deselect_others);
+ const bool extend = RNA_boolean_get(op->ptr, "extend");
+ /* always do socket_select when extending selection. */
+ const bool socket_select = extend || RNA_boolean_get(op->ptr, "socket_select");
+ const bool deselect_all = RNA_boolean_get(op->ptr, "deselect_all");
+
+ /* These cases are never modal. */
+ if (extend || socket_select) {
+ wait_to_deselect_others = false;
+ }
/* get mouse coordinates in view2d space */
UI_view2d_region_to_view(&ar->v2d, mval[0], mval[1], &cursor[0], &cursor[1]);
@@ -552,115 +557,40 @@ static int node_mouse_select(bContext *C,
static int node_select_exec(bContext *C, wmOperator *op)
{
- int mval[2];
+ const bool wait_to_deselect_others = RNA_boolean_get(op->ptr, "wait_to_deselect_others");
/* get settings from RNA properties for operator */
+ int mval[2];
mval[0] = RNA_int_get(op->ptr, "mouse_x");
mval[1] = RNA_int_get(op->ptr, "mouse_y");
- const bool extend = RNA_boolean_get(op->ptr, "extend");
- /* always do socket_select when extending selection. */
- const bool socket_select = extend || RNA_boolean_get(op->ptr, "socket_select");
- const bool deselect_all = RNA_boolean_get(op->ptr, "deselect_all");
-
/* perform the select */
- const int ret_value = node_mouse_select(C, mval, extend, socket_select, deselect_all, false);
+ const int ret_value = node_mouse_select(C, op, mval, wait_to_deselect_others);
/* allow tweak event to work too */
return ret_value | OPERATOR_PASS_THROUGH;
}
-static int node_select_modal(bContext *C, wmOperator *op, const wmEvent *event)
-{
- const short init_event_type = (short)POINTER_AS_INT(op->customdata);
-
- /* get settings from RNA properties for operator */
- int mval[2];
- mval[0] = RNA_int_get(op->ptr, "mouse_x");
- mval[1] = RNA_int_get(op->ptr, "mouse_y");
-
- const bool extend = RNA_boolean_get(op->ptr, "extend");
- /* always do socket_select when extending selection. */
- const bool socket_select = extend || RNA_boolean_get(op->ptr, "socket_select");
- const bool deselect_all = RNA_boolean_get(op->ptr, "deselect_all");
-
- /* These cases are never modal. */
- if (extend || socket_select) {
- return node_select_exec(C, op);
- }
-
- if (init_event_type == 0) {
- if (event->val == KM_PRESS) {
- const int ret_value = node_mouse_select(C, mval, extend, socket_select, deselect_all, true);
-
- op->customdata = POINTER_FROM_INT((int)event->type);
- if (ret_value & OPERATOR_RUNNING_MODAL) {
- WM_event_add_modal_handler(C, op);
- }
- return ret_value | OPERATOR_PASS_THROUGH;
- }
- else {
- /* If we are in init phase, and cannot validate init of modal operations,
- * just fall back to basic exec.
- */
- return node_select_exec(C, op);
- }
- }
- else if (event->type == init_event_type && event->val == KM_RELEASE) {
- const int ret_value = node_mouse_select(C, mval, extend, socket_select, deselect_all, false);
- return ret_value | OPERATOR_PASS_THROUGH;
- }
- else if (ELEM(event->type, MOUSEMOVE, INBETWEEN_MOUSEMOVE)) {
- const int drag_delta[2] = {
- mval[0] - event->mval[0],
- mval[1] - event->mval[1],
- };
- /* If user moves mouse more than defined threshold, we consider select operator as
- * finished. Otherwise, it is still running until we get an 'release' event. In any
- * case, we pass through event, but select op is not finished yet. */
- if (WM_event_drag_test_with_delta(event, drag_delta)) {
- return OPERATOR_FINISHED | OPERATOR_PASS_THROUGH;
- }
- else {
- /* Important not to return anything other than PASS_THROUGH here,
- * otherwise it prevents underlying tweak detection code to work properly. */
- return OPERATOR_PASS_THROUGH;
- }
- }
-
- return OPERATOR_FINISHED | OPERATOR_PASS_THROUGH;
-}
-
-static int node_select_invoke(bContext *C, wmOperator *op, const wmEvent *event)
-{
- RNA_int_set(op->ptr, "mouse_x", event->mval[0]);
- RNA_int_set(op->ptr, "mouse_y", event->mval[1]);
-
- op->customdata = POINTER_FROM_INT(0);
-
- return node_select_modal(C, op, event);
-}
-
void NODE_OT_select(wmOperatorType *ot)
{
+ PropertyRNA *prop;
+
/* identifiers */
ot->name = "Select";
ot->idname = "NODE_OT_select";
ot->description = "Select the node under the cursor";
/* api callbacks */
- ot->invoke = node_select_invoke;
ot->exec = node_select_exec;
- ot->modal = node_select_modal;
+ ot->invoke = WM_generic_select_invoke;
+ ot->modal = WM_generic_select_modal;
ot->poll = ED_operator_node_active;
/* flags */
ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO;
/* properties */
- PropertyRNA *prop;
- RNA_def_int(ot->srna, "mouse_x", 0, INT_MIN, INT_MAX, "Mouse X", "", INT_MIN, INT_MAX);
- RNA_def_int(ot->srna, "mouse_y", 0, INT_MIN, INT_MAX, "Mouse Y", "", INT_MIN, INT_MAX);
+ WM_operator_properties_generic_select(ot);
RNA_def_boolean(ot->srna, "extend", false, "Extend", "");
RNA_def_boolean(ot->srna, "socket_select", false, "Socket Select", "");
prop = RNA_def_boolean(ot->srna,
diff --git a/source/blender/editors/space_outliner/outliner_collections.c b/source/blender/editors/space_outliner/outliner_collections.c
index 309446db83b..03606282fcd 100644
--- a/source/blender/editors/space_outliner/outliner_collections.c
+++ b/source/blender/editors/space_outliner/outliner_collections.c
@@ -965,7 +965,7 @@ static int collection_isolate_exec(bContext *C, wmOperator *op)
LayerCollection *layer_collection = BLI_gsetIterator_getKey(&collections_to_edit_iter);
if (extend) {
- BKE_layer_collection_isolate(scene, view_layer, layer_collection, true);
+ BKE_layer_collection_isolate_global(scene, view_layer, layer_collection, true);
}
else {
PointerRNA ptr;
diff --git a/source/blender/editors/space_outliner/outliner_draw.c b/source/blender/editors/space_outliner/outliner_draw.c
index fa30ca1bc8f..07fc7828209 100644
--- a/source/blender/editors/space_outliner/outliner_draw.c
+++ b/source/blender/editors/space_outliner/outliner_draw.c
@@ -756,14 +756,15 @@ static void namebutton_cb(bContext *C, void *tsep, char *oldname)
}
case TSE_BONE: {
- ViewLayer *view_layer = CTX_data_view_layer(C);
- Scene *scene = CTX_data_scene(C);
+ TreeViewContext tvc;
+ outliner_viewcontext_init(C, &tvc);
+
bArmature *arm = (bArmature *)tselem->id;
Bone *bone = te->directdata;
char newname[sizeof(bone->name)];
/* always make current object active */
- tree_element_active(C, scene, view_layer, soops, te, OL_SETSEL_NORMAL, true);
+ tree_element_active(C, &tvc, soops, te, OL_SETSEL_NORMAL, true);
/* restore bone name */
BLI_strncpy(newname, bone->name, sizeof(bone->name));
@@ -773,14 +774,15 @@ static void namebutton_cb(bContext *C, void *tsep, char *oldname)
break;
}
case TSE_POSE_CHANNEL: {
- Scene *scene = CTX_data_scene(C);
- ViewLayer *view_layer = CTX_data_view_layer(C);
+ TreeViewContext tvc;
+ outliner_viewcontext_init(C, &tvc);
+
Object *ob = (Object *)tselem->id;
bPoseChannel *pchan = te->directdata;
char newname[sizeof(pchan->name)];
/* always make current pose-bone active */
- tree_element_active(C, scene, view_layer, soops, te, OL_SETSEL_NORMAL, true);
+ tree_element_active(C, &tvc, soops, te, OL_SETSEL_NORMAL, true);
BLI_assert(ob->type == OB_ARMATURE);
@@ -2419,7 +2421,6 @@ TreeElementIcon tree_element_get_icon(TreeStoreElem *tselem, TreeElement *te)
case OB_GPENCIL:
data.icon = ICON_OUTLINER_OB_GREASEPENCIL;
break;
- break;
}
}
else {
@@ -2816,8 +2817,7 @@ typedef struct MergedIconRow {
static void outliner_draw_iconrow(bContext *C,
uiBlock *block,
const uiFontStyle *fstyle,
- Scene *scene,
- ViewLayer *view_layer,
+ const TreeViewContext *tvc,
SpaceOutliner *soops,
ListBase *lb,
int level,
@@ -2828,7 +2828,6 @@ static void outliner_draw_iconrow(bContext *C,
MergedIconRow *merged)
{
eOLDrawState active = OL_DRAWSEL_NONE;
- const Object *obact = OBACT(view_layer);
for (TreeElement *te = lb->first; te; te = te->next) {
TreeStoreElem *tselem = TREESTORE(te);
@@ -2838,14 +2837,13 @@ static void outliner_draw_iconrow(bContext *C,
/* active blocks get white circle */
if (tselem->type == 0) {
if (te->idcode == ID_OB) {
- active = (OBACT(view_layer) == (Object *)tselem->id) ? OL_DRAWSEL_NORMAL :
- OL_DRAWSEL_NONE;
+ active = (tvc->obact == (Object *)tselem->id) ? OL_DRAWSEL_NORMAL : OL_DRAWSEL_NONE;
}
- else if (is_object_data_in_editmode(tselem->id, obact)) {
+ else if (is_object_data_in_editmode(tselem->id, tvc->obact)) {
active = OL_DRAWSEL_ACTIVE;
}
else {
- active = tree_element_active(C, scene, view_layer, soops, te, OL_SETSEL_NONE, false);
+ active = tree_element_active(C, tvc, soops, te, OL_SETSEL_NONE, false);
}
}
else if (tselem->type == TSE_GP_LAYER) {
@@ -2853,8 +2851,7 @@ static void outliner_draw_iconrow(bContext *C,
active = (gpl->flag & GP_LAYER_ACTIVE) ? OL_DRAWSEL_ACTIVE : OL_DRAWSEL_NONE;
}
else {
- active = tree_element_type_active(
- C, scene, view_layer, soops, te, tselem, OL_SETSEL_NONE, false);
+ active = tree_element_type_active(C, tvc, soops, te, tselem, OL_SETSEL_NONE, false);
}
if (!ELEM(tselem->type, 0, TSE_LAYER_COLLECTION, TSE_R_LAYER, TSE_GP_LAYER)) {
@@ -2875,8 +2872,7 @@ static void outliner_draw_iconrow(bContext *C,
outliner_draw_iconrow(C,
block,
fstyle,
- scene,
- view_layer,
+ tvc,
soops,
&te->subtree,
level + 1,
@@ -2934,8 +2930,7 @@ static void outliner_set_coord_tree_element(TreeElement *te, int startx, int sta
static void outliner_draw_tree_element(bContext *C,
uiBlock *block,
const uiFontStyle *fstyle,
- Scene *scene,
- ViewLayer *view_layer,
+ const TreeViewContext *tvc,
ARegion *ar,
SpaceOutliner *soops,
TreeElement *te,
@@ -2974,9 +2969,8 @@ static void outliner_draw_tree_element(bContext *C,
/* colors for active/selected data */
if (tselem->type == 0) {
- const Object *obact = OBACT(view_layer);
if (te->idcode == ID_SCE) {
- if (tselem->id == (ID *)scene) {
+ if (tselem->id == (ID *)tvc->scene) {
/* active scene */
icon_bgcolor[3] = 0.2f;
active = OL_DRAWSEL_ACTIVE;
@@ -2985,15 +2979,15 @@ static void outliner_draw_tree_element(bContext *C,
else if (te->idcode == ID_OB) {
Object *ob = (Object *)tselem->id;
Base *base = (te->directdata) ? (Base *)te->directdata :
- BKE_view_layer_base_find(view_layer, ob);
+ BKE_view_layer_base_find(tvc->view_layer, ob);
const bool is_selected = (base != NULL) && ((base->flag & BASE_SELECTED) != 0);
- if (ob == obact) {
+ if (ob == tvc->obact) {
active = OL_DRAWSEL_ACTIVE;
}
if (is_selected) {
- if (ob == obact) {
+ if (ob == tvc->obact) {
/* active selected object */
UI_GetThemeColor3ubv(TH_ACTIVE_OBJECT, text_color);
text_color[3] = 255;
@@ -3005,14 +2999,14 @@ static void outliner_draw_tree_element(bContext *C,
}
}
}
- else if (is_object_data_in_editmode(tselem->id, obact)) {
+ else if (is_object_data_in_editmode(tselem->id, tvc->obact)) {
/* objects being edited */
UI_GetThemeColor4fv(TH_EDITED_OBJECT, icon_bgcolor);
icon_border[3] = 0.3f;
active = OL_DRAWSEL_ACTIVE;
}
else {
- if (tree_element_active(C, scene, view_layer, soops, te, OL_SETSEL_NONE, false)) {
+ if (tree_element_active(C, tvc, soops, te, OL_SETSEL_NONE, false)) {
/* active items like camera or material */
icon_bgcolor[3] = 0.2f;
active = OL_DRAWSEL_ACTIVE;
@@ -3027,8 +3021,7 @@ static void outliner_draw_tree_element(bContext *C,
}
}
else {
- active = tree_element_type_active(
- C, scene, view_layer, soops, te, tselem, OL_SETSEL_NONE, false);
+ active = tree_element_type_active(C, tvc, soops, te, tselem, OL_SETSEL_NONE, false);
/* active collection*/
icon_bgcolor[3] = 0.2f;
}
@@ -3037,7 +3030,7 @@ static void outliner_draw_tree_element(bContext *C,
if ((tselem->type == TSE_LAYER_COLLECTION) &&
(soops->show_restrict_flags & SO_RESTRICT_ENABLE)) {
tselem_draw_layer_collection_enable_icon(
- scene, block, xmax, (float)startx + offsx + UI_UNIT_X, (float)*starty, te, 0.8f);
+ tvc->scene, block, xmax, (float)startx + offsx + UI_UNIT_X, (float)*starty, te, 0.8f);
offsx += UI_UNIT_X;
}
@@ -3156,8 +3149,7 @@ static void outliner_draw_tree_element(bContext *C,
outliner_draw_iconrow(C,
block,
fstyle,
- scene,
- view_layer,
+ tvc,
soops,
&te->subtree,
0,
@@ -3187,8 +3179,7 @@ static void outliner_draw_tree_element(bContext *C,
outliner_draw_tree_element(C,
block,
fstyle,
- scene,
- view_layer,
+ tvc,
ar,
soops,
ten,
@@ -3487,8 +3478,7 @@ static void outliner_draw_highlights(ARegion *ar, SpaceOutliner *soops, int star
static void outliner_draw_tree(bContext *C,
uiBlock *block,
- Scene *scene,
- ViewLayer *view_layer,
+ const TreeViewContext *tvc,
ARegion *ar,
SpaceOutliner *soops,
const float restrict_column_width,
@@ -3534,8 +3524,7 @@ static void outliner_draw_tree(bContext *C,
outliner_draw_tree_element(C,
block,
fstyle,
- scene,
- view_layer,
+ tvc,
ar,
soops,
te,
@@ -3626,15 +3615,16 @@ static void outliner_update_viewable_area(ARegion *ar,
void draw_outliner(const bContext *C)
{
Main *mainvar = CTX_data_main(C);
- Scene *scene = CTX_data_scene(C);
- ViewLayer *view_layer = CTX_data_view_layer(C);
ARegion *ar = CTX_wm_region(C);
View2D *v2d = &ar->v2d;
SpaceOutliner *soops = CTX_wm_space_outliner(C);
uiBlock *block;
TreeElement *te_edit = NULL;
- outliner_build_tree(mainvar, scene, view_layer, soops, ar); // always
+ TreeViewContext tvc;
+ outliner_viewcontext_init(C, &tvc);
+
+ outliner_build_tree(mainvar, tvc.scene, tvc.view_layer, soops, ar); // always
/* If global sync select is dirty, flag other outliners */
if (ED_outliner_select_sync_is_dirty(C)) {
@@ -3656,8 +3646,7 @@ void draw_outliner(const bContext *C)
const float restrict_column_width = outliner_restrict_columns_width(soops);
outliner_back(ar);
block = UI_block_begin(C, ar, __func__, UI_EMBOSS);
- outliner_draw_tree(
- (bContext *)C, block, scene, view_layer, ar, soops, restrict_column_width, &te_edit);
+ outliner_draw_tree((bContext *)C, block, &tvc, ar, soops, restrict_column_width, &te_edit);
/* Compute outliner dimensions after it has been drawn. */
int tree_width, tree_height;
@@ -3683,7 +3672,8 @@ void draw_outliner(const bContext *C)
/* draw restriction columns */
RestrictPropertiesActive props_active;
memset(&props_active, 1, sizeof(RestrictPropertiesActive));
- outliner_draw_restrictbuts(block, scene, view_layer, ar, soops, &soops->tree, props_active);
+ outliner_draw_restrictbuts(
+ block, tvc.scene, tvc.view_layer, ar, soops, &soops->tree, props_active);
}
UI_block_emboss_set(block, UI_EMBOSS);
diff --git a/source/blender/editors/space_outliner/outliner_edit.c b/source/blender/editors/space_outliner/outliner_edit.c
index 0e2a8afea17..34bbf3a2a30 100644
--- a/source/blender/editors/space_outliner/outliner_edit.c
+++ b/source/blender/editors/space_outliner/outliner_edit.c
@@ -770,7 +770,7 @@ static int outliner_id_copy_exec(bContext *C, wmOperator *op)
BLI_make_file_string("/", str, BKE_tempdir_base(), "copybuffer.blend");
BKE_copybuffer_save(bmain, str, op->reports);
- BKE_reportf(op->reports, RPT_INFO, "Copied %d selected data-blocks", num_ids);
+ BKE_reportf(op->reports, RPT_INFO, "Copied %d selected data-block(s)", num_ids);
return OPERATOR_FINISHED;
}
@@ -804,7 +804,7 @@ static int outliner_id_paste_exec(bContext *C, wmOperator *op)
WM_event_add_notifier(C, NC_WINDOW, NULL);
- BKE_reportf(op->reports, RPT_INFO, "%d data-blocks pasted", num_pasted);
+ BKE_reportf(op->reports, RPT_INFO, "%d data-block(s) pasted", num_pasted);
return OPERATOR_FINISHED;
}
@@ -1600,7 +1600,11 @@ static void tree_element_show_hierarchy(Scene *scene, SpaceOutliner *soops, List
for (te = lb->first; te; te = te->next) {
tselem = TREESTORE(te);
- if (tselem->type == 0) {
+ if (ELEM(tselem->type,
+ 0,
+ TSE_SCENE_OBJECTS_BASE,
+ TSE_VIEW_COLLECTION_BASE,
+ TSE_LAYER_COLLECTION)) {
if (te->idcode == ID_SCE) {
if (tselem->id != (ID *)scene) {
tselem->flag |= TSE_CLOSED;
@@ -2257,7 +2261,7 @@ static int outliner_orphans_purge_exec(bContext *C, wmOperator *op)
BKE_id_multi_tagged_delete(bmain);
- BKE_reportf(op->reports, RPT_INFO, "Deleted %d data-blocks", num_tagged[INDEX_ID_NULL]);
+ BKE_reportf(op->reports, RPT_INFO, "Deleted %d data-block(s)", num_tagged[INDEX_ID_NULL]);
/* XXX: tree management normally happens from draw_outliner(), but when
* you're clicking to fast on Delete object from context menu in
diff --git a/source/blender/editors/space_outliner/outliner_intern.h b/source/blender/editors/space_outliner/outliner_intern.h
index 95e37dea249..8075065e5c2 100644
--- a/source/blender/editors/space_outliner/outliner_intern.h
+++ b/source/blender/editors/space_outliner/outliner_intern.h
@@ -200,6 +200,25 @@ typedef enum {
#define TSELEM_OPEN(telm, sv) \
((telm->flag & TSE_CLOSED) == 0 || (SEARCHING_OUTLINER(sv) && (telm->flag & TSE_CHILDSEARCH)))
+/**
+ * Container to avoid passing around these variables to many functions.
+ * Also so we can have one place to assign these variables.
+ */
+typedef struct TreeViewContext {
+ /* Scene level. */
+ struct Scene *scene;
+ struct ViewLayer *view_layer;
+
+ /* Object level. */
+ /** Avoid OBACT macro everywhere. */
+ Object *obact;
+ Object *ob_edit;
+ /**
+ * The pose object may not be the active object (when in weight paint mode).
+ * Checking this in draw loops isn't efficient, so set only once. */
+ Object *ob_pose;
+} TreeViewContext;
+
/* outliner_tree.c ----------------------------------------------- */
void outliner_free_tree(ListBase *tree);
@@ -237,16 +256,14 @@ int tree_element_id_type_to_index(TreeElement *te);
/* outliner_select.c -------------------------------------------- */
eOLDrawState tree_element_type_active(struct bContext *C,
- struct Scene *scene,
- struct ViewLayer *view_layer,
+ const TreeViewContext *tvc,
struct SpaceOutliner *soops,
TreeElement *te,
TreeStoreElem *tselem,
const eOLSetState set,
bool recursive);
eOLDrawState tree_element_active(struct bContext *C,
- struct Scene *scene,
- struct ViewLayer *view_layer,
+ const TreeViewContext *tvc,
SpaceOutliner *soops,
TreeElement *te,
const eOLSetState set,
@@ -267,7 +284,8 @@ void outliner_object_mode_toggle(struct bContext *C,
void outliner_element_activate(struct SpaceOutliner *soops, struct TreeStoreElem *tselem);
-bool outliner_item_is_co_within_close_toggle(TreeElement *te, float view_co_x);
+bool outliner_item_is_co_over_name_icons(const TreeElement *te, float view_co_x);
+bool outliner_item_is_co_within_close_toggle(const TreeElement *te, float view_co_x);
/* outliner_edit.c ---------------------------------------------- */
typedef void (*outliner_operation_cb)(struct bContext *C,
@@ -457,6 +475,8 @@ void OUTLINER_OT_unhide_all(struct wmOperatorType *ot);
/* outliner_utils.c ---------------------------------------------- */
+void outliner_viewcontext_init(const struct bContext *C, TreeViewContext *tvc);
+
TreeElement *outliner_find_item_at_y(const SpaceOutliner *soops,
const ListBase *tree,
float view_co_y);
diff --git a/source/blender/editors/space_outliner/outliner_select.c b/source/blender/editors/space_outliner/outliner_select.c
index 44e67fa1508..c96f2f9956f 100644
--- a/source/blender/editors/space_outliner/outliner_select.c
+++ b/source/blender/editors/space_outliner/outliner_select.c
@@ -263,7 +263,8 @@ static void do_outliner_object_select_recursive(ViewLayer *view_layer,
for (base = FIRSTBASE(view_layer); base; base = base->next) {
Object *ob = base->object;
- if ((((base->flag & BASE_VISIBLE) != 0) && BKE_object_is_child_recursive(ob_parent, ob))) {
+ if ((((base->flag & BASE_VISIBLE_DEPSGRAPH) != 0) &&
+ BKE_object_is_child_recursive(ob_parent, ob))) {
ED_object_base_select(base, select ? BA_SELECT : BA_DESELECT);
}
}
@@ -594,6 +595,7 @@ static eOLDrawState tree_element_active_posegroup(bContext *C,
static eOLDrawState tree_element_active_posechannel(bContext *C,
Scene *UNUSED(scene),
ViewLayer *view_layer,
+ Object *ob_pose,
TreeElement *te,
TreeStoreElem *tselem,
const eOLSetState set,
@@ -609,8 +611,8 @@ static eOLDrawState tree_element_active_posechannel(bContext *C,
if (set != OL_SETSEL_EXTEND) {
/* Single select forces all other bones to get unselected. */
uint objects_len = 0;
- Object **objects = BKE_view_layer_array_from_objects_in_mode_unique_data(
- view_layer, NULL, &objects_len, OB_MODE_POSE);
+ Object **objects = BKE_object_pose_array_get_unique(view_layer, NULL, &objects_len);
+
for (uint object_index = 0; object_index < objects_len; object_index++) {
Object *ob_iter = BKE_object_pose_armature_get(objects[object_index]);
@@ -650,7 +652,7 @@ static eOLDrawState tree_element_active_posechannel(bContext *C,
}
}
else {
- if (ob == OBACT(view_layer) && ob->pose) {
+ if (ob == ob_pose && ob->pose) {
if (pchan->bone->flag & BONE_SELECTED) {
return OL_DRAWSEL_NORMAL;
}
@@ -1006,8 +1008,7 @@ static eOLDrawState tree_element_active_layer_collection(bContext *C,
/* generic call for ID data check or make/check active in UI */
eOLDrawState tree_element_active(bContext *C,
- Scene *scene,
- ViewLayer *view_layer,
+ const TreeViewContext *tvc,
SpaceOutliner *soops,
TreeElement *te,
const eOLSetState set,
@@ -1019,17 +1020,18 @@ eOLDrawState tree_element_active(bContext *C,
* See #do_outliner_item_activate. */
case ID_OB:
if (handle_all_types) {
- return tree_element_set_active_object(C, scene, view_layer, soops, te, set, false);
+ return tree_element_set_active_object(
+ C, tvc->scene, tvc->view_layer, soops, te, set, false);
}
break;
case ID_MA:
- return tree_element_active_material(C, scene, view_layer, soops, te, set);
+ return tree_element_active_material(C, tvc->scene, tvc->view_layer, soops, te, set);
case ID_WO:
- return tree_element_active_world(C, scene, view_layer, soops, te, set);
+ return tree_element_active_world(C, tvc->scene, tvc->view_layer, soops, te, set);
case ID_TXT:
- return tree_element_active_text(C, scene, view_layer, soops, te, set);
+ return tree_element_active_text(C, tvc->scene, tvc->view_layer, soops, te, set);
case ID_CA:
- return tree_element_active_camera(C, scene, view_layer, soops, te, set);
+ return tree_element_active_camera(C, tvc->scene, tvc->view_layer, soops, te, set);
}
return OL_DRAWSEL_NONE;
}
@@ -1038,8 +1040,7 @@ eOLDrawState tree_element_active(bContext *C,
* Generic call for non-id data to make/check active in UI
*/
eOLDrawState tree_element_type_active(bContext *C,
- Scene *scene,
- ViewLayer *view_layer,
+ const TreeViewContext *tvc,
SpaceOutliner *soops,
TreeElement *te,
TreeStoreElem *tselem,
@@ -1048,41 +1049,42 @@ eOLDrawState tree_element_type_active(bContext *C,
{
switch (tselem->type) {
case TSE_DEFGROUP:
- return tree_element_active_defgroup(C, view_layer, te, tselem, set);
+ return tree_element_active_defgroup(C, tvc->view_layer, te, tselem, set);
case TSE_BONE:
- return tree_element_active_bone(C, view_layer, te, tselem, set, recursive);
+ return tree_element_active_bone(C, tvc->view_layer, te, tselem, set, recursive);
case TSE_EBONE:
- return tree_element_active_ebone(C, view_layer, te, tselem, set, recursive);
+ return tree_element_active_ebone(C, tvc->view_layer, te, tselem, set, recursive);
case TSE_MODIFIER:
- return tree_element_active_modifier(C, scene, view_layer, te, tselem, set);
+ return tree_element_active_modifier(C, tvc->scene, tvc->view_layer, te, tselem, set);
case TSE_LINKED_OB:
if (set != OL_SETSEL_NONE) {
- tree_element_set_active_object(C, scene, view_layer, soops, te, set, false);
+ tree_element_set_active_object(C, tvc->scene, tvc->view_layer, soops, te, set, false);
}
- else if (tselem->id == (ID *)OBACT(view_layer)) {
+ else if (tselem->id == (ID *)tvc->obact) {
return OL_DRAWSEL_NORMAL;
}
break;
case TSE_LINKED_PSYS:
- return tree_element_active_psys(C, scene, te, tselem, set);
+ return tree_element_active_psys(C, tvc->scene, te, tselem, set);
case TSE_POSE_BASE:
- return tree_element_active_pose(C, scene, view_layer, te, tselem, set);
+ return tree_element_active_pose(C, tvc->scene, tvc->view_layer, te, tselem, set);
case TSE_POSE_CHANNEL:
- return tree_element_active_posechannel(C, scene, view_layer, te, tselem, set, recursive);
+ return tree_element_active_posechannel(
+ C, tvc->scene, tvc->view_layer, tvc->ob_pose, te, tselem, set, recursive);
case TSE_CONSTRAINT:
- return tree_element_active_constraint(C, scene, view_layer, te, tselem, set);
+ return tree_element_active_constraint(C, tvc->scene, tvc->view_layer, te, tselem, set);
case TSE_R_LAYER:
- return active_viewlayer(C, scene, view_layer, te, set);
+ return active_viewlayer(C, tvc->scene, tvc->view_layer, te, set);
case TSE_POSEGRP:
- return tree_element_active_posegroup(C, scene, view_layer, te, tselem, set);
+ return tree_element_active_posegroup(C, tvc->scene, tvc->view_layer, te, tselem, set);
case TSE_SEQUENCE:
- return tree_element_active_sequence(C, scene, te, tselem, set);
+ return tree_element_active_sequence(C, tvc->scene, te, tselem, set);
case TSE_SEQUENCE_DUP:
- return tree_element_active_sequence_dup(scene, te, tselem, set);
+ return tree_element_active_sequence_dup(tvc->scene, te, tselem, set);
case TSE_KEYMAP_ITEM:
- return tree_element_active_keymap_item(C, scene, view_layer, te, tselem, set);
+ return tree_element_active_keymap_item(C, tvc->scene, tvc->view_layer, te, tselem, set);
case TSE_GP_LAYER:
- return tree_element_active_gplayer(C, scene, te, tselem, set);
+ return tree_element_active_gplayer(C, tvc->scene, te, tselem, set);
break;
case TSE_VIEW_COLLECTION_BASE:
return tree_element_active_master_collection(C, te, set);
@@ -1108,14 +1110,15 @@ void outliner_element_activate(SpaceOutliner *soops, TreeStoreElem *tselem)
* Needed to run from operators accessed from a menu.
*/
static void do_outliner_item_activate_tree_element(bContext *C,
- Scene *scene,
- ViewLayer *view_layer,
+ const TreeViewContext *tvc,
SpaceOutliner *soops,
TreeElement *te,
TreeStoreElem *tselem,
const bool extend,
- const bool recursive)
+ const bool recursive,
+ const bool is_over_name_icons)
{
+ bool do_activate_data = soops->flag & SO_SYNC_SELECT || is_over_name_icons;
/* Always makes active object, except for some specific types. */
if (ELEM(tselem->type,
TSE_SEQUENCE,
@@ -1132,11 +1135,11 @@ static void do_outliner_item_activate_tree_element(bContext *C,
else if (tselem->type == TSE_POSE_BASE) {
/* Support pose mode toggle, keeping the active object as is. */
}
- else if (soops->flag & SO_SYNC_SELECT) {
+ else if (do_activate_data) {
/* Only activate when synced selection is enabled */
tree_element_set_active_object(C,
- scene,
- view_layer,
+ tvc->scene,
+ tvc->view_layer,
soops,
te,
(extend && tselem->type == 0) ? OL_SETSEL_EXTEND :
@@ -1148,9 +1151,11 @@ static void do_outliner_item_activate_tree_element(bContext *C,
outliner_element_activate(soops, tselem);
if (tselem->type == 0) { // the lib blocks
- /* editmode? */
- if (te->idcode == ID_SCE) {
- if (scene != (Scene *)tselem->id) {
+ if (do_activate_data == false) {
+ /* Only select in outliner. */
+ }
+ else if (te->idcode == ID_SCE) {
+ if (tvc->scene != (Scene *)tselem->id) {
WM_window_set_active_scene(CTX_data_main(C), C, CTX_wm_window(C), (Scene *)tselem->id);
}
}
@@ -1160,7 +1165,7 @@ static void do_outliner_item_activate_tree_element(bContext *C,
if (extend) {
int sel = BA_SELECT;
FOREACH_COLLECTION_OBJECT_RECURSIVE_BEGIN (gr, object) {
- Base *base = BKE_view_layer_base_find(view_layer, object);
+ Base *base = BKE_view_layer_base_find(tvc->view_layer, object);
if (base && (base->flag & BASE_SELECTED)) {
sel = BA_DESELECT;
break;
@@ -1169,7 +1174,7 @@ static void do_outliner_item_activate_tree_element(bContext *C,
FOREACH_COLLECTION_OBJECT_RECURSIVE_END;
FOREACH_COLLECTION_OBJECT_RECURSIVE_BEGIN (gr, object) {
- Base *base = BKE_view_layer_base_find(view_layer, object);
+ Base *base = BKE_view_layer_base_find(tvc->view_layer, object);
if (base) {
ED_object_base_select(base, sel);
}
@@ -1177,10 +1182,10 @@ static void do_outliner_item_activate_tree_element(bContext *C,
FOREACH_COLLECTION_OBJECT_RECURSIVE_END;
}
else {
- BKE_view_layer_base_deselect_all(view_layer);
+ BKE_view_layer_base_deselect_all(tvc->view_layer);
FOREACH_COLLECTION_OBJECT_RECURSIVE_BEGIN (gr, object) {
- Base *base = BKE_view_layer_base_find(view_layer, object);
+ Base *base = BKE_view_layer_base_find(tvc->view_layer, object);
/* Object may not be in this scene */
if (base != NULL) {
if ((base->flag & BASE_SELECTED) == 0) {
@@ -1191,15 +1196,15 @@ static void do_outliner_item_activate_tree_element(bContext *C,
FOREACH_COLLECTION_OBJECT_RECURSIVE_END;
}
- DEG_id_tag_update(&scene->id, ID_RECALC_SELECT);
- WM_event_add_notifier(C, NC_SCENE | ND_OB_SELECT, scene);
+ DEG_id_tag_update(&tvc->scene->id, ID_RECALC_SELECT);
+ WM_event_add_notifier(C, NC_SCENE | ND_OB_SELECT, tvc->scene);
}
else if (OB_DATA_SUPPORT_EDITMODE(te->idcode)) {
Object *ob = (Object *)outliner_search_back(soops, te, ID_OB);
if ((ob != NULL) && (ob->data == tselem->id)) {
- Base *base = BKE_view_layer_base_find(view_layer, ob);
- if ((base != NULL) && (base->flag & BASE_VISIBLE)) {
- do_outliner_activate_obdata(C, scene, view_layer, base, extend);
+ Base *base = BKE_view_layer_base_find(tvc->view_layer, ob);
+ if ((base != NULL) && (base->flag & BASE_VISIBLE_DEPSGRAPH)) {
+ do_outliner_activate_obdata(C, tvc->scene, tvc->view_layer, base, extend);
}
}
}
@@ -1208,18 +1213,12 @@ static void do_outliner_item_activate_tree_element(bContext *C,
WM_operator_name_call(C, "GPENCIL_OT_editmode_toggle", WM_OP_INVOKE_REGION_WIN, NULL);
}
else { // rest of types
- tree_element_active(C, scene, view_layer, soops, te, OL_SETSEL_NORMAL, false);
+ tree_element_active(C, tvc, soops, te, OL_SETSEL_NORMAL, false);
}
}
- else if (soops->flag & SO_SYNC_SELECT) {
- tree_element_type_active(C,
- scene,
- view_layer,
- soops,
- te,
- tselem,
- extend ? OL_SETSEL_EXTEND : OL_SETSEL_NORMAL,
- recursive);
+ else if (do_activate_data) {
+ tree_element_type_active(
+ C, tvc, soops, te, tselem, extend ? OL_SETSEL_EXTEND : OL_SETSEL_NORMAL, recursive);
}
}
@@ -1326,12 +1325,12 @@ static bool outliner_is_co_within_restrict_columns(const SpaceOutliner *soops,
void outliner_item_do_activate_from_tree_element(
bContext *C, TreeElement *te, TreeStoreElem *tselem, bool extend, bool recursive)
{
- Scene *scene = CTX_data_scene(C);
- ViewLayer *view_layer = CTX_data_view_layer(C);
SpaceOutliner *soops = CTX_wm_space_outliner(C);
- do_outliner_item_activate_tree_element(
- C, scene, view_layer, soops, te, tselem, extend, recursive);
+ TreeViewContext tvc;
+ outliner_viewcontext_init(C, &tvc);
+
+ do_outliner_item_activate_tree_element(C, &tvc, soops, te, tselem, extend, recursive, false);
}
/**
@@ -1346,7 +1345,6 @@ static int outliner_item_do_activate_from_cursor(bContext *C,
const bool deselect_all)
{
ARegion *ar = CTX_wm_region(C);
- Scene *scene = CTX_data_scene(C);
SpaceOutliner *soops = CTX_wm_space_outliner(C);
TreeElement *te;
float view_mval[2];
@@ -1370,8 +1368,6 @@ static int outliner_item_do_activate_from_cursor(bContext *C,
return OPERATOR_CANCELLED | OPERATOR_PASS_THROUGH;
}
else {
- ViewLayer *view_layer = CTX_data_view_layer(C);
-
/* The row may also contain children, if one is hovered we want this instead of current te */
bool merged_elements = false;
TreeElement *activate_te = outliner_find_item_at_x_in_row(
@@ -1389,9 +1385,14 @@ static int outliner_item_do_activate_from_cursor(bContext *C,
do_outliner_range_select(C, soops, activate_te, extend);
}
else {
+ TreeViewContext tvc;
+ outliner_viewcontext_init(C, &tvc);
+
+ const bool is_over_name_icons = outliner_item_is_co_over_name_icons(activate_te,
+ view_mval[0]);
outliner_item_select(soops, activate_te, extend, extend);
do_outliner_item_activate_tree_element(
- C, scene, view_layer, soops, activate_te, activate_tselem, extend, false);
+ C, &tvc, soops, activate_te, activate_tselem, extend, false, is_over_name_icons);
}
changed = true;
@@ -1504,17 +1505,6 @@ static int outliner_box_select_exec(bContext *C, wmOperator *op)
return OPERATOR_FINISHED;
}
-/* Find if x coordinate is over an icon or name */
-static bool outliner_item_is_co_over_name_icons(TreeElement *te, float view_co_x)
-{
- /* Special case: count area left of Scene Collection as empty space */
- bool outside_left = (TREESTORE(te)->type == TSE_VIEW_COLLECTION_BASE) ?
- (view_co_x > te->xs + UI_UNIT_X) :
- (view_co_x > te->xs);
-
- return outside_left && (view_co_x < te->xend);
-}
-
static int outliner_box_select_invoke(bContext *C, wmOperator *op, const wmEvent *event)
{
SpaceOutliner *soops = CTX_wm_space_outliner(C);
diff --git a/source/blender/editors/space_outliner/outliner_sync.c b/source/blender/editors/space_outliner/outliner_sync.c
index 29c820bce92..745a527cc15 100644
--- a/source/blender/editors/space_outliner/outliner_sync.c
+++ b/source/blender/editors/space_outliner/outliner_sync.c
@@ -37,6 +37,7 @@
#include "BKE_context.h"
#include "BKE_layer.h"
#include "BKE_main.h"
+#include "BKE_object.h"
#include "BKE_sequencer.h"
#include "DEG_depsgraph.h"
@@ -129,14 +130,14 @@ static void outliner_sync_select_from_outliner_set_types(bContext *C,
SpaceOutliner *soops,
SyncSelectTypes *sync_types)
{
- Object *obact = CTX_data_active_object(C);
- Object *obedit = CTX_data_edit_object(C);
+ TreeViewContext tvc;
+ outliner_viewcontext_init(C, &tvc);
const bool sequence_view = soops->outlinevis == SO_SEQUENCE;
sync_types->object = !sequence_view;
- sync_types->edit_bone = !sequence_view && (obedit && obedit->type == OB_ARMATURE);
- sync_types->pose_bone = !sequence_view && (obact && obact->mode == OB_MODE_POSE);
+ sync_types->edit_bone = !sequence_view && (tvc.ob_edit && tvc.ob_edit->type == OB_ARMATURE);
+ sync_types->pose_bone = !sequence_view && (tvc.ob_pose && tvc.ob_pose->mode == OB_MODE_POSE);
sync_types->sequence = sequence_view;
}
@@ -149,16 +150,16 @@ static bool outliner_sync_select_to_outliner_set_types(const bContext *C,
SpaceOutliner *soops,
SyncSelectTypes *sync_types)
{
- Object *obact = CTX_data_active_object(C);
- Object *obedit = CTX_data_edit_object(C);
+ TreeViewContext tvc;
+ outliner_viewcontext_init(C, &tvc);
const bool sequence_view = soops->outlinevis == SO_SEQUENCE;
sync_types->object = !sequence_view &&
(soops->sync_select_dirty & WM_OUTLINER_SYNC_SELECT_FROM_OBJECT);
- sync_types->edit_bone = !sequence_view && (obedit && obedit->type == OB_ARMATURE) &&
+ sync_types->edit_bone = !sequence_view && (tvc.ob_edit && tvc.ob_edit->type == OB_ARMATURE) &&
(soops->sync_select_dirty & WM_OUTLINER_SYNC_SELECT_FROM_EDIT_BONE);
- sync_types->pose_bone = !sequence_view && (obact && obact->mode == OB_MODE_POSE) &&
+ sync_types->pose_bone = !sequence_view && (tvc.ob_pose && tvc.ob_pose->mode == OB_MODE_POSE) &&
(soops->sync_select_dirty & WM_OUTLINER_SYNC_SELECT_FROM_POSE_BONE);
sync_types->sequence = sequence_view &&
(soops->sync_select_dirty & WM_OUTLINER_SYNC_SELECT_FROM_SEQUENCE);
diff --git a/source/blender/editors/space_outliner/outliner_tree.c b/source/blender/editors/space_outliner/outliner_tree.c
index fd6a052b84d..7f7cfff12ef 100644
--- a/source/blender/editors/space_outliner/outliner_tree.c
+++ b/source/blender/editors/space_outliner/outliner_tree.c
@@ -1365,7 +1365,7 @@ static void outliner_add_layer_collection_objects(
TreeElement *te_object = outliner_add_element(soops, tree, base->object, ten, 0, 0);
te_object->directdata = base;
- if (!(base->flag & BASE_VISIBLE)) {
+ if (!(base->flag & BASE_VISIBLE_DEPSGRAPH)) {
te_object->flag |= TE_DISABLED;
}
}
@@ -1398,7 +1398,7 @@ static void outliner_add_layer_collections_recursive(SpaceOutliner *soops,
tselem->flag &= ~TSE_CLOSED;
}
- if (exclude || (lc->runtime_flag & LAYER_COLLECTION_VISIBLE) == 0) {
+ if (exclude || (lc->runtime_flag & LAYER_COLLECTION_VISIBLE_VIEW_LAYER) == 0) {
ten->flag |= TE_DISABLED;
}
}
@@ -2085,12 +2085,12 @@ static bool outliner_element_visible_get(ViewLayer *view_layer,
}
if (exclude_filter & SO_FILTER_OB_STATE_VISIBLE) {
- if ((base->flag & BASE_VISIBLE) == 0) {
+ if ((base->flag & BASE_VISIBLE_DEPSGRAPH) == 0) {
return false;
}
}
else if (exclude_filter & SO_FILTER_OB_STATE_HIDDEN) {
- if ((base->flag & BASE_VISIBLE) != 0) {
+ if ((base->flag & BASE_VISIBLE_DEPSGRAPH) != 0) {
return false;
}
}
diff --git a/source/blender/editors/space_outliner/outliner_utils.c b/source/blender/editors/space_outliner/outliner_utils.c
index 5dfdf6f129b..c3984ab16fa 100644
--- a/source/blender/editors/space_outliner/outliner_utils.c
+++ b/source/blender/editors/space_outliner/outliner_utils.c
@@ -21,6 +21,8 @@
* \ingroup spoutliner
*/
+#include <string.h>
+
#include "BLI_utildefines.h"
#include "DNA_action_types.h"
@@ -30,6 +32,7 @@
#include "BKE_context.h"
#include "BKE_outliner_treehash.h"
#include "BKE_layer.h"
+#include "BKE_object.h"
#include "ED_armature.h"
#include "ED_outliner.h"
@@ -39,6 +42,33 @@
#include "outliner_intern.h"
+/* -------------------------------------------------------------------- */
+/** \name Tree View Context
+ * \{ */
+
+void outliner_viewcontext_init(const bContext *C, TreeViewContext *tvc)
+{
+ memset(tvc, 0, sizeof(*tvc));
+
+ /* Scene level. */
+ tvc->scene = CTX_data_scene(C);
+ tvc->view_layer = CTX_data_view_layer(C);
+
+ /* Objects. */
+ tvc->obact = OBACT(tvc->view_layer);
+ if (tvc->obact != NULL) {
+ tvc->ob_edit = OBEDIT_FROM_OBACT(tvc->obact);
+
+ if ((tvc->obact->type == OB_ARMATURE) ||
+ /* This could be made into it's own function. */
+ ((tvc->obact->type == OB_MESH) && tvc->obact->mode & OB_MODE_WEIGHT_PAINT)) {
+ tvc->ob_pose = BKE_object_pose_armature_get(tvc->obact);
+ }
+ }
+}
+
+/** \} */
+
/**
* Try to find an item under y-coordinate \a view_co_y (view-space).
* \note Recursive
@@ -361,8 +391,19 @@ bool outliner_is_element_visible(const TreeElement *te)
return true;
}
+/* Find if x coordinate is over an icon or name */
+bool outliner_item_is_co_over_name_icons(const TreeElement *te, float view_co_x)
+{
+ /* Special case: count area left of Scene Collection as empty space */
+ bool outside_left = (TREESTORE(te)->type == TSE_VIEW_COLLECTION_BASE) ?
+ (view_co_x > te->xs + UI_UNIT_X) :
+ (view_co_x > te->xs);
+
+ return outside_left && (view_co_x < te->xend);
+}
+
/* Find if x coordinate is over element disclosure toggle */
-bool outliner_item_is_co_within_close_toggle(TreeElement *te, float view_co_x)
+bool outliner_item_is_co_within_close_toggle(const TreeElement *te, float view_co_x)
{
return (view_co_x > te->xs) && (view_co_x < te->xs + UI_UNIT_X);
}
diff --git a/source/blender/editors/space_script/script_edit.c b/source/blender/editors/space_script/script_edit.c
index 48248fe1dd2..2be05785d2b 100644
--- a/source/blender/editors/space_script/script_edit.c
+++ b/source/blender/editors/space_script/script_edit.c
@@ -106,6 +106,7 @@ static bool script_test_modal_operators(bContext *C)
static int script_reload_exec(bContext *C, wmOperator *op)
{
+
#ifdef WITH_PYTHON
/* clear running operators */
@@ -114,6 +115,8 @@ static int script_reload_exec(bContext *C, wmOperator *op)
return OPERATOR_CANCELLED;
}
+ WM_script_tag_reload();
+
/* TODO, this crashes on netrender and keying sets, need to look into why
* disable for now unless running in debug mode */
WM_cursor_wait(1);
diff --git a/source/blender/editors/space_sequencer/sequencer_add.c b/source/blender/editors/space_sequencer/sequencer_add.c
index b24f8e8d00f..8a15c05dd4a 100644
--- a/source/blender/editors/space_sequencer/sequencer_add.c
+++ b/source/blender/editors/space_sequencer/sequencer_add.c
@@ -336,7 +336,7 @@ static int sequencer_add_scene_strip_exec(bContext *C, wmOperator *op)
}
seq = BKE_sequence_alloc(ed->seqbasep, start_frame, channel, SEQ_TYPE_SCENE);
- seq->blend_mode = SEQ_TYPE_ALPHAOVER;
+ seq->blend_mode = SEQ_TYPE_CROSS; /* so alpha adjustment fade to the strip below */
seq->scene = sce_seq;
@@ -420,7 +420,7 @@ static int sequencer_add_movieclip_strip_exec(bContext *C, wmOperator *op)
}
seq = BKE_sequence_alloc(ed->seqbasep, start_frame, channel, SEQ_TYPE_MOVIECLIP);
- seq->blend_mode = SEQ_TYPE_ALPHAOVER;
+ seq->blend_mode = SEQ_TYPE_CROSS;
seq->clip = clip;
id_us_ensure_real(&seq->clip->id);
@@ -504,7 +504,7 @@ static int sequencer_add_mask_strip_exec(bContext *C, wmOperator *op)
}
seq = BKE_sequence_alloc(ed->seqbasep, start_frame, channel, SEQ_TYPE_MASK);
- seq->blend_mode = SEQ_TYPE_ALPHAOVER;
+ seq->blend_mode = SEQ_TYPE_CROSS;
seq->mask = mask;
id_us_ensure_real(&seq->mask->id);
@@ -1091,8 +1091,14 @@ static int sequencer_add_effect_strip_exec(bContext *C, wmOperator *op)
if (seq->type == SEQ_TYPE_COLOR) {
SolidColorVars *colvars = (SolidColorVars *)seq->effectdata;
RNA_float_get_array(op->ptr, "color", colvars->col);
+ seq->blend_mode = SEQ_TYPE_CROSS; /* so alpha adjustment fade to the strip below */
+ }
+ else if (seq->type == SEQ_TYPE_ADJUSTMENT) {
+ seq->blend_mode = SEQ_TYPE_CROSS;
+ }
+ else if (seq->type == SEQ_TYPE_TEXT) {
+ seq->blend_mode = SEQ_TYPE_ALPHAOVER;
}
- seq->blend_mode = SEQ_TYPE_ALPHAOVER;
/* an unset channel is a special case where we automatically go above
* the other strips. */
@@ -1169,7 +1175,7 @@ void SEQUENCER_OT_effect_strip_add(struct wmOperatorType *ot)
RNA_def_enum(ot->srna,
"type",
sequencer_prop_effect_types,
- SEQ_TYPE_ALPHAOVER,
+ SEQ_TYPE_CROSS,
"Type",
"Sequencer effect type");
RNA_def_float_vector(ot->srna,
diff --git a/source/blender/editors/space_sequencer/sequencer_buttons.c b/source/blender/editors/space_sequencer/sequencer_buttons.c
index 6740c2baad2..7bec913900d 100644
--- a/source/blender/editors/space_sequencer/sequencer_buttons.c
+++ b/source/blender/editors/space_sequencer/sequencer_buttons.c
@@ -117,5 +117,6 @@ void sequencer_buttons_register(ARegionType *art)
pt->poll = metadata_panel_context_poll;
pt->draw = metadata_panel_context_draw;
pt->flag |= PNL_DEFAULT_CLOSED;
+ pt->order = 10;
BLI_addtail(&art->paneltypes, pt);
}
diff --git a/source/blender/editors/space_sequencer/sequencer_draw.c b/source/blender/editors/space_sequencer/sequencer_draw.c
index 1a788237e6e..5b2ea9d4793 100644
--- a/source/blender/editors/space_sequencer/sequencer_draw.c
+++ b/source/blender/editors/space_sequencer/sequencer_draw.c
@@ -1767,8 +1767,8 @@ static void draw_seq_strips(const bContext *C, Editing *ed, ARegion *ar)
static void seq_draw_sfra_efra(Scene *scene, View2D *v2d)
{
const Editing *ed = BKE_sequencer_editing_get(scene, false);
- const int frame_sta = PSFRA;
- const int frame_end = PEFRA + 1;
+ const int frame_sta = scene->r.sfra;
+ const int frame_end = scene->r.efra + 1;
GPU_blend(true);
diff --git a/source/blender/editors/space_sequencer/sequencer_edit.c b/source/blender/editors/space_sequencer/sequencer_edit.c
index 22b73c32bfe..ed384cfc1a8 100644
--- a/source/blender/editors/space_sequencer/sequencer_edit.c
+++ b/source/blender/editors/space_sequencer/sequencer_edit.c
@@ -177,7 +177,7 @@ static void proxy_endjob(void *pjv)
WM_main_add_notifier(NC_SCENE | ND_SEQUENCER, pj->scene);
}
-static void seq_proxy_build_job(const bContext *C)
+static void seq_proxy_build_job(const bContext *C, ReportList *reports)
{
wmJob *wm_job;
ProxyJob *pj;
@@ -216,8 +216,11 @@ static void seq_proxy_build_job(const bContext *C)
file_list = BLI_gset_new(BLI_ghashutil_strhash_p, BLI_ghashutil_strcmp, "file list");
SEQP_BEGIN (ed, seq) {
if ((seq->flag & SELECT)) {
- BKE_sequencer_proxy_rebuild_context(
+ bool success = BKE_sequencer_proxy_rebuild_context(
pj->main, pj->depsgraph, pj->scene, seq, file_list, &pj->queue);
+ if (!success) {
+ BKE_reportf(reports, RPT_ERROR, "Could not build proxy for strip %s", seq->name);
+ }
}
}
SEQ_END;
@@ -1600,6 +1603,7 @@ static int sequencer_slip_exec(bContext *C, wmOperator *op)
if (success) {
WM_event_add_notifier(C, NC_SCENE | ND_SEQUENCER, scene);
+ DEG_id_tag_update(&scene->id, ID_RECALC_SEQUENCER_STRIPS);
return OPERATOR_FINISHED;
}
else {
@@ -1693,6 +1697,7 @@ static int sequencer_slip_modal(bContext *C, wmOperator *op, const wmEvent *even
if (sa) {
ED_area_status_text(sa, NULL);
}
+ DEG_id_tag_update(&scene->id, ID_RECALC_SEQUENCER_STRIPS);
WM_event_add_notifier(C, NC_SCENE | ND_SEQUENCER, scene);
return OPERATOR_FINISHED;
}
@@ -3606,10 +3611,10 @@ void SEQUENCER_OT_view_ghost_border(wmOperatorType *ot)
/* rebuild_proxy operator */
static int sequencer_rebuild_proxy_invoke(bContext *C,
- wmOperator *UNUSED(op),
+ wmOperator *op,
const wmEvent *UNUSED(event))
{
- seq_proxy_build_job(C);
+ seq_proxy_build_job(C, op->reports);
return OPERATOR_FINISHED;
}
@@ -3894,7 +3899,7 @@ void SEQUENCER_OT_change_effect_type(struct wmOperatorType *ot)
ot->prop = RNA_def_enum(ot->srna,
"type",
sequencer_prop_effect_types,
- SEQ_TYPE_ALPHAOVER,
+ SEQ_TYPE_CROSS,
"Type",
"Sequencer effect type");
}
@@ -4179,3 +4184,67 @@ void SEQUENCER_OT_export_subtitles(struct wmOperatorType *ot)
FILE_DEFAULTDISPLAY,
FILE_SORT_ALPHA);
}
+
+static int sequencer_set_range_to_strips_exec(bContext *C, wmOperator *op)
+{
+ Scene *scene = CTX_data_scene(C);
+ Editing *ed = BKE_sequencer_editing_get(scene, false);
+ Sequence *seq;
+
+ int sfra = MAXFRAME;
+ int efra = -MAXFRAME;
+ bool selected = false;
+ const bool preview = RNA_boolean_get(op->ptr, "preview");
+
+ for (seq = ed->seqbasep->first; seq; seq = seq->next) {
+ if (seq->flag & SELECT) {
+ selected = true;
+ sfra = min_ii(sfra, seq->startdisp);
+ efra = max_ii(efra, seq->enddisp - 1);
+ }
+ }
+
+ if (!selected) {
+ BKE_report(op->reports, RPT_WARNING, "Select one or more strips");
+ return OPERATOR_CANCELLED;
+ }
+ else if (efra < 0) {
+ BKE_report(op->reports, RPT_ERROR, "Can't set a negative range");
+ return OPERATOR_CANCELLED;
+ }
+
+ if (preview) {
+ scene->r.flag |= SCER_PRV_RANGE;
+ scene->r.psfra = max_ii(0, sfra);
+ scene->r.pefra = efra;
+ }
+ else {
+ scene->r.flag &= ~SCER_PRV_RANGE;
+ scene->r.sfra = max_ii(0, sfra);
+ scene->r.efra = efra;
+ }
+
+ WM_event_add_notifier(C, NC_SCENE | ND_FRAME, scene);
+
+ return OPERATOR_FINISHED;
+}
+
+void SEQUENCER_OT_set_range_to_strips(struct wmOperatorType *ot)
+{
+ PropertyRNA *prop;
+
+ /* identifiers */
+ ot->name = "Set Range to Strips";
+ ot->idname = "SEQUENCER_OT_set_range_to_strips";
+ ot->description = "Set the frame range to the selected strips start and end";
+
+ /* api callbacks */
+ ot->exec = sequencer_set_range_to_strips_exec;
+ ot->poll = sequencer_edit_poll;
+
+ /* flags */
+ ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO;
+
+ prop = RNA_def_boolean(ot->srna, "preview", false, "Preview", "Set the preview range instead");
+ RNA_def_property_flag(prop, PROP_SKIP_SAVE);
+}
diff --git a/source/blender/editors/space_sequencer/sequencer_intern.h b/source/blender/editors/space_sequencer/sequencer_intern.h
index 851d3b5f3aa..0a51578da3b 100644
--- a/source/blender/editors/space_sequencer/sequencer_intern.h
+++ b/source/blender/editors/space_sequencer/sequencer_intern.h
@@ -149,6 +149,8 @@ void SEQUENCER_OT_enable_proxies(struct wmOperatorType *ot);
void SEQUENCER_OT_export_subtitles(struct wmOperatorType *ot);
+void SEQUENCER_OT_set_range_to_strips(struct wmOperatorType *ot);
+
/* preview specific operators */
void SEQUENCER_OT_view_all_preview(struct wmOperatorType *ot);
@@ -160,7 +162,7 @@ void SEQUENCER_OT_select_less(struct wmOperatorType *ot);
void SEQUENCER_OT_select_linked(struct wmOperatorType *ot);
void SEQUENCER_OT_select_linked_pick(struct wmOperatorType *ot);
void SEQUENCER_OT_select_handles(struct wmOperatorType *ot);
-void SEQUENCER_OT_select_active_side(struct wmOperatorType *ot);
+void SEQUENCER_OT_select_side(struct wmOperatorType *ot);
void SEQUENCER_OT_select_box(struct wmOperatorType *ot);
void SEQUENCER_OT_select_inverse(struct wmOperatorType *ot);
void SEQUENCER_OT_select_grouped(struct wmOperatorType *ot);
diff --git a/source/blender/editors/space_sequencer/sequencer_ops.c b/source/blender/editors/space_sequencer/sequencer_ops.c
index b0bb775de83..af03035d10f 100644
--- a/source/blender/editors/space_sequencer/sequencer_ops.c
+++ b/source/blender/editors/space_sequencer/sequencer_ops.c
@@ -88,6 +88,8 @@ void sequencer_operatortypes(void)
WM_operatortype_append(SEQUENCER_OT_change_effect_type);
WM_operatortype_append(SEQUENCER_OT_change_path);
+ WM_operatortype_append(SEQUENCER_OT_set_range_to_strips);
+
/* sequencer_select.c */
WM_operatortype_append(SEQUENCER_OT_select_all);
WM_operatortype_append(SEQUENCER_OT_select);
@@ -96,7 +98,7 @@ void sequencer_operatortypes(void)
WM_operatortype_append(SEQUENCER_OT_select_linked_pick);
WM_operatortype_append(SEQUENCER_OT_select_linked);
WM_operatortype_append(SEQUENCER_OT_select_handles);
- WM_operatortype_append(SEQUENCER_OT_select_active_side);
+ WM_operatortype_append(SEQUENCER_OT_select_side);
WM_operatortype_append(SEQUENCER_OT_select_box);
WM_operatortype_append(SEQUENCER_OT_select_grouped);
diff --git a/source/blender/editors/space_sequencer/sequencer_select.c b/source/blender/editors/space_sequencer/sequencer_select.c
index affb6d3fd88..a51b08f7525 100644
--- a/source/blender/editors/space_sequencer/sequencer_select.c
+++ b/source/blender/editors/space_sequencer/sequencer_select.c
@@ -27,6 +27,7 @@
#include "BLI_blenlib.h"
#include "BLI_utildefines.h"
+#include "BLI_math.h"
#include "DNA_scene_types.h"
@@ -81,7 +82,7 @@ static void select_surrounding_handles(Scene *scene, Sequence *test) /* XXX BRIN
}
}
-/* used for mouse selection and for SEQUENCER_OT_select_active_side() */
+/* Used for mouse selection in SEQUENCER_OT_select. */
static void select_active_side(ListBase *seqbase, int sel_side, int channel, int frame)
{
Sequence *seq;
@@ -110,7 +111,43 @@ static void select_active_side(ListBase *seqbase, int sel_side, int channel, int
}
}
-/* used for mouse selection and for SEQUENCER_OT_select_active_side() */
+/* Used for mouse selection in SEQUENCER_OT_select_side. */
+static void select_active_side_range(ListBase *seqbase,
+ const int sel_side,
+ const int frame_ranges[MAXSEQ],
+ const int frame_ignore)
+{
+ Sequence *seq;
+
+ for (seq = seqbase->first; seq; seq = seq->next) {
+ if (seq->machine < MAXSEQ) {
+ const int frame = frame_ranges[seq->machine];
+ if (frame == frame_ignore) {
+ continue;
+ }
+ switch (sel_side) {
+ case SEQ_SIDE_LEFT:
+ if (frame > (seq->startdisp)) {
+ seq->flag &= ~(SEQ_RIGHTSEL | SEQ_LEFTSEL);
+ seq->flag |= SELECT;
+ }
+ break;
+ case SEQ_SIDE_RIGHT:
+ if (frame < (seq->startdisp)) {
+ seq->flag &= ~(SEQ_RIGHTSEL | SEQ_LEFTSEL);
+ seq->flag |= SELECT;
+ }
+ break;
+ case SEQ_SIDE_BOTH:
+ seq->flag &= ~(SEQ_RIGHTSEL | SEQ_LEFTSEL);
+ seq->flag |= SELECT;
+ break;
+ }
+ }
+ }
+}
+
+/* used for mouse selection in SEQUENCER_OT_select */
static void select_linked_time(ListBase *seqbase, Sequence *seq_link)
{
Sequence *seq;
@@ -319,7 +356,7 @@ void SEQUENCER_OT_select_inverse(struct wmOperatorType *ot)
ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO;
}
-static int sequencer_select_invoke(bContext *C, wmOperator *op, const wmEvent *event)
+static int sequencer_select_exec(bContext *C, wmOperator *op)
{
View2D *v2d = UI_view2d_fromcontext(C);
Scene *scene = CTX_data_scene(C);
@@ -328,7 +365,13 @@ static int sequencer_select_invoke(bContext *C, wmOperator *op, const wmEvent *e
const bool deselect_all = RNA_boolean_get(op->ptr, "deselect_all");
const bool linked_handle = RNA_boolean_get(op->ptr, "linked_handle");
const bool linked_time = RNA_boolean_get(op->ptr, "linked_time");
+ bool wait_to_deselect_others = RNA_boolean_get(op->ptr, "wait_to_deselect_others");
int left_right = RNA_enum_get(op->ptr, "left_right");
+ int mval[2];
+ int ret_value = OPERATOR_CANCELLED;
+
+ mval[0] = RNA_int_get(op->ptr, "mouse_x");
+ mval[1] = RNA_int_get(op->ptr, "mouse_y");
Sequence *seq, *neighbor, *act_orig;
int hand, sel_side;
@@ -338,9 +381,13 @@ static int sequencer_select_invoke(bContext *C, wmOperator *op, const wmEvent *e
return OPERATOR_CANCELLED;
}
+ if (extend) {
+ wait_to_deselect_others = false;
+ }
+
marker = find_nearest_marker(SCE_MARKERS, 1); // XXX - dummy function for now
- seq = find_nearest_seq(scene, v2d, &hand, event->mval);
+ seq = find_nearest_seq(scene, v2d, &hand, mval);
// XXX - not nice, Ctrl+RMB needs to do left_right only when not over a strip
if (seq && linked_time && (left_right == SEQ_SELECT_LR_MOUSE)) {
@@ -364,6 +411,8 @@ static int sequencer_select_invoke(bContext *C, wmOperator *op, const wmEvent *e
/* deselect_markers(0, 0); */
marker->flag |= SELECT;
}
+
+ ret_value = OPERATOR_FINISHED;
}
else if (left_right != SEQ_SELECT_LR_NONE) {
/* use different logic for this */
@@ -374,7 +423,7 @@ static int sequencer_select_invoke(bContext *C, wmOperator *op, const wmEvent *e
switch (left_right) {
case SEQ_SELECT_LR_MOUSE:
- x = UI_view2d_region_to_view_x(v2d, event->mval[0]);
+ x = UI_view2d_region_to_view_x(v2d, mval[0]);
break;
case SEQ_SELECT_LR_LEFT:
x = CFRA - 1.0f;
@@ -409,13 +458,27 @@ static int sequencer_select_invoke(bContext *C, wmOperator *op, const wmEvent *e
}
}
}
+
+ ret_value = OPERATOR_FINISHED;
}
else {
act_orig = ed->act_seq;
if (seq) {
- if (!extend && !linked_handle) {
+ /* Are we trying to select a handle that's already selected? */
+ const bool handle_selected = ((hand == SEQ_SIDE_LEFT) && (seq->flag & SEQ_LEFTSEL)) ||
+ ((hand == SEQ_SIDE_RIGHT) && (seq->flag & SEQ_RIGHTSEL));
+
+ if (wait_to_deselect_others && (seq->flag & SELECT) &&
+ (hand == SEQ_SIDE_NONE || handle_selected)) {
+ ret_value = OPERATOR_RUNNING_MODAL;
+ }
+ else if (!extend && !linked_handle) {
ED_sequencer_deselect_all(scene);
+ ret_value = OPERATOR_FINISHED;
+ }
+ else {
+ ret_value = OPERATOR_FINISHED;
}
BKE_sequencer_active_set(scene, seq);
@@ -509,6 +572,8 @@ static int sequencer_select_invoke(bContext *C, wmOperator *op, const wmEvent *e
select_active_side(ed->seqbasep, sel_side, seq->machine, seq->startdisp);
}
}
+
+ ret_value = OPERATOR_FINISHED;
}
else {
if (extend && (seq->flag & SELECT) && ed->act_seq == act_orig) {
@@ -525,6 +590,7 @@ static int sequencer_select_invoke(bContext *C, wmOperator *op, const wmEvent *e
seq->flag ^= SEQ_RIGHTSEL;
break;
}
+ ret_value = OPERATOR_FINISHED;
}
else {
seq->flag |= SELECT;
@@ -542,9 +608,12 @@ static int sequencer_select_invoke(bContext *C, wmOperator *op, const wmEvent *e
if (linked_time) {
select_linked_time(ed->seqbasep, seq);
}
+
+ BLI_assert((ret_value & OPERATOR_CANCELLED) == 0);
}
else if (deselect_all) {
ED_sequencer_deselect_all(scene);
+ ret_value = OPERATOR_FINISHED;
}
}
@@ -552,8 +621,7 @@ static int sequencer_select_invoke(bContext *C, wmOperator *op, const wmEvent *e
WM_event_add_notifier(C, NC_SCENE | ND_SEQUENCER | NA_SELECTED, scene);
- /* allowing tweaks */
- return OPERATOR_FINISHED | OPERATOR_PASS_THROUGH;
+ return ret_value;
}
void SEQUENCER_OT_select(wmOperatorType *ot)
@@ -565,6 +633,7 @@ void SEQUENCER_OT_select(wmOperatorType *ot)
{SEQ_SELECT_LR_RIGHT, "RIGHT", 0, "Right", "Select right"},
{0, NULL, 0, NULL, NULL},
};
+ PropertyRNA *prop;
/* identifiers */
ot->name = "Select";
@@ -572,14 +641,16 @@ void SEQUENCER_OT_select(wmOperatorType *ot)
ot->description = "Select a strip (last selected becomes the \"active strip\")";
/* api callbacks */
- ot->invoke = sequencer_select_invoke;
+ ot->exec = sequencer_select_exec;
+ ot->invoke = WM_generic_select_invoke;
+ ot->modal = WM_generic_select_modal;
ot->poll = ED_operator_sequencer_active;
/* flags */
ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO;
/* properties */
- PropertyRNA *prop;
+ WM_operator_properties_generic_select(ot);
RNA_def_boolean(ot->srna, "extend", 0, "Extend", "Extend the selection");
prop = RNA_def_boolean(ot->srna,
"deselect_all",
@@ -879,20 +950,39 @@ void SEQUENCER_OT_select_handles(wmOperatorType *ot)
}
/* select side operator */
-static int sequencer_select_active_side_exec(bContext *C, wmOperator *op)
+static int sequencer_select_side_exec(bContext *C, wmOperator *op)
{
Scene *scene = CTX_data_scene(C);
Editing *ed = BKE_sequencer_editing_get(scene, false);
- Sequence *seq_act = BKE_sequencer_active_get(scene);
- if (ed == NULL || seq_act == NULL) {
- return OPERATOR_CANCELLED;
+ const int sel_side = RNA_enum_get(op->ptr, "side");
+ const int frame_init = sel_side == SEQ_SIDE_LEFT ? INT_MIN : INT_MAX;
+ int frame_ranges[MAXSEQ];
+ bool selected = false;
+
+ copy_vn_i(frame_ranges, ARRAY_SIZE(frame_ranges), frame_init);
+
+ for (Sequence *seq = ed->seqbasep->first; seq; seq = seq->next) {
+ if (UNLIKELY(seq->machine >= MAXSEQ)) {
+ continue;
+ }
+ int *frame_limit_p = &frame_ranges[seq->machine];
+ if (seq->flag & SELECT) {
+ selected = true;
+ if (sel_side == SEQ_SIDE_LEFT) {
+ *frame_limit_p = max_ii(*frame_limit_p, seq->startdisp);
+ }
+ else {
+ *frame_limit_p = min_ii(*frame_limit_p, seq->startdisp);
+ }
+ }
}
- seq_act->flag |= SELECT;
+ if (selected == false) {
+ return OPERATOR_CANCELLED;
+ }
- select_active_side(
- ed->seqbasep, RNA_enum_get(op->ptr, "side"), seq_act->machine, seq_act->startdisp);
+ select_active_side_range(ed->seqbasep, sel_side, frame_ranges, frame_init);
ED_outliner_select_sync_from_sequence_tag(C);
@@ -901,15 +991,15 @@ static int sequencer_select_active_side_exec(bContext *C, wmOperator *op)
return OPERATOR_FINISHED;
}
-void SEQUENCER_OT_select_active_side(wmOperatorType *ot)
+void SEQUENCER_OT_select_side(wmOperatorType *ot)
{
/* identifiers */
- ot->name = "Select Active Side";
- ot->idname = "SEQUENCER_OT_select_active_side";
- ot->description = "Select strips on the nominated side of the active strip";
+ ot->name = "Select Side";
+ ot->idname = "SEQUENCER_OT_select_side";
+ ot->description = "Select strips on the nominated side of the selected strips";
/* api callbacks */
- ot->exec = sequencer_select_active_side_exec;
+ ot->exec = sequencer_select_side_exec;
ot->poll = sequencer_edit_poll;
/* flags */
@@ -921,7 +1011,7 @@ void SEQUENCER_OT_select_active_side(wmOperatorType *ot)
prop_side_types,
SEQ_SIDE_BOTH,
"Side",
- "The side of the handle that is selected");
+ "The side to which the selection is applied");
}
/* box_select operator */
diff --git a/source/blender/editors/space_text/space_text.c b/source/blender/editors/space_text/space_text.c
index 9f39313b9ab..088f06e9da8 100644
--- a/source/blender/editors/space_text/space_text.c
+++ b/source/blender/editors/space_text/space_text.c
@@ -311,11 +311,11 @@ static void text_main_region_draw(const bContext *C, ARegion *ar)
static void text_cursor(wmWindow *win, ScrArea *sa, ARegion *ar)
{
SpaceText *st = sa->spacedata.first;
- int wmcursor = BC_TEXTEDITCURSOR;
+ int wmcursor = WM_CURSOR_TEXT_EDIT;
if (st->text &&
BLI_rcti_isect_pt(&st->txtbar, win->eventstate->x - ar->winrct.xmin, st->txtbar.ymin)) {
- wmcursor = CURSOR_STD;
+ wmcursor = WM_CURSOR_DEFAULT;
}
WM_cursor_set(win, wmcursor);
diff --git a/source/blender/editors/space_text/text_format_lua.c b/source/blender/editors/space_text/text_format_lua.c
index 347d46a4234..935e288c7be 100644
--- a/source/blender/editors/space_text/text_format_lua.c
+++ b/source/blender/editors/space_text/text_format_lua.c
@@ -48,7 +48,7 @@ static int txtfmt_lua_find_keyword(const char *string)
/* Keep aligned args for readability. */
/* clang-format off */
- if (STR_LITERAL_STARTSWITH(string, "and", len)) { i = len;
+ if (STR_LITERAL_STARTSWITH(string, "and", len)) { i = len;
} else if (STR_LITERAL_STARTSWITH(string, "break", len)) { i = len;
} else if (STR_LITERAL_STARTSWITH(string, "do", len)) { i = len;
} else if (STR_LITERAL_STARTSWITH(string, "else", len)) { i = len;
@@ -66,8 +66,7 @@ static int txtfmt_lua_find_keyword(const char *string)
} else if (STR_LITERAL_STARTSWITH(string, "then", len)) { i = len;
} else if (STR_LITERAL_STARTSWITH(string, "until", len)) { i = len;
} else if (STR_LITERAL_STARTSWITH(string, "while", len)) { i = len;
- } else { i = 0;
-}
+ } else { i = 0; }
/* clang-format on */
@@ -96,7 +95,7 @@ static int txtfmt_lua_find_specialvar(const char *string)
/* Keep aligned args for readability. */
/* clang-format off */
- if (STR_LITERAL_STARTSWITH(string, "assert", len)) { i = len;
+ if (STR_LITERAL_STARTSWITH(string, "assert", len)) { i = len;
} else if (STR_LITERAL_STARTSWITH(string, "collectgarbage", len)) { i = len;
} else if (STR_LITERAL_STARTSWITH(string, "dofile", len)) { i = len;
} else if (STR_LITERAL_STARTSWITH(string, "error", len)) { i = len;
@@ -124,8 +123,7 @@ static int txtfmt_lua_find_specialvar(const char *string)
} else if (STR_LITERAL_STARTSWITH(string, "unpack", len)) { i = len;
} else if (STR_LITERAL_STARTSWITH(string, "_VERSION", len)) { i = len;
} else if (STR_LITERAL_STARTSWITH(string, "xpcall", len)) { i = len;
- } else { i = 0;
-}
+ } else { i = 0; }
/* clang-format on */
@@ -140,18 +138,13 @@ static int txtfmt_lua_find_bool(const char *string)
{
int i, len;
- if (STR_LITERAL_STARTSWITH(string, "nil", len)) {
- i = len;
- }
- else if (STR_LITERAL_STARTSWITH(string, "true", len)) {
- i = len;
- }
- else if (STR_LITERAL_STARTSWITH(string, "false", len)) {
- i = len;
- }
- else {
- i = 0;
- }
+ /* Keep aligned args for readability. */
+ /* clang-format off */
+
+ if (STR_LITERAL_STARTSWITH(string, "nil", len)) { i = len;
+ } else if (STR_LITERAL_STARTSWITH(string, "true", len)) { i = len;
+ } else if (STR_LITERAL_STARTSWITH(string, "false", len)) { i = len;
+ } else { i = 0; }
/* clang-format on */
@@ -169,10 +162,9 @@ static char txtfmt_lua_format_identifier(const char *str)
/* Keep aligned args for readability. */
/* clang-format off */
- if ((txtfmt_lua_find_specialvar(str)) != -1) { fmt = FMT_TYPE_SPECIAL;
+ if ((txtfmt_lua_find_specialvar(str)) != -1) { fmt = FMT_TYPE_SPECIAL;
} else if ((txtfmt_lua_find_keyword(str)) != -1) { fmt = FMT_TYPE_KEYWORD;
- } else { fmt = FMT_TYPE_DEFAULT;
-}
+ } else { fmt = FMT_TYPE_DEFAULT; }
/* clang-format on */
diff --git a/source/blender/editors/space_text/text_format_osl.c b/source/blender/editors/space_text/text_format_osl.c
index fb9ddcb09cb..2da4488e901 100644
--- a/source/blender/editors/space_text/text_format_osl.c
+++ b/source/blender/editors/space_text/text_format_osl.c
@@ -40,7 +40,7 @@ static int txtfmt_osl_find_builtinfunc(const char *string)
/* list is from
* https://github.com/imageworks/OpenShadingLanguage/raw/master/src/doc/osl-languagespec.pdf
*/
- if (STR_LITERAL_STARTSWITH(string, "break", len)) { i = len;
+ if (STR_LITERAL_STARTSWITH(string, "break", len)) { i = len;
} else if (STR_LITERAL_STARTSWITH(string, "closure", len)) { i = len;
} else if (STR_LITERAL_STARTSWITH(string, "color", len)) { i = len;
} else if (STR_LITERAL_STARTSWITH(string, "continue", len)) { i = len;
@@ -86,7 +86,7 @@ static int txtfmt_osl_find_reserved(const char *string)
/* list is from...
* https://github.com/imageworks/OpenShadingLanguage/raw/master/src/doc/osl-languagespec.pdf
*/
- if (STR_LITERAL_STARTSWITH(string, "bool", len)) { i = len;
+ if (STR_LITERAL_STARTSWITH(string, "bool", len)) { i = len;
} else if (STR_LITERAL_STARTSWITH(string, "case", len)) { i = len;
} else if (STR_LITERAL_STARTSWITH(string, "catch", len)) { i = len;
} else if (STR_LITERAL_STARTSWITH(string, "char", len)) { i = len;
@@ -149,7 +149,7 @@ static int txtfmt_osl_find_specialvar(const char *string)
/* clang-format off */
/* OSL shader types */
- if (STR_LITERAL_STARTSWITH(string, "shader", len)) { i = len;
+ if (STR_LITERAL_STARTSWITH(string, "shader", len)) { i = len;
} else if (STR_LITERAL_STARTSWITH(string, "surface", len)) { i = len;
} else if (STR_LITERAL_STARTSWITH(string, "volume", len)) { i = len;
} else if (STR_LITERAL_STARTSWITH(string, "displacement", len)) { i = len;
@@ -189,7 +189,7 @@ static char txtfmt_osl_format_identifier(const char *str)
/* Keep aligned args for readability. */
/* clang-format off */
- if ((txtfmt_osl_find_specialvar(str)) != -1) { fmt = FMT_TYPE_SPECIAL;
+ if ((txtfmt_osl_find_specialvar(str)) != -1) { fmt = FMT_TYPE_SPECIAL;
} else if ((txtfmt_osl_find_builtinfunc(str)) != -1) { fmt = FMT_TYPE_KEYWORD;
} else if ((txtfmt_osl_find_reserved(str)) != -1) { fmt = FMT_TYPE_RESERVED;
} else if ((txtfmt_osl_find_preprocessor(str)) != -1) { fmt = FMT_TYPE_DIRECTIVE;
@@ -323,7 +323,7 @@ static void txtfmt_osl_format_line(SpaceText *st, TextLine *line, const bool do_
/* Special vars(v) or built-in keywords(b) */
/* keep in sync with 'txtfmt_osl_format_identifier()' */
- if ((i = txtfmt_osl_find_specialvar(str)) != -1) { prev = FMT_TYPE_SPECIAL;
+ if ((i = txtfmt_osl_find_specialvar(str)) != -1) { prev = FMT_TYPE_SPECIAL;
} else if ((i = txtfmt_osl_find_builtinfunc(str)) != -1) { prev = FMT_TYPE_KEYWORD;
} else if ((i = txtfmt_osl_find_reserved(str)) != -1) { prev = FMT_TYPE_RESERVED;
} else if ((i = txtfmt_osl_find_preprocessor(str)) != -1) { prev = FMT_TYPE_DIRECTIVE;
diff --git a/source/blender/editors/space_text/text_format_pov.c b/source/blender/editors/space_text/text_format_pov.c
index a5e1a3845cf..21df7b5b76a 100644
--- a/source/blender/editors/space_text/text_format_pov.c
+++ b/source/blender/editors/space_text/text_format_pov.c
@@ -48,7 +48,7 @@ static int txtfmt_pov_find_keyword(const char *string)
int i, len;
/* Language Directives */
- if (STR_LITERAL_STARTSWITH(string, "deprecated", len)) { i = len;
+ if (STR_LITERAL_STARTSWITH(string, "deprecated", len)) { i = len;
} else if (STR_LITERAL_STARTSWITH(string, "persistent", len)) { i = len;
} else if (STR_LITERAL_STARTSWITH(string, "statistics", len)) { i = len;
} else if (STR_LITERAL_STARTSWITH(string, "version", len)) { i = len;
@@ -101,7 +101,7 @@ static int txtfmt_pov_find_reserved_keywords(const char *string)
/* clang-format off */
/* Float Functions */
- if (STR_LITERAL_STARTSWITH(string, "conserve_energy", len)) { i = len;
+ if (STR_LITERAL_STARTSWITH(string, "conserve_energy", len)) { i = len;
} else if (STR_LITERAL_STARTSWITH(string, "max_intersections", len)) { i = len;
} else if (STR_LITERAL_STARTSWITH(string, "dimension_size", len)) { i = len;
} else if (STR_LITERAL_STARTSWITH(string, "bitwise_and", len)) { i = len;
@@ -261,7 +261,7 @@ static int txtfmt_pov_find_reserved_builtins(const char *string)
/* clang-format off */
/* Language Keywords */
- if (STR_LITERAL_STARTSWITH(string, "reflection_exponent", len)) { i = len;
+ if (STR_LITERAL_STARTSWITH(string, "reflection_exponent", len)) { i = len;
} else if (STR_LITERAL_STARTSWITH(string, "area_illumination", len)) { i = len;
} else if (STR_LITERAL_STARTSWITH(string, "all_intersections", len)) { i = len;
} else if (STR_LITERAL_STARTSWITH(string, "cutaway_textures", len)) { i = len;
@@ -500,7 +500,7 @@ static int txtfmt_pov_find_specialvar(const char *string)
{
int i, len;
/* Modifiers */
- if (STR_LITERAL_STARTSWITH(string, "dispersion_samples", len)) { i = len;
+ if (STR_LITERAL_STARTSWITH(string, "dispersion_samples", len)) { i = len;
} else if (STR_LITERAL_STARTSWITH(string, "projected_through", len)) { i = len;
} else if (STR_LITERAL_STARTSWITH(string, "double_illuminate", len)) { i = len;
} else if (STR_LITERAL_STARTSWITH(string, "expand_thresholds", len)) { i = len;
@@ -710,7 +710,7 @@ static int txtfmt_pov_find_bool(const char *string)
/* clang-format off */
/* Built-in Constants */
- if (STR_LITERAL_STARTSWITH(string, "unofficial", len)) { i = len;
+ if (STR_LITERAL_STARTSWITH(string, "unofficial", len)) { i = len;
} else if (STR_LITERAL_STARTSWITH(string, "false", len)) { i = len;
} else if (STR_LITERAL_STARTSWITH(string, "no", len)) { i = len;
} else if (STR_LITERAL_STARTSWITH(string, "off", len)) { i = len;
diff --git a/source/blender/editors/space_text/text_format_pov_ini.c b/source/blender/editors/space_text/text_format_pov_ini.c
index 04f4b992cc6..b349b38e551 100644
--- a/source/blender/editors/space_text/text_format_pov_ini.c
+++ b/source/blender/editors/space_text/text_format_pov_ini.c
@@ -49,7 +49,7 @@ static int txtfmt_ini_find_keyword(const char *string)
/* clang-format off */
/* Language Directives */
- if (STR_LITERAL_STARTSWITH(string, "deprecated", len)) { i = len;
+ if (STR_LITERAL_STARTSWITH(string, "deprecated", len)) { i = len;
} else if (STR_LITERAL_STARTSWITH(string, "statistics", len)) { i = len;
} else if (STR_LITERAL_STARTSWITH(string, "declare", len)) { i = len;
} else if (STR_LITERAL_STARTSWITH(string, "default", len)) { i = len;
@@ -111,7 +111,7 @@ static int txtfmt_ini_find_reserved(const char *string)
* list is from...
* http://www.povray.org/documentation/view/3.7.0/212/
*/
- if (STR_LITERAL_STARTSWITH(string, "RenderCompleteSoundEnabled", len)) { i = len;
+ if (STR_LITERAL_STARTSWITH(string, "RenderCompleteSoundEnabled", len)) { i = len;
} else if (STR_LITERAL_STARTSWITH(string, "Create_Continue_Trace_Log", len)) { i = len;
} else if (STR_LITERAL_STARTSWITH(string, "ParseErrorSoundEnabled", len)) { i = len;
} else if (STR_LITERAL_STARTSWITH(string, "RenderErrorSoundEnabled", len)) { i = len;
@@ -321,7 +321,7 @@ static int txtfmt_ini_find_bool(const char *string)
/* clang-format off */
/* Built-in Constants */
- if (STR_LITERAL_STARTSWITH(string, "false", len)) { i = len;
+ if (STR_LITERAL_STARTSWITH(string, "false", len)) { i = len;
} else if (STR_LITERAL_STARTSWITH(string, "no", len)) { i = len;
} else if (STR_LITERAL_STARTSWITH(string, "off", len)) { i = len;
} else if (STR_LITERAL_STARTSWITH(string, "true", len)) { i = len;
diff --git a/source/blender/editors/space_text/text_format_py.c b/source/blender/editors/space_text/text_format_py.c
index 98eeee61c3a..d84beb79be6 100644
--- a/source/blender/editors/space_text/text_format_py.c
+++ b/source/blender/editors/space_text/text_format_py.c
@@ -58,11 +58,11 @@ static int txtfmt_py_find_builtinfunc(const char *string)
/* Keep aligned args for readability. */
/* clang-format off */
- if (STR_LITERAL_STARTSWITH(string, "and", len)) { i = len;
- } else if (STR_LITERAL_STARTSWITH(string, "as", len)) { i = len;
- } else if (STR_LITERAL_STARTSWITH(string, "assert", len)) { i = len;
+ if (STR_LITERAL_STARTSWITH(string, "assert", len)) { i = len;
} else if (STR_LITERAL_STARTSWITH(string, "async", len)) { i = len;
} else if (STR_LITERAL_STARTSWITH(string, "await", len)) { i = len;
+ } else if (STR_LITERAL_STARTSWITH(string, "and", len)) { i = len;
+ } else if (STR_LITERAL_STARTSWITH(string, "as", len)) { i = len;
} else if (STR_LITERAL_STARTSWITH(string, "break", len)) { i = len;
} else if (STR_LITERAL_STARTSWITH(string, "continue", len)) { i = len;
} else if (STR_LITERAL_STARTSWITH(string, "del", len)) { i = len;
@@ -114,7 +114,7 @@ static int txtfmt_py_find_specialvar(const char *string)
/* Keep aligned args for readability. */
/* clang-format off */
- if (STR_LITERAL_STARTSWITH(string, "def", len)) { i = len;
+ if (STR_LITERAL_STARTSWITH(string, "def", len)) { i = len;
} else if (STR_LITERAL_STARTSWITH(string, "class", len)) { i = len;
} else { i = 0;
}
@@ -155,7 +155,7 @@ static int txtfmt_py_find_bool(const char *string)
/* Keep aligned args for readability. */
/* clang-format off */
- if (STR_LITERAL_STARTSWITH(string, "None", len)) { i = len;
+ if (STR_LITERAL_STARTSWITH(string, "None", len)) { i = len;
} else if (STR_LITERAL_STARTSWITH(string, "True", len)) { i = len;
} else if (STR_LITERAL_STARTSWITH(string, "False", len)) { i = len;
} else { i = 0;
diff --git a/source/blender/editors/space_text/text_ops.c b/source/blender/editors/space_text/text_ops.c
index e16f90240f7..f9557225b6b 100644
--- a/source/blender/editors/space_text/text_ops.c
+++ b/source/blender/editors/space_text/text_ops.c
@@ -3484,7 +3484,7 @@ static int text_find_and_replace(bContext *C, wmOperator *op, short mode)
}
else {
if (!found) {
- BKE_reportf(op->reports, RPT_ERROR, "Text not found: %s", st->findstr);
+ BKE_reportf(op->reports, RPT_WARNING, "Text not found: %s", st->findstr);
}
}
diff --git a/source/blender/editors/space_view3d/space_view3d.c b/source/blender/editors/space_view3d/space_view3d.c
index f5963684395..b80d402aac3 100644
--- a/source/blender/editors/space_view3d/space_view3d.c
+++ b/source/blender/editors/space_view3d/space_view3d.c
@@ -311,13 +311,6 @@ static void view3d_free(SpaceLink *sl)
MEM_freeN(vd->runtime.properties_storage);
}
- if (vd->fx_settings.ssao) {
- MEM_freeN(vd->fx_settings.ssao);
- }
- if (vd->fx_settings.dof) {
- MEM_freeN(vd->fx_settings.dof);
- }
-
if (vd->shading.prop) {
IDP_FreeProperty(vd->shading.prop);
vd->shading.prop = NULL;
@@ -341,6 +334,9 @@ static SpaceLink *view3d_duplicate(SpaceLink *sl)
v3dn->runtime.properties_storage = NULL;
}
+ v3dn->local_collections_uuid = 0;
+ v3dn->flag &= ~V3D_LOCAL_COLLECTIONS;
+
if (v3dn->shading.type == OB_RENDER) {
v3dn->shading.type = OB_SOLID;
}
@@ -352,12 +348,6 @@ static SpaceLink *view3d_duplicate(SpaceLink *sl)
/* copy or clear inside new stuff */
v3dn->runtime.properties_storage = NULL;
- if (v3dn->fx_settings.dof) {
- v3dn->fx_settings.dof = MEM_dupallocN(v3do->fx_settings.dof);
- }
- if (v3dn->fx_settings.ssao) {
- v3dn->fx_settings.ssao = MEM_dupallocN(v3do->fx_settings.ssao);
- }
return (SpaceLink *)v3dn;
}
@@ -1042,10 +1032,10 @@ static void view3d_main_region_cursor(wmWindow *win, ScrArea *sa, ARegion *ar)
ViewLayer *view_layer = WM_window_get_active_view_layer(win);
Object *obedit = OBEDIT_FROM_VIEW_LAYER(view_layer);
if (obedit) {
- WM_cursor_set(win, CURSOR_EDIT);
+ WM_cursor_set(win, WM_CURSOR_EDIT);
}
else {
- WM_cursor_set(win, CURSOR_STD);
+ WM_cursor_set(win, WM_CURSOR_DEFAULT);
}
}
@@ -1096,6 +1086,9 @@ static void view3d_header_region_listener(wmWindow *UNUSED(win),
if (wmn->data & ND_GPENCIL_EDITMODE) {
ED_region_tag_redraw(ar);
}
+ else if (wmn->action == NA_EDITED) {
+ ED_region_tag_redraw(ar);
+ }
break;
case NC_BRUSH:
ED_region_tag_redraw(ar);
@@ -1460,7 +1453,7 @@ static int view3d_context(const bContext *C, const char *member, bContextDataRes
if (view_layer->basact) {
Object *ob = view_layer->basact->object;
/* if hidden but in edit mode, we still display, can happen with animation */
- if ((view_layer->basact->flag & BASE_VISIBLE) != 0 || (ob->mode & OB_MODE_EDIT)) {
+ if ((view_layer->basact->flag & BASE_VISIBLE_DEPSGRAPH) != 0 || (ob->mode & OB_MODE_EDIT)) {
CTX_data_pointer_set(result, &scene->id, &RNA_ObjectBase, view_layer->basact);
}
}
@@ -1472,7 +1465,8 @@ static int view3d_context(const bContext *C, const char *member, bContextDataRes
if (view_layer->basact) {
Object *ob = view_layer->basact->object;
/* if hidden but in edit mode, we still display, can happen with animation */
- if ((view_layer->basact->flag & BASE_VISIBLE) != 0 || (ob->mode & OB_MODE_EDIT) != 0) {
+ if ((view_layer->basact->flag & BASE_VISIBLE_DEPSGRAPH) != 0 ||
+ (ob->mode & OB_MODE_EDIT) != 0) {
CTX_data_id_pointer_set(result, &ob->id);
}
}
diff --git a/source/blender/editors/space_view3d/view3d_draw.c b/source/blender/editors/space_view3d/view3d_draw.c
index aafd36a5bb8..3ee9755cb06 100644
--- a/source/blender/editors/space_view3d/view3d_draw.c
+++ b/source/blender/editors/space_view3d/view3d_draw.c
@@ -1422,18 +1422,24 @@ static void draw_grid_unit_name(
{
if (!rv3d->is_persp && RV3D_VIEW_IS_AXIS(rv3d->view)) {
const char *grid_unit = NULL;
+ int font_id = BLF_default();
ED_view3d_grid_view_scale(scene, v3d, rv3d, &grid_unit);
if (grid_unit) {
char numstr[32] = "";
- UI_FontThemeColor(BLF_default(), TH_TEXT_HI);
+ UI_FontThemeColor(font_id, TH_TEXT_HI);
if (v3d->grid != 1.0f) {
BLI_snprintf(numstr, sizeof(numstr), "%s x %.4g", grid_unit, v3d->grid);
}
*yoffset -= U.widget_unit;
+ BLF_enable(font_id, BLF_SHADOW);
+ BLF_shadow(font_id, 5, (const float[4]){0.0f, 0.0f, 0.0f, 1.0f});
+ BLF_shadow_offset(font_id, 1, -1);
BLF_draw_default_ascii(
xoffset, *yoffset, 0.0f, numstr[0] ? numstr : grid_unit, sizeof(numstr));
+
+ BLF_disable(font_id, BLF_SHADOW);
}
}
}
diff --git a/source/blender/editors/space_view3d/view3d_draw_legacy.c b/source/blender/editors/space_view3d/view3d_draw_legacy.c
index acc46935eb5..17b575cedae 100644
--- a/source/blender/editors/space_view3d/view3d_draw_legacy.c
+++ b/source/blender/editors/space_view3d/view3d_draw_legacy.c
@@ -179,7 +179,7 @@ static void validate_object_select_id(
return;
}
- if (obact_eval && ((obact_eval->base_flag & BASE_VISIBLE) != 0)) {
+ if (obact_eval && ((obact_eval->base_flag & BASE_VISIBLE_DEPSGRAPH) != 0)) {
Base *base = BKE_view_layer_base_find(view_layer, obact);
DRW_select_buffer_context_create(&base, 1, -1);
}
@@ -226,7 +226,7 @@ void ED_view3d_backbuf_depth_validate(ViewContext *vc)
ARegion *ar = vc->ar;
Object *obact_eval = DEG_get_evaluated_object(vc->depsgraph, vc->obact);
- if (obact_eval && ((obact_eval->base_flag & BASE_VISIBLE) != 0)) {
+ if (obact_eval && ((obact_eval->base_flag & BASE_VISIBLE_DEPSGRAPH) != 0)) {
GPUViewport *viewport = WM_draw_region_get_viewport(ar, 0);
DRW_draw_depth_object(vc->ar, viewport, obact_eval);
}
diff --git a/source/blender/editors/space_view3d/view3d_edit.c b/source/blender/editors/space_view3d/view3d_edit.c
index 4bc74ab8fba..3ad194a5d2b 100644
--- a/source/blender/editors/space_view3d/view3d_edit.c
+++ b/source/blender/editors/space_view3d/view3d_edit.c
@@ -2997,7 +2997,7 @@ static int viewselected_exec(bContext *C, wmOperator *op)
ok = paintface_minmax(ob_eval, min, max);
}
else if (ob_eval && (ob_eval->mode & OB_MODE_PARTICLE_EDIT)) {
- ok = PE_minmax(scene, CTX_data_view_layer(C), min, max);
+ ok = PE_minmax(depsgraph, scene, CTX_data_view_layer(C), min, max);
}
else if (ob_eval && (ob_eval->mode & (OB_MODE_SCULPT | OB_MODE_VERTEX_PAINT |
OB_MODE_WEIGHT_PAINT | OB_MODE_TEXTURE_PAINT))) {
diff --git a/source/blender/editors/space_view3d/view3d_gizmo_armature.c b/source/blender/editors/space_view3d/view3d_gizmo_armature.c
index 615589347da..dbad06da5ec 100644
--- a/source/blender/editors/space_view3d/view3d_gizmo_armature.c
+++ b/source/blender/editors/space_view3d/view3d_gizmo_armature.c
@@ -25,6 +25,7 @@
#include "BKE_armature.h"
#include "BKE_action.h"
#include "BKE_context.h"
+#include "BKE_layer.h"
#include "BKE_object.h"
#include "DNA_object_types.h"
diff --git a/source/blender/editors/space_view3d/view3d_gizmo_camera.c b/source/blender/editors/space_view3d/view3d_gizmo_camera.c
index 42931d5abb5..ba5ca5fbd15 100644
--- a/source/blender/editors/space_view3d/view3d_gizmo_camera.c
+++ b/source/blender/editors/space_view3d/view3d_gizmo_camera.c
@@ -24,6 +24,7 @@
#include "BKE_camera.h"
#include "BKE_context.h"
+#include "BKE_layer.h"
#include "DNA_object_types.h"
#include "DNA_camera_types.h"
diff --git a/source/blender/editors/space_view3d/view3d_gizmo_empty.c b/source/blender/editors/space_view3d/view3d_gizmo_empty.c
index b37f1e41294..793aec42dcd 100644
--- a/source/blender/editors/space_view3d/view3d_gizmo_empty.c
+++ b/source/blender/editors/space_view3d/view3d_gizmo_empty.c
@@ -22,6 +22,7 @@
#include "BLI_utildefines.h"
#include "BKE_context.h"
+#include "BKE_layer.h"
#include "BKE_object.h"
#include "BKE_image.h"
diff --git a/source/blender/editors/space_view3d/view3d_gizmo_forcefield.c b/source/blender/editors/space_view3d/view3d_gizmo_forcefield.c
index 44ad1d14dba..90b1539c8a7 100644
--- a/source/blender/editors/space_view3d/view3d_gizmo_forcefield.c
+++ b/source/blender/editors/space_view3d/view3d_gizmo_forcefield.c
@@ -21,6 +21,7 @@
#include "BLI_utildefines.h"
#include "BKE_context.h"
+#include "BKE_layer.h"
#include "BKE_object.h"
#include "DNA_object_types.h"
diff --git a/source/blender/editors/space_view3d/view3d_gizmo_light.c b/source/blender/editors/space_view3d/view3d_gizmo_light.c
index 35677b2e4c2..890de0ae611 100644
--- a/source/blender/editors/space_view3d/view3d_gizmo_light.c
+++ b/source/blender/editors/space_view3d/view3d_gizmo_light.c
@@ -22,6 +22,7 @@
#include "BLI_utildefines.h"
#include "BKE_context.h"
+#include "BKE_layer.h"
#include "BKE_object.h"
#include "DEG_depsgraph.h"
diff --git a/source/blender/editors/space_view3d/view3d_gizmo_navigate_type.c b/source/blender/editors/space_view3d/view3d_gizmo_navigate_type.c
index b5b924c7f4a..d6d3a3dc563 100644
--- a/source/blender/editors/space_view3d/view3d_gizmo_navigate_type.c
+++ b/source/blender/editors/space_view3d/view3d_gizmo_navigate_type.c
@@ -518,9 +518,9 @@ static int gizmo_axis_test_select(bContext *UNUSED(C), wmGizmo *gz, const int mv
static int gizmo_axis_cursor_get(wmGizmo *gz)
{
if (gz->highlight_part > 0) {
- return CURSOR_EDIT;
+ return WM_CURSOR_EDIT;
}
- return BC_NSEW_SCROLLCURSOR;
+ return WM_CURSOR_NSEW_SCROLL;
}
void VIEW3D_GT_navigate_rotate(wmGizmoType *gzt)
diff --git a/source/blender/editors/space_view3d/view3d_gizmo_ruler.c b/source/blender/editors/space_view3d/view3d_gizmo_ruler.c
index 2189191ad53..e53957b054d 100644
--- a/source/blender/editors/space_view3d/view3d_gizmo_ruler.c
+++ b/source/blender/editors/space_view3d/view3d_gizmo_ruler.c
@@ -407,6 +407,17 @@ static bool view3d_ruler_item_mousemove(RulerInfo *ruler_info,
/** \name Ruler/Grease Pencil Conversion
* \{ */
+/* Helper: Find the layer created as ruler. */
+static bGPDlayer *view3d_ruler_layer_get(bGPdata *gpd)
+{
+ for (bGPDlayer *gpl = gpd->layers.first; gpl; gpl = gpl->next) {
+ if (gpl->flag & GP_LAYER_IS_RULER) {
+ return gpl;
+ }
+ }
+ return NULL;
+}
+
#define RULER_ID "RulerData3D"
static bool view3d_ruler_to_gpencil(bContext *C, wmGizmoGroup *gzgroup)
{
@@ -427,12 +438,12 @@ static bool view3d_ruler_to_gpencil(bContext *C, wmGizmoGroup *gzgroup)
}
gpd = scene->gpd;
- gpl = BLI_findstring(&gpd->layers, ruler_name, offsetof(bGPDlayer, info));
+ gpl = view3d_ruler_layer_get(gpd);
if (gpl == NULL) {
gpl = BKE_gpencil_layer_addnew(gpd, ruler_name, false);
copy_v4_v4(gpl->color, U.gpencil_new_layer_col);
gpl->thickness = 1;
- gpl->flag |= GP_LAYER_HIDE;
+ gpl->flag |= GP_LAYER_HIDE | GP_LAYER_IS_RULER;
}
gpf = BKE_gpencil_layer_getframe(gpl, CFRA, GP_GETFRAME_ADD_NEW);
@@ -485,8 +496,7 @@ static bool view3d_ruler_from_gpencil(const bContext *C, wmGizmoGroup *gzgroup)
if (scene->gpd) {
bGPDlayer *gpl;
- const char *ruler_name = RULER_ID;
- gpl = BLI_findstring(&scene->gpd->layers, ruler_name, offsetof(bGPDlayer, info));
+ gpl = view3d_ruler_layer_get(scene->gpd);
if (gpl) {
bGPDframe *gpf;
gpf = BKE_gpencil_layer_getframe(gpl, CFRA, GP_GETFRAME_USE_PREV);
@@ -1013,9 +1023,9 @@ static void gizmo_ruler_exit(bContext *C, wmGizmo *gz, const bool cancel)
static int gizmo_ruler_cursor_get(wmGizmo *gz)
{
if (gz->highlight_part == PART_LINE) {
- return BC_CROSSCURSOR;
+ return WM_CURSOR_CROSS;
}
- return BC_NSEW_SCROLLCURSOR;
+ return WM_CURSOR_NSEW_SCROLL;
}
void VIEW3D_GT_ruler_item(wmGizmoType *gzt)
@@ -1173,6 +1183,10 @@ static int view3d_ruler_remove_invoke(bContext *C, wmOperator *op, const wmEvent
else {
ruler_item_remove(C, gzgroup, ruler_item);
}
+
+ /* Update the annotation layer. */
+ view3d_ruler_to_gpencil(C, gzgroup);
+
ED_region_tag_redraw(ar);
return OPERATOR_FINISHED;
}
diff --git a/source/blender/editors/space_view3d/view3d_ops.c b/source/blender/editors/space_view3d/view3d_ops.c
index e5a145b0411..cfdd3dcbb6f 100644
--- a/source/blender/editors/space_view3d/view3d_ops.c
+++ b/source/blender/editors/space_view3d/view3d_ops.c
@@ -79,7 +79,7 @@ static int view3d_copybuffer_exec(bContext *C, wmOperator *op)
BLI_make_file_string("/", str, BKE_tempdir_base(), "copybuffer.blend");
BKE_copybuffer_save(bmain, str, op->reports);
- BKE_reportf(op->reports, RPT_INFO, "Copied %d selected objects", num_copied);
+ BKE_reportf(op->reports, RPT_INFO, "Copied %d selected object(s)", num_copied);
return OPERATOR_FINISHED;
}
@@ -118,7 +118,7 @@ static int view3d_pastebuffer_exec(bContext *C, wmOperator *op)
WM_event_add_notifier(C, NC_WINDOW, NULL);
- BKE_reportf(op->reports, RPT_INFO, "%d objects pasted", num_pasted);
+ BKE_reportf(op->reports, RPT_INFO, "%d object(s) pasted", num_pasted);
return OPERATOR_FINISHED;
}
diff --git a/source/blender/editors/space_view3d/view3d_select.c b/source/blender/editors/space_view3d/view3d_select.c
index 198b5d05540..3eee76277e8 100644
--- a/source/blender/editors/space_view3d/view3d_select.c
+++ b/source/blender/editors/space_view3d/view3d_select.c
@@ -1020,10 +1020,12 @@ static void do_lasso_select_armature__doSelectBone(void *userData,
is_ignore_flag |= BONESEL_TIP;
}
- if (is_inside_flag == (BONE_ROOTSEL | BONE_TIPSEL) ||
- BLI_lasso_is_edge_inside(
- data->mcords, data->moves, UNPACK2(screen_co_a), UNPACK2(screen_co_b), INT_MAX)) {
- is_inside_flag |= BONESEL_BONE;
+ if (is_ignore_flag == 0) {
+ if (is_inside_flag == (BONE_ROOTSEL | BONE_TIPSEL) ||
+ BLI_lasso_is_edge_inside(
+ data->mcords, data->moves, UNPACK2(screen_co_a), UNPACK2(screen_co_b), INT_MAX)) {
+ is_inside_flag |= BONESEL_BONE;
+ }
}
ebone->temp.i = is_inside_flag | (is_ignore_flag >> 16);
diff --git a/source/blender/editors/space_view3d/view3d_view.c b/source/blender/editors/space_view3d/view3d_view.c
index dd8e2e07271..c64ace77a79 100644
--- a/source/blender/editors/space_view3d/view3d_view.c
+++ b/source/blender/editors/space_view3d/view3d_view.c
@@ -1254,6 +1254,9 @@ static bool view3d_localview_init(const Depsgraph *depsgraph,
else {
Object *obedit = OBEDIT_FROM_VIEW_LAYER(view_layer);
if (obedit) {
+ for (base = FIRSTBASE(view_layer); base; base = base->next) {
+ base->local_view_bits &= ~local_view_bit;
+ }
FOREACH_BASE_IN_EDIT_MODE_BEGIN (view_layer, v3d, base_iter) {
BKE_object_minmax(base_iter->object, min, max, false);
base_iter->local_view_bits |= local_view_bit;
@@ -1268,6 +1271,9 @@ static bool view3d_localview_init(const Depsgraph *depsgraph,
base->local_view_bits |= local_view_bit;
ok = true;
}
+ else {
+ base->local_view_bits &= ~local_view_bit;
+ }
}
}
@@ -1583,7 +1589,13 @@ static uint free_localcollection_bit(Main *bmain,
static void local_collections_reset_uuid(LayerCollection *layer_collection,
const unsigned short local_view_bit)
{
- layer_collection->local_collections_bits |= local_view_bit;
+ if (layer_collection->flag & LAYER_COLLECTION_HIDE) {
+ layer_collection->local_collections_bits &= ~local_view_bit;
+ }
+ else {
+ layer_collection->local_collections_bits |= local_view_bit;
+ }
+
LISTBASE_FOREACH (LayerCollection *, child, &layer_collection->layer_collections) {
local_collections_reset_uuid(child, local_view_bit);
}
diff --git a/source/blender/editors/space_view3d/view3d_walk.c b/source/blender/editors/space_view3d/view3d_walk.c
index 91c05f5cac6..a7402a622d5 100644
--- a/source/blender/editors/space_view3d/view3d_walk.c
+++ b/source/blender/editors/space_view3d/view3d_walk.c
@@ -204,6 +204,8 @@ typedef struct WalkInfo {
* (this would need to un-key all previous frames).
*/
bool anim_playing;
+ bool need_rotation_keyframe;
+ bool need_translation_keyframe;
/** Previous 2D mouse values. */
int prev_mval[2];
@@ -538,6 +540,8 @@ static bool initWalkInfo(bContext *C, WalkInfo *walk, wmOperator *op)
#endif
walk->anim_playing = ED_screen_animation_playing(wm);
+ walk->need_rotation_keyframe = false;
+ walk->need_translation_keyframe = false;
walk->time_lastdraw = PIL_check_seconds_timer();
@@ -577,7 +581,7 @@ static bool initWalkInfo(bContext *C, WalkInfo *walk, wmOperator *op)
walk->ar->winrct.ymin + walk->center_mval[1]);
/* remove the mouse cursor temporarily */
- WM_cursor_modal_set(win, CURSOR_NONE);
+ WM_cursor_modal_set(win, WM_CURSOR_NONE);
return 1;
}
@@ -930,9 +934,12 @@ static void walkMoveCamera(bContext *C,
/* we only consider autokeying on playback or if user confirmed walk on the same frame
* otherwise we get a keyframe even if the user cancels. */
const bool use_autokey = is_confirm || walk->anim_playing;
-
ED_view3d_cameracontrol_update(
walk->v3d_camera_control, use_autokey, C, do_rotate, do_translate);
+ if (use_autokey) {
+ walk->need_rotation_keyframe = false;
+ walk->need_translation_keyframe = false;
+ }
}
static float getFreeFallDistance(const float gravity, const float time)
@@ -1280,9 +1287,10 @@ static int walkApply(bContext *C, WalkInfo *walk, bool is_confirm)
add_v3_v3(rv3d->ofs, dvec_tmp);
if (rv3d->persp == RV3D_CAMOB) {
- const bool do_rotate = (moffset[0] || moffset[1]);
- const bool do_translate = (walk->speed != 0.0f);
- walkMoveCamera(C, walk, do_rotate, do_translate, is_confirm);
+ walk->need_rotation_keyframe |= (moffset[0] || moffset[1]);
+ walk->need_translation_keyframe |= (len_squared_v3(dvec_tmp) > FLT_EPSILON);
+ walkMoveCamera(
+ C, walk, walk->need_rotation_keyframe, walk->need_translation_keyframe, is_confirm);
}
}
else {
@@ -1322,7 +1330,10 @@ static void walkApply_ndof(bContext *C, WalkInfo *walk, bool is_confirm)
walk->redraw = true;
if (walk->rv3d->persp == RV3D_CAMOB) {
- walkMoveCamera(C, walk, has_rotate, has_translate, is_confirm);
+ walk->need_rotation_keyframe |= has_rotate;
+ walk->need_translation_keyframe |= has_translate;
+ walkMoveCamera(
+ C, walk, walk->need_rotation_keyframe, walk->need_translation_keyframe, is_confirm);
}
}
}
diff --git a/source/blender/editors/transform/CMakeLists.txt b/source/blender/editors/transform/CMakeLists.txt
index e3ff8b92081..5853574dced 100644
--- a/source/blender/editors/transform/CMakeLists.txt
+++ b/source/blender/editors/transform/CMakeLists.txt
@@ -71,6 +71,7 @@ set(SRC
transform.h
transform_convert.h
+ transform_snap.h
)
set(LIB
diff --git a/source/blender/editors/transform/transform.c b/source/blender/editors/transform/transform.c
index 67ea0f255fc..9f53c38c403 100644
--- a/source/blender/editors/transform/transform.c
+++ b/source/blender/editors/transform/transform.c
@@ -72,7 +72,6 @@
#include "ED_keyframing.h"
#include "ED_screen.h"
#include "ED_space_api.h"
-#include "ED_markers.h"
#include "ED_view3d.h"
#include "ED_mesh.h"
#include "ED_clip.h"
@@ -96,6 +95,7 @@
#include "transform.h"
#include "transform_convert.h"
+#include "transform_snap.h"
/* Disabling, since when you type you know what you are doing,
* and being able to set it to zero is handy. */
@@ -2346,9 +2346,11 @@ bool initTransform(bContext *C, TransInfo *t, wmOperator *op, const wmEvent *eve
}
}
- Object *ob = CTX_data_active_object(C);
- if (ob && ob->mode == OB_MODE_SCULPT && ob->sculpt) {
- options |= CTX_SCULPT;
+ if (CTX_wm_view3d(C) != NULL) {
+ Object *ob = CTX_data_active_object(C);
+ if (ob && ob->mode == OB_MODE_SCULPT && ob->sculpt) {
+ options |= CTX_SCULPT;
+ }
}
t->options = options;
@@ -8879,38 +8881,7 @@ static short getAnimEdit_SnapMode(TransInfo *t)
static void doAnimEdit_SnapFrame(
TransInfo *t, TransData *td, TransData2D *td2d, AnimData *adt, short autosnap)
{
- /* snap key to nearest frame or second? */
- if (ELEM(autosnap, SACTSNAP_FRAME, SACTSNAP_SECOND)) {
- const Scene *scene = t->scene;
- const double secf = FPS;
- double val;
-
- /* convert frame to nla-action time (if needed) */
- if (adt) {
- val = BKE_nla_tweakedit_remap(adt, *(td->val), NLATIME_CONVERT_MAP);
- }
- else {
- val = *(td->val);
- }
-
- /* do the snapping to nearest frame/second */
- if (autosnap == SACTSNAP_FRAME) {
- val = floorf(val + 0.5);
- }
- else if (autosnap == SACTSNAP_SECOND) {
- val = (float)(floor((val / secf) + 0.5) * secf);
- }
-
- /* convert frame out of nla-action time */
- if (adt) {
- *(td->val) = BKE_nla_tweakedit_remap(adt, val, NLATIME_CONVERT_UNMAP);
- }
- else {
- *(td->val) = val;
- }
- }
- /* snap key to nearest marker? */
- else if (autosnap == SACTSNAP_MARKER) {
+ if (ELEM(autosnap, SACTSNAP_FRAME, SACTSNAP_SECOND, SACTSNAP_MARKER)) {
float val;
/* convert frame to nla-action time (if needed) */
@@ -8921,9 +8892,7 @@ static void doAnimEdit_SnapFrame(
val = *(td->val);
}
- /* snap to nearest marker */
- // TODO: need some more careful checks for where data comes from
- val = (float)ED_markers_find_nearest_marker_time(&t->scene->markers, val);
+ snapFrameTransform(t, autosnap, true, val, &val);
/* convert frame out of nla-action time */
if (adt) {
@@ -8991,36 +8960,23 @@ static void headerTimeTranslate(TransInfo *t, char str[UI_MAX_DRAW_STR])
outputNumInput(&(t->num), tvec, &t->scene->unit);
}
else {
- const Scene *scene = t->scene;
const short autosnap = getAnimEdit_SnapMode(t);
- const double secf = FPS;
float val = t->values_final[0];
- /* apply snapping + frame->seconds conversions */
- if (autosnap == SACTSNAP_STEP) {
- /* frame step */
- val = floorf(val + 0.5f);
- }
- else if (autosnap == SACTSNAP_TSTEP) {
- /* second step */
- val = floorf((double)val / secf + 0.5);
- }
- else if (autosnap == SACTSNAP_SECOND) {
- /* nearest second */
- val = (float)((double)val / secf);
- }
+ float snap_val;
+ snapFrameTransform(t, autosnap, false, val, &snap_val);
if (autosnap == SACTSNAP_FRAME) {
- BLI_snprintf(&tvec[0], NUM_STR_REP_LEN, "%d.00 (%.4f)", (int)val, val);
+ BLI_snprintf(&tvec[0], NUM_STR_REP_LEN, "%.2f (%.4f)", snap_val, val);
}
else if (autosnap == SACTSNAP_SECOND) {
- BLI_snprintf(&tvec[0], NUM_STR_REP_LEN, "%d.00 sec (%.4f)", (int)val, val);
+ BLI_snprintf(&tvec[0], NUM_STR_REP_LEN, "%.2f sec (%.4f)", snap_val, val);
}
else if (autosnap == SACTSNAP_TSTEP) {
- BLI_snprintf(&tvec[0], NUM_STR_REP_LEN, "%.4f sec", val);
+ BLI_snprintf(&tvec[0], NUM_STR_REP_LEN, "%.4f sec", snap_val);
}
else {
- BLI_snprintf(&tvec[0], NUM_STR_REP_LEN, "%.4f", val);
+ BLI_snprintf(&tvec[0], NUM_STR_REP_LEN, "%.4f", snap_val);
}
}
diff --git a/source/blender/editors/transform/transform.h b/source/blender/editors/transform/transform.h
index b90fff29a84..c437714956a 100644
--- a/source/blender/editors/transform/transform.h
+++ b/source/blender/editors/transform/transform.h
@@ -267,7 +267,6 @@ typedef struct TransDataNla {
int handle;
} TransDataNla;
-struct GHash;
struct LinkNode;
/* header of TransDataEdgeSlideVert, TransDataEdgeSlideEdge */
@@ -936,40 +935,6 @@ void postSelectConstraint(TransInfo *t);
void setNearestAxis(TransInfo *t);
-/*********************** Snapping ********************************/
-
-typedef enum {
- NO_GEARS = 0,
- BIG_GEARS = 1,
- SMALL_GEARS = 2,
-} GearsType;
-
-bool transformModeUseSnap(const TransInfo *t);
-
-void snapGridIncrement(TransInfo *t, float *val);
-void snapGridIncrementAction(TransInfo *t, float *val, GearsType action);
-
-void snapSequenceBounds(TransInfo *t, const int mval[2]);
-
-bool activeSnap(const TransInfo *t);
-bool validSnap(const TransInfo *t);
-
-void initSnapping(struct TransInfo *t, struct wmOperator *op);
-void freeSnapping(struct TransInfo *t);
-void applyProject(TransInfo *t);
-void applyGridAbsolute(TransInfo *t);
-void applySnapping(TransInfo *t, float *vec);
-void resetSnapping(TransInfo *t);
-eRedrawFlag handleSnapping(TransInfo *t, const struct wmEvent *event);
-void drawSnapping(const struct bContext *C, TransInfo *t);
-bool usingSnappingNormal(const TransInfo *t);
-bool validSnappingNormal(const TransInfo *t);
-
-void getSnapPoint(const TransInfo *t, float vec[3]);
-void addSnapPoint(TransInfo *t);
-eRedrawFlag updateSelectedSnapPoint(TransInfo *t);
-void removeSnapPoint(TransInfo *t);
-
/********************** Mouse Input ******************************/
typedef enum {
diff --git a/source/blender/editors/transform/transform_constraints.c b/source/blender/editors/transform/transform_constraints.c
index 6a6d3b78d38..b43e1fec988 100644
--- a/source/blender/editors/transform/transform_constraints.c
+++ b/source/blender/editors/transform/transform_constraints.c
@@ -53,6 +53,7 @@
#include "UI_resources.h"
#include "transform.h"
+#include "transform_snap.h"
static void drawObjectConstraint(TransInfo *t);
diff --git a/source/blender/editors/transform/transform_convert.c b/source/blender/editors/transform/transform_convert.c
index 81b7c7f8c9e..64ad8b2091e 100644
--- a/source/blender/editors/transform/transform_convert.c
+++ b/source/blender/editors/transform/transform_convert.c
@@ -429,7 +429,7 @@ static void bone_children_clear_transflag(int mode, short around, ListBase *lb)
bone->flag |= BONE_TRANSFORM_CHILD;
}
else {
- bone->flag &= ~(BONE_TRANSFORM | BONE_TRANSFORM_MIRROR);
+ bone->flag &= ~BONE_TRANSFORM;
}
bone_children_clear_transflag(mode, around, &bone->childbase);
@@ -455,14 +455,14 @@ int count_set_pose_transflags(Object *ob,
bone->flag |= BONE_TRANSFORM;
}
else {
- bone->flag &= ~(BONE_TRANSFORM | BONE_TRANSFORM_MIRROR);
+ bone->flag &= ~BONE_TRANSFORM;
}
bone->flag &= ~BONE_HINGE_CHILD_TRANSFORM;
bone->flag &= ~BONE_TRANSFORM_CHILD;
}
else {
- bone->flag &= ~(BONE_TRANSFORM | BONE_TRANSFORM_MIRROR);
+ bone->flag &= ~BONE_TRANSFORM;
}
}
@@ -1542,8 +1542,8 @@ void autokeyframe_pose(bContext *C, Scene *scene, Object *ob, int tmode, short t
}
for (pchan = pose->chanbase.first; pchan; pchan = pchan->next) {
- if (pchan->bone->flag & (BONE_TRANSFORM | BONE_TRANSFORM_MIRROR)) {
-
+ if ((pchan->bone->flag & BONE_TRANSFORM) ||
+ ((pose->flag & POSE_MIRROR_EDIT) && (pchan->bone->flag & BONE_TRANSFORM_MIRROR))) {
ListBase dsources = {NULL, NULL};
/* clear any 'unkeyed' flag it may have */
@@ -2251,7 +2251,7 @@ void special_aftertrans_update(bContext *C, TransInfo *t)
/* pass */
}
else if ((t->view_layer->basact) && (ob = t->view_layer->basact->object) &&
- (ob->mode & OB_MODE_PARTICLE_EDIT) && PE_get_current(t->scene, ob)) {
+ (ob->mode & OB_MODE_PARTICLE_EDIT) && PE_get_current(t->depsgraph, t->scene, ob)) {
/* do nothing */
}
else if (t->flag & T_CURSOR) {
@@ -2668,7 +2668,8 @@ void createTransData(bContext *C, TransInfo *t)
}
}
}
- else if (ob && (ob->mode & OB_MODE_PARTICLE_EDIT) && PE_start_edit(PE_get_current(scene, ob))) {
+ else if (ob && (ob->mode & OB_MODE_PARTICLE_EDIT) &&
+ PE_start_edit(PE_get_current(t->depsgraph, scene, ob))) {
createTransParticleVerts(C, t);
countAndCleanTransDataContainer(t);
t->flag |= T_POINTS;
diff --git a/source/blender/editors/transform/transform_convert_mesh.c b/source/blender/editors/transform/transform_convert_mesh.c
index 7f9c4ee2fcc..b9d69cafd0c 100644
--- a/source/blender/editors/transform/transform_convert_mesh.c
+++ b/source/blender/editors/transform/transform_convert_mesh.c
@@ -52,6 +52,8 @@
#include "transform.h"
#include "transform_convert.h"
+#include "transform_snap.h"
+
#include "bmesh.h"
/* Used for both mirror epsilon and TD_MIRROR_EDGE_ */
@@ -1451,7 +1453,7 @@ void createTransUVs(bContext *C, TransInfo *t)
const bool use_facesel = (ts->uv_flag & UV_SYNC_SELECTION) == 0;
elementmap = BM_uv_element_map_create(em->bm, use_facesel, false, true);
if (elementmap == NULL) {
- return;
+ continue;
}
if (is_prop_connected) {
diff --git a/source/blender/editors/transform/transform_convert_node.c b/source/blender/editors/transform/transform_convert_node.c
index 41e3a79e4c9..ee4aa053444 100644
--- a/source/blender/editors/transform/transform_convert_node.c
+++ b/source/blender/editors/transform/transform_convert_node.c
@@ -37,6 +37,7 @@
#include "transform.h"
#include "transform_convert.h"
+#include "transform_snap.h"
/* -------------------------------------------------------------------- */
/** \name Node Transform Creation
diff --git a/source/blender/editors/transform/transform_convert_object.c b/source/blender/editors/transform/transform_convert_object.c
index a32f533cc89..6e85f6b9bf0 100644
--- a/source/blender/editors/transform/transform_convert_object.c
+++ b/source/blender/editors/transform/transform_convert_object.c
@@ -501,8 +501,12 @@ static void set_trans_object_base_deps_flag_cb(ID *id,
static void flush_trans_object_base_deps_flag(Depsgraph *depsgraph, Object *object)
{
object->id.tag |= LIB_TAG_DOIT;
- DEG_foreach_dependent_ID_component(
- depsgraph, &object->id, DEG_OB_COMP_TRANSFORM, set_trans_object_base_deps_flag_cb, NULL);
+ DEG_foreach_dependent_ID_component(depsgraph,
+ &object->id,
+ DEG_OB_COMP_TRANSFORM,
+ DEG_FOREACH_COMPONENT_IGNORE_TRANSFORM_SOLVERS,
+ set_trans_object_base_deps_flag_cb,
+ NULL);
}
static void trans_object_base_deps_flag_finish(const TransInfo *t, ViewLayer *view_layer)
diff --git a/source/blender/editors/transform/transform_convert_particle.c b/source/blender/editors/transform/transform_convert_particle.c
index 3b11e604cab..2a961da018b 100644
--- a/source/blender/editors/transform/transform_convert_particle.c
+++ b/source/blender/editors/transform/transform_convert_particle.c
@@ -51,7 +51,7 @@ void createTransParticleVerts(bContext *C, TransInfo *t)
TransDataExtension *tx;
Object *ob = CTX_data_active_object(C);
ParticleEditSettings *pset = PE_settings(t->scene);
- PTCacheEdit *edit = PE_get_current(t->scene, ob);
+ PTCacheEdit *edit = PE_get_current(t->depsgraph, t->scene, ob);
ParticleSystem *psys = NULL;
PTCacheEditPoint *point;
PTCacheEditKey *key;
@@ -200,7 +200,7 @@ void flushTransParticles(TransInfo *t)
Scene *scene = t->scene;
ViewLayer *view_layer = t->view_layer;
Object *ob = OBACT(view_layer);
- PTCacheEdit *edit = PE_get_current(scene, ob);
+ PTCacheEdit *edit = PE_get_current(t->depsgraph, scene, ob);
ParticleSystem *psys = edit->psys;
PTCacheEditPoint *point;
PTCacheEditKey *key;
diff --git a/source/blender/editors/transform/transform_generics.c b/source/blender/editors/transform/transform_generics.c
index d05edb8d805..afaca361372 100644
--- a/source/blender/editors/transform/transform_generics.c
+++ b/source/blender/editors/transform/transform_generics.c
@@ -111,6 +111,7 @@
#include "transform.h"
#include "transform_convert.h"
+#include "transform_snap.h"
/* ************************** Functions *************************** */
@@ -794,6 +795,12 @@ static void pose_transform_mirror_update(Object *ob, PoseInitData_Mirror *pid)
for (bPoseChannel *pchan_orig = ob->pose->chanbase.first; pchan_orig;
pchan_orig = pchan_orig->next) {
+ /* Clear the MIRROR flag from previous runs */
+ pchan_orig->bone->flag &= ~BONE_TRANSFORM_MIRROR;
+ }
+
+ for (bPoseChannel *pchan_orig = ob->pose->chanbase.first; pchan_orig;
+ pchan_orig = pchan_orig->next) {
/* no layer check, correct mirror is more important */
if (pchan_orig->bone->flag & BONE_TRANSFORM) {
bPoseChannel *pchan = BKE_pose_channel_get_mirrored(ob->pose, pchan_orig->name);
@@ -1093,7 +1100,7 @@ static void recalcData_objects(TransInfo *t)
BLI_gset_free(motionpath_updates, NULL);
}
else if (base && (base->object->mode & OB_MODE_PARTICLE_EDIT) &&
- PE_get_current(t->scene, base->object)) {
+ PE_get_current(t->depsgraph, t->scene, base->object)) {
if (t->state != TRANS_CANCEL) {
applyProject(t);
}
@@ -1707,7 +1714,9 @@ void initTransInfo(bContext *C, TransInfo *t, wmOperator *op, const wmEvent *eve
}
}
else {
- if (ISMOUSE(t->launch_event) && (U.flag & USER_RELEASECONFIRM)) {
+ /* Release confirms preference should not affect node editor (T69288, T70504). */
+ if (ISMOUSE(t->launch_event) &&
+ ((U.flag & USER_RELEASECONFIRM) || (t->spacetype == SPACE_NODE))) {
/* Global "release confirm" on mouse bindings */
t->flag |= T_RELEASE_CONFIRM;
}
@@ -1832,7 +1841,7 @@ static void freeTransCustomData(TransInfo *t, TransDataContainer *tc, TransCusto
custom_data->data = NULL;
}
/* In case modes are switched in the same transform session. */
- custom_data->free_cb = false;
+ custom_data->free_cb = NULL;
custom_data->use_free = false;
}
diff --git a/source/blender/editors/transform/transform_gizmo_3d.c b/source/blender/editors/transform/transform_gizmo_3d.c
index 0c44f6a23f9..237bf50be7c 100644
--- a/source/blender/editors/transform/transform_gizmo_3d.c
+++ b/source/blender/editors/transform/transform_gizmo_3d.c
@@ -84,6 +84,7 @@
/* local module include */
#include "transform.h"
#include "transform_convert.h"
+#include "transform_snap.h"
#include "MEM_guardedalloc.h"
@@ -516,9 +517,15 @@ static void protectflag_to_drawflags(short protectflag, short *drawflags)
}
/* for pose mode */
-static void protectflag_to_drawflags_pchan(RegionView3D *rv3d, const bPoseChannel *pchan)
+static void protectflag_to_drawflags_pchan(RegionView3D *rv3d,
+ const bPoseChannel *pchan,
+ short orientation_type)
{
- protectflag_to_drawflags(pchan->protectflag, &rv3d->twdrawflag);
+ /* Protect-flags apply to local space in pose mode, so only let them influence axis
+ * visibility if we show the global orientation, otherwise it's confusing. */
+ if (orientation_type == V3D_ORIENT_LOCAL) {
+ protectflag_to_drawflags(pchan->protectflag, &rv3d->twdrawflag);
+ }
}
/* for editmode*/
@@ -742,7 +749,14 @@ int ED_transform_calc_gizmo_stats(const bContext *C,
bGPdata *gpd = CTX_data_gpencil_data(C);
const bool is_gp_edit = GPENCIL_ANY_MODE(gpd);
int a, totsel = 0;
+
const int pivot_point = scene->toolsettings->transform_pivot_point;
+ const short orientation_type = params->orientation_type ?
+ (params->orientation_type - 1) :
+ scene->orientation_slots[SCE_ORIENT_DEFAULT].type;
+ const short orientation_index_custom =
+ params->orientation_type ? params->orientation_index_custom :
+ scene->orientation_slots[SCE_ORIENT_DEFAULT].index_custom;
/* transform widget matrix */
unit_m4(rv3d->twmat);
@@ -756,12 +770,6 @@ int ED_transform_calc_gizmo_stats(const bContext *C,
/* global, local or normal orientation?
* if we could check 'totsel' now, this should be skipped with no selection. */
if (ob) {
- const short orientation_type = params->orientation_type ?
- (params->orientation_type - 1) :
- scene->orientation_slots[SCE_ORIENT_DEFAULT].type;
- const short orientation_index_custom =
- params->orientation_type ? params->orientation_index_custom :
- scene->orientation_slots[SCE_ORIENT_DEFAULT].index_custom;
float mat[3][3];
ED_transform_calc_orientation_from_type_ex(
C, mat, scene, rv3d, ob, obedit, orientation_type, orientation_index_custom, pivot_point);
@@ -888,7 +896,7 @@ int ED_transform_calc_gizmo_stats(const bContext *C,
calc_tw_center_with_matrix(tbounds, ebo->head, use_mat_local, mat_local);
totsel++;
}
- if (ebo->flag & BONE_SELECTED) {
+ if (ebo->flag & (BONE_SELECTED | BONE_ROOTSEL | BONE_TIPSEL)) {
protectflag_to_drawflags_ebone(rv3d, ebo);
}
}
@@ -1013,9 +1021,10 @@ int ED_transform_calc_gizmo_stats(const bContext *C,
}
else if (ob && (ob->mode & OB_MODE_POSE)) {
invert_m4_m4(ob->imat, ob->obmat);
+
uint objects_len = 0;
- Object **objects = BKE_view_layer_array_from_objects_in_mode(
- view_layer, v3d, &objects_len, {.object_mode = OB_MODE_POSE});
+ Object **objects = BKE_object_pose_array_get(view_layer, v3d, &objects_len);
+
for (uint ob_index = 0; ob_index < objects_len; ob_index++) {
Object *ob_iter = objects[ob_index];
const bool use_mat_local = (ob_iter != ob);
@@ -1038,7 +1047,7 @@ int ED_transform_calc_gizmo_stats(const bContext *C,
Bone *bone = pchan->bone;
if (bone && (bone->flag & BONE_TRANSFORM)) {
calc_tw_center_with_matrix(tbounds, pchan->pose_head, use_mat_local, mat_local);
- protectflag_to_drawflags_pchan(rv3d, pchan);
+ protectflag_to_drawflags_pchan(rv3d, pchan, orientation_type);
}
}
totsel += totsel_iter;
@@ -1063,7 +1072,7 @@ int ED_transform_calc_gizmo_stats(const bContext *C,
}
}
else if (ob && ob->mode & OB_MODE_PARTICLE_EDIT) {
- PTCacheEdit *edit = PE_get_current(scene, ob);
+ PTCacheEdit *edit = PE_get_current(depsgraph, scene, ob);
PTCacheEditPoint *point;
PTCacheEditKey *ek;
int k;
@@ -1122,7 +1131,12 @@ int ED_transform_calc_gizmo_stats(const bContext *C,
calc_tw_center(tbounds, co);
}
}
- protectflag_to_drawflags(base->object->protectflag, &rv3d->twdrawflag);
+
+ /* Protect-flags apply to world space in object mode, so only let them influence axis
+ * visibility if we show the global orientation, otherwise it's confusing. */
+ if (orientation_type == V3D_ORIENT_GLOBAL) {
+ protectflag_to_drawflags(base->object->protectflag, &rv3d->twdrawflag);
+ }
totsel++;
}
@@ -1338,6 +1352,7 @@ static void gizmo_xform_message_subscribe(wmGizmoGroup *gzgroup,
}
WM_msg_subscribe_rna_anon_prop(mbus, Window, view_layer, &msg_sub_value_gz_tag_refresh);
+ WM_msg_subscribe_rna_anon_prop(mbus, EditBone, lock, &msg_sub_value_gz_tag_refresh);
}
void drawDial3d(const TransInfo *t)
diff --git a/source/blender/editors/transform/transform_gizmo_extrude_3d.c b/source/blender/editors/transform/transform_gizmo_extrude_3d.c
index 6ec4112acbb..a327cc941d5 100644
--- a/source/blender/editors/transform/transform_gizmo_extrude_3d.c
+++ b/source/blender/editors/transform/transform_gizmo_extrude_3d.c
@@ -470,7 +470,7 @@ void VIEW3D_GGT_xform_extrude(struct wmGizmoGroupType *gzgt)
gzgt->message_subscribe = gizmo_mesh_extrude_message_subscribe;
static const EnumPropertyItem axis_type_items[] = {
- {EXTRUDE_AXIS_NORMAL, "NORMAL", 0, "Regular", "Only show normal axis"},
+ {EXTRUDE_AXIS_NORMAL, "NORMAL", 0, "Normal", "Only show normal axis"},
{EXTRUDE_AXIS_XYZ, "XYZ", 0, "XYZ", "Follow scene orientation"},
{0, NULL, 0, NULL, NULL},
};
diff --git a/source/blender/editors/transform/transform_input.c b/source/blender/editors/transform/transform_input.c
index e771fe43bd8..8dc403c45d2 100644
--- a/source/blender/editors/transform/transform_input.c
+++ b/source/blender/editors/transform/transform_input.c
@@ -63,8 +63,8 @@ static void InputSpringFlip(TransInfo *t, MouseInput *mi, const double mval[2],
/* flip scale */
/* values can become really big when zoomed in so use longs [#26598] */
- if ((int64_t)((int)mi->center[0] - mval[0]) * (int64_t)((int)mi->center[0] - mi->imval[0]) +
- (int64_t)((int)mi->center[1] - mval[1]) * (int64_t)((int)mi->center[1] - mi->imval[1]) <
+ if (((int64_t)((int)mi->center[0] - mval[0]) * (int64_t)((int)mi->center[0] - mi->imval[0]) +
+ (int64_t)((int)mi->center[1] - mval[1]) * (int64_t)((int)mi->center[1] - mi->imval[1])) <
0) {
output[0] *= -1.0f;
}
@@ -115,7 +115,8 @@ static void InputVerticalRatio(TransInfo *t, MouseInput *mi, const double mval[2
{
const int winy = t->ar ? t->ar->winy : 1;
- output[0] = ((mval[1] - mi->imval[1]) / winy) * 2.0f;
+ /* Flip so dragging up increases (matching viewport zoom). */
+ output[0] = ((mval[1] - mi->imval[1]) / winy) * -2.0f;
}
static void InputVerticalAbsolute(TransInfo *t,
@@ -128,7 +129,8 @@ static void InputVerticalAbsolute(TransInfo *t,
InputVector(t, mi, mval, vec);
project_v3_v3v3(vec, vec, t->viewinv[1]);
- output[0] = dot_v3v3(t->viewinv[1], vec) * 2.0f;
+ /* Flip so dragging up increases (matching viewport zoom). */
+ output[0] = dot_v3v3(t->viewinv[1], vec) * -2.0f;
}
void setCustomPoints(TransInfo *UNUSED(t),
@@ -389,7 +391,7 @@ void initMouseInputMode(TransInfo *t, MouseInput *mi, MouseInputMode mode)
/* INPUT_VECTOR, INPUT_CUSTOM_RATIO, INPUT_CUSTOM_RATIO_FLIP */
if (t->flag & T_MODAL) {
t->flag |= T_MODAL_CURSOR_SET;
- WM_cursor_modal_set(win, BC_NSEW_SCROLLCURSOR);
+ WM_cursor_modal_set(win, WM_CURSOR_NSEW_SCROLL);
}
break;
case HLP_SPRING:
@@ -400,7 +402,7 @@ void initMouseInputMode(TransInfo *t, MouseInput *mi, MouseInputMode mode)
case HLP_CARROW:
if (t->flag & T_MODAL) {
t->flag |= T_MODAL_CURSOR_SET;
- WM_cursor_modal_set(win, CURSOR_NONE);
+ WM_cursor_modal_set(win, WM_CURSOR_NONE);
}
break;
default:
diff --git a/source/blender/editors/transform/transform_orientations.c b/source/blender/editors/transform/transform_orientations.c
index cbe9505d3f2..3159464072e 100644
--- a/source/blender/editors/transform/transform_orientations.c
+++ b/source/blender/editors/transform/transform_orientations.c
@@ -44,6 +44,7 @@
#include "BKE_curve.h"
#include "BKE_context.h"
#include "BKE_editmesh.h"
+#include "BKE_layer.h"
#include "BKE_report.h"
#include "BKE_scene.h"
#include "BKE_workspace.h"
diff --git a/source/blender/editors/transform/transform_snap.c b/source/blender/editors/transform/transform_snap.c
index 571ce7a6bc2..15208c1a7d2 100644
--- a/source/blender/editors/transform/transform_snap.c
+++ b/source/blender/editors/transform/transform_snap.c
@@ -57,6 +57,7 @@
#include "WM_types.h"
#include "ED_image.h"
+#include "ED_markers.h"
#include "ED_node.h"
#include "ED_uvedit.h"
#include "ED_view3d.h"
@@ -70,13 +71,16 @@
#include "MEM_guardedalloc.h"
#include "transform.h"
+#include "transform_snap.h"
/* this should be passed as an arg for use in snap functions */
#undef BASACT
/* use half of flt-max so we can scale up without an exception */
-/********************* PROTOTYPES ***********************/
+/* -------------------------------------------------------------------- */
+/** \name Prototypes
+ * \{ */
static void setSnappingCallback(TransInfo *t);
@@ -96,7 +100,11 @@ static float RotationBetween(TransInfo *t, const float p1[3], const float p2[3])
static float TranslationBetween(TransInfo *t, const float p1[3], const float p2[3]);
static float ResizeBetween(TransInfo *t, const float p1[3], const float p2[3]);
-/****************** IMPLEMENTATIONS *********************/
+/** \} */
+
+/* -------------------------------------------------------------------- */
+/** \name Implementations
+ * \{ */
static bool snapNodeTest(View2D *v2d, bNode *node, eSnapSelect snap_select);
static NodeBorder snapNodeBorder(int snap_node_mode);
@@ -371,6 +379,8 @@ void applyProject(TransInfo *t)
.snap_select = t->tsnap.modeSelect,
.use_object_edit_cage = (t->flag & T_EDIT) != 0,
.use_occlusion_test = false,
+ .use_backface_culling = (t->scene->toolsettings->snap_flag &
+ SCE_SNAP_BACKFACE_CULLING) != 0,
},
mval_fl,
NULL,
@@ -900,7 +910,11 @@ void getSnapPoint(const TransInfo *t, float vec[3])
}
}
-/********************** APPLY **************************/
+/** \} */
+
+/* -------------------------------------------------------------------- */
+/** \name Apply Snap
+ * \{ */
static void ApplySnapTranslation(TransInfo *t, float vec[3])
{
@@ -950,7 +964,11 @@ static void ApplySnapResize(TransInfo *t, float vec[3])
}
}
-/********************** DISTANCE **************************/
+/** \} */
+
+/* -------------------------------------------------------------------- */
+/** \name Distance
+ * \{ */
static float TranslationBetween(TransInfo *UNUSED(t), const float p1[3], const float p2[3])
{
@@ -1031,7 +1049,11 @@ static float ResizeBetween(TransInfo *t, const float p1[3], const float p2[3])
return len_d1 != 0.0f ? len_v3(d2) / len_d1 : TRANSFORM_DIST_INVALID;
}
-/********************** CALC **************************/
+/** \} */
+
+/* -------------------------------------------------------------------- */
+/** \name Calc Snap (Generic)
+ * \{ */
static void UNUSED_FUNCTION(CalcSnapGrid)(TransInfo *t, float *UNUSED(vec))
{
@@ -1122,7 +1144,11 @@ static void CalcSnapGeometry(TransInfo *t, float *UNUSED(vec))
}
}
-/********************** TARGET **************************/
+/** \} */
+
+/* -------------------------------------------------------------------- */
+/** \name Target
+ * \{ */
static void TargetSnapOffset(TransInfo *t, TransData *td)
{
@@ -1324,6 +1350,12 @@ static void TargetSnapClosest(TransInfo *t)
}
}
+/** \} */
+
+/* -------------------------------------------------------------------- */
+/** \name Snap Objects
+ * \{ */
+
short snapObjectsTransform(
TransInfo *t, const float mval[2], float *dist_px, float r_loc[3], float r_no[3])
{
@@ -1334,6 +1366,8 @@ short snapObjectsTransform(
.snap_select = t->tsnap.modeSelect,
.use_object_edit_cage = (t->flag & T_EDIT) != 0,
.use_occlusion_test = t->scene->toolsettings->snap_mode != SCE_SNAP_MODE_FACE,
+ .use_backface_culling = (t->scene->toolsettings->snap_flag &
+ SCE_SNAP_BACKFACE_CULLING) != 0,
},
mval,
t->tsnap.snapTarget,
@@ -1345,7 +1379,11 @@ short snapObjectsTransform(
NULL);
}
-/******************** PEELING *********************************/
+/** \} */
+
+/* -------------------------------------------------------------------- */
+/** \name Peeling
+ * \{ */
bool peelObjectsSnapContext(SnapObjectContext *sctx,
const float mval[2],
@@ -1433,7 +1471,11 @@ bool peelObjectsTransform(TransInfo *t,
r_thickness);
}
-/******************** NODES ***********************************/
+/** \} */
+
+/* -------------------------------------------------------------------- */
+/** \name snap Nodes
+ * \{ */
static bool snapNodeTest(View2D *v2d, bNode *node, eSnapSelect snap_select)
{
@@ -1553,6 +1595,50 @@ bool snapNodesTransform(
r_node_border);
}
+/** \} */
+
+/* -------------------------------------------------------------------- */
+/** \name snap Frames
+ * \{ */
+
+/* This function is used by Animation Editor specific transform functions to do
+ * the Snap Keyframe to Nearest Frame/Marker
+ */
+void snapFrameTransform(TransInfo *t,
+ const eAnimEdit_AutoSnap autosnap,
+ const bool is_frame_value,
+ const float delta,
+ float *r_val)
+{
+ double val = delta;
+ switch (autosnap) {
+ case SACTSNAP_STEP:
+ case SACTSNAP_FRAME:
+ val = floor(val + 0.5);
+ break;
+ case SACTSNAP_MARKER:
+ /* snap to nearest marker */
+ // TODO: need some more careful checks for where data comes from
+ val = ED_markers_find_nearest_marker_time(&t->scene->markers, (float)val);
+ break;
+ case SACTSNAP_SECOND:
+ case SACTSNAP_TSTEP: {
+ /* second step */
+ const Scene *scene = t->scene;
+ const double secf = FPS;
+ val = floor((val / secf) + 0.5);
+ if (is_frame_value) {
+ val *= secf;
+ }
+ break;
+ }
+ case SACTSNAP_OFF: {
+ break;
+ }
+ }
+ *r_val = (float)val;
+}
+
/*================================================================*/
static void applyGridIncrement(
@@ -1714,3 +1800,5 @@ static void applyGridIncrement(
}
}
}
+
+/** \} */
diff --git a/source/blender/editors/transform/transform_snap.h b/source/blender/editors/transform/transform_snap.h
new file mode 100644
index 00000000000..f9f6a513f63
--- /dev/null
+++ b/source/blender/editors/transform/transform_snap.h
@@ -0,0 +1,96 @@
+/*
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+/** \file
+ * \ingroup editors
+ */
+
+#ifndef __TRANSFORM_SNAP_H__
+#define __TRANSFORM_SNAP_H__
+
+#define SNAP_MIN_DISTANCE 30
+
+/* For enum. */
+#include "DNA_space_types.h"
+
+bool peelObjectsTransform(struct TransInfo *t,
+ const float mval[2],
+ const bool use_peel_object,
+ /* return args */
+ float r_loc[3],
+ float r_no[3],
+ float *r_thickness);
+bool peelObjectsSnapContext(struct SnapObjectContext *sctx,
+ const float mval[2],
+ const struct SnapObjectParams *params,
+ const bool use_peel_object,
+ /* return args */
+ float r_loc[3],
+ float r_no[3],
+ float *r_thickness);
+
+short snapObjectsTransform(struct TransInfo *t,
+ const float mval[2],
+ float *dist_px,
+ /* return args */
+ float r_loc[3],
+ float r_no[3]);
+bool snapNodesTransform(struct TransInfo *t,
+ const int mval[2],
+ /* return args */
+ float r_loc[2],
+ float *r_dist_px,
+ char *r_node_border);
+void snapFrameTransform(struct TransInfo *t,
+ const eAnimEdit_AutoSnap autosnap,
+ const bool is_frame_value,
+ const float delta,
+ /* return args */
+ float *r_val);
+
+typedef enum {
+ NO_GEARS = 0,
+ BIG_GEARS = 1,
+ SMALL_GEARS = 2,
+} GearsType;
+
+bool transformModeUseSnap(const TransInfo *t);
+
+void snapGridIncrement(TransInfo *t, float *val);
+void snapGridIncrementAction(TransInfo *t, float *val, GearsType action);
+
+void snapSequenceBounds(TransInfo *t, const int mval[2]);
+
+bool activeSnap(const TransInfo *t);
+bool validSnap(const TransInfo *t);
+
+void initSnapping(struct TransInfo *t, struct wmOperator *op);
+void freeSnapping(struct TransInfo *t);
+void applyProject(TransInfo *t);
+void applyGridAbsolute(TransInfo *t);
+void applySnapping(TransInfo *t, float *vec);
+void resetSnapping(TransInfo *t);
+eRedrawFlag handleSnapping(TransInfo *t, const struct wmEvent *event);
+void drawSnapping(const struct bContext *C, TransInfo *t);
+bool usingSnappingNormal(const TransInfo *t);
+bool validSnappingNormal(const TransInfo *t);
+
+void getSnapPoint(const TransInfo *t, float vec[3]);
+void addSnapPoint(TransInfo *t);
+eRedrawFlag updateSelectedSnapPoint(TransInfo *t);
+void removeSnapPoint(TransInfo *t);
+
+#endif /* __TRANSFORM_SNAP_H__ */
diff --git a/source/blender/editors/transform/transform_snap_object.c b/source/blender/editors/transform/transform_snap_object.c
index 1601acb1c8f..14e8b8f97e0 100644
--- a/source/blender/editors/transform/transform_snap_object.c
+++ b/source/blender/editors/transform/transform_snap_object.c
@@ -47,6 +47,7 @@
#include "BKE_object.h"
#include "BKE_anim.h" /* for duplis */
#include "BKE_editmesh.h"
+#include "BKE_layer.h"
#include "BKE_main.h"
#include "BKE_tracking.h"
#include "BKE_context.h"
@@ -200,8 +201,12 @@ static SnapObjectData_EditMesh *snap_object_data_editmesh_get(SnapObjectContext
return *sod_p;
}
-typedef void (*IterSnapObjsCallback)(
- SnapObjectContext *sctx, bool is_obedit, Object *ob, float obmat[4][4], void *data);
+typedef void (*IterSnapObjsCallback)(SnapObjectContext *sctx,
+ bool is_obedit,
+ bool use_backface_culling,
+ Object *ob,
+ float obmat[4][4],
+ void *data);
/**
* Walks through all objects in the scene to create the list of objects to snap.
@@ -218,6 +223,7 @@ static void iter_snap_objects(SnapObjectContext *sctx,
const View3D *v3d = sctx->v3d_data.v3d;
const eSnapSelect snap_select = params->snap_select;
const bool use_object_edit_cage = params->use_object_edit_cage;
+ const bool use_backface_culling = params->use_backface_culling;
Base *base_act = view_layer->basact;
for (Base *base = view_layer->object_bases.first; base != NULL; base = base->next) {
@@ -249,12 +255,14 @@ static void iter_snap_objects(SnapObjectContext *sctx,
DupliObject *dupli_ob;
ListBase *lb = object_duplilist(sctx->depsgraph, sctx->scene, obj_eval);
for (dupli_ob = lb->first; dupli_ob; dupli_ob = dupli_ob->next) {
- sob_callback(sctx, use_object_edit_cage, dupli_ob->ob, dupli_ob->mat, data);
+ sob_callback(
+ sctx, use_object_edit_cage, use_backface_culling, dupli_ob->ob, dupli_ob->mat, data);
}
free_object_duplilist(lb);
}
- sob_callback(sctx, use_object_edit_cage, obj_eval, obj_eval->obmat, data);
+ sob_callback(
+ sctx, use_object_edit_cage, use_backface_culling, obj_eval, obj_eval->obmat, data);
}
}
@@ -349,6 +357,70 @@ static void raycast_all_cb(void *userdata, int index, const BVHTreeRay *ray, BVH
}
}
+static bool raycast_tri_backface_culling_test(
+ const float dir[3], const float v0[3], const float v1[3], const float v2[3], float no[3])
+{
+ cross_tri_v3(no, v0, v1, v2);
+ return dot_v3v3(no, dir) < 0.0f;
+}
+
+/* Callback to raycast with backface culling (Mesh). */
+static void mesh_looptri_raycast_backface_culling_cb(void *userdata,
+ int index,
+ const BVHTreeRay *ray,
+ BVHTreeRayHit *hit)
+{
+ const BVHTreeFromMesh *data = (BVHTreeFromMesh *)userdata;
+ const MVert *vert = data->vert;
+ const MLoopTri *lt = &data->looptri[index];
+ const float *vtri_co[3] = {
+ vert[data->loop[lt->tri[0]].v].co,
+ vert[data->loop[lt->tri[1]].v].co,
+ vert[data->loop[lt->tri[2]].v].co,
+ };
+ float dist = bvhtree_ray_tri_intersection(ray, hit->dist, UNPACK3(vtri_co));
+
+ if (dist >= 0 && dist < hit->dist) {
+ float no[3];
+ if (raycast_tri_backface_culling_test(ray->direction, UNPACK3(vtri_co), no)) {
+ hit->index = index;
+ hit->dist = dist;
+ madd_v3_v3v3fl(hit->co, ray->origin, ray->direction, dist);
+ normalize_v3_v3(hit->no, no);
+ }
+ }
+}
+
+/* Callback to raycast with backface culling (EditMesh). */
+static void editmesh_looptri_raycast_backface_culling_cb(void *userdata,
+ int index,
+ const BVHTreeRay *ray,
+ BVHTreeRayHit *hit)
+{
+ const BVHTreeFromEditMesh *data = (BVHTreeFromEditMesh *)userdata;
+ BMEditMesh *em = data->em;
+ const BMLoop **ltri = (const BMLoop **)em->looptris[index];
+
+ const float *t0, *t1, *t2;
+ t0 = ltri[0]->v->co;
+ t1 = ltri[1]->v->co;
+ t2 = ltri[2]->v->co;
+
+ {
+ float dist = bvhtree_ray_tri_intersection(ray, hit->dist, t0, t1, t2);
+
+ if (dist >= 0 && dist < hit->dist) {
+ float no[3];
+ if (raycast_tri_backface_culling_test(ray->direction, t0, t1, t2, no)) {
+ hit->index = index;
+ hit->dist = dist;
+ madd_v3_v3v3fl(hit->co, ray->origin, ray->direction, dist);
+ normalize_v3_v3(hit->no, no);
+ }
+ }
+ }
+}
+
static bool raycastMesh(SnapObjectContext *sctx,
const float ray_start[3],
const float ray_dir[3],
@@ -357,6 +429,7 @@ static bool raycastMesh(SnapObjectContext *sctx,
const float obmat[4][4],
const unsigned int ob_index,
bool use_hide,
+ bool use_backface_culling,
/* read/write args */
float *ray_depth,
/* return args */
@@ -493,7 +566,8 @@ static bool raycastMesh(SnapObjectContext *sctx,
ray_normal_local,
0.0f,
&hit,
- treedata->raycast_callback,
+ use_backface_culling ? mesh_looptri_raycast_backface_culling_cb :
+ treedata->raycast_callback,
treedata) != -1) {
hit.dist += len_diff;
hit.dist /= local_scale;
@@ -529,6 +603,7 @@ static bool raycastEditMesh(SnapObjectContext *sctx,
BMEditMesh *em,
const float obmat[4][4],
const unsigned int ob_index,
+ bool use_backface_culling,
/* read/write args */
float *ray_depth,
/* return args */
@@ -669,7 +744,8 @@ static bool raycastEditMesh(SnapObjectContext *sctx,
ray_normal_local,
0.0f,
&hit,
- treedata->raycast_callback,
+ use_backface_culling ? editmesh_looptri_raycast_backface_culling_cb :
+ treedata->raycast_callback,
treedata) != -1) {
hit.dist += len_diff;
hit.dist /= local_scale;
@@ -714,6 +790,7 @@ static bool raycastObj(SnapObjectContext *sctx,
const unsigned int ob_index,
bool use_obedit,
bool use_occlusion_test,
+ bool use_backface_culling,
/* read/write args */
float *ray_depth,
/* return args */
@@ -752,6 +829,7 @@ static bool raycastObj(SnapObjectContext *sctx,
em,
obmat,
ob_index,
+ use_backface_culling,
ray_depth,
r_loc,
r_no,
@@ -772,6 +850,7 @@ static bool raycastObj(SnapObjectContext *sctx,
obmat,
ob_index,
use_hide,
+ use_backface_culling,
ray_depth,
r_loc,
r_no,
@@ -791,6 +870,7 @@ static bool raycastObj(SnapObjectContext *sctx,
obmat,
ob_index,
false,
+ use_backface_culling,
ray_depth,
r_loc,
r_no,
@@ -831,8 +911,12 @@ struct RaycastObjUserData {
bool ret;
};
-static void raycast_obj_cb(
- SnapObjectContext *sctx, bool use_obedit, Object *ob, float obmat[4][4], void *data)
+static void raycast_obj_cb(SnapObjectContext *sctx,
+ bool use_obedit,
+ bool use_backface_culling,
+ Object *ob,
+ float obmat[4][4],
+ void *data)
{
struct RaycastObjUserData *dt = data;
@@ -844,6 +928,7 @@ static void raycast_obj_cb(
dt->ob_index++,
use_obedit,
dt->use_occlusion_test,
+ use_backface_culling,
dt->ray_depth,
dt->r_loc,
dt->r_no,
@@ -1087,8 +1172,6 @@ typedef void (*Nearest2DGetTriEdgesCallback)(const int index, int e_index[3], vo
typedef void (*Nearest2DCopyVertNoCallback)(const int index, float r_no[3], void *data);
typedef struct Nearest2dUserData {
- bool is_persp;
-
void *userdata;
Nearest2DGetVertCoCallback get_vert_co;
Nearest2DGetEdgeVertsCallback get_edge_verts_index;
@@ -1096,6 +1179,8 @@ typedef struct Nearest2dUserData {
Nearest2DGetTriEdgesCallback get_tri_edges_index;
Nearest2DCopyVertNoCallback copy_vert_no;
+ bool is_persp;
+ bool use_backface_culling;
} Nearest2dUserData;
static void cb_snap_vert(void *userdata,
@@ -1180,6 +1265,20 @@ static void cb_snap_tri_edges(void *userdata,
{
struct Nearest2dUserData *data = userdata;
+ if (data->use_backface_culling) {
+ int vindex[3];
+ data->get_tri_verts_index(index, vindex, data->userdata);
+
+ const float *t0, *t1, *t2;
+ data->get_vert_co(vindex[0], &t0, data->userdata);
+ data->get_vert_co(vindex[1], &t1, data->userdata);
+ data->get_vert_co(vindex[2], &t2, data->userdata);
+ float dummy[3];
+ if (raycast_tri_backface_culling_test(precalc->ray_direction, t0, t1, t2, dummy)) {
+ return;
+ }
+ }
+
int eindex[3];
data->get_tri_edges_index(index, eindex, data->userdata);
for (int i = 3; i--;) {
@@ -1203,6 +1302,18 @@ static void cb_snap_tri_verts(void *userdata,
int vindex[3];
data->get_tri_verts_index(index, vindex, data->userdata);
+
+ if (data->use_backface_culling) {
+ const float *t0, *t1, *t2;
+ data->get_vert_co(vindex[0], &t0, data->userdata);
+ data->get_vert_co(vindex[1], &t1, data->userdata);
+ data->get_vert_co(vindex[2], &t2, data->userdata);
+ float dummy[3];
+ if (raycast_tri_backface_culling_test(precalc->ray_direction, t0, t1, t2, dummy)) {
+ return;
+ }
+ }
+
for (int i = 3; i--;) {
if (vindex[i] == nearest->index) {
continue;
@@ -1221,6 +1332,7 @@ static short snap_mesh_polygon(SnapObjectContext *sctx,
SnapData *snapdata,
Object *ob,
const float obmat[4][4],
+ bool use_backface_culling,
/* read/write args */
float *dist_px,
/* return args */
@@ -1245,6 +1357,7 @@ static short snap_mesh_polygon(SnapObjectContext *sctx,
Nearest2dUserData nearest2d = {
.is_persp = snapdata->view_proj == VIEW_PROJ_PERSP,
+ .use_backface_culling = use_backface_culling,
};
BVHTreeNearest nearest = {
@@ -1365,6 +1478,7 @@ static short snap_mesh_edge_verts_mixed(SnapObjectContext *sctx,
const float obmat[4][4],
float original_dist_px,
const float prev_co[3],
+ bool use_backface_culling,
/* read/write args */
float *dist_px,
/* return args */
@@ -1391,6 +1505,7 @@ static short snap_mesh_edge_verts_mixed(SnapObjectContext *sctx,
Nearest2dUserData nearest2d;
{
nearest2d.is_persp = snapdata->view_proj == VIEW_PROJ_PERSP;
+ nearest2d.use_backface_culling = use_backface_culling;
if (sod->type == SNAP_MESH) {
nearest2d.userdata = &((SnapObjectData_Mesh *)sod)->treedata;
nearest2d.get_vert_co = (Nearest2DGetVertCoCallback)cb_mvert_co_get;
@@ -1994,6 +2109,7 @@ static short snapMesh(SnapObjectContext *sctx,
Object *ob,
Mesh *me,
const float obmat[4][4],
+ bool use_backface_culling,
/* read/write args */
float *dist_px,
/* return args */
@@ -2106,13 +2222,14 @@ static short snapMesh(SnapObjectContext *sctx,
}
Nearest2dUserData nearest2d = {
- .is_persp = snapdata->view_proj == VIEW_PROJ_PERSP,
.userdata = treedata,
.get_vert_co = (Nearest2DGetVertCoCallback)cb_mvert_co_get,
.get_edge_verts_index = (Nearest2DGetEdgeVertsCallback)cb_medge_verts_get,
.get_tri_verts_index = (Nearest2DGetTriVertsCallback)cb_mlooptri_verts_get,
.get_tri_edges_index = (Nearest2DGetTriEdgesCallback)cb_mlooptri_edges_get,
.copy_vert_no = (Nearest2DCopyVertNoCallback)cb_mvert_no_copy,
+ .is_persp = snapdata->view_proj == VIEW_PROJ_PERSP,
+ .use_backface_culling = use_backface_culling,
};
BVHTreeNearest nearest = {
@@ -2232,6 +2349,7 @@ static short snapEditMesh(SnapObjectContext *sctx,
Object *ob,
BMEditMesh *em,
const float obmat[4][4],
+ bool use_backface_culling,
/* read/write args */
float *dist_px,
/* return args */
@@ -2345,11 +2463,12 @@ static short snapEditMesh(SnapObjectContext *sctx,
}
Nearest2dUserData nearest2d = {
- .is_persp = snapdata->view_proj == VIEW_PROJ_PERSP,
.userdata = em,
.get_vert_co = (Nearest2DGetVertCoCallback)cb_bvert_co_get,
.get_edge_verts_index = (Nearest2DGetEdgeVertsCallback)cb_bedge_verts_get,
.copy_vert_no = (Nearest2DCopyVertNoCallback)cb_bvert_no_copy,
+ .is_persp = snapdata->view_proj == VIEW_PROJ_PERSP,
+ .use_backface_culling = use_backface_culling,
};
BVHTreeNearest nearest = {
@@ -2367,6 +2486,7 @@ static short snapEditMesh(SnapObjectContext *sctx,
if (treedata_vert && (snapdata->snap_to_flag & SCE_SNAP_MODE_VERTEX)) {
BM_mesh_elem_table_ensure(em->bm, BM_VERT);
+ BM_mesh_elem_index_ensure(em->bm, BM_VERT);
BLI_bvhtree_find_nearest_projected(treedata_vert->tree,
lpmat,
snapdata->win_size,
@@ -2382,6 +2502,7 @@ static short snapEditMesh(SnapObjectContext *sctx,
int last_index = nearest.index;
nearest.index = -1;
BM_mesh_elem_table_ensure(em->bm, BM_EDGE | BM_VERT);
+ BM_mesh_elem_index_ensure(em->bm, BM_EDGE | BM_VERT);
BLI_bvhtree_find_nearest_projected(treedata_edge->tree,
lpmat,
snapdata->win_size,
@@ -2433,6 +2554,7 @@ static short snapObject(SnapObjectContext *sctx,
Object *ob,
float obmat[4][4],
bool use_obedit,
+ bool use_backface_culling,
/* read/write args */
float *dist_px,
/* return args */
@@ -2450,7 +2572,8 @@ static short snapObject(SnapObjectContext *sctx,
if (BKE_object_is_in_editmode(ob)) {
BMEditMesh *em = BKE_editmesh_from_object(ob);
if (use_obedit) {
- retval = snapEditMesh(sctx, snapdata, ob, em, obmat, dist_px, r_loc, r_no, r_index);
+ retval = snapEditMesh(
+ sctx, snapdata, ob, em, obmat, use_backface_culling, dist_px, r_loc, r_no, r_index);
break;
}
else if (em->mesh_eval_final) {
@@ -2462,7 +2585,8 @@ static short snapObject(SnapObjectContext *sctx,
return 0;
}
- retval = snapMesh(sctx, snapdata, ob, me, obmat, dist_px, r_loc, r_no, r_index);
+ retval = snapMesh(
+ sctx, snapdata, ob, me, obmat, use_backface_culling, dist_px, r_loc, r_no, r_index);
break;
}
case OB_ARMATURE:
@@ -2474,8 +2598,16 @@ static short snapObject(SnapObjectContext *sctx,
case OB_SURF:
case OB_FONT: {
if (ob->runtime.mesh_eval) {
- retval |= snapMesh(
- sctx, snapdata, ob, ob->runtime.mesh_eval, obmat, dist_px, r_loc, r_no, r_index);
+ retval |= snapMesh(sctx,
+ snapdata,
+ ob,
+ ob->runtime.mesh_eval,
+ obmat,
+ use_backface_culling,
+ dist_px,
+ r_loc,
+ r_no,
+ r_index);
}
break;
}
@@ -2516,8 +2648,12 @@ struct SnapObjUserData {
short ret;
};
-static void sanp_obj_cb(
- SnapObjectContext *sctx, bool is_obedit, Object *ob, float obmat[4][4], void *data)
+static void sanp_obj_cb(SnapObjectContext *sctx,
+ bool is_obedit,
+ bool use_backface_culling,
+ Object *ob,
+ float obmat[4][4],
+ void *data)
{
struct SnapObjUserData *dt = data;
@@ -2526,6 +2662,7 @@ static void sanp_obj_cb(
ob,
obmat,
is_obedit,
+ use_backface_culling,
/* read/write args */
dt->dist_px,
/* return args */
@@ -2878,7 +3015,8 @@ static short transform_snap_context_project_view3d_mixed_impl(
new_clipplane[3] += 0.01f;
/* Try to snap only to the polygon. */
- elem_test = snap_mesh_polygon(sctx, &snapdata, ob, obmat, &dist_px_tmp, loc, no, &index);
+ elem_test = snap_mesh_polygon(
+ sctx, &snapdata, ob, obmat, params->use_backface_culling, &dist_px_tmp, loc, no, &index);
if (elem_test) {
elem = elem_test;
}
@@ -2901,8 +3039,17 @@ static short transform_snap_context_project_view3d_mixed_impl(
(snap_to_flag & (SCE_SNAP_MODE_VERTEX | SCE_SNAP_MODE_EDGE_MIDPOINT |
SCE_SNAP_MODE_EDGE_PERPENDICULAR))) {
snapdata.snap_to_flag = snap_to_flag;
- elem = snap_mesh_edge_verts_mixed(
- sctx, &snapdata, ob, obmat, *dist_px, prev_co, &dist_px_tmp, loc, no, &index);
+ elem = snap_mesh_edge_verts_mixed(sctx,
+ &snapdata,
+ ob,
+ obmat,
+ *dist_px,
+ prev_co,
+ params->use_backface_culling,
+ &dist_px_tmp,
+ loc,
+ no,
+ &index);
}
if (elem & snap_to_flag) {
diff --git a/source/blender/editors/undo/ed_undo.c b/source/blender/editors/undo/ed_undo.c
index 315a4c73e5f..9770b52158a 100644
--- a/source/blender/editors/undo/ed_undo.c
+++ b/source/blender/editors/undo/ed_undo.c
@@ -322,7 +322,7 @@ bool ED_undo_is_memfile_compatible(const bContext *C)
if (view_layer != NULL) {
Object *obact = OBACT(view_layer);
if (obact != NULL) {
- if (obact->mode & (OB_MODE_SCULPT | OB_MODE_EDIT)) {
+ if (obact->mode & OB_MODE_EDIT) {
return false;
}
}
diff --git a/source/blender/editors/undo/memfile_undo.c b/source/blender/editors/undo/memfile_undo.c
index f3e2ee92558..a5f30409aa6 100644
--- a/source/blender/editors/undo/memfile_undo.c
+++ b/source/blender/editors/undo/memfile_undo.c
@@ -28,6 +28,7 @@
#include "BKE_blender_undo.h"
#include "BKE_context.h"
#include "BKE_undo_system.h"
+#include "BKE_main.h"
#include "WM_api.h"
#include "WM_types.h"
@@ -74,6 +75,10 @@ static bool memfile_undosys_step_encode(struct bContext *UNUSED(C),
/* Important we only use 'main' from the context (see: BKE_undosys_stack_init_from_main). */
UndoStack *ustack = ED_undo_stack_get();
+ if (bmain->is_memfile_undo_flush_needed) {
+ ED_editors_flush_edits_ex(bmain, false, true);
+ }
+
/* can be NULL, use when set. */
MemFileUndoStep *us_prev = (MemFileUndoStep *)BKE_undosys_step_find_by_type(
ustack, BKE_UNDOSYS_TYPE_MEMFILE);
diff --git a/source/blender/editors/util/CMakeLists.txt b/source/blender/editors/util/CMakeLists.txt
index 0564cb07897..0c52dd15092 100644
--- a/source/blender/editors/util/CMakeLists.txt
+++ b/source/blender/editors/util/CMakeLists.txt
@@ -90,6 +90,7 @@ set(SRC
../include/ED_transverts.h
../include/ED_types.h
../include/ED_undo.h
+ ../include/ED_userpref.h
../include/ED_util.h
../include/ED_uvedit.h
../include/ED_view3d.h
diff --git a/source/blender/editors/util/ed_util.c b/source/blender/editors/util/ed_util.c
index f5548119e0a..1a33b50ff10 100644
--- a/source/blender/editors/util/ed_util.c
+++ b/source/blender/editors/util/ed_util.c
@@ -230,7 +230,7 @@ void ED_editors_exit(Main *bmain, bool do_undo_system)
/* flush any temp data from object editing to DNA before writing files,
* rendering, copying, etc. */
-bool ED_editors_flush_edits(Main *bmain, bool for_render)
+bool ED_editors_flush_edits_ex(Main *bmain, bool for_render, bool check_needs_flush)
{
bool has_edited = false;
Object *ob;
@@ -244,6 +244,15 @@ bool ED_editors_flush_edits(Main *bmain, bool for_render)
* Auto-save prevents this from happening but scripts
* may cause a flush on saving: T53986. */
if ((ob->sculpt && ob->sculpt->cache) == 0) {
+
+ {
+ char *needs_flush_ptr = &ob->sculpt->needs_flush_to_id;
+ if (check_needs_flush && (*needs_flush_ptr == 0)) {
+ continue;
+ }
+ *needs_flush_ptr = 0;
+ }
+
/* flush multires changes (for sculpt) */
multires_flush_sculpt_updates(ob);
has_edited = true;
@@ -260,15 +269,31 @@ bool ED_editors_flush_edits(Main *bmain, bool for_render)
}
}
else if (ob->mode & OB_MODE_EDIT) {
+
+ char *needs_flush_ptr = BKE_object_data_editmode_flush_ptr_get(ob->data);
+ if (needs_flush_ptr != NULL) {
+ if (check_needs_flush && (*needs_flush_ptr == 0)) {
+ continue;
+ }
+ *needs_flush_ptr = 0;
+ }
+
/* get editmode results */
has_edited = true;
ED_object_editmode_load(bmain, ob);
}
}
+ bmain->is_memfile_undo_flush_needed = false;
+
return has_edited;
}
+bool ED_editors_flush_edits(Main *bmain, bool for_render)
+{
+ return ED_editors_flush_edits_ex(bmain, for_render, false);
+}
+
/* ***** XXX: functions are using old blender names, cleanup later ***** */
/* now only used in 2d spaces, like time, ipo, nla, sima... */
diff --git a/source/blender/editors/uvedit/uvedit_draw.c b/source/blender/editors/uvedit/uvedit_draw.c
index bd941968418..fafd54804c0 100644
--- a/source/blender/editors/uvedit/uvedit_draw.c
+++ b/source/blender/editors/uvedit/uvedit_draw.c
@@ -177,6 +177,7 @@ static void uvedit_get_batches(Object *ob,
float *tot_area,
float *tot_area_uv)
{
+ float *tmp_tot_area, *tmp_tot_area_uv;
int drawfaces = draw_uvs_face_check(scene->toolsettings);
const bool draw_stretch = (sima->flag & SI_DRAW_STRETCH) != 0;
const bool draw_faces = (sima->flag & SI_NO_DRAWFACES) == 0;
@@ -193,7 +194,8 @@ static void uvedit_get_batches(Object *ob,
}
if (draw_stretch && (sima->dt_uvstretch == SI_UVDT_STRETCH_AREA)) {
- batches->faces = DRW_mesh_batch_cache_get_edituv_faces_stretch_area(ob->data, NULL, NULL);
+ batches->faces = DRW_mesh_batch_cache_get_edituv_faces_stretch_area(
+ ob->data, &tmp_tot_area, &tmp_tot_area_uv);
}
else if (draw_stretch) {
batches->faces = DRW_mesh_batch_cache_get_edituv_faces_stretch_angle(ob->data);
@@ -207,11 +209,11 @@ static void uvedit_get_batches(Object *ob,
DRW_mesh_batch_cache_create_requested(ob, ob->data, scene, false, false);
- /* after create_requested we can load the actual areas */
- float tmp_tot_area, tmp_tot_area_uv;
- DRW_mesh_batch_cache_get_edituv_faces_stretch_area(ob->data, &tmp_tot_area, &tmp_tot_area_uv);
- *tot_area += tmp_tot_area;
- *tot_area_uv += tmp_tot_area_uv;
+ if (draw_stretch && (sima->dt_uvstretch == SI_UVDT_STRETCH_AREA)) {
+ /* after create_requested we can load the actual areas */
+ *tot_area += *tmp_tot_area;
+ *tot_area_uv += *tmp_tot_area_uv;
+ }
}
static void draw_uvs_shadow(SpaceImage *UNUSED(sima),
diff --git a/source/blender/editors/uvedit/uvedit_ops.c b/source/blender/editors/uvedit/uvedit_ops.c
index 57e2a84d248..0d258ba542b 100644
--- a/source/blender/editors/uvedit/uvedit_ops.c
+++ b/source/blender/editors/uvedit/uvedit_ops.c
@@ -4872,12 +4872,6 @@ static void UV_OT_reveal(wmOperatorType *ot)
/** \name Set 2D Cursor Operator
* \{ */
-static bool uv_set_2d_cursor_poll(bContext *C)
-{
- return ED_operator_uvedit_space_image(C) || ED_space_image_maskedit_poll(C) ||
- ED_space_image_paint_curve(C);
-}
-
static int uv_set_2d_cursor_exec(bContext *C, wmOperator *op)
{
SpaceImage *sima = CTX_wm_space_image(C);
@@ -4923,7 +4917,7 @@ static void UV_OT_cursor_set(wmOperatorType *ot)
/* api callbacks */
ot->exec = uv_set_2d_cursor_exec;
ot->invoke = uv_set_2d_cursor_invoke;
- ot->poll = uv_set_2d_cursor_poll;
+ ot->poll = ED_space_image_cursor_poll;
/* properties */
RNA_def_float_vector(ot->srna,
diff --git a/source/blender/freestyle/intern/stroke/Stroke.h b/source/blender/freestyle/intern/stroke/Stroke.h
index f4fd2b132e8..263b5429161 100644
--- a/source/blender/freestyle/intern/stroke/Stroke.h
+++ b/source/blender/freestyle/intern/stroke/Stroke.h
@@ -590,7 +590,8 @@ class Stroke : public Interface1D {
/*! Resampling method.
* Resamples the curve so that it eventually has iNPoints. That means it is going to add
* iNPoints-vertices_size, if vertices_size is the number of points we already have. If
- * vertices_size >= iNPoints, no resampling is done. \param iNPoints: The number of vertices we
+ * vertices_size >= iNPoints, no resampling is done.
+ * \param iNPoints: The number of vertices we
* eventually want in our stroke.
*/
int Resample(int iNPoints);
@@ -840,8 +841,10 @@ class Stroke : public Interface1D {
vertex_iterator vertices_end();
/*! Returns a StrokeVertexIterator pointing on the first StrokeVertex of the Stroke. One can
- * specify a sampling value to resample the Stroke on the fly if needed. \param t: The resampling
- * value with which we want our Stroke to be resampled. If 0 is specified, no resampling is done.
+ * specify a sampling value to resample the Stroke on the fly if needed.
+ *
+ * \param t: The resampling value with which we want our Stroke to be resampled.
+ * If 0 is specified, no resampling is done.
*/
StrokeInternal::StrokeVertexIterator strokeVerticesBegin(float t = 0.0f);
diff --git a/source/blender/freestyle/intern/view_map/Interface1D.h b/source/blender/freestyle/intern/view_map/Interface1D.h
index 7a72a176902..ab489bff4c9 100644
--- a/source/blender/freestyle/intern/view_map/Interface1D.h
+++ b/source/blender/freestyle/intern/view_map/Interface1D.h
@@ -156,15 +156,17 @@ class Interface1D {
/*! Returns an iterator over the Interface1D points, pointing to the first point. The difference
* with verticesBegin() is that here we can iterate over points of the 1D element at a any given
- * sampling. Indeed, for each iteration, a virtual point is created. \param t: The sampling with
- * which we want to iterate over points of this 1D element.
+ * sampling. Indeed, for each iteration, a virtual point is created.
+ *
+ * \param t: The sampling with which we want to iterate over points of this 1D element.
*/
virtual Interface0DIterator pointsBegin(float t = 0.0f);
/*! Returns an iterator over the Interface1D points, pointing after the last point. The
* difference with verticesEnd() is that here we can iterate over points of the 1D element at a
- * any given sampling. Indeed, for each iteration, a virtual point is created. \param t: The
- * sampling with which we want to iterate over points of this 1D element.
+ * any given sampling. Indeed, for each iteration, a virtual point is created.
+ *
+ * \param t: The sampling with which we want to iterate over points of this 1D element.
*/
virtual Interface0DIterator pointsEnd(float t = 0.0f);
diff --git a/source/blender/gpencil_modifiers/intern/MOD_gpencilarmature.c b/source/blender/gpencil_modifiers/intern/MOD_gpencilarmature.c
index 1f2f0554dd5..27c8175af3f 100644
--- a/source/blender/gpencil_modifiers/intern/MOD_gpencilarmature.c
+++ b/source/blender/gpencil_modifiers/intern/MOD_gpencilarmature.c
@@ -203,5 +203,4 @@ GpencilModifierTypeInfo modifierType_Gpencil_Armature = {
/* foreachObjectLink */ foreachObjectLink,
/* foreachIDLink */ NULL,
/* foreachTexLink */ NULL,
- /* getDuplicationFactor */ NULL,
};
diff --git a/source/blender/gpencil_modifiers/intern/MOD_gpencilarray.c b/source/blender/gpencil_modifiers/intern/MOD_gpencilarray.c
index c311497ffbb..bb70b548675 100644
--- a/source/blender/gpencil_modifiers/intern/MOD_gpencilarray.c
+++ b/source/blender/gpencil_modifiers/intern/MOD_gpencilarray.c
@@ -317,14 +317,6 @@ static void foreachObjectLink(GpencilModifierData *md,
walk(userData, ob, &mmd->object, IDWALK_CB_NOP);
}
-static int getDuplicationFactor(GpencilModifierData *md)
-{
- ArrayGpencilModifierData *mmd = (ArrayGpencilModifierData *)md;
- int t = mmd->count;
- CLAMP_MIN(t, 1);
- return t;
-}
-
GpencilModifierTypeInfo modifierType_Gpencil_Array = {
/* name */ "Array",
/* structName */ "ArrayGpencilModifierData",
@@ -347,5 +339,4 @@ GpencilModifierTypeInfo modifierType_Gpencil_Array = {
/* foreachObjectLink */ foreachObjectLink,
/* foreachIDLink */ NULL,
/* foreachTexLink */ NULL,
- /* getDuplicationFactor */ getDuplicationFactor,
};
diff --git a/source/blender/gpencil_modifiers/intern/MOD_gpencilbuild.c b/source/blender/gpencil_modifiers/intern/MOD_gpencilbuild.c
index d72ace7a191..e3e7168330d 100644
--- a/source/blender/gpencil_modifiers/intern/MOD_gpencilbuild.c
+++ b/source/blender/gpencil_modifiers/intern/MOD_gpencilbuild.c
@@ -550,5 +550,4 @@ GpencilModifierTypeInfo modifierType_Gpencil_Build = {
/* foreachObjectLink */ NULL,
/* foreachIDLink */ NULL,
/* foreachTexLink */ NULL,
- /* getDuplicationFactor */ NULL,
};
diff --git a/source/blender/gpencil_modifiers/intern/MOD_gpencilcolor.c b/source/blender/gpencil_modifiers/intern/MOD_gpencilcolor.c
index cb429b874a2..cbe2d9a4c4f 100644
--- a/source/blender/gpencil_modifiers/intern/MOD_gpencilcolor.c
+++ b/source/blender/gpencil_modifiers/intern/MOD_gpencilcolor.c
@@ -168,5 +168,4 @@ GpencilModifierTypeInfo modifierType_Gpencil_Color = {
/* foreachObjectLink */ NULL,
/* foreachIDLink */ NULL,
/* foreachTexLink */ NULL,
- /* getDuplicationFactor */ NULL,
};
diff --git a/source/blender/gpencil_modifiers/intern/MOD_gpencilhook.c b/source/blender/gpencil_modifiers/intern/MOD_gpencilhook.c
index 234b4deeceb..bc62d0d69bb 100644
--- a/source/blender/gpencil_modifiers/intern/MOD_gpencilhook.c
+++ b/source/blender/gpencil_modifiers/intern/MOD_gpencilhook.c
@@ -357,5 +357,4 @@ GpencilModifierTypeInfo modifierType_Gpencil_Hook = {
/* foreachObjectLink */ foreachObjectLink,
/* foreachIDLink */ NULL,
/* foreachTexLink */ NULL,
- /* getDuplicationFactor */ NULL,
};
diff --git a/source/blender/gpencil_modifiers/intern/MOD_gpencillattice.c b/source/blender/gpencil_modifiers/intern/MOD_gpencillattice.c
index 6b74f96ce31..9dbf7b35bc5 100644
--- a/source/blender/gpencil_modifiers/intern/MOD_gpencillattice.c
+++ b/source/blender/gpencil_modifiers/intern/MOD_gpencillattice.c
@@ -219,5 +219,4 @@ GpencilModifierTypeInfo modifierType_Gpencil_Lattice = {
/* foreachObjectLink */ foreachObjectLink,
/* foreachIDLink */ NULL,
/* foreachTexLink */ NULL,
- /* getDuplicationFactor */ NULL,
};
diff --git a/source/blender/gpencil_modifiers/intern/MOD_gpencilmirror.c b/source/blender/gpencil_modifiers/intern/MOD_gpencilmirror.c
index e391adde829..ef06e14b3d7 100644
--- a/source/blender/gpencil_modifiers/intern/MOD_gpencilmirror.c
+++ b/source/blender/gpencil_modifiers/intern/MOD_gpencilmirror.c
@@ -203,21 +203,6 @@ static void foreachObjectLink(GpencilModifierData *md,
walk(userData, ob, &mmd->object, IDWALK_CB_NOP);
}
-static int getDuplicationFactor(GpencilModifierData *md)
-{
- MirrorGpencilModifierData *mmd = (MirrorGpencilModifierData *)md;
- int factor = 1;
- /* create a duplication for each axis */
- for (int xi = 0; xi < 3; xi++) {
- if (mmd->flag & (GP_MIRROR_AXIS_X << xi)) {
- factor++;
- }
- }
- CLAMP_MIN(factor, 1);
-
- return factor;
-}
-
GpencilModifierTypeInfo modifierType_Gpencil_Mirror = {
/* name */ "Mirror",
/* structName */ "MirrorGpencilModifierData",
@@ -240,5 +225,4 @@ GpencilModifierTypeInfo modifierType_Gpencil_Mirror = {
/* foreachObjectLink */ foreachObjectLink,
/* foreachIDLink */ NULL,
/* foreachTexLink */ NULL,
- /* getDuplicationFactor */ getDuplicationFactor,
};
diff --git a/source/blender/gpencil_modifiers/intern/MOD_gpencilnoise.c b/source/blender/gpencil_modifiers/intern/MOD_gpencilnoise.c
index b286b55829e..f34477aaab2 100644
--- a/source/blender/gpencil_modifiers/intern/MOD_gpencilnoise.c
+++ b/source/blender/gpencil_modifiers/intern/MOD_gpencilnoise.c
@@ -274,5 +274,4 @@ GpencilModifierTypeInfo modifierType_Gpencil_Noise = {
/* foreachObjectLink */ NULL,
/* foreachIDLink */ NULL,
/* foreachTexLink */ NULL,
- /* getDuplicationFactor */ NULL,
};
diff --git a/source/blender/gpencil_modifiers/intern/MOD_gpenciloffset.c b/source/blender/gpencil_modifiers/intern/MOD_gpenciloffset.c
index 08f67eedc86..70d463fff76 100644
--- a/source/blender/gpencil_modifiers/intern/MOD_gpenciloffset.c
+++ b/source/blender/gpencil_modifiers/intern/MOD_gpenciloffset.c
@@ -148,5 +148,4 @@ GpencilModifierTypeInfo modifierType_Gpencil_Offset = {
/* foreachObjectLink */ NULL,
/* foreachIDLink */ NULL,
/* foreachTexLink */ NULL,
- /* getDuplicationFactor */ NULL,
};
diff --git a/source/blender/gpencil_modifiers/intern/MOD_gpencilopacity.c b/source/blender/gpencil_modifiers/intern/MOD_gpencilopacity.c
index 22610771045..c0892a1d91a 100644
--- a/source/blender/gpencil_modifiers/intern/MOD_gpencilopacity.c
+++ b/source/blender/gpencil_modifiers/intern/MOD_gpencilopacity.c
@@ -206,5 +206,4 @@ GpencilModifierTypeInfo modifierType_Gpencil_Opacity = {
/* foreachObjectLink */ NULL,
/* foreachIDLink */ NULL,
/* foreachTexLink */ NULL,
- /* getDuplicationFactor */ NULL,
};
diff --git a/source/blender/gpencil_modifiers/intern/MOD_gpencilsimplify.c b/source/blender/gpencil_modifiers/intern/MOD_gpencilsimplify.c
index 25a56c4385c..9594fc8581e 100644
--- a/source/blender/gpencil_modifiers/intern/MOD_gpencilsimplify.c
+++ b/source/blender/gpencil_modifiers/intern/MOD_gpencilsimplify.c
@@ -144,5 +144,4 @@ GpencilModifierTypeInfo modifierType_Gpencil_Simplify = {
/* foreachObjectLink */ NULL,
/* foreachIDLink */ NULL,
/* foreachTexLink */ NULL,
- /* getDuplicationFactor */ NULL,
};
diff --git a/source/blender/gpencil_modifiers/intern/MOD_gpencilsmooth.c b/source/blender/gpencil_modifiers/intern/MOD_gpencilsmooth.c
index 5ec7fe4ff18..68060711681 100644
--- a/source/blender/gpencil_modifiers/intern/MOD_gpencilsmooth.c
+++ b/source/blender/gpencil_modifiers/intern/MOD_gpencilsmooth.c
@@ -155,5 +155,4 @@ GpencilModifierTypeInfo modifierType_Gpencil_Smooth = {
/* foreachObjectLink */ NULL,
/* foreachIDLink */ NULL,
/* foreachTexLink */ NULL,
- /* getDuplicationFactor */ NULL,
};
diff --git a/source/blender/gpencil_modifiers/intern/MOD_gpencilsubdiv.c b/source/blender/gpencil_modifiers/intern/MOD_gpencilsubdiv.c
index ce75ca59fe1..89d6565d0dd 100644
--- a/source/blender/gpencil_modifiers/intern/MOD_gpencilsubdiv.c
+++ b/source/blender/gpencil_modifiers/intern/MOD_gpencilsubdiv.c
@@ -67,7 +67,7 @@ static void deformStroke(GpencilModifierData *md,
/* It makes sense when adding points to a straight line */
/* e.g. for creating thickness variation in later modifiers. */
- const int minimum_vert = (mmd->flag | GP_SUBDIV_SIMPLE) ? 2 : 3;
+ const int minimum_vert = (mmd->flag & GP_SUBDIV_SIMPLE) ? 2 : 3;
if (!is_stroke_affected_by_modifier(ob,
mmd->layername,
@@ -103,14 +103,6 @@ static void bakeModifier(struct Main *UNUSED(bmain),
}
}
-static int getDuplicationFactor(GpencilModifierData *md)
-{
- SubdivGpencilModifierData *mmd = (SubdivGpencilModifierData *)md;
- int t = (mmd->level + 1) * (mmd->level + 1);
- CLAMP_MIN(t, 2);
- return t;
-}
-
GpencilModifierTypeInfo modifierType_Gpencil_Subdiv = {
/* name */ "Subdivision",
/* structName */ "SubdivGpencilModifierData",
@@ -133,5 +125,4 @@ GpencilModifierTypeInfo modifierType_Gpencil_Subdiv = {
/* foreachObjectLink */ NULL,
/* foreachIDLink */ NULL,
/* foreachTexLink */ NULL,
- /* getDuplicationFactor */ getDuplicationFactor,
};
diff --git a/source/blender/gpencil_modifiers/intern/MOD_gpencilthick.c b/source/blender/gpencil_modifiers/intern/MOD_gpencilthick.c
index e9e92f7a1e2..036464e718d 100644
--- a/source/blender/gpencil_modifiers/intern/MOD_gpencilthick.c
+++ b/source/blender/gpencil_modifiers/intern/MOD_gpencilthick.c
@@ -210,5 +210,4 @@ GpencilModifierTypeInfo modifierType_Gpencil_Thick = {
/* foreachObjectLink */ NULL,
/* foreachIDLink */ NULL,
/* foreachTexLink */ NULL,
- /* getDuplicationFactor */ NULL,
};
diff --git a/source/blender/gpencil_modifiers/intern/MOD_gpenciltime.c b/source/blender/gpencil_modifiers/intern/MOD_gpenciltime.c
index 296e01d6d31..01bb0ae2b93 100644
--- a/source/blender/gpencil_modifiers/intern/MOD_gpenciltime.c
+++ b/source/blender/gpencil_modifiers/intern/MOD_gpenciltime.c
@@ -182,5 +182,4 @@ GpencilModifierTypeInfo modifierType_Gpencil_Time = {
/* foreachObjectLink */ NULL,
/* foreachIDLink */ NULL,
/* foreachTexLink */ NULL,
- /* getDuplicationFactor */ NULL,
};
diff --git a/source/blender/gpencil_modifiers/intern/MOD_gpenciltint.c b/source/blender/gpencil_modifiers/intern/MOD_gpenciltint.c
index f6ddcf89bcf..f03bc489521 100644
--- a/source/blender/gpencil_modifiers/intern/MOD_gpenciltint.c
+++ b/source/blender/gpencil_modifiers/intern/MOD_gpenciltint.c
@@ -174,5 +174,4 @@ GpencilModifierTypeInfo modifierType_Gpencil_Tint = {
/* foreachObjectLink */ NULL,
/* foreachIDLink */ NULL,
/* foreachTexLink */ NULL,
- /* getDuplicationFactor */ NULL,
};
diff --git a/source/blender/gpu/CMakeLists.txt b/source/blender/gpu/CMakeLists.txt
index 670fdccecdf..1ea9bfbc0b7 100644
--- a/source/blender/gpu/CMakeLists.txt
+++ b/source/blender/gpu/CMakeLists.txt
@@ -69,6 +69,7 @@ set(SRC
intern/gpu_init_exit.c
intern/gpu_material.c
intern/gpu_matrix.c
+ intern/gpu_platform.c
intern/gpu_primitive.c
intern/gpu_select.c
intern/gpu_select_pick.c
@@ -101,6 +102,7 @@ set(SRC
GPU_legacy_stubs.h
GPU_material.h
GPU_matrix.h
+ GPU_platform.h
GPU_primitive.h
GPU_select.h
GPU_shader.h
diff --git a/source/blender/gpu/GPU_batch.h b/source/blender/gpu/GPU_batch.h
index 7d8c3347eb4..d7218e97bf0 100644
--- a/source/blender/gpu/GPU_batch.h
+++ b/source/blender/gpu/GPU_batch.h
@@ -193,8 +193,10 @@ GPUBatch *create_BatchInGeneral(GPUPrimType, VertexBufferStuff, ElementListStuff
#endif /* future plans */
-/* GPUDrawList is an API to do lots of similar drawcalls very fast using multidrawindirect.
- * There is a fallback if the feature is not supported. */
+/**
+ * #GPUDrawList is an API to do lots of similar draw-calls very fast using multi-draw-indirect.
+ * There is a fallback if the feature is not supported.
+ */
typedef struct GPUDrawList GPUDrawList;
GPUDrawList *GPU_draw_list_create(int length);
diff --git a/source/blender/gpu/GPU_buffers.h b/source/blender/gpu/GPU_buffers.h
index 9009c134837..6d2b0ad3be3 100644
--- a/source/blender/gpu/GPU_buffers.h
+++ b/source/blender/gpu/GPU_buffers.h
@@ -31,6 +31,7 @@ struct CCGElem;
struct CCGKey;
struct DMFlagMat;
struct GSet;
+struct Mesh;
struct MLoop;
struct MLoopCol;
struct MLoopTri;
@@ -41,21 +42,28 @@ struct PBVH;
/* Buffers for drawing from PBVH grids. */
typedef struct GPU_PBVH_Buffers GPU_PBVH_Buffers;
-/* build */
+/* Build must be called once before using the other functions, used every time
+ * mesh topology changes. Threaded. */
GPU_PBVH_Buffers *GPU_pbvh_mesh_buffers_build(const int (*face_vert_indices)[3],
const struct MPoly *mpoly,
const struct MLoop *mloop,
const struct MLoopTri *looptri,
const struct MVert *verts,
const int *face_indices,
- const int face_indices_len);
+ const int face_indices_len,
+ const struct Mesh *mesh);
GPU_PBVH_Buffers *GPU_pbvh_grid_buffers_build(int totgrid, unsigned int **grid_hidden);
GPU_PBVH_Buffers *GPU_pbvh_bmesh_buffers_build(bool smooth_shading);
-/* update */
+/* Free part of data for update. Not thread safe, must run in OpenGL main thread. */
+void GPU_pbvh_bmesh_buffers_update_free(GPU_PBVH_Buffers *buffers);
+void GPU_pbvh_grid_buffers_update_free(GPU_PBVH_Buffers *buffers,
+ const struct DMFlagMat *grid_flag_mats,
+ int *grid_indices);
+/* Update mesh buffers without topology changes. Threaded. */
enum {
GPU_PBVH_BUFFERS_SHOW_MASK = (1 << 1),
GPU_PBVH_BUFFERS_SHOW_VCOL = (1 << 1),
@@ -85,6 +93,12 @@ void GPU_pbvh_grid_buffers_update(GPU_PBVH_Buffers *buffers,
const struct CCGKey *key,
const int update_flags);
+/* Finish update. Not thread safe, must run in OpenGL main thread. */
+void GPU_pbvh_buffers_update_flush(GPU_PBVH_Buffers *buffers);
+
+/* Free buffers. Not thread safe, must run in OpenGL main thread. */
+void GPU_pbvh_buffers_free(GPU_PBVH_Buffers *buffers);
+
/* draw */
struct GPUBatch *GPU_pbvh_buffers_batch_get(GPU_PBVH_Buffers *buffers, bool fast, bool wires);
@@ -92,8 +106,4 @@ short GPU_pbvh_buffers_material_index_get(GPU_PBVH_Buffers *buffers);
bool GPU_pbvh_buffers_has_mask(GPU_PBVH_Buffers *buffers);
-void GPU_pbvh_buffers_free(GPU_PBVH_Buffers *buffers);
-
-void GPU_pbvh_fix_linking(void);
-
#endif
diff --git a/source/blender/gpu/GPU_extensions.h b/source/blender/gpu/GPU_extensions.h
index 023cbb804d9..245f7f47510 100644
--- a/source/blender/gpu/GPU_extensions.h
+++ b/source/blender/gpu/GPU_extensions.h
@@ -55,34 +55,6 @@ void GPU_mem_stats_get(int *totalmem, int *freemem);
void GPU_code_generate_glsl_lib(void);
-/* GPU Types */
-
-typedef enum eGPUDeviceType {
- GPU_DEVICE_NVIDIA = (1 << 0),
- GPU_DEVICE_ATI = (1 << 1),
- GPU_DEVICE_INTEL = (1 << 2),
- GPU_DEVICE_INTEL_UHD = (1 << 3),
- GPU_DEVICE_SOFTWARE = (1 << 4),
- GPU_DEVICE_UNKNOWN = (1 << 5),
- GPU_DEVICE_ANY = (0xff),
-} eGPUDeviceType;
-
-typedef enum eGPUOSType {
- GPU_OS_WIN = (1 << 8),
- GPU_OS_MAC = (1 << 9),
- GPU_OS_UNIX = (1 << 10),
- GPU_OS_ANY = (0xff00),
-} eGPUOSType;
-
-typedef enum eGPUDriverType {
- GPU_DRIVER_OFFICIAL = (1 << 16),
- GPU_DRIVER_OPENSOURCE = (1 << 17),
- GPU_DRIVER_SOFTWARE = (1 << 18),
- GPU_DRIVER_ANY = (0xff0000),
-} eGPUDriverType;
-
-bool GPU_type_matches(eGPUDeviceType device, eGPUOSType os, eGPUDriverType driver);
-
#ifdef __cplusplus
}
#endif
diff --git a/source/blender/gpu/GPU_platform.h b/source/blender/gpu/GPU_platform.h
new file mode 100644
index 00000000000..f199a748cb5
--- /dev/null
+++ b/source/blender/gpu/GPU_platform.h
@@ -0,0 +1,75 @@
+/*
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * The Original Code is Copyright (C) 2005 Blender Foundation.
+ * All rights reserved.
+ */
+
+/** \file
+ * \ingroup gpu
+ */
+
+#ifndef __GPU_PLATFORM_H__
+#define __GPU_PLATFORM_H__
+
+#include "BLI_sys_types.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* GPU platform support */
+
+/* GPU Types */
+typedef enum eGPUDeviceType {
+ GPU_DEVICE_NVIDIA = (1 << 0),
+ GPU_DEVICE_ATI = (1 << 1),
+ GPU_DEVICE_INTEL = (1 << 2),
+ GPU_DEVICE_INTEL_UHD = (1 << 3),
+ GPU_DEVICE_SOFTWARE = (1 << 4),
+ GPU_DEVICE_UNKNOWN = (1 << 5),
+ GPU_DEVICE_ANY = (0xff),
+} eGPUDeviceType;
+
+typedef enum eGPUOSType {
+ GPU_OS_WIN = (1 << 8),
+ GPU_OS_MAC = (1 << 9),
+ GPU_OS_UNIX = (1 << 10),
+ GPU_OS_ANY = (0xff00),
+} eGPUOSType;
+
+typedef enum eGPUDriverType {
+ GPU_DRIVER_OFFICIAL = (1 << 16),
+ GPU_DRIVER_OPENSOURCE = (1 << 17),
+ GPU_DRIVER_SOFTWARE = (1 << 18),
+ GPU_DRIVER_ANY = (0xff0000),
+} eGPUDriverType;
+
+typedef enum eGPUSupportLevel {
+ GPU_SUPPORT_LEVEL_SUPPORTED,
+ GPU_SUPPORT_LEVEL_LIMITED,
+ GPU_SUPPORT_LEVEL_UNSUPPORTED,
+} eGPUSupportLevel;
+
+bool GPU_type_matches(eGPUDeviceType device, eGPUOSType os, eGPUDriverType driver);
+eGPUSupportLevel GPU_platform_support_level(void);
+const char *GPU_platform_support_level_key(void);
+const char *GPU_platform_gpu_name(void);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __GPU_PLATFORM_H__ */
diff --git a/source/blender/gpu/intern/gpu_batch.c b/source/blender/gpu/intern/gpu_batch.c
index 1c05e28bdb0..168d741f92a 100644
--- a/source/blender/gpu/intern/gpu_batch.c
+++ b/source/blender/gpu/intern/gpu_batch.c
@@ -29,6 +29,7 @@
#include "GPU_batch.h"
#include "GPU_batch_presets.h"
#include "GPU_extensions.h"
+#include "GPU_platform.h"
#include "GPU_matrix.h"
#include "GPU_shader.h"
@@ -212,7 +213,9 @@ int GPU_batch_vertbuf_add_ex(GPUBatch *batch, GPUVertBuf *verts, bool own_vbo)
if (batch->verts[v] == NULL) {
#if TRUST_NO_ONE
/* for now all VertexBuffers must have same vertex_len */
- assert(verts->vertex_len == batch->verts[0]->vertex_len);
+ if (batch->verts[0] != NULL) {
+ assert(verts->vertex_len == batch->verts[0]->vertex_len);
+ }
#endif
batch->verts[v] = verts;
/* TODO: mark dirty so we can keep attribute bindings up-to-date */
@@ -718,8 +721,11 @@ void GPU_draw_primitive(GPUPrimType prim_type, int v_count)
#if 0
# define USE_MULTI_DRAW_INDIRECT 0
#else
+/* TODO: partial workaround for NVIDIA driver bug on recent GTX/RTX cards,
+ * that breaks instancing when using indirect draw-call (see T70011). */
# define USE_MULTI_DRAW_INDIRECT \
- (GL_ARB_multi_draw_indirect && GPU_arb_base_instance_is_supported())
+ (GL_ARB_multi_draw_indirect && GPU_arb_base_instance_is_supported() && \
+ !GPU_type_matches(GPU_DEVICE_NVIDIA, GPU_OS_ANY, GPU_DRIVER_OFFICIAL))
#endif
typedef struct GPUDrawCommand {
@@ -807,6 +813,10 @@ void GPU_draw_list_command_add(
{
BLI_assert(list->commands);
+ if (v_count == 0 || i_count == 0) {
+ return;
+ }
+
if (list->base_index != UINT_MAX) {
GPUDrawCommandIndexed *cmd = list->commands_indexed + list->cmd_len;
cmd->v_first = v_first;
@@ -848,16 +858,19 @@ void GPU_draw_list_submit(GPUDrawList *list)
uintptr_t offset = list->cmd_offset;
uint cmd_len = list->cmd_len;
size_t bytes_used = cmd_len * sizeof(GPUDrawCommandIndexed);
- list->cmd_offset += bytes_used;
list->cmd_len = 0; /* Avoid reuse. */
- if (USE_MULTI_DRAW_INDIRECT) {
+ /* Only do multi-draw indirect if doing more than 2 drawcall.
+ * This avoids the overhead of buffer mapping if scene is
+ * not very instance friendly. */
+ if (USE_MULTI_DRAW_INDIRECT && cmd_len > 2) {
GLenum prim = batch->gl_prim_type;
glBindBuffer(GL_DRAW_INDIRECT_BUFFER, list->buffer_id);
glFlushMappedBufferRange(GL_DRAW_INDIRECT_BUFFER, 0, bytes_used);
glUnmapBuffer(GL_DRAW_INDIRECT_BUFFER);
list->commands = NULL; /* Unmapped */
+ list->cmd_offset += bytes_used;
if (batch->elem) {
glMultiDrawElementsIndirect(prim, INDEX_TYPE(batch->elem), (void *)offset, cmd_len, 0);
@@ -871,6 +884,8 @@ void GPU_draw_list_submit(GPUDrawList *list)
if (batch->elem) {
GPUDrawCommandIndexed *cmd = list->commands_indexed;
for (int i = 0; i < cmd_len; i++, cmd++) {
+ /* Index start was added by Draw manager. Avoid counting it twice. */
+ cmd->v_first -= batch->elem->index_start;
GPU_batch_draw_advanced(batch, cmd->v_first, cmd->v_count, cmd->i_first, cmd->i_count);
}
}
diff --git a/source/blender/gpu/intern/gpu_batch_utils.c b/source/blender/gpu/intern/gpu_batch_utils.c
index 3a8b392ef1d..825f72e175b 100644
--- a/source/blender/gpu/intern/gpu_batch_utils.c
+++ b/source/blender/gpu/intern/gpu_batch_utils.c
@@ -164,7 +164,6 @@ GPUBatch *GPU_batch_wire_from_poly_2d_encoded(const uchar *polys_flat,
BLI_assert(polys_step_len >= 2);
for (uint i_prev = polys_step_len - 1, i = 0; i < polys_step_len; i_prev = i++) {
union {
- uint8_t as_u8[4];
uint16_t as_u16[2];
uint32_t as_u32;
} data;
diff --git a/source/blender/gpu/intern/gpu_buffers.c b/source/blender/gpu/intern/gpu_buffers.c
index 3511c7438cb..2c74afd2d8e 100644
--- a/source/blender/gpu/intern/gpu_buffers.c
+++ b/source/blender/gpu/intern/gpu_buffers.c
@@ -45,6 +45,8 @@
#include "GPU_buffers.h"
#include "GPU_batch.h"
+#include "gpu_private.h"
+
#include "bmesh.h"
/* XXX: the rest of the code in this file is used for optimized PBVH
@@ -78,6 +80,7 @@ struct GPU_PBVH_Buffers {
int totgrid;
bool use_bmesh;
+ bool clear_bmesh_on_flush;
uint tot_tri, tot_quad;
@@ -91,8 +94,9 @@ struct GPU_PBVH_Buffers {
};
static struct {
+ GPUVertFormat format;
uint pos, nor, msk, col;
-} g_vbo_id = {0};
+} g_vbo_id = {{0}};
/** \} */
@@ -100,6 +104,27 @@ static struct {
/** \name PBVH Utils
* \{ */
+void gpu_pbvh_init()
+{
+ /* Initialize vertex buffer (match 'VertexBufferFormat'). */
+ if (g_vbo_id.format.attr_len == 0) {
+ g_vbo_id.pos = GPU_vertformat_attr_add(
+ &g_vbo_id.format, "pos", GPU_COMP_F32, 3, GPU_FETCH_FLOAT);
+ g_vbo_id.nor = GPU_vertformat_attr_add(
+ &g_vbo_id.format, "nor", GPU_COMP_I16, 3, GPU_FETCH_INT_TO_FLOAT_UNIT);
+ /* TODO: Do not allocate these `.msk` and `.col` when they are not used. */
+ g_vbo_id.msk = GPU_vertformat_attr_add(
+ &g_vbo_id.format, "msk", GPU_COMP_F32, 1, GPU_FETCH_FLOAT);
+ g_vbo_id.col = GPU_vertformat_attr_add(
+ &g_vbo_id.format, "ac", GPU_COMP_U8, 4, GPU_FETCH_INT_TO_FLOAT_UNIT);
+ }
+}
+
+void gpu_pbvh_exit()
+{
+ /* Nothing to do. */
+}
+
/* Allocates a non-initialized buffer to be sent to GPU.
* Return is false it indicates that the memory map failed. */
static bool gpu_pbvh_vert_buf_data_set(GPU_PBVH_Buffers *buffers, uint vert_len)
@@ -110,14 +135,7 @@ static bool gpu_pbvh_vert_buf_data_set(GPU_PBVH_Buffers *buffers, uint vert_len)
#if 0
if (buffers->vert_buf == NULL) {
/* Initialize vertex buffer (match 'VertexBufferFormat'). */
- static GPUVertFormat format = {0};
- if (format.attr_len == 0) {
- g_vbo_id.pos = GPU_vertformat_attr_add(&format, "pos", GPU_COMP_F32, 3, GPU_FETCH_FLOAT);
- g_vbo_id.nor = GPU_vertformat_attr_add(
- &format, "nor", GPU_COMP_I16, 3, GPU_FETCH_INT_TO_FLOAT_UNIT);
- g_vbo_id.msk = GPU_vertformat_attr_add(&format, "msk", GPU_COMP_F32, 1, GPU_FETCH_FLOAT);
- }
- buffers->vert_buf = GPU_vertbuf_create_with_format_ex(&format, GPU_USAGE_DYNAMIC);
+ buffers->vert_buf = GPU_vertbuf_create_with_format_ex(&g_vbo_id.format, GPU_USAGE_DYNAMIC);
GPU_vertbuf_data_alloc(buffers->vert_buf, vert_len);
}
else if (vert_len != buffers->vert_buf->vertex_len) {
@@ -126,30 +144,16 @@ static bool gpu_pbvh_vert_buf_data_set(GPU_PBVH_Buffers *buffers, uint vert_len)
#else
if (buffers->vert_buf == NULL) {
/* Initialize vertex buffer (match 'VertexBufferFormat'). */
- static GPUVertFormat format = {0};
- if (format.attr_len == 0) {
- g_vbo_id.pos = GPU_vertformat_attr_add(&format, "pos", GPU_COMP_F32, 3, GPU_FETCH_FLOAT);
- g_vbo_id.nor = GPU_vertformat_attr_add(
- &format, "nor", GPU_COMP_I16, 3, GPU_FETCH_INT_TO_FLOAT_UNIT);
- /* TODO: Do not allocate these `.msk` and `.col` when they are not used. */
- g_vbo_id.msk = GPU_vertformat_attr_add(&format, "msk", GPU_COMP_F32, 1, GPU_FETCH_FLOAT);
- g_vbo_id.col = GPU_vertformat_attr_add(
- &format, "ac", GPU_COMP_U8, 4, GPU_FETCH_INT_TO_FLOAT_UNIT);
- }
- buffers->vert_buf = GPU_vertbuf_create_with_format_ex(&format, GPU_USAGE_STATIC);
+ buffers->vert_buf = GPU_vertbuf_create_with_format_ex(&g_vbo_id.format, GPU_USAGE_STATIC);
}
GPU_vertbuf_data_alloc(buffers->vert_buf, vert_len);
#endif
+
return buffers->vert_buf->data != NULL;
}
static void gpu_pbvh_batch_init(GPU_PBVH_Buffers *buffers, GPUPrimType prim)
{
- /* force flushing to the GPU */
- if (buffers->vert_buf->data) {
- GPU_vertbuf_use(buffers->vert_buf);
- }
-
if (buffers->triangles == NULL) {
buffers->triangles = GPU_batch_create(prim,
buffers->vert_buf,
@@ -180,6 +184,7 @@ static void gpu_pbvh_batch_init(GPU_PBVH_Buffers *buffers, GPUPrimType prim)
/** \name Mesh PBVH
* \{ */
+/* Threaded - do not call any functions that use OpenGL calls! */
void GPU_pbvh_mesh_buffers_update(GPU_PBVH_Buffers *buffers,
const MVert *mvert,
const int *vert_indices,
@@ -189,8 +194,8 @@ void GPU_pbvh_mesh_buffers_update(GPU_PBVH_Buffers *buffers,
const int (*face_vert_indices)[3],
const int update_flags)
{
- const bool show_mask = (update_flags & GPU_PBVH_BUFFERS_SHOW_MASK) != 0;
- const bool show_vcol = (update_flags & GPU_PBVH_BUFFERS_SHOW_VCOL) != 0;
+ const bool show_mask = vmask && (update_flags & GPU_PBVH_BUFFERS_SHOW_MASK) != 0;
+ const bool show_vcol = vcol && (update_flags & GPU_PBVH_BUFFERS_SHOW_VCOL) != 0;
bool empty_mask = true;
{
@@ -198,30 +203,38 @@ void GPU_pbvh_mesh_buffers_update(GPU_PBVH_Buffers *buffers,
/* Build VBO */
if (gpu_pbvh_vert_buf_data_set(buffers, totelem)) {
+ GPUVertBufRaw pos_step = {0};
+ GPUVertBufRaw nor_step = {0};
+ GPUVertBufRaw msk_step = {0};
+ GPUVertBufRaw col_step = {0};
+
+ GPU_vertbuf_attr_get_raw_data(buffers->vert_buf, g_vbo_id.pos, &pos_step);
+ GPU_vertbuf_attr_get_raw_data(buffers->vert_buf, g_vbo_id.nor, &nor_step);
+ if (show_mask) {
+ GPU_vertbuf_attr_get_raw_data(buffers->vert_buf, g_vbo_id.msk, &msk_step);
+ }
+ if (show_vcol) {
+ GPU_vertbuf_attr_get_raw_data(buffers->vert_buf, g_vbo_id.col, &col_step);
+ }
+
/* Vertex data is shared if smooth-shaded, but separate
* copies are made for flat shading because normals
* shouldn't be shared. */
if (buffers->smooth) {
for (uint i = 0; i < totvert; i++) {
- const MVert *v = &mvert[vert_indices[i]];
- GPU_vertbuf_attr_set(buffers->vert_buf, g_vbo_id.pos, i, v->co);
- GPU_vertbuf_attr_set(buffers->vert_buf, g_vbo_id.nor, i, v->no);
- }
-
- if (vmask && show_mask) {
- for (uint i = 0; i < buffers->face_indices_len; i++) {
- const MLoopTri *lt = &buffers->looptri[buffers->face_indices[i]];
- for (uint j = 0; j < 3; j++) {
- int vidx = face_vert_indices[i][j];
- int v_index = buffers->mloop[lt->tri[j]].v;
- float fmask = vmask[v_index];
- GPU_vertbuf_attr_set(buffers->vert_buf, g_vbo_id.msk, vidx, &fmask);
- empty_mask = empty_mask && (fmask == 0.0f);
- }
+ const int vidx = vert_indices[i];
+ const MVert *v = &mvert[vidx];
+ copy_v3_v3(GPU_vertbuf_raw_step(&pos_step), v->co);
+ copy_v3_v3_short(GPU_vertbuf_raw_step(&nor_step), v->no);
+
+ if (show_mask) {
+ float mask = vmask[vidx];
+ *(float *)GPU_vertbuf_raw_step(&msk_step) = mask;
+ empty_mask = empty_mask && (mask == 0.0f);
}
}
- if (vcol && show_vcol) {
+ if (show_vcol) {
for (uint i = 0; i < buffers->face_indices_len; i++) {
const MLoopTri *lt = &buffers->looptri[buffers->face_indices[i]];
for (int j = 0; j < 3; j++) {
@@ -236,8 +249,7 @@ void GPU_pbvh_mesh_buffers_update(GPU_PBVH_Buffers *buffers,
else {
/* calculate normal for each polygon only once */
uint mpoly_prev = UINT_MAX;
- short no[3];
- int vbo_index = 0;
+ short no[3] = {0, 0, 0};
for (uint i = 0; i < buffers->face_indices_len; i++) {
const MLoopTri *lt = &buffers->looptri[buffers->face_indices[i]];
@@ -261,27 +273,26 @@ void GPU_pbvh_mesh_buffers_update(GPU_PBVH_Buffers *buffers,
}
float fmask = 0.0f;
- if (vmask && show_mask) {
+ if (show_mask) {
fmask = (vmask[vtri[0]] + vmask[vtri[1]] + vmask[vtri[2]]) / 3.0f;
}
for (uint j = 0; j < 3; j++) {
const MVert *v = &mvert[vtri[j]];
- GPU_vertbuf_attr_set(buffers->vert_buf, g_vbo_id.pos, vbo_index, v->co);
- GPU_vertbuf_attr_set(buffers->vert_buf, g_vbo_id.nor, vbo_index, no);
- GPU_vertbuf_attr_set(buffers->vert_buf, g_vbo_id.msk, vbo_index, &fmask);
+ copy_v3_v3(GPU_vertbuf_raw_step(&pos_step), v->co);
+ copy_v3_v3_short(GPU_vertbuf_raw_step(&nor_step), no);
+ if (show_mask) {
+ *(float *)GPU_vertbuf_raw_step(&msk_step) = fmask;
+ empty_mask = empty_mask && (fmask == 0.0f);
+ }
- if (vcol && show_vcol) {
+ if (show_vcol) {
const uint loop_index = lt->tri[j];
const uchar *elem = &vcol[loop_index].r;
- GPU_vertbuf_attr_set(buffers->vert_buf, g_vbo_id.col, vbo_index, elem);
+ memcpy(GPU_vertbuf_raw_step(&col_step), elem, sizeof(uchar) * 4);
}
-
- vbo_index++;
}
-
- empty_mask = empty_mask && (fmask == 0.0f);
}
}
@@ -298,16 +309,19 @@ void GPU_pbvh_mesh_buffers_update(GPU_PBVH_Buffers *buffers,
buffers->mvert = mvert;
}
+/* Threaded - do not call any functions that use OpenGL calls! */
GPU_PBVH_Buffers *GPU_pbvh_mesh_buffers_build(const int (*face_vert_indices)[3],
const MPoly *mpoly,
const MLoop *mloop,
const MLoopTri *looptri,
const MVert *mvert,
const int *face_indices,
- const int face_indices_len)
+ const int face_indices_len,
+ const struct Mesh *mesh)
{
GPU_PBVH_Buffers *buffers;
int i, tottri;
+ int tot_real_edges = 0;
buffers = MEM_callocN(sizeof(GPU_PBVH_Buffers), "GPU_Buffers");
@@ -320,6 +334,13 @@ GPU_PBVH_Buffers *GPU_pbvh_mesh_buffers_build(const int (*face_vert_indices)[3],
for (i = 0, tottri = 0; i < face_indices_len; i++) {
const MLoopTri *lt = &looptri[face_indices[i]];
if (!paint_is_face_hidden(lt, mvert, mloop)) {
+ int r_edges[3];
+ BKE_mesh_looptri_get_real_edges(mesh, lt, r_edges);
+ for (int j = 0; j < 3; j++) {
+ if (r_edges[j] != -1) {
+ tot_real_edges++;
+ }
+ }
tottri++;
}
}
@@ -336,11 +357,6 @@ GPU_PBVH_Buffers *GPU_pbvh_mesh_buffers_build(const int (*face_vert_indices)[3],
return buffers;
}
- GPU_BATCH_DISCARD_SAFE(buffers->triangles);
- GPU_BATCH_DISCARD_SAFE(buffers->lines);
- GPU_INDEXBUF_DISCARD_SAFE(buffers->index_buf);
- GPU_INDEXBUF_DISCARD_SAFE(buffers->index_lines_buf);
-
/* An element index buffer is used for smooth shading, but flat
* shading requires separate vertex normals so an index buffer
* can't be used there. */
@@ -348,7 +364,7 @@ GPU_PBVH_Buffers *GPU_pbvh_mesh_buffers_build(const int (*face_vert_indices)[3],
/* Fill the triangle and line buffers. */
GPUIndexBufBuilder elb, elb_lines;
GPU_indexbuf_init(&elb, GPU_PRIM_TRIS, tottri, INT_MAX);
- GPU_indexbuf_init(&elb_lines, GPU_PRIM_LINES, tottri * 3, INT_MAX);
+ GPU_indexbuf_init(&elb_lines, GPU_PRIM_LINES, tot_real_edges, INT_MAX);
for (i = 0; i < face_indices_len; i++) {
const MLoopTri *lt = &looptri[face_indices[i]];
@@ -359,11 +375,18 @@ GPU_PBVH_Buffers *GPU_pbvh_mesh_buffers_build(const int (*face_vert_indices)[3],
}
GPU_indexbuf_add_tri_verts(&elb, UNPACK3(face_vert_indices[i]));
+ int r_edges[3];
+ BKE_mesh_looptri_get_real_edges(mesh, lt, r_edges);
- /* TODO skip "non-real" edges. */
- GPU_indexbuf_add_line_verts(&elb_lines, face_vert_indices[i][0], face_vert_indices[i][1]);
- GPU_indexbuf_add_line_verts(&elb_lines, face_vert_indices[i][1], face_vert_indices[i][2]);
- GPU_indexbuf_add_line_verts(&elb_lines, face_vert_indices[i][2], face_vert_indices[i][0]);
+ if (r_edges[0] != -1) {
+ GPU_indexbuf_add_line_verts(&elb_lines, face_vert_indices[i][0], face_vert_indices[i][1]);
+ }
+ if (r_edges[1] != -1) {
+ GPU_indexbuf_add_line_verts(&elb_lines, face_vert_indices[i][1], face_vert_indices[i][2]);
+ }
+ if (r_edges[2] != -1) {
+ GPU_indexbuf_add_line_verts(&elb_lines, face_vert_indices[i][2], face_vert_indices[i][0]);
+ }
}
buffers->index_buf = GPU_indexbuf_build(&elb);
buffers->index_lines_buf = GPU_indexbuf_build(&elb_lines);
@@ -371,7 +394,7 @@ GPU_PBVH_Buffers *GPU_pbvh_mesh_buffers_build(const int (*face_vert_indices)[3],
else {
/* Fill the only the line buffer. */
GPUIndexBufBuilder elb_lines;
- GPU_indexbuf_init(&elb_lines, GPU_PRIM_LINES, tottri * 3, INT_MAX);
+ GPU_indexbuf_init(&elb_lines, GPU_PRIM_LINES, tot_real_edges, INT_MAX);
int vert_idx = 0;
for (i = 0; i < face_indices_len; i++) {
@@ -382,10 +405,18 @@ GPU_PBVH_Buffers *GPU_pbvh_mesh_buffers_build(const int (*face_vert_indices)[3],
continue;
}
- /* TODO skip "non-real" edges. */
- GPU_indexbuf_add_line_verts(&elb_lines, vert_idx * 3 + 0, vert_idx * 3 + 1);
- GPU_indexbuf_add_line_verts(&elb_lines, vert_idx * 3 + 1, vert_idx * 3 + 2);
- GPU_indexbuf_add_line_verts(&elb_lines, vert_idx * 3 + 2, vert_idx * 3 + 0);
+ int r_edges[3];
+ BKE_mesh_looptri_get_real_edges(mesh, lt, r_edges);
+ if (r_edges[0] != -1) {
+ GPU_indexbuf_add_line_verts(&elb_lines, vert_idx * 3 + 0, vert_idx * 3 + 1);
+ }
+ if (r_edges[1] != -1) {
+ GPU_indexbuf_add_line_verts(&elb_lines, vert_idx * 3 + 1, vert_idx * 3 + 2);
+ }
+ if (r_edges[2] != -1) {
+ GPU_indexbuf_add_line_verts(&elb_lines, vert_idx * 3 + 2, vert_idx * 3 + 0);
+ }
+
vert_idx++;
}
buffers->index_lines_buf = GPU_indexbuf_build(&elb_lines);
@@ -537,6 +568,27 @@ static void gpu_pbvh_grid_fill_index_buffers(
buffers->index_lines_buf_fast = GPU_indexbuf_build(&elb_lines_fast);
}
+void GPU_pbvh_grid_buffers_update_free(GPU_PBVH_Buffers *buffers,
+ const struct DMFlagMat *grid_flag_mats,
+ int *grid_indices)
+{
+ const bool smooth = grid_flag_mats[grid_indices[0]].flag & ME_SMOOTH;
+
+ if (buffers->smooth != smooth) {
+ buffers->smooth = smooth;
+ GPU_BATCH_DISCARD_SAFE(buffers->triangles);
+ GPU_BATCH_DISCARD_SAFE(buffers->triangles_fast);
+ GPU_BATCH_DISCARD_SAFE(buffers->lines);
+ GPU_BATCH_DISCARD_SAFE(buffers->lines_fast);
+
+ GPU_INDEXBUF_DISCARD_SAFE(buffers->index_buf);
+ GPU_INDEXBUF_DISCARD_SAFE(buffers->index_buf_fast);
+ GPU_INDEXBUF_DISCARD_SAFE(buffers->index_lines_buf);
+ GPU_INDEXBUF_DISCARD_SAFE(buffers->index_lines_buf_fast);
+ }
+}
+
+/* Threaded - do not call any functions that use OpenGL calls! */
void GPU_pbvh_grid_buffers_update(GPU_PBVH_Buffers *buffers,
CCGElem **grids,
const DMFlagMat *grid_flag_mats,
@@ -550,26 +602,13 @@ void GPU_pbvh_grid_buffers_update(GPU_PBVH_Buffers *buffers,
bool empty_mask = true;
int i, j, k, x, y;
- const bool smooth = grid_flag_mats[grid_indices[0]].flag & ME_SMOOTH;
-
/* Build VBO */
const int has_mask = key->has_mask;
- uint vert_per_grid = (smooth) ? key->grid_area : (SQUARE(key->grid_size - 1) * 4);
- uint vert_count = totgrid * vert_per_grid;
-
- if (buffers->smooth != smooth) {
- buffers->smooth = smooth;
- GPU_BATCH_DISCARD_SAFE(buffers->triangles);
- GPU_BATCH_DISCARD_SAFE(buffers->triangles_fast);
- GPU_BATCH_DISCARD_SAFE(buffers->lines);
- GPU_BATCH_DISCARD_SAFE(buffers->lines_fast);
+ buffers->smooth = grid_flag_mats[grid_indices[0]].flag & ME_SMOOTH;
- GPU_INDEXBUF_DISCARD_SAFE(buffers->index_buf);
- GPU_INDEXBUF_DISCARD_SAFE(buffers->index_buf_fast);
- GPU_INDEXBUF_DISCARD_SAFE(buffers->index_lines_buf);
- GPU_INDEXBUF_DISCARD_SAFE(buffers->index_lines_buf_fast);
- }
+ uint vert_per_grid = (buffers->smooth) ? key->grid_area : (SQUARE(key->grid_size - 1) * 4);
+ uint vert_count = totgrid * vert_per_grid;
if (buffers->index_buf == NULL) {
uint visible_quad_len = BKE_pbvh_count_grid_quads(
@@ -692,6 +731,7 @@ void GPU_pbvh_grid_buffers_update(GPU_PBVH_Buffers *buffers,
buffers->show_mask = !empty_mask;
}
+/* Threaded - do not call any functions that use OpenGL calls! */
GPU_PBVH_Buffers *GPU_pbvh_grid_buffers_build(int totgrid, BLI_bitmap **grid_hidden)
{
GPU_PBVH_Buffers *buffers;
@@ -713,47 +753,36 @@ GPU_PBVH_Buffers *GPU_pbvh_grid_buffers_build(int totgrid, BLI_bitmap **grid_hid
/** \name BMesh PBVH
* \{ */
-/* Output a BMVert into a VertexBufferFormat array
- *
- * The vertex is skipped if hidden, otherwise the output goes into
- * index '*v_index' in the 'vert_data' array and '*v_index' is
- * incremented.
- */
-static void gpu_bmesh_vert_to_buffer_copy__gwn(BMVert *v,
- GPUVertBuf *vert_buf,
- int *v_index,
- const float fno[3],
- const float *fmask,
- const int cd_vert_mask_offset,
- const bool show_mask,
- const bool show_vcol,
- bool *empty_mask)
+/* Output a BMVert into a VertexBufferFormat array at v_index. */
+static void gpu_bmesh_vert_to_buffer_copy(BMVert *v,
+ GPUVertBuf *vert_buf,
+ int v_index,
+ const float fno[3],
+ const float *fmask,
+ const int cd_vert_mask_offset,
+ const bool show_mask,
+ const bool show_vcol,
+ bool *empty_mask)
{
- if (!BM_elem_flag_test(v, BM_ELEM_HIDDEN)) {
+ /* Vertex should always be visible if it's used by a visible face. */
+ BLI_assert(!BM_elem_flag_test(v, BM_ELEM_HIDDEN));
- /* Set coord, normal, and mask */
- GPU_vertbuf_attr_set(vert_buf, g_vbo_id.pos, *v_index, v->co);
+ /* Set coord, normal, and mask */
+ GPU_vertbuf_attr_set(vert_buf, g_vbo_id.pos, v_index, v->co);
- short no_short[3];
- normal_float_to_short_v3(no_short, fno ? fno : v->no);
- GPU_vertbuf_attr_set(vert_buf, g_vbo_id.nor, *v_index, no_short);
+ short no_short[3];
+ normal_float_to_short_v3(no_short, fno ? fno : v->no);
+ GPU_vertbuf_attr_set(vert_buf, g_vbo_id.nor, v_index, no_short);
- if (show_mask) {
- float effective_mask = fmask ? *fmask : BM_ELEM_CD_GET_FLOAT(v, cd_vert_mask_offset);
- GPU_vertbuf_attr_set(vert_buf, g_vbo_id.msk, *v_index, &effective_mask);
- *empty_mask = *empty_mask && (effective_mask == 0.0f);
- }
-
- if (show_vcol) {
- static char vcol[4] = {255, 255, 255, 255};
- GPU_vertbuf_attr_set(vert_buf, g_vbo_id.col, *v_index, &vcol);
- }
-
- /* Assign index for use in the triangle index buffer */
- /* note: caller must set: bm->elem_index_dirty |= BM_VERT; */
- BM_elem_index_set(v, (*v_index)); /* set_dirty! */
+ if (show_mask) {
+ float effective_mask = fmask ? *fmask : BM_ELEM_CD_GET_FLOAT(v, cd_vert_mask_offset);
+ GPU_vertbuf_attr_set(vert_buf, g_vbo_id.msk, v_index, &effective_mask);
+ *empty_mask = *empty_mask && (effective_mask == 0.0f);
+ }
- (*v_index)++;
+ if (show_vcol) {
+ static char vcol[4] = {255, 255, 255, 255};
+ GPU_vertbuf_attr_set(vert_buf, g_vbo_id.col, v_index, &vcol);
}
}
@@ -796,8 +825,24 @@ static int gpu_bmesh_face_visible_count(GSet *bm_faces)
return totface;
}
+void GPU_pbvh_bmesh_buffers_update_free(GPU_PBVH_Buffers *buffers)
+{
+ if (buffers->smooth) {
+ /* Smooth needs to recreate index buffer, so we have to invalidate the batch. */
+ GPU_BATCH_DISCARD_SAFE(buffers->triangles);
+ GPU_BATCH_DISCARD_SAFE(buffers->lines);
+ GPU_INDEXBUF_DISCARD_SAFE(buffers->index_lines_buf);
+ GPU_INDEXBUF_DISCARD_SAFE(buffers->index_buf);
+ }
+ else {
+ GPU_BATCH_DISCARD_SAFE(buffers->lines);
+ GPU_INDEXBUF_DISCARD_SAFE(buffers->index_lines_buf);
+ }
+}
+
/* Creates a vertex buffer (coordinate, normal, color) and, if smooth
- * shading, an element index buffer. */
+ * shading, an element index buffer.
+ * Threaded - do not call any functions that use OpenGL calls! */
void GPU_pbvh_bmesh_buffers_update(GPU_PBVH_Buffers *buffers,
BMesh *bm,
GSet *bm_faces,
@@ -807,7 +852,7 @@ void GPU_pbvh_bmesh_buffers_update(GPU_PBVH_Buffers *buffers,
{
const bool show_mask = (update_flags & GPU_PBVH_BUFFERS_SHOW_MASK) != 0;
const bool show_vcol = (update_flags & GPU_PBVH_BUFFERS_SHOW_VCOL) != 0;
- int tottri, totvert, maxvert = 0;
+ int tottri, totvert;
bool empty_mask = true;
BMFace *f = NULL;
@@ -815,17 +860,10 @@ void GPU_pbvh_bmesh_buffers_update(GPU_PBVH_Buffers *buffers,
tottri = gpu_bmesh_face_visible_count(bm_faces);
if (buffers->smooth) {
- /* Smooth needs to recreate index buffer, so we have to invalidate the batch. */
- GPU_BATCH_DISCARD_SAFE(buffers->triangles);
- GPU_BATCH_DISCARD_SAFE(buffers->lines);
- GPU_INDEXBUF_DISCARD_SAFE(buffers->index_lines_buf);
- GPU_INDEXBUF_DISCARD_SAFE(buffers->index_buf);
/* Count visible vertices */
totvert = gpu_bmesh_vert_visible_count(bm_unique_verts, bm_other_verts);
}
else {
- GPU_BATCH_DISCARD_SAFE(buffers->lines);
- GPU_INDEXBUF_DISCARD_SAFE(buffers->index_lines_buf);
totvert = tottri * 3;
}
@@ -834,9 +872,7 @@ void GPU_pbvh_bmesh_buffers_update(GPU_PBVH_Buffers *buffers,
/* Node is just hidden. */
}
else {
- GPU_BATCH_DISCARD_SAFE(buffers->triangles);
- GPU_INDEXBUF_DISCARD_SAFE(buffers->index_buf);
- GPU_VERTBUF_DISCARD_SAFE(buffers->vert_buf);
+ buffers->clear_bmesh_on_flush = true;
}
buffers->tot_tri = 0;
return;
@@ -846,135 +882,118 @@ void GPU_pbvh_bmesh_buffers_update(GPU_PBVH_Buffers *buffers,
const int cd_vert_mask_offset = CustomData_get_offset(&bm->vdata, CD_PAINT_MASK);
/* Fill vertex buffer */
- if (gpu_pbvh_vert_buf_data_set(buffers, totvert)) {
- int v_index = 0;
-
- if (buffers->smooth) {
- GSetIterator gs_iter;
-
- /* Vertices get an index assigned for use in the triangle
- * index buffer */
- bm->elem_index_dirty |= BM_VERT;
-
- GSET_ITER (gs_iter, bm_unique_verts) {
- gpu_bmesh_vert_to_buffer_copy__gwn(BLI_gsetIterator_getKey(&gs_iter),
- buffers->vert_buf,
- &v_index,
- NULL,
- NULL,
- cd_vert_mask_offset,
- show_mask,
- show_vcol,
- &empty_mask);
- }
-
- GSET_ITER (gs_iter, bm_other_verts) {
- gpu_bmesh_vert_to_buffer_copy__gwn(BLI_gsetIterator_getKey(&gs_iter),
- buffers->vert_buf,
- &v_index,
- NULL,
- NULL,
- cd_vert_mask_offset,
- show_mask,
- show_vcol,
- &empty_mask);
- }
+ if (!gpu_pbvh_vert_buf_data_set(buffers, totvert)) {
+ /* Memory map failed */
+ return;
+ }
- maxvert = v_index;
- }
- else {
- GSetIterator gs_iter;
+ int v_index = 0;
- GPUIndexBufBuilder elb_lines;
- GPU_indexbuf_init(&elb_lines, GPU_PRIM_LINES, tottri * 3, totvert);
+ if (buffers->smooth) {
+ /* Fill the vertex and triangle buffer in one pass over faces. */
+ GPUIndexBufBuilder elb, elb_lines;
+ GPU_indexbuf_init(&elb, GPU_PRIM_TRIS, tottri, totvert);
+ GPU_indexbuf_init(&elb_lines, GPU_PRIM_LINES, tottri * 3, totvert);
- GSET_ITER (gs_iter, bm_faces) {
- f = BLI_gsetIterator_getKey(&gs_iter);
+ GHash *bm_vert_to_index = BLI_ghash_int_new_ex("bm_vert_to_index", totvert);
- BLI_assert(f->len == 3);
+ GSetIterator gs_iter;
+ GSET_ITER (gs_iter, bm_faces) {
+ f = BLI_gsetIterator_getKey(&gs_iter);
- if (!BM_elem_flag_test(f, BM_ELEM_HIDDEN)) {
- BMVert *v[3];
- float fmask = 0.0f;
- int i;
+ if (!BM_elem_flag_test(f, BM_ELEM_HIDDEN)) {
+ BMVert *v[3];
+ BM_face_as_array_vert_tri(f, v);
- BM_face_as_array_vert_tri(f, v);
+ uint idx[3];
+ for (int i = 0; i < 3; i++) {
+ void **idx_p;
+ if (!BLI_ghash_ensure_p(bm_vert_to_index, v[i], &idx_p)) {
+ /* Add vertex to the vertex buffer each time a new one is encountered */
+ *idx_p = POINTER_FROM_UINT(v_index);
- /* Average mask value */
- for (i = 0; i < 3; i++) {
- fmask += BM_ELEM_CD_GET_FLOAT(v[i], cd_vert_mask_offset);
+ gpu_bmesh_vert_to_buffer_copy(v[i],
+ buffers->vert_buf,
+ v_index,
+ NULL,
+ NULL,
+ cd_vert_mask_offset,
+ show_mask,
+ show_vcol,
+ &empty_mask);
+
+ idx[i] = v_index;
+ v_index++;
}
- fmask /= 3.0f;
-
- GPU_indexbuf_add_line_verts(&elb_lines, v_index + 0, v_index + 1);
- GPU_indexbuf_add_line_verts(&elb_lines, v_index + 1, v_index + 2);
- GPU_indexbuf_add_line_verts(&elb_lines, v_index + 2, v_index + 0);
-
- for (i = 0; i < 3; i++) {
- gpu_bmesh_vert_to_buffer_copy__gwn(v[i],
- buffers->vert_buf,
- &v_index,
- f->no,
- &fmask,
- cd_vert_mask_offset,
- show_mask,
- show_vcol,
- &empty_mask);
+ else {
+ /* Vertex already in the vertex buffer, just get the index. */
+ idx[i] = POINTER_AS_UINT(*idx_p);
}
}
- }
- buffers->index_lines_buf = GPU_indexbuf_build(&elb_lines);
- buffers->tot_tri = tottri;
+ GPU_indexbuf_add_tri_verts(&elb, idx[0], idx[1], idx[2]);
+
+ GPU_indexbuf_add_line_verts(&elb_lines, idx[0], idx[1]);
+ GPU_indexbuf_add_line_verts(&elb_lines, idx[1], idx[2]);
+ GPU_indexbuf_add_line_verts(&elb_lines, idx[2], idx[0]);
+ }
}
- /* gpu_bmesh_vert_to_buffer_copy sets dirty index values */
- bm->elem_index_dirty |= BM_VERT;
+ BLI_ghash_free(bm_vert_to_index, NULL, NULL);
+
+ buffers->tot_tri = tottri;
+ if (buffers->index_buf == NULL) {
+ buffers->index_buf = GPU_indexbuf_build(&elb);
+ }
+ else {
+ GPU_indexbuf_build_in_place(&elb, buffers->index_buf);
+ }
+ buffers->index_lines_buf = GPU_indexbuf_build(&elb_lines);
}
else {
- /* Memory map failed */
- return;
- }
+ GSetIterator gs_iter;
- if (buffers->smooth) {
- /* Fill the triangle buffer */
- GPUIndexBufBuilder elb, elb_lines;
- GPU_indexbuf_init(&elb, GPU_PRIM_TRIS, tottri, maxvert);
- GPU_indexbuf_init(&elb_lines, GPU_PRIM_LINES, tottri * 3, maxvert);
-
- /* Fill triangle index buffer */
- {
- GSetIterator gs_iter;
+ GPUIndexBufBuilder elb_lines;
+ GPU_indexbuf_init(&elb_lines, GPU_PRIM_LINES, tottri * 3, tottri * 3);
- GSET_ITER (gs_iter, bm_faces) {
- f = BLI_gsetIterator_getKey(&gs_iter);
+ GSET_ITER (gs_iter, bm_faces) {
+ f = BLI_gsetIterator_getKey(&gs_iter);
- if (!BM_elem_flag_test(f, BM_ELEM_HIDDEN)) {
- BMVert *v[3];
+ BLI_assert(f->len == 3);
- BM_face_as_array_vert_tri(f, v);
+ if (!BM_elem_flag_test(f, BM_ELEM_HIDDEN)) {
+ BMVert *v[3];
+ float fmask = 0.0f;
+ int i;
- const uint idx[3] = {
- BM_elem_index_get(v[0]), BM_elem_index_get(v[1]), BM_elem_index_get(v[2])};
- GPU_indexbuf_add_tri_verts(&elb, idx[0], idx[1], idx[2]);
+ BM_face_as_array_vert_tri(f, v);
- GPU_indexbuf_add_line_verts(&elb_lines, idx[0], idx[1]);
- GPU_indexbuf_add_line_verts(&elb_lines, idx[1], idx[2]);
- GPU_indexbuf_add_line_verts(&elb_lines, idx[2], idx[0]);
+ /* Average mask value */
+ for (i = 0; i < 3; i++) {
+ fmask += BM_ELEM_CD_GET_FLOAT(v[i], cd_vert_mask_offset);
+ }
+ fmask /= 3.0f;
+
+ GPU_indexbuf_add_line_verts(&elb_lines, v_index + 0, v_index + 1);
+ GPU_indexbuf_add_line_verts(&elb_lines, v_index + 1, v_index + 2);
+ GPU_indexbuf_add_line_verts(&elb_lines, v_index + 2, v_index + 0);
+
+ for (i = 0; i < 3; i++) {
+ gpu_bmesh_vert_to_buffer_copy(v[i],
+ buffers->vert_buf,
+ v_index++,
+ f->no,
+ &fmask,
+ cd_vert_mask_offset,
+ show_mask,
+ show_vcol,
+ &empty_mask);
}
}
-
- buffers->tot_tri = tottri;
-
- if (buffers->index_buf == NULL) {
- buffers->index_buf = GPU_indexbuf_build(&elb);
- }
- else {
- GPU_indexbuf_build_in_place(&elb, buffers->index_buf);
- }
-
- buffers->index_lines_buf = GPU_indexbuf_build(&elb_lines);
}
+
+ buffers->index_lines_buf = GPU_indexbuf_build(&elb_lines);
+ buffers->tot_tri = tottri;
}
/* Get material index from the last face we iterated on. */
@@ -991,6 +1010,7 @@ void GPU_pbvh_bmesh_buffers_update(GPU_PBVH_Buffers *buffers,
/** \name Generic
* \{ */
+/* Threaded - do not call any functions that use OpenGL calls! */
GPU_PBVH_Buffers *GPU_pbvh_bmesh_buffers_build(bool smooth_shading)
{
GPU_PBVH_Buffers *buffers;
@@ -1023,6 +1043,22 @@ short GPU_pbvh_buffers_material_index_get(GPU_PBVH_Buffers *buffers)
return buffers->material_index;
}
+void GPU_pbvh_buffers_update_flush(GPU_PBVH_Buffers *buffers)
+{
+ /* Free empty bmesh node buffers. */
+ if (buffers->clear_bmesh_on_flush) {
+ GPU_BATCH_DISCARD_SAFE(buffers->triangles);
+ GPU_INDEXBUF_DISCARD_SAFE(buffers->index_buf);
+ GPU_VERTBUF_DISCARD_SAFE(buffers->vert_buf);
+ buffers->clear_bmesh_on_flush = false;
+ }
+
+ /* Force flushing to the GPU. */
+ if (buffers->vert_buf && buffers->vert_buf->data) {
+ GPU_vertbuf_use(buffers->vert_buf);
+ }
+}
+
void GPU_pbvh_buffers_free(GPU_PBVH_Buffers *buffers)
{
if (buffers) {
@@ -1041,7 +1077,3 @@ void GPU_pbvh_buffers_free(GPU_PBVH_Buffers *buffers)
}
/** \} */
-
-void GPU_pbvh_fix_linking()
-{
-}
diff --git a/source/blender/gpu/intern/gpu_draw.c b/source/blender/gpu/intern/gpu_draw.c
index df2298582e3..274ca149c8a 100644
--- a/source/blender/gpu/intern/gpu_draw.c
+++ b/source/blender/gpu/intern/gpu_draw.c
@@ -66,6 +66,7 @@
#include "GPU_draw.h"
#include "GPU_extensions.h"
#include "GPU_glew.h"
+#include "GPU_platform.h"
#include "GPU_texture.h"
#include "PIL_time.h"
diff --git a/source/blender/gpu/intern/gpu_element.c b/source/blender/gpu/intern/gpu_element.c
index 166a6236893..518829d1c78 100644
--- a/source/blender/gpu/intern/gpu_element.c
+++ b/source/blender/gpu/intern/gpu_element.c
@@ -243,7 +243,7 @@ GPUIndexBuf *GPU_indexbuf_create_subrange(GPUIndexBuf *elem_src, uint start, uin
{
GPUIndexBuf *elem = MEM_callocN(sizeof(GPUIndexBuf), "GPUIndexBuf");
BLI_assert(elem_src && !elem_src->is_subrange);
- BLI_assert(start + length <= elem_src->index_len);
+ BLI_assert((length == 0) || (start + length <= elem_src->index_len));
#if GPU_TRACK_INDEX_RANGE
elem->index_type = elem_src->index_type;
elem->gl_index_type = elem_src->gl_index_type;
diff --git a/source/blender/gpu/intern/gpu_extensions.c b/source/blender/gpu/intern/gpu_extensions.c
index 7b6759c44bf..33f918559f7 100644
--- a/source/blender/gpu/intern/gpu_extensions.c
+++ b/source/blender/gpu/intern/gpu_extensions.c
@@ -35,6 +35,7 @@
#include "GPU_framebuffer.h"
#include "GPU_glew.h"
#include "GPU_texture.h"
+#include "GPU_platform.h"
#include "intern/gpu_private.h"
@@ -68,9 +69,6 @@ static struct GPUGlobal {
GLint maxubosize;
GLint maxubobinds;
int samples_color_texture_max;
- eGPUDeviceType device;
- eGPUOSType os;
- eGPUDriverType driver;
float line_width_range[2];
/* workaround for different calculation of dfdy factors on GPUs. Some GPUs/drivers
* calculate dfdy in shader differently when drawing to an offscreen buffer. First
@@ -126,13 +124,6 @@ static void gpu_detect_mip_render_workaround(void)
GPU_texture_free(tex);
}
-/* GPU Types */
-
-bool GPU_type_matches(eGPUDeviceType device, eGPUOSType os, eGPUDriverType driver)
-{
- return (GG.device & device) && (GG.os & os) && (GG.driver & driver);
-}
-
/* GPU Extensions */
int GPU_max_texture_size(void)
@@ -266,11 +257,7 @@ void gpu_extensions_init(void)
const char *renderer = (const char *)glGetString(GL_RENDERER);
const char *version = (const char *)glGetString(GL_VERSION);
- if (strstr(vendor, "ATI") || strstr(vendor, "AMD")) {
- GG.device = GPU_DEVICE_ATI;
- GG.driver = GPU_DRIVER_OFFICIAL;
-
-#ifdef _WIN32
+ if (GPU_type_matches(GPU_DEVICE_ATI, GPU_OS_WIN, GPU_DRIVER_OFFICIAL)) {
if (strstr(version, "4.5.13399") || strstr(version, "4.5.13417") ||
strstr(version, "4.5.13422")) {
/* The renderers include:
@@ -282,75 +269,14 @@ void gpu_extensions_init(void)
GG.unused_fb_slot_workaround = true;
}
-#endif
+ }
-#if defined(__APPLE__)
+ if (GPU_type_matches(GPU_DEVICE_ATI, GPU_OS_MAC, GPU_DRIVER_OFFICIAL)) {
if (strstr(renderer, "AMD Radeon Pro") || strstr(renderer, "AMD Radeon R9") ||
strstr(renderer, "AMD Radeon RX")) {
GG.depth_blitting_workaround = true;
}
-#endif
- }
- else if (strstr(vendor, "NVIDIA")) {
- GG.device = GPU_DEVICE_NVIDIA;
- GG.driver = GPU_DRIVER_OFFICIAL;
- }
- else if (strstr(vendor, "Intel") ||
- /* src/mesa/drivers/dri/intel/intel_context.c */
- strstr(renderer, "Mesa DRI Intel") || strstr(renderer, "Mesa DRI Mobile Intel")) {
- GG.device = GPU_DEVICE_INTEL;
- GG.driver = GPU_DRIVER_OFFICIAL;
-
- if (strstr(renderer, "UHD Graphics") ||
- /* Not UHD but affected by the same bugs. */
- strstr(renderer, "HD Graphics 530") || strstr(renderer, "Kaby Lake GT2")) {
- GG.device |= GPU_DEVICE_INTEL_UHD;
- }
}
- else if ((strstr(renderer, "Mesa DRI R")) ||
- (strstr(renderer, "Radeon") && strstr(vendor, "X.Org")) ||
- (strstr(renderer, "AMD") && strstr(vendor, "X.Org")) ||
- (strstr(renderer, "Gallium ") && strstr(renderer, " on ATI ")) ||
- (strstr(renderer, "Gallium ") && strstr(renderer, " on AMD "))) {
- GG.device = GPU_DEVICE_ATI;
- GG.driver = GPU_DRIVER_OPENSOURCE;
- }
- else if (strstr(renderer, "Nouveau") || strstr(vendor, "nouveau")) {
- GG.device = GPU_DEVICE_NVIDIA;
- GG.driver = GPU_DRIVER_OPENSOURCE;
- }
- else if (strstr(vendor, "Mesa")) {
- GG.device = GPU_DEVICE_SOFTWARE;
- GG.driver = GPU_DRIVER_SOFTWARE;
- }
- else if (strstr(vendor, "Microsoft")) {
- GG.device = GPU_DEVICE_SOFTWARE;
- GG.driver = GPU_DRIVER_SOFTWARE;
- }
- else if (strstr(renderer, "Apple Software Renderer")) {
- GG.device = GPU_DEVICE_SOFTWARE;
- GG.driver = GPU_DRIVER_SOFTWARE;
- }
- else if (strstr(renderer, "llvmpipe")) {
- GG.device = GPU_DEVICE_SOFTWARE;
- GG.driver = GPU_DRIVER_SOFTWARE;
- }
- else {
- printf("Warning: Could not find a matching GPU name. Things may not behave as expected.\n");
- printf("Detected OpenGL configuration:\n");
- printf("Vendor: %s\n", vendor);
- printf("Renderer: %s\n", renderer);
- GG.device = GPU_DEVICE_ANY;
- GG.driver = GPU_DRIVER_ANY;
- }
-
-#ifdef _WIN32
- GG.os = GPU_OS_WIN;
-#elif defined(__APPLE__)
- GG.os = GPU_OS_MAC;
-#else
- GG.os = GPU_OS_UNIX;
-#endif
GG.glew_arb_base_instance_is_supported = GLEW_ARB_base_instance;
gpu_detect_mip_render_workaround();
@@ -365,18 +291,19 @@ void gpu_extensions_init(void)
GG.mip_render_workaround = true;
GG.depth_blitting_workaround = true;
GG.unused_fb_slot_workaround = true;
- GG.context_local_shaders_workaround = true;
+ GG.context_local_shaders_workaround = GLEW_ARB_get_program_binary;
}
/* df/dy calculation factors, those are dependent on driver */
GG.dfdyfactors[0] = 1.0;
GG.dfdyfactors[1] = 1.0;
- if ((strstr(vendor, "ATI") && strstr(version, "3.3.10750"))) {
+ if (GPU_type_matches(GPU_DEVICE_ATI, GPU_OS_ANY, GPU_DRIVER_ANY) &&
+ strstr(version, "3.3.10750")) {
GG.dfdyfactors[0] = 1.0;
GG.dfdyfactors[1] = -1.0;
}
- else if ((GG.device == GPU_DEVICE_INTEL) && (GG.os == GPU_OS_WIN)) {
+ else if (GPU_type_matches(GPU_DEVICE_INTEL, GPU_OS_WIN, GPU_DRIVER_ANY)) {
if (strstr(version, "4.0.0 - Build 10.18.10.3308") ||
strstr(version, "4.0.0 - Build 9.18.10.3186") ||
strstr(version, "4.0.0 - Build 9.18.10.3165") ||
@@ -401,8 +328,7 @@ void gpu_extensions_init(void)
GG.context_local_shaders_workaround = true;
}
}
- else if ((GG.device == GPU_DEVICE_ATI) && (GG.os == GPU_OS_UNIX) &&
- (GG.driver == GPU_DRIVER_OPENSOURCE)) {
+ else if (GPU_type_matches(GPU_DEVICE_ATI, GPU_OS_UNIX, GPU_DRIVER_OPENSOURCE)) {
/* See T70187: merging vertices fail. This has been tested from 18.2.2 till 19.3.0~dev of the
* Mesa driver */
GG.unused_fb_slot_workaround = true;
diff --git a/source/blender/gpu/intern/gpu_init_exit.c b/source/blender/gpu/intern/gpu_init_exit.c
index 2f84a1cbd27..7b6016e11cb 100644
--- a/source/blender/gpu/intern/gpu_init_exit.c
+++ b/source/blender/gpu/intern/gpu_init_exit.c
@@ -46,7 +46,7 @@ void GPU_init(void)
}
initialized = true;
-
+ gpu_platform_init();
gpu_extensions_init(); /* must come first */
gpu_codegen_init();
@@ -62,11 +62,13 @@ void GPU_init(void)
immInit();
}
- GPU_pbvh_fix_linking();
+ gpu_pbvh_init();
}
void GPU_exit(void)
{
+ gpu_pbvh_exit();
+
if (!G.background) {
immDestroy();
}
@@ -80,7 +82,8 @@ void GPU_exit(void)
gpu_framebuffer_module_exit();
gpu_codegen_exit();
- gpu_extensions_exit(); /* must come last */
+ gpu_extensions_exit();
+ gpu_platform_exit(); /* must come last */
initialized = false;
}
diff --git a/source/blender/gpu/intern/gpu_platform.c b/source/blender/gpu/intern/gpu_platform.c
new file mode 100644
index 00000000000..871052bb070
--- /dev/null
+++ b/source/blender/gpu/intern/gpu_platform.c
@@ -0,0 +1,229 @@
+/*
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * The Original Code is Copyright (C) 2005 Blender Foundation.
+ * All rights reserved.
+ */
+
+/** \file
+ * \ingroup gpu
+ *
+ * Wrap OpenGL features such as textures, shaders and GLSL
+ * with checks for drivers and GPU support.
+ */
+#include "GPU_platform.h"
+#include "GPU_glew.h"
+#include "gpu_private.h"
+
+#include <string.h>
+
+#include "BLI_dynstr.h"
+#include "BLI_string.h"
+
+#include "MEM_guardedalloc.h"
+
+static struct GPUPlatformGlobal {
+ bool initialized;
+ eGPUDeviceType device;
+ eGPUOSType os;
+ eGPUDriverType driver;
+ eGPUSupportLevel support_level;
+ char *support_key;
+ char *gpu_name;
+} GPG = {false};
+
+typedef struct GPUPlatformSupportTest {
+ eGPUSupportLevel support_level;
+ eGPUDeviceType device;
+ eGPUOSType os;
+ eGPUDriverType driver;
+ const char *vendor;
+ const char *renderer;
+ const char *version;
+} GPUPlatformSupportTest;
+
+eGPUSupportLevel GPU_platform_support_level(void)
+{
+ return GPG.support_level;
+}
+
+const char *GPU_platform_support_level_key(void)
+{
+ return GPG.support_key;
+}
+
+const char *GPU_platform_gpu_name(void)
+{
+ return GPG.gpu_name;
+}
+
+/* GPU Types */
+bool GPU_type_matches(eGPUDeviceType device, eGPUOSType os, eGPUDriverType driver)
+{
+ return (GPG.device & device) && (GPG.os & os) && (GPG.driver & driver);
+}
+
+static char *gpu_platform_create_key(eGPUSupportLevel support_level,
+ const char *vendor,
+ const char *renderer,
+ const char *version)
+{
+ DynStr *ds = BLI_dynstr_new();
+ BLI_dynstr_append(ds, "{");
+ BLI_dynstr_append(ds, vendor);
+ BLI_dynstr_append(ds, "/");
+ BLI_dynstr_append(ds, renderer);
+ BLI_dynstr_append(ds, "/");
+ BLI_dynstr_append(ds, version);
+ BLI_dynstr_append(ds, "}");
+ BLI_dynstr_append(ds, "=");
+ if (support_level == GPU_SUPPORT_LEVEL_SUPPORTED) {
+ BLI_dynstr_append(ds, "SUPPORTED");
+ }
+ else if (support_level == GPU_SUPPORT_LEVEL_LIMITED) {
+ BLI_dynstr_append(ds, "LIMITED");
+ }
+ else {
+ BLI_dynstr_append(ds, "UNSUPPORTED");
+ }
+
+ char *support_key = BLI_dynstr_get_cstring(ds);
+ BLI_dynstr_free(ds);
+ BLI_str_replace_char(support_key, '\n', ' ');
+ BLI_str_replace_char(support_key, '\r', ' ');
+ return support_key;
+}
+
+static char *gpu_platform_create_gpu_name(const char *vendor,
+ const char *renderer,
+ const char *version)
+{
+ DynStr *ds = BLI_dynstr_new();
+ BLI_dynstr_append(ds, vendor);
+ BLI_dynstr_append(ds, " ");
+ BLI_dynstr_append(ds, renderer);
+ BLI_dynstr_append(ds, " ");
+ BLI_dynstr_append(ds, version);
+
+ char *gpu_name = BLI_dynstr_get_cstring(ds);
+ BLI_dynstr_free(ds);
+ BLI_str_replace_char(gpu_name, '\n', ' ');
+ BLI_str_replace_char(gpu_name, '\r', ' ');
+ return gpu_name;
+}
+
+void gpu_platform_init(void)
+{
+ if (GPG.initialized) {
+ return;
+ }
+
+#ifdef _WIN32
+ GPG.os = GPU_OS_WIN;
+#elif defined(__APPLE__)
+ GPG.os = GPU_OS_MAC;
+#else
+ GPG.os = GPU_OS_UNIX;
+#endif
+
+ const char *vendor = (const char *)glGetString(GL_VENDOR);
+ const char *renderer = (const char *)glGetString(GL_RENDERER);
+ const char *version = (const char *)glGetString(GL_VERSION);
+
+ if (strstr(vendor, "ATI") || strstr(vendor, "AMD")) {
+ GPG.device = GPU_DEVICE_ATI;
+ GPG.driver = GPU_DRIVER_OFFICIAL;
+ }
+ else if (strstr(vendor, "NVIDIA")) {
+ GPG.device = GPU_DEVICE_NVIDIA;
+ GPG.driver = GPU_DRIVER_OFFICIAL;
+ }
+ else if (strstr(vendor, "Intel") ||
+ /* src/mesa/drivers/dri/intel/intel_context.c */
+ strstr(renderer, "Mesa DRI Intel") || strstr(renderer, "Mesa DRI Mobile Intel")) {
+ GPG.device = GPU_DEVICE_INTEL;
+ GPG.driver = GPU_DRIVER_OFFICIAL;
+
+ if (strstr(renderer, "UHD Graphics") ||
+ /* Not UHD but affected by the same bugs. */
+ strstr(renderer, "HD Graphics 530") || strstr(renderer, "Kaby Lake GT2")) {
+ GPG.device |= GPU_DEVICE_INTEL_UHD;
+ }
+ }
+ else if ((strstr(renderer, "Mesa DRI R")) ||
+ (strstr(renderer, "Radeon") && strstr(vendor, "X.Org")) ||
+ (strstr(renderer, "AMD") && strstr(vendor, "X.Org")) ||
+ (strstr(renderer, "Gallium ") && strstr(renderer, " on ATI ")) ||
+ (strstr(renderer, "Gallium ") && strstr(renderer, " on AMD "))) {
+ GPG.device = GPU_DEVICE_ATI;
+ GPG.driver = GPU_DRIVER_OPENSOURCE;
+ }
+ else if (strstr(renderer, "Nouveau") || strstr(vendor, "nouveau")) {
+ GPG.device = GPU_DEVICE_NVIDIA;
+ GPG.driver = GPU_DRIVER_OPENSOURCE;
+ }
+ else if (strstr(vendor, "Mesa")) {
+ GPG.device = GPU_DEVICE_SOFTWARE;
+ GPG.driver = GPU_DRIVER_SOFTWARE;
+ }
+ else if (strstr(vendor, "Microsoft")) {
+ GPG.device = GPU_DEVICE_SOFTWARE;
+ GPG.driver = GPU_DRIVER_SOFTWARE;
+ }
+ else if (strstr(renderer, "Apple Software Renderer")) {
+ GPG.device = GPU_DEVICE_SOFTWARE;
+ GPG.driver = GPU_DRIVER_SOFTWARE;
+ }
+ else if (strstr(renderer, "llvmpipe") || strstr(renderer, "softpipe")) {
+ GPG.device = GPU_DEVICE_SOFTWARE;
+ GPG.driver = GPU_DRIVER_SOFTWARE;
+ }
+ else {
+ printf("Warning: Could not find a matching GPU name. Things may not behave as expected.\n");
+ printf("Detected OpenGL configuration:\n");
+ printf("Vendor: %s\n", vendor);
+ printf("Renderer: %s\n", renderer);
+ GPG.device = GPU_DEVICE_ANY;
+ GPG.driver = GPU_DRIVER_ANY;
+ }
+
+ /* Detect support level */
+ if (!GLEW_VERSION_3_3) {
+ GPG.support_level = GPU_SUPPORT_LEVEL_UNSUPPORTED;
+ }
+ else {
+ if (GPU_type_matches(GPU_DEVICE_INTEL, GPU_OS_WIN, GPU_DRIVER_ANY)) {
+ /* Old Intel drivers with known bugs that cause material properties to crash.
+ * Version Build 10.18.14.5067 is the latest available and appears to be working
+ * ok with our workarounds, so excluded from this list. */
+ if (strstr(version, "Build 7.14") || strstr(version, "Build 7.15") ||
+ strstr(version, "Build 8.15") || strstr(version, "Build 9.17") ||
+ strstr(version, "Build 9.18") || strstr(version, "Build 10.18.10.3") ||
+ strstr(version, "Build 10.18.10.4") || strstr(version, "Build 10.18.10.5") ||
+ strstr(version, "Build 10.18.14.4")) {
+ GPG.support_level = GPU_SUPPORT_LEVEL_LIMITED;
+ }
+ }
+ }
+ GPG.support_key = gpu_platform_create_key(GPG.support_level, vendor, renderer, version);
+ GPG.gpu_name = gpu_platform_create_gpu_name(vendor, renderer, version);
+ GPG.initialized = true;
+}
+
+void gpu_platform_exit(void)
+{
+ MEM_SAFE_FREE(GPG.support_key);
+ MEM_SAFE_FREE(GPG.gpu_name);
+}
diff --git a/source/blender/gpu/intern/gpu_private.h b/source/blender/gpu/intern/gpu_private.h
index 43b2da13e28..7846bff87f4 100644
--- a/source/blender/gpu/intern/gpu_private.h
+++ b/source/blender/gpu/intern/gpu_private.h
@@ -22,6 +22,10 @@
#define __GPU_PRIVATE_H__
/* call this before running any of the functions below */
+void gpu_platform_init(void);
+void gpu_platform_exit(void);
+
+/* call this before running any of the functions below */
void gpu_extensions_init(void);
void gpu_extensions_exit(void);
@@ -33,4 +37,8 @@ void gpu_debug_exit(void);
void gpu_framebuffer_module_init(void);
void gpu_framebuffer_module_exit(void);
+/* gpu_pbvh.c */
+void gpu_pbvh_init(void);
+void gpu_pbvh_exit(void);
+
#endif /* __GPU_PRIVATE_H__ */
diff --git a/source/blender/gpu/intern/gpu_shader.c b/source/blender/gpu/intern/gpu_shader.c
index 015df078228..5df73d1a0c6 100644
--- a/source/blender/gpu/intern/gpu_shader.c
+++ b/source/blender/gpu/intern/gpu_shader.c
@@ -36,6 +36,7 @@
#include "DNA_space_types.h"
#include "GPU_extensions.h"
+#include "GPU_platform.h"
#include "GPU_matrix.h"
#include "GPU_shader.h"
#include "GPU_texture.h"
diff --git a/source/blender/gpu/intern/gpu_texture.c b/source/blender/gpu/intern/gpu_texture.c
index a54d90f37f5..497fc13a2c8 100644
--- a/source/blender/gpu/intern/gpu_texture.c
+++ b/source/blender/gpu/intern/gpu_texture.c
@@ -38,6 +38,7 @@
#include "GPU_extensions.h"
#include "GPU_glew.h"
#include "GPU_framebuffer.h"
+#include "GPU_platform.h"
#include "GPU_texture.h"
#include "gpu_context_private.h"
diff --git a/source/blender/gpu/shaders/material/gpu_shader_material_mix_rgb.glsl b/source/blender/gpu/shaders/material/gpu_shader_material_mix_rgb.glsl
index abe6081489d..e089aec1d92 100644
--- a/source/blender/gpu/shaders/material/gpu_shader_material_mix_rgb.glsl
+++ b/source/blender/gpu/shaders/material/gpu_shader_material_mix_rgb.glsl
@@ -92,14 +92,14 @@ void mix_diff(float fac, vec4 col1, vec4 col2, out vec4 outcol)
void mix_dark(float fac, vec4 col1, vec4 col2, out vec4 outcol)
{
fac = clamp(fac, 0.0, 1.0);
- outcol.rgb = min(col1.rgb, col2.rgb * fac);
+ outcol.rgb = mix(col1.rgb, min(col1.rgb, col2.rgb), fac);
outcol.a = col1.a;
}
void mix_light(float fac, vec4 col1, vec4 col2, out vec4 outcol)
{
fac = clamp(fac, 0.0, 1.0);
- outcol.rgb = max(col1.rgb, col2.rgb * fac);
+ outcol.rgb = mix(col1.rgb, max(col1.rgb, col2.rgb), fac);
outcol.a = col1.a;
}
diff --git a/source/blender/gpu/shaders/material/gpu_shader_material_principled.glsl b/source/blender/gpu/shaders/material/gpu_shader_material_principled.glsl
index 140213a9ed9..7af409dd410 100644
--- a/source/blender/gpu/shaders/material/gpu_shader_material_principled.glsl
+++ b/source/blender/gpu/shaders/material/gpu_shader_material_principled.glsl
@@ -113,14 +113,14 @@ void node_bsdf_principled(vec4 base_color,
result = CLOSURE_DEFAULT;
result.radiance = out_spec + out_refr;
result.radiance += out_diff * out_sheen; /* Coarse approx. */
+ result.radiance += emission.rgb;
+ result.radiance *= alpha;
closure_load_ssr_data(ssr_spec * alpha, roughness, N, viewCameraVec, int(ssr_id), result);
mixed_ss_base_color *= alpha * (1.0 - transmission);
closure_load_sss_data(sss_scalef, out_diff, mixed_ss_base_color, int(sss_id), result);
- result.radiance += emission.rgb;
- result.radiance *= alpha;
result.transmittance = vec3(1.0 - alpha);
}
@@ -169,9 +169,11 @@ void node_bsdf_principled_dielectric(vec4 base_color,
result = CLOSURE_DEFAULT;
result.radiance = out_spec + out_diff * (diffuse + out_sheen);
- closure_load_ssr_data(ssr_spec * alpha, roughness, N, viewCameraVec, int(ssr_id), result);
result.radiance += emission.rgb;
result.radiance *= alpha;
+
+ closure_load_ssr_data(ssr_spec * alpha, roughness, N, viewCameraVec, int(ssr_id), result);
+
result.transmittance = vec3(1.0 - alpha);
}
@@ -213,9 +215,11 @@ void node_bsdf_principled_metallic(vec4 base_color,
result = CLOSURE_DEFAULT;
result.radiance = out_spec;
- closure_load_ssr_data(ssr_spec * alpha, roughness, N, viewCameraVec, int(ssr_id), result);
result.radiance += emission.rgb;
result.radiance *= alpha;
+
+ closure_load_ssr_data(ssr_spec * alpha, roughness, N, viewCameraVec, int(ssr_id), result);
+
result.transmittance = vec3(1.0 - alpha);
}
@@ -267,9 +271,11 @@ void node_bsdf_principled_clearcoat(vec4 base_color,
result = CLOSURE_DEFAULT;
result.radiance = out_spec;
- closure_load_ssr_data(ssr_spec * alpha, roughness, N, viewCameraVec, int(ssr_id), result);
result.radiance += emission.rgb;
result.radiance *= alpha;
+
+ closure_load_ssr_data(ssr_spec * alpha, roughness, N, viewCameraVec, int(ssr_id), result);
+
result.transmittance = vec3(1.0 - alpha);
}
@@ -333,14 +339,15 @@ void node_bsdf_principled_subsurface(vec4 base_color,
result = CLOSURE_DEFAULT;
result.radiance = out_spec;
+ result.radiance += out_diff * out_sheen;
+ result.radiance += emission.rgb;
+ result.radiance *= alpha;
+
closure_load_ssr_data(ssr_spec * alpha, roughness, N, viewCameraVec, int(ssr_id), result);
mixed_ss_base_color *= alpha * (1.0 - transmission);
closure_load_sss_data(sss_scalef, out_diff, mixed_ss_base_color, int(sss_id), result);
- result.radiance += out_diff * out_sheen;
- result.radiance += emission.rgb;
- result.radiance *= alpha;
result.transmittance = vec3(1.0 - alpha);
}
@@ -402,9 +409,9 @@ void node_bsdf_principled_glass(vec4 base_color,
result = CLOSURE_DEFAULT;
result.radiance = mix(out_refr, out_spec, fresnel);
- closure_load_ssr_data(ssr_spec * alpha, roughness, N, viewCameraVec, int(ssr_id), result);
result.radiance += emission.rgb;
result.radiance *= alpha;
+ closure_load_ssr_data(ssr_spec * alpha, roughness, N, viewCameraVec, int(ssr_id), result);
result.transmittance = vec3(1.0 - alpha);
}
#else
diff --git a/source/blender/imbuf/IMB_imbuf.h b/source/blender/imbuf/IMB_imbuf.h
index 6e49630dc46..173c8135f96 100644
--- a/source/blender/imbuf/IMB_imbuf.h
+++ b/source/blender/imbuf/IMB_imbuf.h
@@ -228,6 +228,8 @@ void IMB_blend_color_float(float dst[4],
void IMB_rect_crop(struct ImBuf *ibuf, const struct rcti *crop);
+void IMB_rect_size_set(struct ImBuf *ibuf, const uint size[2]);
+
void IMB_rectclip(struct ImBuf *dbuf,
const struct ImBuf *sbuf,
int *destx,
@@ -698,6 +700,8 @@ void imb_freemipmapImBuf(struct ImBuf *ibuf);
bool imb_addtilesImBuf(struct ImBuf *ibuf);
void imb_freetilesImBuf(struct ImBuf *ibuf);
+void imb_freerectImbuf_all(struct ImBuf *ibuf);
+
/* threaded processors */
void IMB_processor_apply_threaded(
int buffer_lines,
diff --git a/source/blender/imbuf/intern/allocimbuf.c b/source/blender/imbuf/intern/allocimbuf.c
index 75db3fd3c73..381de9de610 100644
--- a/source/blender/imbuf/intern/allocimbuf.c
+++ b/source/blender/imbuf/intern/allocimbuf.c
@@ -197,6 +197,17 @@ void IMB_freezbuffloatImBuf(ImBuf *ibuf)
ibuf->mall &= ~IB_zbuffloat;
}
+/** Free all pixel data (assosiated with image size). */
+void imb_freerectImbuf_all(ImBuf *ibuf)
+{
+ imb_freerectImBuf(ibuf);
+ imb_freerectfloatImBuf(ibuf);
+ imb_freetilesImBuf(ibuf);
+ IMB_freezbufImBuf(ibuf);
+ IMB_freezbuffloatImBuf(ibuf);
+ freeencodedbufferImBuf(ibuf);
+}
+
void IMB_freeImBuf(ImBuf *ibuf)
{
if (ibuf) {
@@ -212,12 +223,7 @@ void IMB_freeImBuf(ImBuf *ibuf)
BLI_spin_unlock(&refcounter_spin);
if (needs_free) {
- imb_freerectImBuf(ibuf);
- imb_freerectfloatImBuf(ibuf);
- imb_freetilesImBuf(ibuf);
- IMB_freezbufImBuf(ibuf);
- IMB_freezbuffloatImBuf(ibuf);
- freeencodedbufferImBuf(ibuf);
+ imb_freerectImbuf_all(ibuf);
IMB_metadata_free(ibuf->metadata);
colormanage_cache_free(ibuf);
diff --git a/source/blender/imbuf/intern/imageprocess.c b/source/blender/imbuf/intern/imageprocess.c
index 49e9c4c54d2..ec03a0a07b8 100644
--- a/source/blender/imbuf/intern/imageprocess.c
+++ b/source/blender/imbuf/intern/imageprocess.c
@@ -401,11 +401,6 @@ typedef struct ScanlineGlobalData {
int total_scanlines;
} ScanlineGlobalData;
-typedef struct ScanlineTask {
- int start_scanline;
- int num_scanlines;
-} ScanlineTask;
-
static void processor_apply_scanline_func(TaskPool *__restrict pool,
void *taskdata,
int UNUSED(threadid))
diff --git a/source/blender/imbuf/intern/indexer.c b/source/blender/imbuf/intern/indexer.c
index 97a0cc85301..46095b7eedc 100644
--- a/source/blender/imbuf/intern/indexer.c
+++ b/source/blender/imbuf/intern/indexer.c
@@ -366,7 +366,7 @@ void IMB_anim_get_fname(struct anim *anim, char *file, int size)
BLI_strncpy(file, fname, size);
}
-static void get_proxy_filename(struct anim *anim,
+static bool get_proxy_filename(struct anim *anim,
IMB_Proxy_Size preview_size,
char *fname,
bool temp)
@@ -393,7 +393,12 @@ static void get_proxy_filename(struct anim *anim,
get_index_dir(anim, index_dir, sizeof(index_dir));
+ if (BLI_path_ncmp(anim->name, index_dir, FILE_MAXDIR) == 0) {
+ return false;
+ }
+
BLI_join_dirfile(fname, FILE_MAXFILE + FILE_MAXDIR, index_dir, proxy_name);
+ return true;
}
static void get_tc_filename(struct anim *anim, IMB_Timecode_Type tc, char *fname)
@@ -1154,8 +1159,9 @@ IndexBuildContext *IMB_anim_index_rebuild_context(struct anim *anim,
IMB_Proxy_Size proxy_size = proxy_sizes[i];
if (proxy_size & proxy_sizes_to_build) {
char filename[FILE_MAX];
- get_proxy_filename(anim, proxy_size, filename, false);
-
+ if (get_proxy_filename(anim, proxy_size, filename, false) == false) {
+ return NULL;
+ }
void **filename_key_p;
if (!BLI_gset_ensure_p_ex(file_list, filename, &filename_key_p)) {
*filename_key_p = BLI_strdup(filename);
@@ -1176,7 +1182,9 @@ IndexBuildContext *IMB_anim_index_rebuild_context(struct anim *anim,
IMB_Proxy_Size proxy_size = proxy_sizes[i];
if (proxy_size & built_proxies) {
char filename[FILE_MAX];
- get_proxy_filename(anim, proxy_size, filename, false);
+ if (get_proxy_filename(anim, proxy_size, filename, false) == false) {
+ return NULL;
+ }
printf("Skipping proxy: %s\n", filename);
}
}
diff --git a/source/blender/imbuf/intern/jp2.c b/source/blender/imbuf/intern/jp2.c
index 3bf97cb851f..e361df1304a 100644
--- a/source/blender/imbuf/intern/jp2.c
+++ b/source/blender/imbuf/intern/jp2.c
@@ -83,7 +83,7 @@ static OPJ_CODEC_FORMAT format_from_header(const unsigned char mem[JP2_FILEHEADE
int imb_is_a_jp2(const unsigned char *buf)
{
- return check_jp2(buf);
+ return (check_jp2(buf) || check_j2k(buf));
}
/**
diff --git a/source/blender/imbuf/intern/rectop.c b/source/blender/imbuf/intern/rectop.c
index b8ea6c2ea03..7150e41841b 100644
--- a/source/blender/imbuf/intern/rectop.c
+++ b/source/blender/imbuf/intern/rectop.c
@@ -262,7 +262,7 @@ void IMB_rect_crop(ImBuf *ibuf, const rcti *crop)
BLI_rcti_size_x(crop) + 1,
BLI_rcti_size_y(crop) + 1,
};
- BLI_assert(size_dst[0] > 0 && size_dst[0] > 0);
+ BLI_assert(size_dst[0] > 0 && size_dst[1] > 0);
BLI_assert(crop->xmin >= 0 && crop->ymin >= 0);
BLI_assert(crop->xmax < ibuf->x && crop->ymax < ibuf->y);
@@ -279,6 +279,45 @@ void IMB_rect_crop(ImBuf *ibuf, const rcti *crop)
ibuf->y = size_dst[1];
}
+/** Re-alloc buffers at a new size */
+
+static void rect_realloc_4bytes(void **buf_p, const uint size[2])
+{
+ if (*buf_p == NULL) {
+ return;
+ }
+ MEM_freeN(*buf_p);
+ *buf_p = MEM_mallocN(sizeof(uint) * size[0] * size[1], __func__);
+}
+
+static void rect_realloc_16bytes(void **buf_p, const uint size[2])
+{
+ if (*buf_p == NULL) {
+ return;
+ }
+ MEM_freeN(*buf_p);
+ *buf_p = MEM_mallocN(sizeof(uint[4]) * size[0] * size[1], __func__);
+}
+
+/**
+ * In-place size setting (caller must fill in buffer contents).
+ */
+void IMB_rect_size_set(ImBuf *ibuf, const uint size[2])
+{
+ BLI_assert(size[0] > 0 && size[1] > 0);
+ if ((size[0] == ibuf->x) && (size[1] == ibuf->y)) {
+ return;
+ }
+
+ rect_realloc_4bytes((void **)&ibuf->rect, size);
+ rect_realloc_4bytes((void **)&ibuf->zbuf, size);
+ rect_realloc_4bytes((void **)&ibuf->zbuf_float, size);
+ rect_realloc_16bytes((void **)&ibuf->rect_float, size);
+
+ ibuf->x = size[0];
+ ibuf->y = size[1];
+}
+
/* clipping */
void IMB_rectclip(ImBuf *dbuf,
diff --git a/source/blender/imbuf/intern/util.c b/source/blender/imbuf/intern/util.c
index c5bae4ddbad..27b566e25a2 100644
--- a/source/blender/imbuf/intern/util.c
+++ b/source/blender/imbuf/intern/util.c
@@ -252,6 +252,8 @@ static int isffmpeg(const char *filename)
if (BLI_path_extension_check_n(filename,
".swf",
".jpg",
+ ".jp2",
+ ".j2c",
".png",
".dds",
".tga",
diff --git a/source/blender/makesdna/DNA_ID.h b/source/blender/makesdna/DNA_ID.h
index a6212e09567..f303f7720c3 100644
--- a/source/blender/makesdna/DNA_ID.h
+++ b/source/blender/makesdna/DNA_ID.h
@@ -697,6 +697,14 @@ enum {
FILTER_ID_LP = (1u << 31),
};
+#define FILTER_ID_ALL \
+ (FILTER_ID_AC | FILTER_ID_AR | FILTER_ID_BR | FILTER_ID_CA | FILTER_ID_CU | FILTER_ID_GD | \
+ FILTER_ID_GR | FILTER_ID_IM | FILTER_ID_LA | FILTER_ID_LS | FILTER_ID_LT | FILTER_ID_MA | \
+ FILTER_ID_MB | FILTER_ID_MC | FILTER_ID_ME | FILTER_ID_MSK | FILTER_ID_NT | FILTER_ID_OB | \
+ FILTER_ID_PA | FILTER_ID_PAL | FILTER_ID_PC | FILTER_ID_SCE | FILTER_ID_SPK | FILTER_ID_SO | \
+ FILTER_ID_TE | FILTER_ID_TXT | FILTER_ID_VF | FILTER_ID_WO | FILTER_ID_CF | FILTER_ID_WS | \
+ FILTER_ID_LP)
+
/* IMPORTANT: this enum matches the order currently use in set_listbasepointers,
* keep them in sync! */
enum {
diff --git a/source/blender/makesdna/DNA_armature_types.h b/source/blender/makesdna/DNA_armature_types.h
index 68241df3f93..3bad2a04a65 100644
--- a/source/blender/makesdna/DNA_armature_types.h
+++ b/source/blender/makesdna/DNA_armature_types.h
@@ -126,11 +126,13 @@ typedef struct bArmature {
/** Active editbone (in editmode). */
struct EditBone *act_edbone;
+ /** ID data is older than edit-mode data (TODO: move to edit-mode struct). */
+ char needs_flush_to_id;
+ char _pad0[7];
+
int flag;
int drawtype;
- /** How vertex deformation is handled in the ge. */
- int gevertdeformer;
- char _pad[4];
+
short deformflag;
short pathflag;
@@ -175,12 +177,6 @@ typedef enum eArmature_Drawtype {
ARM_WIRE = 4,
} eArmature_Drawtype;
-/* armature->gevertdeformer */
-typedef enum eArmature_VertDeformer {
- ARM_VDEF_BLENDER = 0,
- ARM_VDEF_BGE_CPU = 1,
-} eArmature_VertDeformer;
-
/* armature->deformflag */
typedef enum eArmature_DeformFlag {
ARM_DEF_VGROUP = (1 << 0),
diff --git a/source/blender/makesdna/DNA_brush_defaults.h b/source/blender/makesdna/DNA_brush_defaults.h
index cf4e74dfd41..b2d4124a348 100644
--- a/source/blender/makesdna/DNA_brush_defaults.h
+++ b/source/blender/makesdna/DNA_brush_defaults.h
@@ -34,13 +34,14 @@
{ \
.blend = 0, \
.flag = (BRUSH_ALPHA_PRESSURE | BRUSH_SPACE | BRUSH_SPACE_ATTEN), \
+ .sampling_flag = (BRUSH_PAINT_ANTIALIASING), \
\
.ob_mode = OB_MODE_ALL_PAINT, \
\
/* BRUSH SCULPT TOOL SETTINGS */ \
.weight = 1.0f, /* weight of brush 0 - 1.0 */ \
.size = 35, /* radius of the brush in pixels */ \
- .alpha = 0.5f, /* brush strength/intensity probably variable should be renamed? */ \
+ .alpha = 1.0f, /* brush strength/intensity probably variable should be renamed? */ \
.autosmooth_factor = 0.0f, \
.topology_rake_factor = 0.0f, \
.crease_pinch_factor = 0.5f, \
diff --git a/source/blender/makesdna/DNA_brush_types.h b/source/blender/makesdna/DNA_brush_types.h
index 06e93a3af1f..63fbf576bba 100644
--- a/source/blender/makesdna/DNA_brush_types.h
+++ b/source/blender/makesdna/DNA_brush_types.h
@@ -245,8 +245,9 @@ typedef struct Brush {
float weight;
/** Brush diameter. */
int size;
- /** General purpose flag. */
+ /** General purpose flags. */
int flag;
+ int sampling_flag;
/** Pressure influence for mask. */
int mask_pressure;
/** Jitter the position of the brush. */
@@ -283,7 +284,7 @@ typedef struct Brush {
/** Source for fill tool color gradient application. */
char gradient_fill_mode;
- char _pad;
+ char _pad[5];
/** Projection shape (sphere, circle). */
char falloff_shape;
float falloff_angle;
@@ -321,11 +322,12 @@ typedef struct Brush {
int curve_preset;
int automasking_flags;
- char _pad1[4];
-
int elastic_deform_type;
float elastic_deform_volume_preservation;
+ /* pose */
+ float pose_offset;
+
/* overlay */
int texture_overlay_alpha;
int mask_overlay_alpha;
@@ -434,6 +436,11 @@ typedef enum eBrushFlags {
BRUSH_CURVE = (1u << 31),
} eBrushFlags;
+/* Brush.sampling_flag */
+typedef enum eBrushSamplingFlags {
+ BRUSH_PAINT_ANTIALIASING = (1 << 0),
+} eBrushSamplingFlags;
+
typedef enum {
BRUSH_MASK_PRESSURE_RAMP = (1 << 1),
BRUSH_MASK_PRESSURE_CUTOFF = (1 << 2),
@@ -498,9 +505,11 @@ typedef enum eBrushUVSculptTool {
SCULPT_TOOL_CLAY, \
SCULPT_TOOL_CLAY_STRIPS, \
SCULPT_TOOL_ROTATE, \
+ SCULPT_TOOL_SCRAPE, \
SCULPT_TOOL_FLATTEN)
-#define SCULPT_TOOL_HAS_NORMAL_WEIGHT(t) ELEM(t, SCULPT_TOOL_GRAB, SCULPT_TOOL_SNAKE_HOOK)
+#define SCULPT_TOOL_HAS_NORMAL_WEIGHT(t) \
+ ELEM(t, SCULPT_TOOL_GRAB, SCULPT_TOOL_SNAKE_HOOK, SCULPT_TOOL_ELASTIC_DEFORM)
#define SCULPT_TOOL_HAS_RAKE(t) ELEM(t, SCULPT_TOOL_SNAKE_HOOK)
diff --git a/source/blender/makesdna/DNA_constraint_types.h b/source/blender/makesdna/DNA_constraint_types.h
index 83fc4d2a3f7..d7b392d5133 100644
--- a/source/blender/makesdna/DNA_constraint_types.h
+++ b/source/blender/makesdna/DNA_constraint_types.h
@@ -930,7 +930,7 @@ typedef enum eStretchTo_VolMode {
/* Stretch To Constraint -> plane mode */
typedef enum eStretchTo_PlaneMode {
PLANE_X = 0,
- PLANE_Y = 1,
+ SWING_Y = 1,
PLANE_Z = 2,
} eStretchTo_PlaneMode;
diff --git a/source/blender/makesdna/DNA_curve_types.h b/source/blender/makesdna/DNA_curve_types.h
index 919ad598cec..13eaa8925bc 100644
--- a/source/blender/makesdna/DNA_curve_types.h
+++ b/source/blender/makesdna/DNA_curve_types.h
@@ -32,7 +32,6 @@
#define MAXTEXTBOX 256 /* used in readfile.c and editfont.c */
struct AnimData;
-struct BoundBox;
struct EditFont;
struct GHash;
struct Ipo;
@@ -194,6 +193,9 @@ typedef struct TextBox {
float x, y, w, h;
} TextBox;
+/* These two Lines with # tell makesdna this struct can be excluded. */
+#
+#
typedef struct EditNurb {
/* base of nurbs' list (old Curve->editnurb) */
ListBase nurbs;
@@ -204,7 +206,12 @@ typedef struct EditNurb {
/* shape key being edited */
int shapenr;
- char _pad[4];
+ /**
+ * ID data is older than edit-mode data.
+ * Set #Main.is_memfile_undo_flush_needed when enabling.
+ */
+ char needs_flush_to_id;
+
} EditNurb;
typedef struct Curve {
diff --git a/source/blender/makesdna/DNA_gpencil_types.h b/source/blender/makesdna/DNA_gpencil_types.h
index 2dffdf82688..33dfe66a151 100644
--- a/source/blender/makesdna/DNA_gpencil_types.h
+++ b/source/blender/makesdna/DNA_gpencil_types.h
@@ -401,6 +401,8 @@ typedef enum eGPDlayer_Flag {
GP_LAYER_USE_MASK = (1 << 13),
/* Flag used to display in Paint mode only layers with keyframe */
GP_LAYER_SOLO_MODE = (1 << 4),
+ /* Ruler Layer */
+ GP_LAYER_IS_RULER = (1 << 14),
} eGPDlayer_Flag;
/* bGPDlayer->onion_flag */
@@ -445,17 +447,16 @@ typedef struct bGPdata_Runtime {
* - buffer must be initialized before use, but freed after
* whole paint operation is over
*/
- /** Number of elements currently used in cache. */
- short sbuffer_used;
/** Flags for stroke that cache represents. */
short sbuffer_sflag;
+ /** Number of elements currently used in cache. */
+ int sbuffer_used;
/** Number of total elements available in cache. */
- short sbuffer_size;
- char _pad[4];
+ int sbuffer_size;
/** Number of control-points for stroke. */
int tot_cp_points;
- char _pad1_[4];
+ char _pad_[4];
/** Array of control-points for stroke. */
bGPDcontrolpoint *cp_points;
} bGPdata_Runtime;
diff --git a/source/blender/makesdna/DNA_gpu_types.h b/source/blender/makesdna/DNA_gpu_types.h
index 8cab90b0a46..7d56baf86a4 100644
--- a/source/blender/makesdna/DNA_gpu_types.h
+++ b/source/blender/makesdna/DNA_gpu_types.h
@@ -24,6 +24,7 @@
#ifndef __DNA_GPU_TYPES_H__
#define __DNA_GPU_TYPES_H__
+/* Keep for 'Camera' versioning. */
/** Properties for dof effect. */
typedef struct GPUDOFSettings {
/** Focal distance for depth of field. */
@@ -37,29 +38,4 @@ typedef struct GPUDOFSettings {
int high_quality;
} GPUDOFSettings;
-/** Properties for SSAO effect. */
-typedef struct GPUSSAOSettings {
- float factor;
- float color[3];
- float distance_max;
- float attenuation;
- /** Ray samples, we use presets here for easy control instead of. */
- int samples;
- char _pad[4];
-} GPUSSAOSettings;
-
-typedef struct GPUFXSettings {
- GPUDOFSettings *dof;
- GPUSSAOSettings *ssao;
- /** #eGPUFXFlags. */
- char fx_flag;
- char _pad[7];
-} GPUFXSettings;
-
-/* shaderfx enables */
-typedef enum eGPUFXFlags {
- GPU_FX_FLAG_DOF = (1 << 0),
- GPU_FX_FLAG_SSAO = (1 << 1),
-} eGPUFXFlags;
-
#endif /* __DNA_GPU_TYPES_H__ */
diff --git a/source/blender/makesdna/DNA_lattice_types.h b/source/blender/makesdna/DNA_lattice_types.h
index 3864593158d..f67553c34de 100644
--- a/source/blender/makesdna/DNA_lattice_types.h
+++ b/source/blender/makesdna/DNA_lattice_types.h
@@ -39,6 +39,12 @@ typedef struct EditLatt {
struct Lattice *latt;
int shapenr;
+
+ /**
+ * ID data is older than edit-mode data.
+ * Set #Main.is_memfile_undo_flush_needed when enabling.
+ */
+ char needs_flush_to_id;
} EditLatt;
typedef struct Lattice {
diff --git a/source/blender/makesdna/DNA_layer_types.h b/source/blender/makesdna/DNA_layer_types.h
index 3af1da46f80..4de98e0b684 100644
--- a/source/blender/makesdna/DNA_layer_types.h
+++ b/source/blender/makesdna/DNA_layer_types.h
@@ -118,13 +118,13 @@ enum {
BASE_HIDDEN = (1 << 8), /* Object is hidden for editing. */
/* Runtime evaluated flags. */
- BASE_VISIBLE = (1 << 1), /* Object is enabled and visible. */
- BASE_SELECTABLE = (1 << 2), /* Object can be selected. */
- BASE_FROM_DUPLI = (1 << 3), /* Object comes from duplicator. */
- /* BASE_DEPRECATED = (1 << 4), */
- BASE_FROM_SET = (1 << 5), /* Object comes from set. */
- BASE_ENABLED_VIEWPORT = (1 << 6), /* Object is enabled in viewport. */
- BASE_ENABLED_RENDER = (1 << 7), /* Object is enabled in final render */
+ BASE_VISIBLE_DEPSGRAPH = (1 << 1), /* Object is enabled and visible for the depsgraph. */
+ BASE_SELECTABLE = (1 << 2), /* Object can be selected. */
+ BASE_FROM_DUPLI = (1 << 3), /* Object comes from duplicator. */
+ BASE_VISIBLE_VIEWLAYER = (1 << 4), /* Object is enabled and visible for the viewlayer. */
+ BASE_FROM_SET = (1 << 5), /* Object comes from set. */
+ BASE_ENABLED_VIEWPORT = (1 << 6), /* Object is enabled in viewport. */
+ BASE_ENABLED_RENDER = (1 << 7), /* Object is enabled in final render */
/* BASE_DEPRECATED = (1 << 9), */
BASE_HOLDOUT = (1 << 10), /* Object masked out from render */
BASE_INDIRECT_ONLY = (1 << 11), /* Object only contributes indirectly to render */
@@ -142,10 +142,13 @@ enum {
LAYER_COLLECTION_HIDE = (1 << 7),
};
-/* Layer Collection->runtime_flag */
+/* Layer Collection->runtime_flag
+ Keep it synced with base->flag based on g_base_collection_flags. */
enum {
LAYER_COLLECTION_HAS_OBJECTS = (1 << 0),
- LAYER_COLLECTION_VISIBLE = (1 << 1),
+ LAYER_COLLECTION_VISIBLE_DEPSGRAPH = (1 << 1),
+ LAYER_COLLECTION_RESTRICT_VIEWPORT = (1 << 2),
+ LAYER_COLLECTION_VISIBLE_VIEW_LAYER = (1 << 4),
};
/* ViewLayer->flag */
diff --git a/source/blender/makesdna/DNA_mesh_defaults.h b/source/blender/makesdna/DNA_mesh_defaults.h
index 40b8e2c9247..f605827d120 100644
--- a/source/blender/makesdna/DNA_mesh_defaults.h
+++ b/source/blender/makesdna/DNA_mesh_defaults.h
@@ -34,6 +34,8 @@
.smoothresh = DEG2RADF(30), \
.texflag = ME_AUTOSPACE, \
.remesh_voxel_size = 0.1f, \
+ .remesh_voxel_adaptivity = 0.0f, \
+ .flag = ME_REMESH_FIX_POLES | ME_REMESH_REPROJECT_VOLUME, \
}
/** \} */
diff --git a/source/blender/makesdna/DNA_mesh_types.h b/source/blender/makesdna/DNA_mesh_types.h
index e77a535ab7a..fb9e522dfa9 100644
--- a/source/blender/makesdna/DNA_mesh_types.h
+++ b/source/blender/makesdna/DNA_mesh_types.h
@@ -190,8 +190,9 @@ typedef struct Mesh {
short totcol;
float remesh_voxel_size;
+ float remesh_voxel_adaptivity;
char remesh_mode;
- char _pad1[7];
+ char _pad1[3];
/** Deprecated multiresolution modeling data, only keep for loading old files. */
struct Multires *mr DNA_DEPRECATED;
@@ -251,6 +252,8 @@ enum {
ME_SCULPT_DYNAMIC_TOPOLOGY = 1 << 10,
ME_REMESH_SMOOTH_NORMALS = 1 << 11,
ME_REMESH_REPROJECT_PAINT_MASK = 1 << 12,
+ ME_REMESH_FIX_POLES = 1 << 13,
+ ME_REMESH_REPROJECT_VOLUME = 1 << 14,
};
/* me->cd_flag */
diff --git a/source/blender/makesdna/DNA_meta_types.h b/source/blender/makesdna/DNA_meta_types.h
index c98842eb6d7..8b218dd7ce6 100644
--- a/source/blender/makesdna/DNA_meta_types.h
+++ b/source/blender/makesdna/DNA_meta_types.h
@@ -81,7 +81,13 @@ typedef struct MetaBall {
short totcol;
/** Used to store MB_AUTOSPACE. */
short texflag;
- char _pad[2];
+ char _pad[1];
+
+ /**
+ * ID data is older than edit-mode data (TODO: move to edit-mode struct).
+ * Set #Main.is_memfile_undo_flush_needed when enabling.
+ */
+ char needs_flush_to_id;
/* texture space, copied as one block in editobject.c */
float loc[3];
diff --git a/source/blender/makesdna/DNA_modifier_types.h b/source/blender/makesdna/DNA_modifier_types.h
index 06130929b57..15f87328a50 100644
--- a/source/blender/makesdna/DNA_modifier_types.h
+++ b/source/blender/makesdna/DNA_modifier_types.h
@@ -1116,7 +1116,13 @@ typedef struct SolidifyModifierData {
float offset_fac_vg;
/** Clamp offset based on surrounding geometry. */
float offset_clamp;
- char _pad[4];
+ char mode;
+
+ /** Variables for #MOD_SOLIDIFY_MODE_NONMANIFOLD. */
+ char nonmanifold_offset_mode;
+ char nonmanifold_boundary_mode;
+
+ char _pad;
float crease_inner;
float crease_outer;
float crease_rim;
@@ -1125,6 +1131,7 @@ typedef struct SolidifyModifierData {
short mat_ofs_rim;
} SolidifyModifierData;
+/** #SolidifyModifierData.flag */
enum {
MOD_SOLIDIFY_RIM = (1 << 0),
MOD_SOLIDIFY_EVEN = (1 << 1),
@@ -1135,6 +1142,27 @@ enum {
#endif
MOD_SOLIDIFY_FLIP = (1 << 5),
MOD_SOLIDIFY_NOSHELL = (1 << 6),
+ MOD_SOLIDIFY_OFFSET_ANGLE_CLAMP = (1 << 7),
+};
+
+/** #SolidifyModifierData.mode */
+enum {
+ MOD_SOLIDIFY_MODE_EXTRUDE = 0,
+ MOD_SOLIDIFY_MODE_NONMANIFOLD = 1,
+};
+
+/** #SolidifyModifierData.nonmanifold_offset_mode */
+enum {
+ MOD_SOLIDIFY_NONMANIFOLD_OFFSET_MODE_FIXED = 0,
+ MOD_SOLIDIFY_NONMANIFOLD_OFFSET_MODE_EVEN = 1,
+ MOD_SOLIDIFY_NONMANIFOLD_OFFSET_MODE_CONSTRAINTS = 2,
+};
+
+/** #SolidifyModifierData.nonmanifold_boundary_mode */
+enum {
+ MOD_SOLIDIFY_NONMANIFOLD_BOUNDARY_MODE_NONE = 0,
+ MOD_SOLIDIFY_NONMANIFOLD_BOUNDARY_MODE_ROUND = 1,
+ MOD_SOLIDIFY_NONMANIFOLD_BOUNDARY_MODE_FLAT = 2,
};
typedef struct ScrewModifierData {
diff --git a/source/blender/makesdna/DNA_movieclip_types.h b/source/blender/makesdna/DNA_movieclip_types.h
index efda24d6e0e..8de79d9ea2b 100644
--- a/source/blender/makesdna/DNA_movieclip_types.h
+++ b/source/blender/makesdna/DNA_movieclip_types.h
@@ -97,7 +97,7 @@ typedef struct MovieClip {
struct MovieTracking tracking;
/**
* Context of tracking job used to synchronize data
- * like framenumber in SpaceClip clip user.
+ * like frame-number in SpaceClip clip user.
*/
void *tracking_context;
diff --git a/source/blender/makesdna/DNA_node_types.h b/source/blender/makesdna/DNA_node_types.h
index 0287a1510fe..7eecf23195a 100644
--- a/source/blender/makesdna/DNA_node_types.h
+++ b/source/blender/makesdna/DNA_node_types.h
@@ -277,7 +277,9 @@ typedef struct bNode {
/** Used at runtime when going through the tree. Initialize before use. */
short tmp_flag;
/** Used at runtime to tag derivatives branches. EEVEE only. */
- short branch_tag;
+ char branch_tag;
+ /** Used at runtime when iterating over node branches. */
+ char iter_flag;
/** Runtime during drawing. */
struct uiBlock *block;
@@ -433,7 +435,7 @@ typedef struct bNodeTree {
int flag;
/** Update flags. */
int update;
- /** Flag to prevent reentrant update calls. */
+ /** Flag to prevent re-entrant update calls. */
short is_updating;
/** Generic temporary flag for recursion check (DFS/BFS). */
short done;
diff --git a/source/blender/makesdna/DNA_scene_types.h b/source/blender/makesdna/DNA_scene_types.h
index ca572f1ddf1..2ca9e3b2ef7 100644
--- a/source/blender/makesdna/DNA_scene_types.h
+++ b/source/blender/makesdna/DNA_scene_types.h
@@ -39,7 +39,6 @@ extern "C" {
#include "DNA_listBase.h"
#include "DNA_ID.h"
#include "DNA_freestyle_types.h"
-#include "DNA_gpu_types.h"
#include "DNA_collection_types.h"
#include "DNA_layer_types.h"
#include "DNA_material_types.h"
@@ -1976,14 +1975,7 @@ extern const char *RE_engine_id_CYCLES;
#define MINAFRAME -1048574
#define MINAFRAMEF -1048574.0f
-#define BASE_VISIBLE(v3d, base) \
- (((v3d == NULL) || ((v3d)->localvd == NULL) || \
- ((v3d)->local_view_uuid & (base)->local_view_bits)) && \
- ((v3d == NULL) || (((v3d)->flag & V3D_LOCAL_COLLECTIONS) == 0) || \
- ((v3d)->local_collections_uuid & (base)->local_collections_bits)) && \
- ((v3d == NULL) || \
- (((1 << (base)->object->type) & (v3d)->object_type_exclude_viewport) == 0)) && \
- (((base)->flag & BASE_VISIBLE) != 0))
+#define BASE_VISIBLE(v3d, base) BKE_base_is_visible(v3d, base)
#define BASE_SELECTABLE(v3d, base) \
(BASE_VISIBLE(v3d, base) && \
((v3d == NULL) || (((1 << (base)->object->type) & (v3d)->object_type_exclude_select) == 0)) && \
@@ -2043,6 +2035,7 @@ enum {
#define SCE_SNAP_PROJECT (1 << 3)
#define SCE_SNAP_NO_SELF (1 << 4)
#define SCE_SNAP_ABS_GRID (1 << 5)
+#define SCE_SNAP_BACKFACE_CULLING (1 << 6)
/* ToolSettings.snap_target */
#define SCE_SNAP_TARGET_CLOSEST 0
diff --git a/source/blender/makesdna/DNA_screen_types.h b/source/blender/makesdna/DNA_screen_types.h
index bf491e2eaea..ec42e9bd04f 100644
--- a/source/blender/makesdna/DNA_screen_types.h
+++ b/source/blender/makesdna/DNA_screen_types.h
@@ -461,9 +461,10 @@ enum {
/** Update size of regions within the area. */
AREA_FLAG_REGION_SIZE_UPDATE = (1 << 3),
AREA_FLAG_ACTIVE_TOOL_UPDATE = (1 << 4),
+
// AREA_FLAG_UNUSED_5 = (1 << 5),
- /** Used to check if we should switch back to prevspace (of a different type). */
- AREA_FLAG_TEMP_TYPE = (1 << 6),
+ AREA_FLAG_UNUSED_6 = (1 << 6), /* cleared */
+
/**
* For temporary full-screens (file browser, image editor render)
* that are opened above user set full-screens.
diff --git a/source/blender/makesdna/DNA_space_types.h b/source/blender/makesdna/DNA_space_types.h
index 3be3daa8dfb..82f6da8bb46 100644
--- a/source/blender/makesdna/DNA_space_types.h
+++ b/source/blender/makesdna/DNA_space_types.h
@@ -79,6 +79,22 @@ typedef struct SpaceLink {
char _pad0[6];
} SpaceLink;
+/* SpaceLink.link_flag */
+enum {
+ /**
+ * The space is not a regular one opened through the editor menu (for example) but spawned by an
+ * operator to fulfill some task and then disappear again. Can typically be cancelled using Esc,
+ * but that is handled on the editor level. */
+ SPACE_FLAG_TYPE_TEMPORARY = (1 << 0),
+ /**
+ * Used to mark a space as active but "overlapped" by temporary fullscreen spaces. Without this
+ * we wouldn't be able to restore the correct active space after closing temp fullscreens
+ * reliably if the same space type is opened twice in a fullscreen stack (see T19296). We don't
+ * actually open the same space twice, we have to pretend it is by managing area order carefully.
+ */
+ SPACE_FLAG_TYPE_WAS_ACTIVE = (1 << 1),
+};
+
/** \} */
/* -------------------------------------------------------------------- */
@@ -676,10 +692,9 @@ typedef struct FileSelectParams {
short sort;
/** Display mode flag. */
short display;
- short display_previous;
/** Details toggles (file size, creation date, etc.) */
char details_flags;
- char _pad2;
+ char _pad2[3];
/** Filter when (flags & FILE_FILTER) is true. */
int filter;
diff --git a/source/blender/makesdna/DNA_userdef_types.h b/source/blender/makesdna/DNA_userdef_types.h
index 4006cbc977e..eae7a9f262f 100644
--- a/source/blender/makesdna/DNA_userdef_types.h
+++ b/source/blender/makesdna/DNA_userdef_types.h
@@ -394,6 +394,8 @@ typedef struct ThemeSpace {
/** NLA - warning color for duplicate instances of tweaking strip. */
unsigned char nla_tweakdupli[4];
+ /** NLA "Track" */
+ unsigned char nla_track[4];
/** NLA "Transition" strips. */
unsigned char nla_transition[4], nla_transition_sel[4];
/** NLA "Meta" strips. */
@@ -414,7 +416,6 @@ typedef struct ThemeSpace {
unsigned char metadatabg[4];
unsigned char metadatatext[4];
- char _pad2[4];
} ThemeSpace;
/* set of colors for use as a custom color set for Objects/Bones wire drawing */
@@ -577,6 +578,33 @@ typedef struct UserDef_SpaceData {
char _pad0[6];
} UserDef_SpaceData;
+/**
+ * Storage for UI data that to keep it even after the window was closed. (Similar to
+ * #UserDef_SpaceData.)
+ */
+typedef struct UserDef_FileSpaceData {
+ int display_type; /* FileSelectParams.display */
+ int thumbnail_size; /* FileSelectParams.thumbnail_size */
+ int sort_type; /* FileSelectParams.sort */
+ int details_flags; /* FileSelectParams.details_flags */
+ int flag; /* FileSelectParams.flag */
+ int filter_id; /* FileSelectParams.filter_id */
+
+ /** Info used when creating the file browser in a temporary window. */
+ int temp_win_sizex;
+ int temp_win_sizey;
+} UserDef_FileSpaceData;
+
+/**
+ * Store UI data here instead of the space
+ * since the space is typically a window which is freed.
+ */
+typedef struct UserDef_Experimental {
+ /** #eUserPref_Experimental_Flag options. */
+ int flag;
+ char _pad0[4];
+} UserDef_Experimental;
+
typedef struct UserDef {
/** UserDef has separate do-version handling, and can be read from other files. */
int versionfile, subversionfile;
@@ -588,7 +616,8 @@ typedef struct UserDef {
/** #eUserPref_PrefFlag preferences for the preferences. */
char pref_flag;
char savetime;
- char _pad4[4];
+ char mouse_emulate_3_button_modifier;
+ char _pad4[3];
/** FILE_MAXDIR length. */
char tempdir[768];
char fontdir[768];
@@ -708,11 +737,13 @@ typedef struct UserDef {
short curssize;
/** #eColorPicker_Types. */
short color_picker_type;
+ /** Curve smoothing type for newly added F-Curves. */
+ char auto_smoothing_new;
/** Interpolation mode for newly added F-Curves. */
char ipo_new;
/** Handle types for newly added keyframes. */
char keyhandles_new;
- char _pad11[3];
+ char _pad11[2];
/** #eZoomFrame_Mode. */
char view_frame_type;
@@ -823,6 +854,9 @@ typedef struct UserDef {
/** The UI for the user preferences. */
UserDef_SpaceData space_data;
+ UserDef_FileSpaceData file_space_data;
+
+ UserDef_Experimental experimental;
/** Runtime data (keep last). */
UserDef_Runtime runtime;
@@ -856,6 +890,7 @@ typedef enum eUserPref_Section {
USER_SECTION_ANIMATION = 13,
USER_SECTION_NAVIGATION = 14,
USER_SECTION_FILE_PATHS = 15,
+ USER_SECTION_EXPERIMENTAL = 16,
} eUserPref_Section;
/** #UserDef_SpaceData.flag (State of the user preferences UI). */
@@ -865,6 +900,11 @@ typedef enum eUserPref_SpaceData_Flag {
USER_SPACEDATA_ADDONS_SHOW_ONLY_ENABLED = (1 << 1),
} eUserPref_SpaceData_Flag;
+/** #UserDef_Experimental.flag. */
+typedef enum eUserPref_Experimental_Flag {
+ USER_EXPERIMENTAL_ALL = (1 << 0),
+} eUserPref_Experimental_Flag;
+
/** #UserDef.flag */
typedef enum eUserPref_Flag {
USER_AUTOSAVE = (1 << 0),
@@ -972,7 +1012,11 @@ typedef enum eUserpref_UI_Flag {
USER_ZOOM_HORIZ = (1 << 26), /* for CONTINUE and DOLLY zoom */
USER_SPLASH_DISABLE = (1 << 27),
USER_HIDE_RECENT = (1 << 28),
- USER_SHOW_THUMBNAILS = (1 << 29),
+#ifdef DNA_DEPRECATED
+ USER_SHOW_THUMBNAILS =
+ (1 << 29), /* deprecated - We're just trying if there's much desire for this feature, or if
+ we can make it go for good. Should be cleared if so - Julian, Oct. 2019 */
+#endif
USER_SAVE_PROMPT = (1 << 30),
USER_HIDE_SYSTEM_BOOKMARKS = (1u << 31),
} eUserpref_UI_Flag;
@@ -1064,9 +1108,9 @@ typedef enum eDupli_ID_Flags {
USER_DUP_FONT = (1 << 3),
USER_DUP_MBALL = (1 << 4),
USER_DUP_LAMP = (1 << 5),
- USER_DUP_IPO = (1 << 6),
+ /* USER_DUP_FCURVE = (1 << 6), */ /* UNUSED, keep because we may implement. */
USER_DUP_MAT = (1 << 7),
- USER_DUP_TEX = (1 << 8),
+ /* USER_DUP_TEX = (1 << 8), */ /* UNUSED, keep because we may implement. */
USER_DUP_ARM = (1 << 9),
USER_DUP_ACT = (1 << 10),
USER_DUP_PSYS = (1 << 11),
@@ -1217,6 +1261,11 @@ typedef enum eUserpref_TempSpaceDisplayType {
USER_TEMP_SPACE_DISPLAY_WINDOW,
} eUserpref_TempSpaceDisplayType;
+typedef enum eUserpref_EmulateMMBMod {
+ USER_EMU_MMB_MOD_ALT = 0,
+ USER_EMU_MMB_MOD_OSKEY = 1,
+} eUserpref_EmulateMMBMod;
+
#ifdef __cplusplus
}
#endif
diff --git a/source/blender/makesdna/DNA_view3d_types.h b/source/blender/makesdna/DNA_view3d_types.h
index 10c61446d9d..7b832f1b646 100644
--- a/source/blender/makesdna/DNA_view3d_types.h
+++ b/source/blender/makesdna/DNA_view3d_types.h
@@ -38,7 +38,6 @@ struct wmTimer;
#include "DNA_image_types.h"
#include "DNA_object_types.h"
#include "DNA_movieclip_types.h"
-#include "DNA_gpu_types.h"
typedef struct RegionView3D {
@@ -301,10 +300,6 @@ typedef struct View3D {
/** Actually only used to define the opacity of the grease pencil vertex in edit mode. */
float vertex_opacity;
- /* note, 'fx_settings.dof' is currently _not_ allocated,
- * instead set (temporarily) from camera */
- struct GPUFXSettings fx_settings;
-
/* XXX deprecated? */
/** Grease-Pencil Data (annotation layers). */
struct bGPdata *gpd DNA_DEPRECATED;
@@ -351,6 +346,7 @@ typedef struct View3D {
#define RV3D_CLIPPING (1 << 2)
#define RV3D_NAVIGATING (1 << 3)
#define RV3D_GPULIGHT_UPDATE (1 << 4)
+#define RV3D_PAINTING (1 << 5)
/*#define RV3D_IS_GAME_ENGINE (1 << 5) */ /* UNUSED */
/**
* Disable zbuffer offset, skip calls to #ED_view3d_polygon_offset.
diff --git a/source/blender/makesdna/intern/CMakeLists.txt b/source/blender/makesdna/intern/CMakeLists.txt
index bca27442e65..799ec931d57 100644
--- a/source/blender/makesdna/intern/CMakeLists.txt
+++ b/source/blender/makesdna/intern/CMakeLists.txt
@@ -92,6 +92,7 @@ set(SRC
${CMAKE_CURRENT_BINARY_DIR}/dna_verify.c
${SRC_DNA_INC}
+ dna_rename_defs.h
dna_utils.h
)
@@ -132,6 +133,7 @@ set(SRC
../DNA_cachefile_defaults.h
../DNA_camera_defaults.h
../DNA_curve_defaults.h
+ ../DNA_defaults.h
../DNA_image_defaults.h
../DNA_lattice_defaults.h
../DNA_light_defaults.h
@@ -142,9 +144,11 @@ set(SRC
../DNA_meta_defaults.h
../DNA_object_defaults.h
../DNA_scene_defaults.h
+ ../DNA_speaker_defaults.h
../DNA_texture_defaults.h
../DNA_vec_defaults.h
../DNA_view3d_defaults.h
+ ../DNA_world_defaults.h
)
set(LIB
diff --git a/source/blender/makesdna/intern/dna_defaults.c b/source/blender/makesdna/intern/dna_defaults.c
index 76d076a8638..260f1cd20f6 100644
--- a/source/blender/makesdna/intern/dna_defaults.c
+++ b/source/blender/makesdna/intern/dna_defaults.c
@@ -250,6 +250,7 @@ const void *DNA_default_table[SDNA_TYPE_MAX] = {
SDNA_DEFAULT_DECL(UserDef),
SDNA_DEFAULT_DECL(bTheme),
SDNA_DEFAULT_DECL_EX(UserDef_SpaceData, UserDef.space_data),
+ SDNA_DEFAULT_DECL_EX(UserDef_FileSpaceData, UserDef.file_space_data),
SDNA_DEFAULT_DECL_EX(WalkNavigation, UserDef.walk_navigation),
/* DNA_view3d_defaults.h */
diff --git a/source/blender/makesrna/RNA_access.h b/source/blender/makesrna/RNA_access.h
index cd6d096fdbc..886408205a0 100644
--- a/source/blender/makesrna/RNA_access.h
+++ b/source/blender/makesrna/RNA_access.h
@@ -391,7 +391,6 @@ extern StructRNA RNA_Mesh;
extern StructRNA RNA_MeshCacheModifier;
extern StructRNA RNA_MeshColor;
extern StructRNA RNA_MeshColorLayer;
-extern StructRNA RNA_MeshLoopColor;
extern StructRNA RNA_MeshDeformModifier;
extern StructRNA RNA_MeshEdge;
extern StructRNA RNA_MeshFloatProperty;
@@ -399,6 +398,7 @@ extern StructRNA RNA_MeshFloatPropertyLayer;
extern StructRNA RNA_MeshIntProperty;
extern StructRNA RNA_MeshIntPropertyLayer;
extern StructRNA RNA_MeshLoop;
+extern StructRNA RNA_MeshLoopColor;
extern StructRNA RNA_MeshLoopColorLayer;
extern StructRNA RNA_MeshLoopTriangle;
extern StructRNA RNA_MeshPolygon;
diff --git a/source/blender/makesrna/RNA_enum_types.h b/source/blender/makesrna/RNA_enum_types.h
index e72a55b5a9e..458f031ceae 100644
--- a/source/blender/makesrna/RNA_enum_types.h
+++ b/source/blender/makesrna/RNA_enum_types.h
@@ -90,6 +90,7 @@ extern const EnumPropertyItem rna_enum_color_sets_items[];
extern const EnumPropertyItem rna_enum_beztriple_keyframe_type_items[];
extern const EnumPropertyItem rna_enum_beztriple_interpolation_mode_items[];
extern const EnumPropertyItem rna_enum_beztriple_interpolation_easing_items[];
+extern const EnumPropertyItem rna_enum_fcurve_auto_smoothing_items[];
extern const EnumPropertyItem rna_enum_keyframe_handle_type_items[];
extern const EnumPropertyItem rna_enum_driver_target_rotation_mode_items[];
diff --git a/source/blender/makesrna/intern/CMakeLists.txt b/source/blender/makesrna/intern/CMakeLists.txt
index a8914099146..baeefb3195b 100644
--- a/source/blender/makesrna/intern/CMakeLists.txt
+++ b/source/blender/makesrna/intern/CMakeLists.txt
@@ -173,7 +173,7 @@ set(INC
../../../../intern/clog
# Needed for defaults forward declarations.
- ../../../blender/blenloader
+ ../../blenloader
${CMAKE_BINARY_DIR}/source/blender/makesdna/intern
)
diff --git a/source/blender/makesrna/intern/rna_access.c b/source/blender/makesrna/intern/rna_access.c
index f412930f603..aeb6d528cdb 100644
--- a/source/blender/makesrna/intern/rna_access.c
+++ b/source/blender/makesrna/intern/rna_access.c
@@ -393,7 +393,7 @@ bool RNA_struct_idprops_check(StructRNA *srna)
return (srna && srna->idproperties);
}
-static IDProperty *rna_idproperty_find(PointerRNA *ptr, const char *name)
+IDProperty *rna_idproperty_find(PointerRNA *ptr, const char *name)
{
IDProperty *group = RNA_struct_idprops(ptr, 0);
@@ -2058,18 +2058,18 @@ int RNA_property_ui_icon(PropertyRNA *prop)
return rna_ensure_property(prop)->icon;
}
-bool RNA_property_editable(PointerRNA *ptr, PropertyRNA *prop)
+bool RNA_property_editable(PointerRNA *ptr, PropertyRNA *prop_orig)
{
ID *id = ptr->owner_id;
int flag;
const char *dummy_info;
- prop = rna_ensure_property(prop);
+ PropertyRNA *prop = rna_ensure_property(prop_orig);
flag = prop->editable ? prop->editable(ptr, &dummy_info) : prop->flag;
return ((flag & PROP_EDITABLE) && (flag & PROP_REGISTER) == 0 &&
(!id || ((!ID_IS_LINKED(id) || (prop->flag & PROP_LIB_EXCEPTION)) &&
- (!id->override_library || RNA_property_overridable_get(ptr, prop)))));
+ (!id->override_library || RNA_property_overridable_get(ptr, prop_orig)))));
}
/**
diff --git a/source/blender/makesrna/intern/rna_access_compare_override.c b/source/blender/makesrna/intern/rna_access_compare_override.c
index b061c72157e..18fbe7886e9 100644
--- a/source/blender/makesrna/intern/rna_access_compare_override.c
+++ b/source/blender/makesrna/intern/rna_access_compare_override.c
@@ -400,9 +400,39 @@ static bool rna_property_override_operation_store(Main *bmain,
return changed;
}
- BLI_assert(prop_local->override_store == prop_reference->override_store &&
- (!ptr_storage || prop_local->override_store == prop_storage->override_store) &&
- prop_local->override_store != NULL);
+ RNAPropOverrideStore override_store = NULL;
+ /* Special case for IDProps, we use default callback then. */
+ if (prop_local->magic != RNA_MAGIC) {
+ override_store = rna_property_override_store_default;
+ if (prop_reference->magic == RNA_MAGIC && prop_reference->override_store != override_store) {
+ override_store = NULL;
+ }
+ }
+ else if (prop_reference->magic != RNA_MAGIC) {
+ override_store = rna_property_override_store_default;
+ if (prop_local->override_store != override_store) {
+ override_store = NULL;
+ }
+ }
+ else if (prop_local->override_store == prop_reference->override_store) {
+ override_store = prop_local->override_store;
+ }
+
+ if (ptr_storage != NULL && prop_storage->magic == RNA_MAGIC &&
+ prop_storage->override_store != override_store) {
+ override_store = NULL;
+ }
+
+ if (override_store == NULL) {
+#ifndef NDEBUG
+ printf("'%s' gives unmatching or NULL RNA store callbacks, should not happen (%d vs. %d).\n",
+ op->rna_path,
+ prop_local->magic == RNA_MAGIC,
+ prop_reference->magic == RNA_MAGIC);
+#endif
+ BLI_assert(0);
+ return changed;
+ }
for (IDOverrideLibraryPropertyOperation *opop = op->operations.first; opop; opop = opop->next) {
/* Only needed for diff operations. */
@@ -413,17 +443,17 @@ static bool rna_property_override_operation_store(Main *bmain,
continue;
}
- if (prop_local->override_store(bmain,
- ptr_local,
- ptr_reference,
- ptr_storage,
- prop_local,
- prop_reference,
- prop_storage,
- len_local,
- len_reference,
- len_storage,
- opop)) {
+ if (override_store(bmain,
+ ptr_local,
+ ptr_reference,
+ ptr_storage,
+ prop_local,
+ prop_reference,
+ prop_storage,
+ len_local,
+ len_reference,
+ len_storage,
+ opop)) {
changed = true;
}
}
@@ -595,6 +625,21 @@ bool RNA_struct_override_matches(Main *bmain,
prop_local = rna_ensure_property_realdata(&prop_local, ptr_local);
prop_reference = rna_ensure_property_realdata(&prop_reference, ptr_reference);
+ /* IDProps (custom properties) are even more of a PITA here, we cannot use
+ * `rna_ensure_property_realdata()` to deal with them, we have to use the path generated from
+ * `prop_local` (which is valid) to access to the actual reference counterpart... */
+ if (prop_local != NULL && prop_local->magic != RNA_MAGIC && prop_local == prop_reference) {
+ /* We could also use (lower in this code, after rna_path has been computed):
+ * RNA_path_resolve_property(ptr_reference, rna_path, &some_rna_ptr, &prop_reference);
+ * But that would be much more costly, and would also fail when ptr_reference
+ * is not an ID pointer itself, so we'd need to rebuild it from its owner_id, then check that
+ * generated some_rna_ptr and ptr_reference do point to the same data, etc.
+ * For now, let's try that simple access, it won't cover all cases but should handle fine
+ * most basic custom properties situations. */
+ prop_reference = (PropertyRNA *)rna_idproperty_find(ptr_reference,
+ ((IDProperty *)prop_local)->name);
+ }
+
if (ELEM(NULL, prop_local, prop_reference)) {
continue;
}
diff --git a/source/blender/makesrna/intern/rna_access_internal.h b/source/blender/makesrna/intern/rna_access_internal.h
index 28ec504e376..c7995746d08 100644
--- a/source/blender/makesrna/intern/rna_access_internal.h
+++ b/source/blender/makesrna/intern/rna_access_internal.h
@@ -30,5 +30,6 @@ struct IDProperty;
PropertyRNA *rna_ensure_property(PropertyRNA *prop);
void rna_idproperty_touch(struct IDProperty *idprop);
+struct IDProperty *rna_idproperty_find(PointerRNA *ptr, const char *name);
#endif /* __ACCESS_RNA_INTERNAL_H__ */
diff --git a/source/blender/makesrna/intern/rna_action.c b/source/blender/makesrna/intern/rna_action.c
index 24f8d5c4e3d..6eaf303ce2d 100644
--- a/source/blender/makesrna/intern/rna_action.c
+++ b/source/blender/makesrna/intern/rna_action.c
@@ -306,6 +306,11 @@ bool rna_Action_actedit_assign_poll(PointerRNA *ptr, PointerRNA value)
return 0;
}
+static char *rna_DopeSheet_path(PointerRNA *UNUSED(ptr))
+{
+ return BLI_strdup("dopesheet");
+}
+
#else
static void rna_def_dopesheet(BlenderRNA *brna)
@@ -315,6 +320,7 @@ static void rna_def_dopesheet(BlenderRNA *brna)
srna = RNA_def_struct(brna, "DopeSheet", NULL);
RNA_def_struct_sdna(srna, "bDopeSheet");
+ RNA_def_struct_path_func(srna, "rna_DopeSheet_path");
RNA_def_struct_ui_text(
srna, "Dope Sheet", "Settings for filtering the channels shown in animation editors");
diff --git a/source/blender/makesrna/intern/rna_animation.c b/source/blender/makesrna/intern/rna_animation.c
index 6157ec41f19..e1a24326474 100644
--- a/source/blender/makesrna/intern/rna_animation.c
+++ b/source/blender/makesrna/intern/rna_animation.c
@@ -668,8 +668,7 @@ static FCurve *rna_Driver_new(
return NULL;
}
- short add_mode = 1;
- FCurve *fcu = verify_driver_fcurve(id, rna_path, array_index, add_mode);
+ FCurve *fcu = verify_driver_fcurve(id, rna_path, array_index, DRIVER_FCURVE_KEYFRAMES);
BLI_assert(fcu != NULL);
DEG_relations_tag_update(bmain);
diff --git a/source/blender/makesrna/intern/rna_brush.c b/source/blender/makesrna/intern/rna_brush.c
index 9633f6595e3..a392e4c080f 100644
--- a/source/blender/makesrna/intern/rna_brush.c
+++ b/source/blender/makesrna/intern/rna_brush.c
@@ -1298,7 +1298,7 @@ static void rna_def_gpencil_options(BlenderRNA *brna)
prop = RNA_def_property(srna, "active_smooth_factor", PROP_FLOAT, PROP_FACTOR);
RNA_def_property_float_sdna(prop, NULL, "active_smooth");
RNA_def_property_range(prop, 0.0f, 1.0f);
- RNA_def_property_ui_text(prop, "Active Smooth", "Amount of smoothing while drawing ");
+ RNA_def_property_ui_text(prop, "Active Smooth", "Amount of smoothing while drawing");
RNA_def_property_clear_flag(prop, PROP_ANIMATABLE);
RNA_def_property_update(prop, NC_GPENCIL | ND_DATA, NULL);
@@ -1306,7 +1306,7 @@ static void rna_def_gpencil_options(BlenderRNA *brna)
RNA_def_property_float_sdna(prop, NULL, "era_strength_f");
RNA_def_property_range(prop, 0.0, 100.0);
RNA_def_property_ui_range(prop, 0.0, 100.0, 10, 1);
- RNA_def_property_ui_text(prop, "Affect Stroke Strength", "Amount of erasing for strength ");
+ RNA_def_property_ui_text(prop, "Affect Stroke Strength", "Amount of erasing for strength");
RNA_def_property_clear_flag(prop, PROP_ANIMATABLE);
RNA_def_property_update(prop, NC_GPENCIL | ND_DATA, NULL);
@@ -1314,7 +1314,7 @@ static void rna_def_gpencil_options(BlenderRNA *brna)
RNA_def_property_float_sdna(prop, NULL, "era_thickness_f");
RNA_def_property_range(prop, 0.0, 100.0);
RNA_def_property_ui_range(prop, 0.0, 100.0, 10, 1);
- RNA_def_property_ui_text(prop, "Affect Stroke Thickness", "Amount of erasing for thickness ");
+ RNA_def_property_ui_text(prop, "Affect Stroke Thickness", "Amount of erasing for thickness");
RNA_def_property_clear_flag(prop, PROP_ANIMATABLE);
RNA_def_property_update(prop, NC_GPENCIL | ND_DATA, NULL);
@@ -1452,81 +1452,77 @@ static void rna_def_brush(BlenderRNA *brna)
PropertyRNA *prop;
static const EnumPropertyItem prop_blend_items[] = {
- {IMB_BLEND_MIX, "MIX", 0, "Mix", "Use mix blending mode while painting"},
+ {IMB_BLEND_MIX, "MIX", 0, "Mix", "Use Mix blending mode while painting"},
{0, "", ICON_NONE, NULL, NULL},
- {IMB_BLEND_DARKEN, "DARKEN", 0, "Darken", "Use darken blending mode while painting"},
- {IMB_BLEND_MUL, "MUL", 0, "Multiply", "Use multiply blending mode while painting"},
+ {IMB_BLEND_DARKEN, "DARKEN", 0, "Darken", "Use Darken blending mode while painting"},
+ {IMB_BLEND_MUL, "MUL", 0, "Multiply", "Use Multiply blending mode while painting"},
{IMB_BLEND_COLORBURN,
"COLORBURN",
0,
- "Color burn",
- "Use color burn blending mode while painting"},
+ "Color Burn",
+ "Use Color Burn blending mode while painting"},
{IMB_BLEND_LINEARBURN,
"LINEARBURN",
0,
- "Linear burn",
- "Use linear burn blending mode while painting"},
+ "Linear Burn",
+ "Use Linear Burn blending mode while painting"},
{0, "", ICON_NONE, NULL, NULL},
- {IMB_BLEND_LIGHTEN, "LIGHTEN", 0, "Lighten", "Use lighten blending mode while painting"},
- {IMB_BLEND_SCREEN, "SCREEN", 0, "Screen", "Use screen blending mode while painting"},
+ {IMB_BLEND_LIGHTEN, "LIGHTEN", 0, "Lighten", "Use Lighten blending mode while painting"},
+ {IMB_BLEND_SCREEN, "SCREEN", 0, "Screen", "Use Screen blending mode while painting"},
{IMB_BLEND_COLORDODGE,
"COLORDODGE",
0,
- "Color dodge",
- "Use color dodge blending mode while painting"},
- {IMB_BLEND_ADD, "ADD", 0, "Add", "Use add blending mode while painting"},
+ "Color Dodge",
+ "Use Color Dodge blending mode while painting"},
+ {IMB_BLEND_ADD, "ADD", 0, "Add", "Use Add blending mode while painting"},
{0, "", ICON_NONE, NULL, NULL},
- {IMB_BLEND_OVERLAY, "OVERLAY", 0, "Overlay", "Use overlay blending mode while painting"},
+ {IMB_BLEND_OVERLAY, "OVERLAY", 0, "Overlay", "Use Overlay blending mode while painting"},
{IMB_BLEND_SOFTLIGHT,
"SOFTLIGHT",
0,
- "Soft light",
- "Use softlight blending mode while painting"},
+ "Soft Light",
+ "Use Soft Light blending mode while painting"},
{IMB_BLEND_HARDLIGHT,
"HARDLIGHT",
0,
- "Hard light",
- "Use hard light blending mode while painting"},
+ "Hard Light",
+ "Use Hard Light blending mode while painting"},
{IMB_BLEND_VIVIDLIGHT,
"VIVIDLIGHT",
0,
- "Vivid light",
- "Use vividlight blending mode while painting"},
+ "Vivid Light",
+ "Use Vivid Light blending mode while painting"},
{IMB_BLEND_LINEARLIGHT,
"LINEARLIGHT",
0,
- "Linear light",
- "Use linearlight blending mode while painting"},
+ "Linear Light",
+ "Use Linear Light blending mode while painting"},
{IMB_BLEND_PINLIGHT,
"PINLIGHT",
0,
- "Pin light",
- "Use pinlight blending mode while painting"},
+ "Pin Light",
+ "Use Pin Light blending mode while painting"},
{0, "", ICON_NONE, NULL, NULL},
{IMB_BLEND_DIFFERENCE,
"DIFFERENCE",
0,
"Difference",
- "Use difference blending mode while painting"},
+ "Use Difference blending mode while painting"},
{IMB_BLEND_EXCLUSION,
"EXCLUSION",
0,
"Exclusion",
- "Use exclusion blending mode while painting"},
- {IMB_BLEND_SUB, "SUB", 0, "Subtract", "Use subtract blending mode while painting"},
+ "Use Exclusion blending mode while painting"},
+ {IMB_BLEND_SUB, "SUB", 0, "Subtract", "Use Subtract blending mode while painting"},
{0, "", ICON_NONE, NULL, NULL},
- {IMB_BLEND_HUE, "HUE", 0, "Hue", "Use hue blending mode while painting"},
+ {IMB_BLEND_HUE, "HUE", 0, "Hue", "Use Hue blending mode while painting"},
{IMB_BLEND_SATURATION,
"SATURATION",
0,
"Saturation",
- "Use saturation blending mode while painting"},
- {IMB_BLEND_COLOR, "COLOR", 0, "Color", "Use color blending mode while painting"},
- {IMB_BLEND_LUMINOSITY,
- "LUMINOSITY",
- 0,
- "Luminosity",
- "Use luminosity blending mode while painting"},
+ "Use Saturation blending mode while painting"},
+ {IMB_BLEND_COLOR, "COLOR", 0, "Color", "Use Color blending mode while painting"},
+ {IMB_BLEND_LUMINOSITY, "LUMINOSITY", 0, "Value", "Use Value blending mode while painting"},
{0, "", ICON_NONE, NULL, NULL},
{IMB_BLEND_ERASE_ALPHA, "ERASE_ALPHA", 0, "Erase Alpha", "Erase alpha while painting"},
{IMB_BLEND_ADD_ALPHA, "ADD_ALPHA", 0, "Add Alpha", "Add alpha while painting"},
@@ -1610,15 +1606,11 @@ static void rna_def_brush(BlenderRNA *brna)
};
static const EnumPropertyItem brush_elastic_deform_type_items[] = {
- {BRUSH_ELASTIC_DEFORM_GRAB, "ELASTIC_DEFORM_GRAB", 0, "Grab", ""},
- {BRUSH_ELASTIC_DEFORM_GRAB_BISCALE, "ELASTIC_DEFORM_GRAB_BISCALE", 0, "Bi-scale Grab", ""},
- {BRUSH_ELASTIC_DEFORM_GRAB_TRISCALE,
- "ELASTIC_DEFORM_GRAB_TRISCALE",
- 0,
- "Tri-scale Grab",
- ""},
- {BRUSH_ELASTIC_DEFORM_SCALE, "ELASTIC_DEFORM_SCALE", 0, "Scale", ""},
- {BRUSH_ELASTIC_DEFORM_TWIST, "ELASTIC_DEFORM_TWIST", 0, "Twist", ""},
+ {BRUSH_ELASTIC_DEFORM_GRAB, "GRAB", 0, "Grab", ""},
+ {BRUSH_ELASTIC_DEFORM_GRAB_BISCALE, "GRAB_BISCALE", 0, "Bi-scale Grab", ""},
+ {BRUSH_ELASTIC_DEFORM_GRAB_TRISCALE, "GRAB_TRISCALE", 0, "Tri-scale Grab", ""},
+ {BRUSH_ELASTIC_DEFORM_SCALE, "SCALE", 0, "Scale", ""},
+ {BRUSH_ELASTIC_DEFORM_TWIST, "TWIST", 0, "Twist", ""},
{0, NULL, 0, NULL, NULL},
};
@@ -1669,7 +1661,7 @@ static void rna_def_brush(BlenderRNA *brna)
prop = RNA_def_property(srna, "gpencil_tool", PROP_ENUM, PROP_NONE);
RNA_def_property_enum_sdna(prop, NULL, "gpencil_tool");
RNA_def_property_enum_items(prop, rna_enum_brush_gpencil_types_items);
- RNA_def_property_ui_text(prop, "Type", "Category of the brush");
+ RNA_def_property_ui_text(prop, "Grease Pencil Draw Tool", "");
RNA_def_property_clear_flag(prop, PROP_ANIMATABLE);
/** End per mode tool properties. */
@@ -1718,7 +1710,7 @@ static void rna_def_brush(BlenderRNA *brna)
prop = RNA_def_property(srna, "unprojected_radius", PROP_FLOAT, PROP_DISTANCE);
RNA_def_property_float_funcs(prop, NULL, "rna_Brush_set_unprojected_radius", NULL);
RNA_def_property_range(prop, 0.001, FLT_MAX);
- RNA_def_property_ui_range(prop, 0.001, 1, 0, -1);
+ RNA_def_property_ui_range(prop, 0.001, 1, 1, -1);
RNA_def_property_ui_text(prop, "Unprojected Radius", "Radius of brush in Blender units");
RNA_def_property_update(prop, 0, "rna_Brush_size_update");
@@ -1863,6 +1855,13 @@ static void rna_def_brush(BlenderRNA *brna)
RNA_def_property_ui_text(prop, "Crease Brush Pinch Factor", "How much the crease brush pinches");
RNA_def_property_update(prop, 0, "rna_Brush_update");
+ prop = RNA_def_property(srna, "pose_offset", PROP_FLOAT, PROP_FACTOR);
+ RNA_def_property_float_sdna(prop, NULL, "pose_offset");
+ RNA_def_property_range(prop, 0.0f, 2.0f);
+ RNA_def_property_ui_text(
+ prop, "Pose Origin Offset", "Offset of the pose origin in relation to the brush radius");
+ RNA_def_property_update(prop, 0, "rna_Brush_update");
+
prop = RNA_def_property(srna, "auto_smooth_factor", PROP_FLOAT, PROP_FACTOR);
RNA_def_property_float_sdna(prop, NULL, "autosmooth_factor");
RNA_def_property_float_default(prop, 0);
@@ -1886,8 +1885,8 @@ static void rna_def_brush(BlenderRNA *brna)
prop = RNA_def_property(srna, "normal_radius_factor", PROP_FLOAT, PROP_FACTOR);
RNA_def_property_float_sdna(prop, NULL, "normal_radius_factor");
- RNA_def_property_range(prop, 0.0f, 1.0f);
- RNA_def_property_ui_range(prop, 0.0f, 1.0f, 0.001, 3);
+ RNA_def_property_range(prop, 0.0f, 2.0f);
+ RNA_def_property_ui_range(prop, 0.0f, 2.0f, 0.001, 3);
RNA_def_property_ui_text(prop,
"Normal Radius",
"Ratio between the brush radius and the radius that is going to be "
@@ -1960,7 +1959,7 @@ static void rna_def_brush(BlenderRNA *brna)
/* flag */
/* This is an enum but its unlikely we add other shapes, so expose as a boolean. */
prop = RNA_def_property(srna, "use_projected", PROP_BOOLEAN, PROP_NONE);
- RNA_def_property_boolean_sdna(prop, NULL, "falloff_shape", BRUSH_AIRBRUSH);
+ RNA_def_property_boolean_sdna(prop, NULL, "falloff_shape", PAINT_FALLOFF_SHAPE_TUBE);
RNA_def_property_ui_text(
prop, "2D Falloff", "Apply brush influence in 2D circle instead of a sphere");
RNA_def_property_update(prop, 0, "rna_Brush_update");
@@ -2008,6 +2007,11 @@ static void rna_def_brush(BlenderRNA *brna)
"Apply the maximum grab strength to the active vertex instead of the cursor location");
RNA_def_property_update(prop, 0, "rna_Brush_update");
+ prop = RNA_def_property(srna, "use_paint_antialiasing", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_sdna(prop, NULL, "sampling_flag", BRUSH_PAINT_ANTIALIASING);
+ RNA_def_property_ui_text(prop, "Antialasing", "Smooths the edges of the strokes");
+ RNA_def_property_update(prop, 0, "rna_Brush_update");
+
prop = RNA_def_property(srna, "use_pressure_strength", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_boolean_sdna(prop, NULL, "flag", BRUSH_ALPHA_PRESSURE);
RNA_def_property_ui_icon(prop, ICON_STYLUS_PRESSURE, 0);
@@ -2412,7 +2416,7 @@ static void rna_def_operator_stroke_element(BlenderRNA *brna)
prop = RNA_def_property(srna, "size", PROP_FLOAT, PROP_NONE);
RNA_def_property_flag(prop, PROP_IDPROPERTY);
RNA_def_property_range(prop, 0.0f, FLT_MAX);
- RNA_def_property_ui_text(prop, "Brush Size", "Brush Size in screen space");
+ RNA_def_property_ui_text(prop, "Brush Size", "Brush size in screen space");
prop = RNA_def_property(srna, "pen_flip", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_flag(prop, PROP_IDPROPERTY);
diff --git a/source/blender/makesrna/intern/rna_constraint.c b/source/blender/makesrna/intern/rna_constraint.c
index 7732bf531d8..6a10074810d 100644
--- a/source/blender/makesrna/intern/rna_constraint.c
+++ b/source/blender/makesrna/intern/rna_constraint.c
@@ -1045,6 +1045,7 @@ static void rna_def_constraint_armature_deform(BlenderRNA *brna)
RNA_def_property_collection_sdna(prop, NULL, "targets", NULL);
RNA_def_property_struct_type(prop, "ConstraintTargetBone");
RNA_def_property_ui_text(prop, "Targets", "Target Bones");
+ RNA_def_property_override_flag(prop, PROPOVERRIDE_OVERRIDABLE_LIBRARY);
rna_def_constraint_armature_deform_targets(brna, prop);
prop = RNA_def_property(srna, "use_deform_preserve_volume", PROP_BOOLEAN, PROP_NONE);
@@ -1810,8 +1811,13 @@ static void rna_def_constraint_stretch_to(BlenderRNA *brna)
};
static const EnumPropertyItem plane_items[] = {
- {PLANE_X, "PLANE_X", 0, "X", "Keep X Axis"},
- {PLANE_Z, "PLANE_Z", 0, "Z", "Keep Z Axis"},
+ {PLANE_X, "PLANE_X", 0, "XZ", "Rotate around local X, then Z"},
+ {PLANE_Z, "PLANE_Z", 0, "ZX", "Rotate around local Z, then X"},
+ {SWING_Y,
+ "SWING_Y",
+ 0,
+ "Swing",
+ "Use the smallest single axis rotation, similar to Damped Track"},
{0, NULL, 0, NULL, NULL},
};
@@ -1835,7 +1841,7 @@ static void rna_def_constraint_stretch_to(BlenderRNA *brna)
prop = RNA_def_property(srna, "keep_axis", PROP_ENUM, PROP_NONE);
RNA_def_property_enum_sdna(prop, NULL, "plane");
RNA_def_property_enum_items(prop, plane_items);
- RNA_def_property_ui_text(prop, "Keep Axis", "Axis to maintain during stretch");
+ RNA_def_property_ui_text(prop, "Keep Axis", "The rotation type and axis order to use");
RNA_def_property_update(prop, NC_OBJECT | ND_CONSTRAINT, "rna_Constraint_update");
prop = RNA_def_property(srna, "rest_length", PROP_FLOAT, PROP_DISTANCE);
diff --git a/source/blender/makesrna/intern/rna_define.c b/source/blender/makesrna/intern/rna_define.c
index 758fbd07f85..55aa529a30e 100644
--- a/source/blender/makesrna/intern/rna_define.c
+++ b/source/blender/makesrna/intern/rna_define.c
@@ -1688,6 +1688,11 @@ void RNA_def_property_ui_range(
DefRNA.error = 1;
}
+ if (step == 0) {
+ CLOG_ERROR(&LOG, "\"%s.%s\", step is zero.", srna->identifier, prop->identifier);
+ DefRNA.error = 1;
+ }
+
if (precision < -1 || precision > UI_PRECISION_FLOAT_MAX) {
CLOG_ERROR(&LOG, "\"%s.%s\", precision outside range.", srna->identifier, prop->identifier);
DefRNA.error = 1;
@@ -3689,15 +3694,13 @@ PropertyRNA *RNA_def_enum(StructOrFunctionRNA *cont_,
ContainerRNA *cont = cont_;
PropertyRNA *prop;
- if (!items) {
+ if (items == NULL) {
CLOG_ERROR(&LOG, "items not allowed to be NULL.");
return NULL;
}
prop = RNA_def_property(cont, identifier, PROP_ENUM, PROP_NONE);
- if (items) {
- RNA_def_property_enum_items(prop, items);
- }
+ RNA_def_property_enum_items(prop, items);
RNA_def_property_enum_default(prop, default_value);
RNA_def_property_ui_text(prop, ui_name, ui_description);
@@ -3715,16 +3718,14 @@ PropertyRNA *RNA_def_enum_flag(StructOrFunctionRNA *cont_,
ContainerRNA *cont = cont_;
PropertyRNA *prop;
- if (!items) {
+ if (items == NULL) {
CLOG_ERROR(&LOG, "items not allowed to be NULL.");
return NULL;
}
prop = RNA_def_property(cont, identifier, PROP_ENUM, PROP_NONE);
RNA_def_property_flag(prop, PROP_ENUM_FLAG); /* important to run before default set */
- if (items) {
- RNA_def_property_enum_items(prop, items);
- }
+ RNA_def_property_enum_items(prop, items);
RNA_def_property_enum_default(prop, default_value);
RNA_def_property_ui_text(prop, ui_name, ui_description);
diff --git a/source/blender/makesrna/intern/rna_depsgraph.c b/source/blender/makesrna/intern/rna_depsgraph.c
index ebd9bd8e925..2072b07ecb3 100644
--- a/source/blender/makesrna/intern/rna_depsgraph.c
+++ b/source/blender/makesrna/intern/rna_depsgraph.c
@@ -261,8 +261,13 @@ static void rna_Depsgraph_debug_stats(Depsgraph *depsgraph, char *result)
outer);
}
-static void rna_Depsgraph_update(Depsgraph *depsgraph, Main *bmain)
+static void rna_Depsgraph_update(Depsgraph *depsgraph, Main *bmain, ReportList *reports)
{
+ if (DEG_is_evaluating(depsgraph)) {
+ BKE_report(reports, RPT_ERROR, "Dependency graph update requested during evaluation");
+ return;
+ }
+
# ifdef WITH_PYTHON
/* Allow drivers to be evaluated */
BPy_BEGIN_ALLOW_THREADS;
@@ -654,7 +659,7 @@ static void rna_def_depsgraph(BlenderRNA *brna)
func,
"Re-evaluate any modified data-blocks, for example for animation or modifiers. "
"This invalidates all references to evaluated data-blocks from this dependency graph.");
- RNA_def_function_flag(func, FUNC_USE_MAIN);
+ RNA_def_function_flag(func, FUNC_USE_MAIN | FUNC_USE_REPORTS);
/* Queries for original datablockls (the ones depsgraph is built for). */
diff --git a/source/blender/makesrna/intern/rna_fcurve.c b/source/blender/makesrna/intern/rna_fcurve.c
index 254f3bc3710..424bb4a492f 100644
--- a/source/blender/makesrna/intern/rna_fcurve.c
+++ b/source/blender/makesrna/intern/rna_fcurve.c
@@ -76,6 +76,22 @@ const EnumPropertyItem rna_enum_fmodifier_type_items[] = {
{0, NULL, 0, NULL, NULL},
};
+const EnumPropertyItem rna_enum_fcurve_auto_smoothing_items[] = {
+ {FCURVE_SMOOTH_NONE,
+ "NONE",
+ 0,
+ "None",
+ "Automatic handles only take immediately adjacent keys into account"},
+ {FCURVE_SMOOTH_CONT_ACCEL,
+ "CONT_ACCEL",
+ 0,
+ "Continuous Acceleration",
+ "Automatic handles are adjusted to avoid jumps in acceleration, resulting "
+ "in smoother curves. However, key changes may affect interpolation over a "
+ "larger stretch of the curve"},
+ {0, NULL, 0, NULL, NULL},
+};
+
const EnumPropertyItem rna_enum_beztriple_keyframe_type_items[] = {
{BEZT_KEYTYPE_KEYFRAME,
"KEYFRAME",
@@ -2258,19 +2274,6 @@ static void rna_def_fcurve(BlenderRNA *brna)
"Use custom hand-picked color for F-Curve"},
{0, NULL, 0, NULL, NULL},
};
- static EnumPropertyItem prop_mode_smoothing_items[] = {
- {FCURVE_SMOOTH_NONE,
- "NONE",
- 0,
- "None",
- "Auto handles only take adjacent keys into account (legacy mode)"},
- {FCURVE_SMOOTH_CONT_ACCEL,
- "CONT_ACCEL",
- 0,
- "Continuous Acceleration",
- "Auto handles are placed to avoid jumps in acceleration"},
- {0, NULL, 0, NULL, NULL},
- };
srna = RNA_def_struct(brna, "FCurve", NULL);
RNA_def_struct_ui_text(srna, "F-Curve", "F-Curve defining values of a period of time");
@@ -2350,7 +2353,7 @@ static void rna_def_fcurve(BlenderRNA *brna)
RNA_def_property_update(prop, NC_SPACE | ND_SPACE_GRAPH, NULL);
prop = RNA_def_property(srna, "auto_smoothing", PROP_ENUM, PROP_NONE);
- RNA_def_property_enum_items(prop, prop_mode_smoothing_items);
+ RNA_def_property_enum_items(prop, rna_enum_fcurve_auto_smoothing_items);
RNA_def_property_ui_text(
prop, "Auto Handle Smoothing", "Algorithm used to compute automatic handles");
RNA_def_property_update(prop, NC_ANIMATION | ND_KEYFRAME | NA_EDITED, "rna_FCurve_update_data");
diff --git a/source/blender/makesrna/intern/rna_gpencil.c b/source/blender/makesrna/intern/rna_gpencil.c
index 3ad18fcc7a3..2601600c6ee 100644
--- a/source/blender/makesrna/intern/rna_gpencil.c
+++ b/source/blender/makesrna/intern/rna_gpencil.c
@@ -1457,6 +1457,12 @@ static void rna_def_gpencil_layer(BlenderRNA *brna)
prop, "Solo Mode", "In Paint mode display only layers with keyframe in current frame");
RNA_def_property_update(prop, NC_GPENCIL | ND_DATA, "rna_GPencil_update");
+ /* Layer is used as Ruler. */
+ prop = RNA_def_property(srna, "is_ruler", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_sdna(prop, NULL, "flag", GP_LAYER_IS_RULER);
+ RNA_def_property_ui_text(prop, "Ruler", "This is a special ruler layer");
+ RNA_def_property_clear_flag(prop, PROP_EDITABLE);
+
/* exposed as layers.active */
# if 0
prop = RNA_def_property(srna, "active", PROP_BOOLEAN, PROP_NONE);
diff --git a/source/blender/makesrna/intern/rna_layer.c b/source/blender/makesrna/intern/rna_layer.c
index bab7375f01b..40c6229f9b1 100644
--- a/source/blender/makesrna/intern/rna_layer.c
+++ b/source/blender/makesrna/intern/rna_layer.c
@@ -123,18 +123,13 @@ static IDProperty *rna_ViewLayer_idprops(PointerRNA *ptr, bool create)
static bool rna_LayerCollection_visible_get(LayerCollection *layer_collection, bContext *C)
{
View3D *v3d = CTX_wm_view3d(C);
- const bool runtime_visible = (layer_collection->runtime_flag & LAYER_COLLECTION_VISIBLE) != 0;
- if (v3d == NULL) {
- return runtime_visible;
- }
-
- if ((v3d->flag & V3D_LOCAL_COLLECTIONS) == 0) {
- return runtime_visible;
+ if ((v3d == NULL) || ((v3d->flag & V3D_LOCAL_COLLECTIONS) == 0)) {
+ return (layer_collection->runtime_flag & LAYER_COLLECTION_VISIBLE_VIEW_LAYER) != 0;
}
if (v3d->local_collections_uuid & layer_collection->local_collections_bits) {
- return true;
+ return (layer_collection->runtime_flag & LAYER_COLLECTION_RESTRICT_VIEWPORT) == 0;
}
return false;
@@ -192,15 +187,24 @@ static void rna_LayerObjects_selected_begin(CollectionPropertyIterator *iter, Po
iter, &view_layer->object_bases, rna_ViewLayer_objects_selected_skip);
}
-static void rna_ViewLayer_update_tagged(ID *id_ptr, ViewLayer *view_layer, Main *bmain)
+static void rna_ViewLayer_update_tagged(ID *id_ptr,
+ ViewLayer *view_layer,
+ Main *bmain,
+ ReportList *reports)
{
+ Scene *scene = (Scene *)id_ptr;
+ Depsgraph *depsgraph = BKE_scene_get_depsgraph(bmain, scene, view_layer, true);
+
+ if (DEG_is_evaluating(depsgraph)) {
+ BKE_report(reports, RPT_ERROR, "Dependency graph update requested during evaluation");
+ return;
+ }
+
# ifdef WITH_PYTHON
/* Allow drivers to be evaluated */
BPy_BEGIN_ALLOW_THREADS;
# endif
- Scene *scene = (Scene *)id_ptr;
- Depsgraph *depsgraph = BKE_scene_get_depsgraph(bmain, scene, view_layer, true);
/* NOTE: This is similar to CTX_data_depsgraph_pointer(). Ideally such access would be
* de-duplicated across all possible cases, but for now this is safest and easiest way to go.
*
@@ -415,12 +419,12 @@ static void rna_def_layer_collection(BlenderRNA *brna)
/* Run-time flags. */
prop = RNA_def_property(srna, "is_visible", PROP_BOOLEAN, PROP_NONE);
- RNA_def_property_boolean_sdna(prop, NULL, "runtime_flag", LAYER_COLLECTION_VISIBLE);
+ RNA_def_property_boolean_sdna(prop, NULL, "runtime_flag", LAYER_COLLECTION_VISIBLE_VIEW_LAYER);
RNA_def_property_clear_flag(prop, PROP_EDITABLE);
- RNA_def_property_ui_text(
- prop,
- "Visible",
- "Whether this collection is visible, take into account the collection parent");
+ RNA_def_property_ui_text(prop,
+ "Visible",
+ "Whether this collection is visible for the viewlayer, take into "
+ "account the collection parent");
func = RNA_def_function(srna, "has_objects", "rna_LayerCollection_has_objects");
RNA_def_function_ui_description(func, "");
@@ -573,7 +577,7 @@ void RNA_def_view_layer(BlenderRNA *brna)
/* debug update routine */
func = RNA_def_function(srna, "update", "rna_ViewLayer_update_tagged");
- RNA_def_function_flag(func, FUNC_USE_SELF_ID | FUNC_USE_MAIN);
+ RNA_def_function_flag(func, FUNC_USE_SELF_ID | FUNC_USE_MAIN | FUNC_USE_REPORTS);
RNA_def_function_ui_description(
func, "Update data tagged to be updated from previous access to data or operators");
diff --git a/source/blender/makesrna/intern/rna_main_api.c b/source/blender/makesrna/intern/rna_main_api.c
index fec991e16da..2c42dba9131 100644
--- a/source/blender/makesrna/intern/rna_main_api.c
+++ b/source/blender/makesrna/intern/rna_main_api.c
@@ -461,8 +461,6 @@ static VFont *rna_Main_fonts_load(Main *bmain,
"Cannot read '%s': %s",
filepath,
errno ? strerror(errno) : TIP_("unsupported font format"));
-
- id_us_min((ID *)font);
}
return font;
}
diff --git a/source/blender/makesrna/intern/rna_material.c b/source/blender/makesrna/intern/rna_material.c
index 9da17c5f0b1..a29031900ac 100644
--- a/source/blender/makesrna/intern/rna_material.c
+++ b/source/blender/makesrna/intern/rna_material.c
@@ -41,7 +41,7 @@ const EnumPropertyItem rna_enum_ramp_blend_items[] = {
{0, "", ICON_NONE, NULL, NULL},
{MA_RAMP_LIGHT, "LIGHTEN", 0, "Lighten", ""},
{MA_RAMP_SCREEN, "SCREEN", 0, "Screen", ""},
- {MA_RAMP_DODGE, "DODGE", 0, "Dodge", ""},
+ {MA_RAMP_DODGE, "DODGE", 0, "Color Dodge", ""},
{MA_RAMP_ADD, "ADD", 0, "Add", ""},
{0, "", ICON_NONE, NULL, NULL},
{MA_RAMP_OVERLAY, "OVERLAY", 0, "Overlay", ""},
diff --git a/source/blender/makesrna/intern/rna_mesh.c b/source/blender/makesrna/intern/rna_mesh.c
index 1ecaf0805a0..5890c3fe8a2 100644
--- a/source/blender/makesrna/intern/rna_mesh.c
+++ b/source/blender/makesrna/intern/rna_mesh.c
@@ -47,7 +47,7 @@
#include "WM_types.h"
const EnumPropertyItem rna_enum_mesh_delimit_mode_items[] = {
- {BMO_DELIM_NORMAL, "NORMAL", 0, "Regular", "Delimit by face directions"},
+ {BMO_DELIM_NORMAL, "NORMAL", 0, "Normal", "Delimit by face directions"},
{BMO_DELIM_MATERIAL, "MATERIAL", 0, "Material", "Delimit by face material"},
{BMO_DELIM_SEAM, "SEAM", 0, "Seam", "Delimit by edge seams"},
{BMO_DELIM_SHARP, "SHARP", 0, "Sharp", "Delimit by sharp edges"},
@@ -2232,13 +2232,13 @@ static void rna_def_mesh_vertices(BlenderRNA *brna, PropertyRNA *cprop)
RNA_def_struct_sdna(srna, "Mesh");
RNA_def_struct_ui_text(srna, "Mesh Vertices", "Collection of mesh vertices");
- func = RNA_def_function(srna, "add", "ED_mesh_vertices_add");
+ func = RNA_def_function(srna, "add", "ED_mesh_verts_add");
RNA_def_function_flag(func, FUNC_USE_REPORTS);
parm = RNA_def_int(
func, "count", 0, 0, INT_MAX, "Count", "Number of vertices to add", 0, INT_MAX);
RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
# if 0 /* BMESH_TODO Remove until BMesh merge */
- func = RNA_def_function(srna, "remove", "ED_mesh_vertices_remove");
+ func = RNA_def_function(srna, "remove", "ED_mesh_verts_remove");
RNA_def_function_flag(func, FUNC_USE_REPORTS);
RNA_def_int(func, "count", 0, 0, INT_MAX, "Count", "Number of vertices to remove", 0, INT_MAX);
# endif
@@ -2995,12 +2995,36 @@ static void rna_def_mesh(BlenderRNA *brna)
"values preserve finer details");
RNA_def_property_update(prop, 0, "rna_Mesh_update_draw");
- prop = RNA_def_property(srna, "remesh_smooth_normals", PROP_BOOLEAN, PROP_NONE);
+ prop = RNA_def_property(srna, "remesh_voxel_adaptivity", PROP_FLOAT, PROP_DISTANCE);
+ RNA_def_property_float_sdna(prop, NULL, "remesh_voxel_adaptivity");
+ RNA_def_property_range(prop, 0.0f, 1.0f);
+ RNA_def_property_ui_range(prop, 0.0f, 1.0f, 0.01, 4);
+ RNA_def_property_ui_text(
+ prop,
+ "Adaptivity",
+ "Reduces the final face count by simplifying geometry where detail is not needed, "
+ "generating triangles. A value greater than 0 disables Fix Poles");
+ RNA_def_property_update(prop, 0, "rna_Mesh_update_draw");
+
+ prop = RNA_def_property(srna, "use_remesh_smooth_normals", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_boolean_sdna(prop, NULL, "flag", ME_REMESH_SMOOTH_NORMALS);
RNA_def_property_ui_text(prop, "Smooth Normals", "Smooth the normals of the remesher result");
RNA_def_property_update(prop, 0, "rna_Mesh_update_draw");
- prop = RNA_def_property(srna, "remesh_preserve_paint_mask", PROP_BOOLEAN, PROP_NONE);
+ prop = RNA_def_property(srna, "use_remesh_fix_poles", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_sdna(prop, NULL, "flag", ME_REMESH_FIX_POLES);
+ RNA_def_property_ui_text(prop, "Fix Poles", "Produces less poles and a better topology flow");
+ RNA_def_property_update(prop, 0, "rna_Mesh_update_draw");
+
+ prop = RNA_def_property(srna, "use_remesh_preserve_volume", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_sdna(prop, NULL, "flag", ME_REMESH_REPROJECT_VOLUME);
+ RNA_def_property_ui_text(
+ prop,
+ "Preserve Volume",
+ "Projects the mesh to preserve the volume and details of the original mesh");
+ RNA_def_property_update(prop, 0, "rna_Mesh_update_draw");
+
+ prop = RNA_def_property(srna, "use_remesh_preserve_paint_mask", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_boolean_sdna(prop, NULL, "flag", ME_REMESH_REPROJECT_PAINT_MASK);
RNA_def_property_boolean_default(prop, false);
RNA_def_property_ui_text(prop, "Preserve Paint Mask", "Keep the current mask on the new mesh");
diff --git a/source/blender/makesrna/intern/rna_modifier.c b/source/blender/makesrna/intern/rna_modifier.c
index db5c26cc44f..b814f20d8ce 100644
--- a/source/blender/makesrna/intern/rna_modifier.c
+++ b/source/blender/makesrna/intern/rna_modifier.c
@@ -4040,16 +4040,71 @@ static void rna_def_modifier_surface(BlenderRNA *brna)
static void rna_def_modifier_solidify(BlenderRNA *brna)
{
+ static const EnumPropertyItem mode_items[] = {
+ {MOD_SOLIDIFY_MODE_EXTRUDE,
+ "EXTRUDE",
+ 0,
+ "Simple",
+ "Output a solidified version of a mesh by simple extrusion"},
+ {MOD_SOLIDIFY_MODE_NONMANIFOLD,
+ "NON_MANIFOLD",
+ 0,
+ "Complex",
+ "Output a manifold mesh even if the base mesh is non-manifold, "
+ "where edges have 3 or more connecting faces."
+ "This method is slower"},
+ {0, NULL, 0, NULL, NULL},
+ };
+
+ static const EnumPropertyItem nonmanifold_thickness_mode_items[] = {
+ {MOD_SOLIDIFY_NONMANIFOLD_OFFSET_MODE_FIXED,
+ "FIXED",
+ 0,
+ "Fixed",
+ "Most basic thickness calculation"},
+ {MOD_SOLIDIFY_NONMANIFOLD_OFFSET_MODE_EVEN,
+ "EVEN",
+ 0,
+ "Even",
+ "Even thickness calculation which takes the angle between faces into account"},
+ {MOD_SOLIDIFY_NONMANIFOLD_OFFSET_MODE_CONSTRAINTS,
+ "CONSTRAINTS",
+ 0,
+ "Constraints",
+ "Thickness calculation using constraints, most advanced"},
+ {0, NULL, 0, NULL, NULL},
+ };
+
+ static const EnumPropertyItem nonmanifold_boundary_mode_items[] = {
+ {MOD_SOLIDIFY_NONMANIFOLD_BOUNDARY_MODE_NONE, "NONE", 0, "None", "No shape correction"},
+ {MOD_SOLIDIFY_NONMANIFOLD_BOUNDARY_MODE_ROUND,
+ "ROUND",
+ 0,
+ "Round",
+ "Round open perimeter shape"},
+ {MOD_SOLIDIFY_NONMANIFOLD_BOUNDARY_MODE_FLAT,
+ "FLAT",
+ 0,
+ "Flat",
+ "Flat open perimeter shape"},
+ {0, NULL, 0, NULL, NULL},
+ };
+
StructRNA *srna;
PropertyRNA *prop;
srna = RNA_def_struct(brna, "SolidifyModifier", "Modifier");
- RNA_def_struct_ui_text(srna,
- "Solidify Modifier",
- "Create a solid skin by extruding, compensating for sharp angles");
+ RNA_def_struct_ui_text(
+ srna, "Solidify Modifier", "Create a solid skin, compensating for sharp angles");
RNA_def_struct_sdna(srna, "SolidifyModifierData");
RNA_def_struct_ui_icon(srna, ICON_MOD_SOLIDIFY);
+ prop = RNA_def_property(srna, "solidify_mode", PROP_ENUM, PROP_NONE);
+ RNA_def_property_enum_sdna(prop, NULL, "mode");
+ RNA_def_property_enum_items(prop, mode_items);
+ RNA_def_property_ui_text(prop, "Mode", "Selects the used algorithm");
+ RNA_def_property_update(prop, 0, "rna_Modifier_update");
+
prop = RNA_def_property(srna, "thickness", PROP_FLOAT, PROP_DISTANCE);
RNA_def_property_float_sdna(prop, NULL, "offset");
RNA_def_property_range(prop, -FLT_MAX, FLT_MAX);
@@ -4064,6 +4119,11 @@ static void rna_def_modifier_solidify(BlenderRNA *brna)
RNA_def_property_ui_text(prop, "Clamp", "Offset clamp based on geometry scale");
RNA_def_property_update(prop, 0, "rna_Modifier_update");
+ prop = RNA_def_property(srna, "use_thickness_angle_clamp", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_sdna(prop, NULL, "flag", MOD_SOLIDIFY_OFFSET_ANGLE_CLAMP);
+ RNA_def_property_ui_text(prop, "Angle Clamp", "Clamp thickness based on angles");
+ RNA_def_property_update(prop, 0, "rna_Modifier_update");
+
prop = RNA_def_property(srna, "thickness_vertex_group", PROP_FLOAT, PROP_FACTOR);
RNA_def_property_float_sdna(prop, NULL, "offset_fac_vg");
RNA_def_property_range(prop, 0.0, 1.0);
@@ -4157,6 +4217,18 @@ static void rna_def_modifier_solidify(BlenderRNA *brna)
RNA_def_property_boolean_sdna(prop, NULL, "flag", MOD_SOLIDIFY_NOSHELL);
RNA_def_property_ui_text(prop, "Only Rim", "Only add the rim to the original data");
RNA_def_property_update(prop, 0, "rna_Modifier_update");
+
+ /* Settings for #MOD_SOLIDIFY_MODE_NONMANIFOLD */
+ prop = RNA_def_property(srna, "nonmanifold_thickness_mode", PROP_ENUM, PROP_NONE);
+ RNA_def_property_enum_sdna(prop, NULL, "nonmanifold_offset_mode");
+ RNA_def_property_enum_items(prop, nonmanifold_thickness_mode_items);
+ RNA_def_property_ui_text(prop, "Thickness Mode", "Selects the used thickness algorithm");
+ RNA_def_property_update(prop, 0, "rna_Modifier_update");
+
+ prop = RNA_def_property(srna, "nonmanifold_boundary_mode", PROP_ENUM, PROP_NONE);
+ RNA_def_property_enum_items(prop, nonmanifold_boundary_mode_items);
+ RNA_def_property_ui_text(prop, "Boundary Shape", "Selects the boundary adjustment algorithm");
+ RNA_def_property_update(prop, 0, "rna_Modifier_update");
}
static void rna_def_modifier_screw(BlenderRNA *brna)
diff --git a/source/blender/makesrna/intern/rna_nodetree.c b/source/blender/makesrna/intern/rna_nodetree.c
index b9b7506cf42..287c7502c41 100644
--- a/source/blender/makesrna/intern/rna_nodetree.c
+++ b/source/blender/makesrna/intern/rna_nodetree.c
@@ -3986,7 +3986,7 @@ static void def_mix_rgb(StructRNA *srna)
prop = RNA_def_property(srna, "blend_type", PROP_ENUM, PROP_NONE);
RNA_def_property_enum_sdna(prop, NULL, "custom1");
RNA_def_property_enum_items(prop, rna_enum_ramp_blend_items);
- RNA_def_property_ui_text(prop, "Blend Type", "");
+ RNA_def_property_ui_text(prop, "Blending Mode", "");
RNA_def_property_update(prop, NC_NODE | NA_EDITED, "rna_Node_update");
prop = RNA_def_property(srna, "use_alpha", PROP_BOOLEAN, PROP_NONE);
@@ -5719,7 +5719,7 @@ static void def_cmp_dilate_erode(StructRNA *srna)
prop = RNA_def_property(srna, "distance", PROP_INT, PROP_NONE);
RNA_def_property_int_sdna(prop, NULL, "custom2");
RNA_def_property_range(prop, -5000, 5000);
- RNA_def_property_ui_range(prop, -100, 100, 0, -1);
+ RNA_def_property_ui_range(prop, -100, 100, 1, -1);
RNA_def_property_ui_text(prop, "Distance", "Distance to grow/shrink (number of iterations)");
RNA_def_property_update(prop, NC_NODE | NA_EDITED, "rna_Node_update");
diff --git a/source/blender/makesrna/intern/rna_object.c b/source/blender/makesrna/intern/rna_object.c
index 7b80cf5c995..75594d1b295 100644
--- a/source/blender/makesrna/intern/rna_object.c
+++ b/source/blender/makesrna/intern/rna_object.c
@@ -2735,7 +2735,7 @@ static void rna_def_object(BlenderRNA *brna)
RNA_def_property_float_sdna(prop, NULL, "parentinv");
RNA_def_property_multi_array(prop, 2, rna_matrix_dimsize_4x4);
RNA_def_property_ui_text(
- prop, "Matrix", "Inverse of object's parent matrix at time of parenting");
+ prop, "Parent Inverse Matrix", "Inverse of object's parent matrix at time of parenting");
RNA_def_property_update(prop, NC_OBJECT | ND_TRANSFORM, "rna_Object_internal_update");
/* modifiers */
diff --git a/source/blender/makesrna/intern/rna_object_api.c b/source/blender/makesrna/intern/rna_object_api.c
index 56d25f5bebf..81f653e73be 100644
--- a/source/blender/makesrna/intern/rna_object_api.c
+++ b/source/blender/makesrna/intern/rna_object_api.c
@@ -70,6 +70,7 @@ static const EnumPropertyItem space_items[] = {
# include "BKE_customdata.h"
# include "BKE_font.h"
# include "BKE_global.h"
+# include "BKE_layer.h"
# include "BKE_main.h"
# include "BKE_mesh.h"
# include "BKE_mball.h"
@@ -283,6 +284,11 @@ static void rna_Object_local_view_set(Object *ob,
}
}
+static bool rna_Object_visible_in_viewport_get(Object *ob, View3D *v3d)
+{
+ return BKE_object_is_visible_in_viewport(v3d, ob);
+}
+
/* Convert a given matrix from a space to another (using the object and/or a bone as
* reference). */
static void rna_Object_mat_convert_space(Object *ob,
@@ -317,7 +323,7 @@ static void rna_Object_mat_convert_space(Object *ob,
}
}
- BKE_constraint_mat_convertspace(ob, pchan, (float(*)[4])mat_ret, from, to, false);
+ BKE_constraint_mat_convertspace(ob, pchan, (float(*)[4])mat_ret, from, to);
}
static void rna_Object_calc_matrix_camera(Object *ob,
@@ -825,6 +831,15 @@ void RNA_api_object(StructRNA *srna)
parm = RNA_def_boolean(func, "state", 0, "", "Local view state to define");
RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
+ /* Viewport */
+ func = RNA_def_function(srna, "visible_in_viewport_get", "rna_Object_visible_in_viewport_get");
+ RNA_def_function_ui_description(
+ func, "Check for local view and local collections for this viewport and object");
+ parm = RNA_def_pointer(func, "viewport", "SpaceView3D", "", "Viewport in local collections");
+ RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
+ parm = RNA_def_boolean(func, "result", 0, "", "Object viewport visibility");
+ RNA_def_function_return(func, parm);
+
/* Matrix space conversion */
func = RNA_def_function(srna, "convert_space", "rna_Object_mat_convert_space");
RNA_def_function_ui_description(
diff --git a/source/blender/makesrna/intern/rna_object_force.c b/source/blender/makesrna/intern/rna_object_force.c
index d3d6c703292..6182e583d72 100644
--- a/source/blender/makesrna/intern/rna_object_force.c
+++ b/source/blender/makesrna/intern/rna_object_force.c
@@ -798,7 +798,7 @@ static void rna_CollisionSettings_update(Main *UNUSED(bmain),
{
Object *ob = (Object *)ptr->owner_id;
- DEG_id_tag_update(&ob->id, ID_RECALC_TRANSFORM | ID_RECALC_GEOMETRY | ID_RECALC_ANIMATION);
+ DEG_id_tag_update(&ob->id, ID_RECALC_TRANSFORM | ID_RECALC_GEOMETRY);
WM_main_add_notifier(NC_OBJECT | ND_DRAW, ob);
}
diff --git a/source/blender/makesrna/intern/rna_packedfile.c b/source/blender/makesrna/intern/rna_packedfile.c
index dda1c637f39..8319612ea91 100644
--- a/source/blender/makesrna/intern/rna_packedfile.c
+++ b/source/blender/makesrna/intern/rna_packedfile.c
@@ -32,6 +32,7 @@
#include "rna_internal.h"
const EnumPropertyItem rna_enum_unpack_method_items[] = {
+ {PF_REMOVE, "REMOVE", 0, "Remove Pack", ""},
{PF_USE_LOCAL, "USE_LOCAL", 0, "Use Local File", ""},
{PF_WRITE_LOCAL, "WRITE_LOCAL", 0, "Write Local File (overwrite existing)", ""},
{PF_USE_ORIGINAL, "USE_ORIGINAL", 0, "Use Original File", ""},
diff --git a/source/blender/makesrna/intern/rna_pose.c b/source/blender/makesrna/intern/rna_pose.c
index 0f8f8d39c41..8c4b7dd52d9 100644
--- a/source/blender/makesrna/intern/rna_pose.c
+++ b/source/blender/makesrna/intern/rna_pose.c
@@ -648,7 +648,7 @@ bool rna_PoseChannel_constraints_override_apply(Main *UNUSED(bmain),
/* Remember that insertion operations are defined and stored in correct order, which means that
* even if we insert several items in a row, we always insert first one, then second one, etc.
- * So we should always find 'anchor' constraint in both _src *and* _dst> */
+ * So we should always find 'anchor' constraint in both _src *and* _dst */
bConstraint *con_anchor = NULL;
if (opop->subitem_local_name && opop->subitem_local_name[0]) {
con_anchor = BLI_findstring(
@@ -669,7 +669,11 @@ bool rna_PoseChannel_constraints_override_apply(Main *UNUSED(bmain),
}
con_src = con_src ? con_src->next : pchan_src->constraints.first;
- BLI_assert(con_src != NULL);
+ if (con_src == NULL) {
+ printf("%s: Could not find constraint to insert, doing nothing...\n", __func__);
+ BLI_assert(0);
+ return false;
+ }
bConstraint *con_dst = BKE_constraint_duplicate_ex(con_src, 0, true);
diff --git a/source/blender/makesrna/intern/rna_rna.c b/source/blender/makesrna/intern/rna_rna.c
index 26c8df4c7bb..4db702b215f 100644
--- a/source/blender/makesrna/intern/rna_rna.c
+++ b/source/blender/makesrna/intern/rna_rna.c
@@ -1157,20 +1157,21 @@ static bool rna_property_override_diff_propptr_validate_diffing(PointerRNA *prop
*r_is_id = *r_is_null = *r_is_type_diff = false;
/* Beware, PointerRNA_NULL has no type and is considered a 'blank page'! */
- if (propptr_a->type == NULL) {
- if (propptr_b == NULL || propptr_b->type == NULL) {
+ if (ELEM(NULL, propptr_a->type, propptr_a->data)) {
+ if (ELEM(NULL, propptr_b, propptr_b->type, propptr_b->data)) {
*r_is_null = true;
}
else {
*r_is_id = RNA_struct_is_ID(propptr_b->type);
*r_is_null = true;
- *r_is_type_diff = true;
+ *r_is_type_diff = propptr_a->type != propptr_b->type;
}
is_valid_for_diffing = false;
}
else {
*r_is_id = RNA_struct_is_ID(propptr_a->type);
- *r_is_null = *r_is_type_diff = (ELEM(NULL, propptr_b, propptr_b->type));
+ *r_is_null = (ELEM(NULL, propptr_b, propptr_b->type, propptr_b->data));
+ *r_is_type_diff = (propptr_b == NULL || propptr_b->type != propptr_a->type);
is_valid_for_diffing = !(*r_is_id || *r_is_null);
}
diff --git a/source/blender/makesrna/intern/rna_scene.c b/source/blender/makesrna/intern/rna_scene.c
index 4960dc82b28..b9bc7b2bbf5 100644
--- a/source/blender/makesrna/intern/rna_scene.c
+++ b/source/blender/makesrna/intern/rna_scene.c
@@ -3035,6 +3035,11 @@ static void rna_def_tool_settings(BlenderRNA *brna)
"Project individual elements on the surface of other objects");
RNA_def_property_update(prop, NC_SCENE | ND_TOOLSETTINGS, NULL); /* header redraw */
+ prop = RNA_def_property(srna, "use_snap_backface_culling", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_sdna(prop, NULL, "snap_flag", SCE_SNAP_BACKFACE_CULLING);
+ RNA_def_property_ui_text(prop, "Backface Culling", "Exclude back facing geometry from snapping");
+ RNA_def_property_update(prop, NC_SCENE | ND_TOOLSETTINGS, NULL); /* header redraw */
+
prop = RNA_def_property(srna, "use_snap_self", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_boolean_negative_sdna(prop, NULL, "snap_flag", SCE_SNAP_NO_SELF);
RNA_def_property_ui_text(prop, "Project onto Self", "Snap onto itself (Edit Mode Only)");
@@ -3363,7 +3368,7 @@ static void rna_def_unified_paint_settings(BlenderRNA *brna)
prop, NULL, "rna_UnifiedPaintSettings_unprojected_radius_set", NULL);
RNA_def_property_flag(prop, PROP_CONTEXT_UPDATE);
RNA_def_property_range(prop, 0.001, FLT_MAX);
- RNA_def_property_ui_range(prop, 0.001, 1, 0, -1);
+ RNA_def_property_ui_range(prop, 0.001, 1, 1, -1);
RNA_def_property_ui_text(prop, "Unprojected Radius", "Radius of brush in Blender units");
RNA_def_property_update(prop, 0, "rna_UnifiedPaintSettings_radius_update");
@@ -4802,66 +4807,6 @@ static void rna_def_bake_data(BlenderRNA *brna)
RNA_def_property_clear_flag(prop, PROP_EDITABLE);
}
-static void rna_def_gpu_ssao_fx(BlenderRNA *brna)
-{
- StructRNA *srna;
- PropertyRNA *prop;
-
- srna = RNA_def_struct(brna, "GPUSSAOSettings", NULL);
- RNA_def_struct_ui_text(
- srna, "GPU SSAO", "Settings for GPU based screen space ambient occlusion");
-
- prop = RNA_def_property(srna, "factor", PROP_FLOAT, PROP_NONE);
- RNA_def_property_ui_text(prop, "Strength", "Strength of the SSAO effect");
- RNA_def_property_range(prop, 0.0f, 250.0f);
- RNA_def_property_update(prop, NC_SPACE | ND_SPACE_VIEW3D, NULL);
-
- prop = RNA_def_property(srna, "distance_max", PROP_FLOAT, PROP_NONE);
- RNA_def_property_ui_text(
- prop, "Distance", "Distance of object that contribute to the SSAO effect");
- RNA_def_property_range(prop, 0.0f, 100000.0f);
- RNA_def_property_ui_range(prop, 0.0f, 100.0f, 1, 3);
- RNA_def_property_update(prop, NC_SPACE | ND_SPACE_VIEW3D, NULL);
-
- prop = RNA_def_property(srna, "attenuation", PROP_FLOAT, PROP_NONE);
- RNA_def_property_ui_text(prop, "Attenuation", "Attenuation constant");
- RNA_def_property_range(prop, 1.0f, 100000.0f);
- RNA_def_property_ui_range(prop, 1.0f, 100.0f, 1, 3);
- RNA_def_property_update(prop, NC_SPACE | ND_SPACE_VIEW3D, NULL);
-
- prop = RNA_def_property(srna, "samples", PROP_INT, PROP_NONE);
- RNA_def_property_ui_text(prop, "Samples", "Number of samples");
- RNA_def_property_range(prop, 1, 500);
- RNA_def_property_update(prop, NC_SPACE | ND_SPACE_VIEW3D, NULL);
-
- prop = RNA_def_property(srna, "color", PROP_FLOAT, PROP_COLOR_GAMMA);
- RNA_def_property_ui_text(prop, "Color", "Color for screen space ambient occlusion effect");
- RNA_def_property_range(prop, 0.0f, 1.0f);
- RNA_def_property_update(prop, NC_SPACE | ND_SPACE_VIEW3D, NULL);
-}
-
-static void rna_def_gpu_fx(BlenderRNA *brna)
-{
- StructRNA *srna;
- PropertyRNA *prop;
-
- rna_def_gpu_ssao_fx(brna);
-
- srna = RNA_def_struct(brna, "GPUFXSettings", NULL);
- RNA_def_struct_ui_text(srna, "GPU FX Settings", "Settings for GPU based compositing");
-
- prop = RNA_def_property(srna, "ssao", PROP_POINTER, PROP_NONE);
- RNA_def_property_flag(prop, PROP_NEVER_NULL);
- RNA_def_property_struct_type(prop, "GPUSSAOSettings");
- RNA_def_property_ui_text(prop, "Screen Space Ambient Occlusion settings", "");
-
- prop = RNA_def_property(srna, "use_ssao", PROP_BOOLEAN, PROP_NONE);
- RNA_def_property_boolean_sdna(prop, NULL, "fx_flag", GPU_FX_FLAG_SSAO);
- RNA_def_property_ui_text(
- prop, "SSAO", "Use screen space ambient occlusion of field on viewport");
- RNA_def_property_update(prop, NC_SPACE | ND_SPACE_VIEW3D, NULL);
-}
-
static void rna_def_view_layers(BlenderRNA *brna, PropertyRNA *cprop)
{
StructRNA *srna;
@@ -5683,7 +5628,8 @@ static void rna_def_scene_render_data(BlenderRNA *brna)
RNA_def_property_float_sdna(prop, NULL, "frs_sec_base");
RNA_def_property_clear_flag(prop, PROP_ANIMATABLE);
RNA_def_property_range(prop, 1e-5f, 1e6f);
- RNA_def_property_ui_range(prop, 0.1f, 120.0f, 2, -1);
+ /* Important to show at least 3 decimal points because multiple presets set this to 1.001. */
+ RNA_def_property_ui_range(prop, 0.1f, 120.0f, 2, 3);
RNA_def_property_ui_text(prop, "FPS Base", "Framerate base");
RNA_def_property_update(prop, NC_SCENE | ND_RENDER_OPTIONS, "rna_Scene_fps_update");
@@ -7546,7 +7492,6 @@ void RNA_def_scene(BlenderRNA *brna)
RNA_define_animate_sdna(true);
/* *** Animated *** */
rna_def_scene_render_data(brna);
- rna_def_gpu_fx(brna);
rna_def_scene_render_view(brna);
/* Scene API */
diff --git a/source/blender/makesrna/intern/rna_scene_api.c b/source/blender/makesrna/intern/rna_scene_api.c
index 2b1b23a40f4..8a06d594c1f 100644
--- a/source/blender/makesrna/intern/rna_scene_api.c
+++ b/source/blender/makesrna/intern/rna_scene_api.c
@@ -88,7 +88,11 @@ static void rna_Scene_frame_set(Scene *scene, Main *bmain, int frame, float subf
BPy_END_ALLOW_THREADS;
# endif
- BKE_scene_camera_switch_update(scene);
+ if (BKE_scene_camera_switch_update(scene)) {
+ for (bScreen *sc = bmain->screens.first; sc; sc = sc->id.next) {
+ BKE_screen_view3d_scene_sync(sc, scene);
+ }
+ }
/* don't do notifier when we're rendering, avoid some viewport crashes
* redrawing while the data is being modified for render */
diff --git a/source/blender/makesrna/intern/rna_screen.c b/source/blender/makesrna/intern/rna_screen.c
index 728ef3fb706..1637f8cfed5 100644
--- a/source/blender/makesrna/intern/rna_screen.c
+++ b/source/blender/makesrna/intern/rna_screen.c
@@ -272,7 +272,7 @@ static void rna_Area_ui_type_update(bContext *C, PointerRNA *ptr)
sa->butspacetype_subtype = 0;
}
-static void rna_View2D_region_to_view(struct View2D *v2d, int x, int y, float result[2])
+static void rna_View2D_region_to_view(struct View2D *v2d, float x, float y, float result[2])
{
UI_view2d_region_to_view(v2d, x, y, &result[0], &result[1]);
}
@@ -406,9 +406,9 @@ static void rna_def_view2d_api(StructRNA *srna)
func = RNA_def_function(srna, "region_to_view", "rna_View2D_region_to_view");
RNA_def_function_ui_description(func, "Transform region coordinates to 2D view");
- parm = RNA_def_int(func, "x", 0, INT_MIN, INT_MAX, "x", "Region x coordinate", -10000, 10000);
+ parm = RNA_def_float(func, "x", 0, -FLT_MAX, FLT_MAX, "x", "Region x coordinate", -10000, 10000);
RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
- parm = RNA_def_int(func, "y", 0, INT_MIN, INT_MAX, "y", "Region y coordinate", -10000, 10000);
+ parm = RNA_def_float(func, "y", 0, -FLT_MAX, FLT_MAX, "y", "Region y coordinate", -10000, 10000);
RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
parm = RNA_def_float_array(func,
"result",
diff --git a/source/blender/makesrna/intern/rna_sculpt_paint.c b/source/blender/makesrna/intern/rna_sculpt_paint.c
index ef550a079ad..1457bbfd3c3 100644
--- a/source/blender/makesrna/intern/rna_sculpt_paint.c
+++ b/source/blender/makesrna/intern/rna_sculpt_paint.c
@@ -204,10 +204,11 @@ static PointerRNA rna_ParticleBrush_curve_get(PointerRNA *ptr)
static void rna_ParticleEdit_redo(bContext *C, PointerRNA *UNUSED(ptr))
{
+ Depsgraph *depsgraph = CTX_data_depsgraph_pointer(C);
Scene *scene = CTX_data_scene(C);
ViewLayer *view_layer = CTX_data_view_layer(C);
Object *ob = OBACT(view_layer);
- PTCacheEdit *edit = PE_get_current(scene, ob);
+ PTCacheEdit *edit = PE_get_current(depsgraph, scene, ob);
if (!edit) {
return;
@@ -259,8 +260,9 @@ static const EnumPropertyItem *rna_ParticleEdit_tool_itemf(bContext *C,
ViewLayer *view_layer = CTX_data_view_layer(C);
Object *ob = OBACT(view_layer);
# if 0
+ Depsgraph *depsgraph = CTX_data_depsgraph_pointer(C);
Scene *scene = CTX_data_scene(C);
- PTCacheEdit *edit = PE_get_current(scene, ob);
+ PTCacheEdit *edit = PE_get_current(depsgraph, scene, ob);
ParticleSystem *psys = edit ? edit->psys : NULL;
# else
/* use this rather than PE_get_current() - because the editing cache is
@@ -285,14 +287,14 @@ static bool rna_ParticleEdit_editable_get(PointerRNA *ptr)
{
ParticleEditSettings *pset = (ParticleEditSettings *)ptr->data;
- return (pset->object && pset->scene && PE_get_current(pset->scene, pset->object));
+ return (pset->object && pset->scene && PE_get_current(NULL, pset->scene, pset->object));
}
static bool rna_ParticleEdit_hair_get(PointerRNA *ptr)
{
ParticleEditSettings *pset = (ParticleEditSettings *)ptr->data;
if (pset->scene) {
- PTCacheEdit *edit = PE_get_current(pset->scene, pset->object);
+ PTCacheEdit *edit = PE_get_current(NULL, pset->scene, pset->object);
return (edit && edit->psys);
}
@@ -646,7 +648,7 @@ static void rna_def_paint(BlenderRNA *brna)
prop = RNA_def_property(srna, "input_samples", PROP_INT, PROP_UNSIGNED);
RNA_def_property_int_sdna(prop, NULL, "num_input_samples");
- RNA_def_property_ui_range(prop, 1, PAINT_MAX_INPUT_SAMPLES, 0, -1);
+ RNA_def_property_ui_range(prop, 1, PAINT_MAX_INPUT_SAMPLES, 1, -1);
RNA_def_property_ui_text(
prop, "Input Samples", "Average multiple input samples together to smooth the brush stroke");
RNA_def_property_update(prop, NC_SCENE | ND_TOOLSETTINGS, NULL);
@@ -1021,7 +1023,7 @@ static void rna_def_image_paint(BlenderRNA *brna)
/* integers */
prop = RNA_def_property(srna, "seam_bleed", PROP_INT, PROP_PIXEL);
- RNA_def_property_ui_range(prop, 0, 8, 0, -1);
+ RNA_def_property_ui_range(prop, 0, 8, 1, -1);
RNA_def_property_ui_text(
prop, "Bleed", "Extend paint beyond the faces UVs to reduce seams (in pixels, slower)");
diff --git a/source/blender/makesrna/intern/rna_sequencer.c b/source/blender/makesrna/intern/rna_sequencer.c
index dc0cc0482aa..2c5f93e28ed 100644
--- a/source/blender/makesrna/intern/rna_sequencer.c
+++ b/source/blender/makesrna/intern/rna_sequencer.c
@@ -157,6 +157,13 @@ static void rna_Sequence_invalidate_composite_update(Main *UNUSED(bmain),
}
}
+static void rna_Sequence_scene_switch_update(Main *bmain, Scene *scene, PointerRNA *ptr)
+{
+ rna_Sequence_invalidate_raw_update(bmain, scene, ptr);
+ DEG_id_tag_update(&scene->id, ID_RECALC_AUDIO | ID_RECALC_SEQUENCER_STRIPS);
+ DEG_relations_tag_update(bmain);
+}
+
static void rna_Sequence_use_sequence(Main *bmain, Scene *scene, PointerRNA *ptr)
{
/* General update callback. */
@@ -1462,7 +1469,7 @@ static const EnumPropertyItem blend_mode_items[] = {
{0, "", ICON_NONE, NULL, NULL},
{SEQ_TYPE_LIGHTEN, "LIGHTEN", 0, "Lighten", ""},
{SEQ_TYPE_SCREEN, "SCREEN", 0, "Screen", ""},
- {SEQ_TYPE_DODGE, "DODGE", 0, "Dodge", ""},
+ {SEQ_TYPE_DODGE, "DODGE", 0, "Color Dodge", ""},
{SEQ_TYPE_ADD, "ADD", 0, "Add", ""},
{0, "", ICON_NONE, NULL, NULL},
{SEQ_TYPE_OVERLAY, "OVERLAY", 0, "Overlay", ""},
@@ -1723,7 +1730,7 @@ static void rna_def_sequence(BlenderRNA *brna)
RNA_def_property_enum_sdna(prop, NULL, "blend_mode");
RNA_def_property_enum_items(prop, blend_mode_items);
RNA_def_property_ui_text(
- prop, "Blend Mode", "Method for controlling how the strip combines with other strips");
+ prop, "Blending Mode", "Method for controlling how the strip combines with other strips");
RNA_def_property_update(
prop, NC_SCENE | ND_SEQUENCER, "rna_Sequence_invalidate_preprocessed_update");
@@ -2225,9 +2232,9 @@ static void rna_def_scene(BlenderRNA *brna)
RNA_def_struct_sdna(srna, "Sequence");
prop = RNA_def_property(srna, "scene", PROP_POINTER, PROP_NONE);
- RNA_def_property_flag(prop, PROP_EDITABLE);
+ RNA_def_property_flag(prop, PROP_EDITABLE | PROP_ID_SELF_CHECK);
RNA_def_property_ui_text(prop, "Scene", "Scene that this sequence uses");
- RNA_def_property_update(prop, NC_SCENE | ND_SEQUENCER, "rna_Sequence_invalidate_raw_update");
+ RNA_def_property_update(prop, NC_SCENE | ND_SEQUENCER, "rna_Sequence_scene_switch_update");
prop = RNA_def_property(srna, "scene_camera", PROP_POINTER, PROP_NONE);
RNA_def_property_flag(prop, PROP_EDITABLE);
@@ -2692,16 +2699,17 @@ static void rna_def_gaussian_blur(StructRNA *srna)
static void rna_def_text(StructRNA *srna)
{
+ /* Avoid text icons because they imply this aligns within a frame, see: T71082 */
static const EnumPropertyItem text_align_x_items[] = {
- {SEQ_TEXT_ALIGN_X_LEFT, "LEFT", ICON_ALIGN_LEFT, "Left", ""},
- {SEQ_TEXT_ALIGN_X_CENTER, "CENTER", ICON_ALIGN_CENTER, "Center", ""},
- {SEQ_TEXT_ALIGN_X_RIGHT, "RIGHT", ICON_ALIGN_RIGHT, "Right", ""},
+ {SEQ_TEXT_ALIGN_X_LEFT, "LEFT", 0, "Left", ""},
+ {SEQ_TEXT_ALIGN_X_CENTER, "CENTER", 0, "Center", ""},
+ {SEQ_TEXT_ALIGN_X_RIGHT, "RIGHT", 0, "Right", ""},
{0, NULL, 0, NULL, NULL},
};
static const EnumPropertyItem text_align_y_items[] = {
- {SEQ_TEXT_ALIGN_Y_TOP, "TOP", ICON_ALIGN_TOP, "Top", ""},
- {SEQ_TEXT_ALIGN_Y_CENTER, "CENTER", ICON_ALIGN_MIDDLE, "Center", ""},
- {SEQ_TEXT_ALIGN_Y_BOTTOM, "BOTTOM", ICON_ALIGN_BOTTOM, "Bottom", ""},
+ {SEQ_TEXT_ALIGN_Y_TOP, "TOP", 0, "Top", ""},
+ {SEQ_TEXT_ALIGN_Y_CENTER, "CENTER", 0, "Center", ""},
+ {SEQ_TEXT_ALIGN_Y_BOTTOM, "BOTTOM", 0, "Bottom", ""},
{0, NULL, 0, NULL, NULL},
};
@@ -2758,7 +2766,7 @@ static void rna_def_text(StructRNA *srna)
RNA_def_property_enum_sdna(prop, NULL, "align");
RNA_def_property_enum_items(prop, text_align_x_items);
RNA_def_property_ui_text(
- prop, "Align X", "Align the text along the X axis, relative to the text midpoint");
+ prop, "Align X", "Align the text along the X axis, relative to the text bounds");
RNA_def_property_update(
prop, NC_SCENE | ND_SEQUENCER, "rna_Sequence_invalidate_preprocessed_update");
@@ -2766,7 +2774,7 @@ static void rna_def_text(StructRNA *srna)
RNA_def_property_enum_sdna(prop, NULL, "align_y");
RNA_def_property_enum_items(prop, text_align_y_items);
RNA_def_property_ui_text(
- prop, "Align Y", "Align the image along the Y axis, relative to the text midpoint");
+ prop, "Align Y", "Align the text along the Y axis, relative to the text bounds");
RNA_def_property_update(
prop, NC_SCENE | ND_SEQUENCER, "rna_Sequence_invalidate_preprocessed_update");
@@ -2785,27 +2793,31 @@ static void rna_def_text(StructRNA *srna)
static void rna_def_color_mix(StructRNA *srna)
{
static EnumPropertyItem blend_color_items[] = {
- {SEQ_TYPE_ADD, "ADD", 0, "Add", ""},
- {SEQ_TYPE_SUB, "SUBTRACT", 0, "Subtract", ""},
+ {SEQ_TYPE_DARKEN, "DARKEN", 0, "Darken", ""},
{SEQ_TYPE_MUL, "MULTIPLY", 0, "Multiply", ""},
+ {SEQ_TYPE_COLOR_BURN, "BURN", 0, "Color Burn", ""},
+ {SEQ_TYPE_LINEAR_BURN, "LINEAR_BURN", 0, "Linear Burn", ""},
+ {0, "", ICON_NONE, NULL, NULL},
{SEQ_TYPE_LIGHTEN, "LIGHTEN", 0, "Lighten", ""},
- {SEQ_TYPE_DARKEN, "DARKEN", 0, "Darken", ""},
{SEQ_TYPE_SCREEN, "SCREEN", 0, "Screen", ""},
+ {SEQ_TYPE_DODGE, "DODGE", 0, "Color Dodge", ""},
+ {SEQ_TYPE_ADD, "ADD", 0, "Add", ""},
+ {0, "", ICON_NONE, NULL, NULL},
{SEQ_TYPE_OVERLAY, "OVERLAY", 0, "Overlay", ""},
- {SEQ_TYPE_DODGE, "DODGE", 0, "Dodge", ""},
- {SEQ_TYPE_COLOR_BURN, "BURN", 0, "Color Burn", ""},
- {SEQ_TYPE_LINEAR_BURN, "LINEAR_BURN", 0, "Linear Burn", ""},
{SEQ_TYPE_SOFT_LIGHT, "SOFT_LIGHT", 0, "Soft Light", ""},
{SEQ_TYPE_HARD_LIGHT, "HARD_LIGHT", 0, "Hard Light", ""},
- {SEQ_TYPE_PIN_LIGHT, "PIN_LIGHT", 0, "Pin Light", ""},
- {SEQ_TYPE_LIN_LIGHT, "LINEAR_LIGHT", 0, "Linear Light", ""},
{SEQ_TYPE_VIVID_LIGHT, "VIVID_LIGHT", 0, "Vivid Light", ""},
- {SEQ_TYPE_BLEND_COLOR, "COLOR", 0, "Color", ""},
+ {SEQ_TYPE_LIN_LIGHT, "LINEAR_LIGHT", 0, "Linear Light", ""},
+ {SEQ_TYPE_PIN_LIGHT, "PIN_LIGHT", 0, "Pin Light", ""},
+ {0, "", ICON_NONE, NULL, NULL},
+ {SEQ_TYPE_DIFFERENCE, "DIFFERENCE", 0, "Difference", ""},
+ {SEQ_TYPE_EXCLUSION, "EXCLUSION", 0, "Exclusion", ""},
+ {SEQ_TYPE_SUB, "SUBTRACT", 0, "Subtract", ""},
+ {0, "", ICON_NONE, NULL, NULL},
{SEQ_TYPE_HUE, "HUE", 0, "Hue", ""},
{SEQ_TYPE_SATURATION, "SATURATION", 0, "Saturation", ""},
+ {SEQ_TYPE_BLEND_COLOR, "COLOR", 0, "Color", ""},
{SEQ_TYPE_VALUE, "VALUE", 0, "Value", ""},
- {SEQ_TYPE_DIFFERENCE, "DIFFERENCE", 0, "Difference", ""},
- {SEQ_TYPE_EXCLUSION, "EXCLUSION", 0, "Exclusion", ""},
{0, NULL, 0, NULL, NULL},
};
@@ -2817,7 +2829,7 @@ static void rna_def_color_mix(StructRNA *srna)
RNA_def_property_enum_sdna(prop, NULL, "blend_effect");
RNA_def_property_enum_items(prop, blend_color_items);
RNA_def_property_ui_text(
- prop, "Blend Effect", "Method for controlling how the strip combines with other strips");
+ prop, "Blending Mode", "Method for controlling how the strip combines with other strips");
RNA_def_property_update(
prop, NC_SCENE | ND_SEQUENCER, "rna_Sequence_invalidate_preprocessed_update");
diff --git a/source/blender/makesrna/intern/rna_shader_fx.c b/source/blender/makesrna/intern/rna_shader_fx.c
index acf525e1788..cd4e027ce7c 100644
--- a/source/blender/makesrna/intern/rna_shader_fx.c
+++ b/source/blender/makesrna/intern/rna_shader_fx.c
@@ -260,14 +260,14 @@ static void rna_def_shader_fx_colorize(BlenderRNA *brna)
RNA_def_property_range(prop, 0.0, 1.0);
RNA_def_property_float_sdna(prop, NULL, "low_color");
RNA_def_property_array(prop, 4);
- RNA_def_property_ui_text(prop, "Low color", "First color used for effect");
+ RNA_def_property_ui_text(prop, "Low Color", "First color used for effect");
RNA_def_property_update(prop, NC_OBJECT | ND_MODIFIER, "rna_ShaderFx_update");
prop = RNA_def_property(srna, "high_color", PROP_FLOAT, PROP_COLOR_GAMMA);
RNA_def_property_range(prop, 0.0, 1.0);
RNA_def_property_float_sdna(prop, NULL, "high_color");
RNA_def_property_array(prop, 4);
- RNA_def_property_ui_text(prop, "Height color", "Second color used for effect");
+ RNA_def_property_ui_text(prop, "High Color", "Second color used for effect");
RNA_def_property_update(prop, NC_OBJECT | ND_MODIFIER, "rna_ShaderFx_update");
prop = RNA_def_property(srna, "mode", PROP_ENUM, PROP_NONE);
diff --git a/source/blender/makesrna/intern/rna_space.c b/source/blender/makesrna/intern/rna_space.c
index 56ba6403596..f9fa6e78163 100644
--- a/source/blender/makesrna/intern/rna_space.c
+++ b/source/blender/makesrna/intern/rna_space.c
@@ -589,7 +589,7 @@ static void rna_Space_bool_from_region_flag_set_by_type(PointerRNA *ptr,
{
ScrArea *sa = rna_area_from_space(ptr);
ARegion *ar = BKE_area_find_region_type(sa, region_type);
- if (ar) {
+ if (ar && (ar->alignment != RGN_ALIGN_NONE)) {
SET_FLAG_FROM_TEST(ar->flag, value, region_flag);
}
ED_region_tag_redraw(ar);
@@ -787,13 +787,18 @@ static void rna_Space_view2d_sync_update(Main *UNUSED(bmain),
static void rna_GPencil_update(Main *bmain, Scene *UNUSED(scene), PointerRNA *UNUSED(ptr))
{
+ bool changed = false;
/* need set all caches as dirty to recalculate onion skinning */
for (Object *ob = bmain->objects.first; ob; ob = ob->id.next) {
if (ob->type == OB_GPENCIL) {
- DEG_id_tag_update(&ob->id, ID_RECALC_GEOMETRY);
+ bGPdata *gpd = (bGPdata *)ob->data;
+ DEG_id_tag_update(&gpd->id, ID_RECALC_GEOMETRY);
+ changed = true;
}
}
- WM_main_add_notifier(NC_GPENCIL | NA_EDITED, NULL);
+ if (changed) {
+ WM_main_add_notifier(NC_GPENCIL | NA_EDITED, NULL);
+ }
}
/* Space 3D View */
@@ -1105,7 +1110,7 @@ static const EnumPropertyItem *rna_View3DShading_color_type_itemf(bContext *UNUS
}
else {
/* Solid mode, or lookdev mode for workbench engine. */
- r_free = false;
+ *r_free = false;
return rna_enum_shading_color_type_items;
}
}
@@ -1274,6 +1279,11 @@ static char *rna_View3DOverlay_path(PointerRNA *UNUSED(ptr))
/* Space Image Editor */
+static char *rna_SpaceUVEditor_path(PointerRNA *UNUSED(ptr))
+{
+ return BLI_strdup("uv_editor");
+}
+
static PointerRNA rna_SpaceImageEditor_uvedit_get(PointerRNA *ptr)
{
return rna_pointer_inherit_refine(ptr, &RNA_SpaceUVEditor, ptr->data);
@@ -2182,6 +2192,11 @@ static void rna_SpaceClipEditor_view_type_update(Main *UNUSED(bmain),
/* File browser. */
+static char *rna_FileSelectParams_path(PointerRNA *UNUSED(ptr))
+{
+ return BLI_strdup("params");
+}
+
int rna_FileSelectParams_filename_editable(struct PointerRNA *ptr, const char **r_info)
{
FileSelectParams *params = ptr->data;
@@ -2696,6 +2711,7 @@ static void rna_def_space_image_uv(BlenderRNA *brna)
srna = RNA_def_struct(brna, "SpaceUVEditor", NULL);
RNA_def_struct_sdna(srna, "SpaceImage");
RNA_def_struct_nested(brna, srna, "SpaceImageEditor");
+ RNA_def_struct_path_func(srna, "rna_SpaceUVEditor_path");
RNA_def_struct_ui_text(srna, "Space UV Editor", "UV editor data for the image editor space");
/* selection */
@@ -3960,10 +3976,6 @@ static void rna_def_space_view3d(BlenderRNA *brna)
prop, "Show 3D Marker Names", "Show names for reconstructed tracks objects");
RNA_def_property_update(prop, NC_SPACE | ND_SPACE_VIEW3D, NULL);
- prop = RNA_def_property(srna, "fx_settings", PROP_POINTER, PROP_NONE);
- RNA_def_property_ui_text(prop, "FX Options", "Options used for real time compositing");
- RNA_def_property_update(prop, NC_SPACE | ND_SPACE_VIEW3D, NULL);
-
prop = RNA_def_property(srna, "use_local_collections", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_boolean_sdna(prop, NULL, "flag", V3D_LOCAL_COLLECTIONS);
RNA_def_property_ui_text(
@@ -5283,7 +5295,11 @@ static void rna_def_fileselect_params(BlenderRNA *brna)
{FILTER_ID_TXT, "TEXT", ICON_TEXT, "Texts", "Show/hide Text data-blocks"},
{FILTER_ID_VF, "FONT", ICON_FONT_DATA, "Fonts", "Show/hide Font data-blocks"},
{FILTER_ID_WO, "WORLD", ICON_WORLD_DATA, "Worlds", "Show/hide World data-blocks"},
- {FILTER_ID_WS, "WORK_SPACE", ICON_NONE, "Workspaces", "Show/hide workspace data-blocks"},
+ {FILTER_ID_WS,
+ "WORK_SPACE",
+ ICON_WORKSPACE,
+ "Workspaces",
+ "Show/hide workspace data-blocks"},
{0, NULL, 0, NULL, NULL},
};
@@ -5325,6 +5341,7 @@ static void rna_def_fileselect_params(BlenderRNA *brna)
};
srna = RNA_def_struct(brna, "FileSelectParams", NULL);
+ RNA_def_struct_path_func(srna, "rna_FileSelectParams_path");
RNA_def_struct_ui_text(srna, "File Select Parameters", "File Select Parameters");
prop = RNA_def_property(srna, "title", PROP_STRING, PROP_NONE);
diff --git a/source/blender/makesrna/intern/rna_text.c b/source/blender/makesrna/intern/rna_text.c
index 64a23dfa985..778e817c73e 100644
--- a/source/blender/makesrna/intern/rna_text.c
+++ b/source/blender/makesrna/intern/rna_text.c
@@ -87,8 +87,60 @@ static int rna_Text_current_line_index_get(PointerRNA *ptr)
static void rna_Text_current_line_index_set(PointerRNA *ptr, int value)
{
- Text *text = (Text *)ptr->data;
- txt_move_toline(text, value, 0);
+ Text *text = ptr->data;
+ TextLine *line = BLI_findlink(&text->lines, value);
+ if (line == NULL) {
+ line = text->lines.last;
+ }
+ text->curl = line;
+ text->curc = 0;
+}
+
+static int rna_Text_select_end_line_index_get(PointerRNA *ptr)
+{
+ Text *text = ptr->data;
+ return BLI_findindex(&text->lines, text->sell);
+}
+
+static void rna_Text_select_end_line_index_set(PointerRNA *ptr, int value)
+{
+ Text *text = ptr->data;
+ TextLine *line = BLI_findlink(&text->lines, value);
+ if (line == NULL) {
+ line = text->lines.last;
+ }
+ text->sell = line;
+ text->selc = 0;
+}
+
+static int rna_Text_current_character_get(PointerRNA *ptr)
+{
+ Text *text = ptr->data;
+ return BLI_str_utf8_offset_to_index(text->curl->line, text->curc);
+}
+
+static void rna_Text_current_character_set(PointerRNA *ptr, int index)
+{
+ Text *text = ptr->data;
+ TextLine *line = text->curl;
+ const int len_utf8 = BLI_strlen_utf8(line->line);
+ CLAMP_MAX(index, len_utf8);
+ text->curc = BLI_str_utf8_offset_from_index(line->line, index);
+}
+
+static int rna_Text_select_end_character_get(PointerRNA *ptr)
+{
+ Text *text = ptr->data;
+ return BLI_str_utf8_offset_to_index(text->sell->line, text->selc);
+}
+
+static void rna_Text_select_end_character_set(PointerRNA *ptr, int index)
+{
+ Text *text = ptr->data;
+ TextLine *line = text->sell;
+ const int len_utf8 = BLI_strlen_utf8(line->line);
+ CLAMP_MAX(index, len_utf8);
+ text->selc = BLI_str_utf8_offset_from_index(line->line, index);
}
static void rna_TextLine_body_get(PointerRNA *ptr, char *value)
@@ -209,12 +261,14 @@ static void rna_def_text(BlenderRNA *brna)
prop, "Current Line", "Current line, and start line of selection if one exists");
prop = RNA_def_property(srna, "current_character", PROP_INT, PROP_UNSIGNED);
- RNA_def_property_int_sdna(prop, NULL, "curc");
- RNA_def_property_clear_flag(prop, PROP_EDITABLE);
+ RNA_def_property_range(prop, 0, INT_MAX);
RNA_def_property_ui_text(prop,
"Current Character",
"Index of current character in current line, and also start index of "
"character in selection if one exists");
+ RNA_def_property_int_funcs(
+ prop, "rna_Text_current_character_get", "rna_Text_current_character_set", NULL);
+ RNA_def_property_update(prop, NC_TEXT | ND_CURSOR, NULL);
prop = RNA_def_property(srna, "current_line_index", PROP_INT, PROP_NONE);
RNA_def_property_int_funcs(
@@ -230,12 +284,20 @@ static void rna_def_text(BlenderRNA *brna)
RNA_def_property_struct_type(prop, "TextLine");
RNA_def_property_ui_text(prop, "Selection End Line", "End line of selection");
+ prop = RNA_def_property(srna, "select_end_line_index", PROP_INT, PROP_NONE);
+ RNA_def_property_int_funcs(
+ prop, "rna_Text_select_end_line_index_get", "rna_Text_select_end_line_index_set", NULL);
+ RNA_def_property_ui_text(prop, "Select End Line Index", "Index of last TextLine in selection");
+ RNA_def_property_update(prop, NC_TEXT | ND_CURSOR, NULL);
+
prop = RNA_def_property(srna, "select_end_character", PROP_INT, PROP_UNSIGNED);
- RNA_def_property_int_sdna(prop, NULL, "selc");
- RNA_def_property_clear_flag(prop, PROP_EDITABLE);
+ RNA_def_property_range(prop, 0, INT_MAX);
RNA_def_property_ui_text(prop,
"Selection End Character",
"Index of character after end of selection in the selection end line");
+ RNA_def_property_int_funcs(
+ prop, "rna_Text_select_end_character_get", "rna_Text_select_end_character_set", NULL);
+ RNA_def_property_update(prop, NC_TEXT | ND_CURSOR, NULL);
RNA_api_text(srna);
}
diff --git a/source/blender/makesrna/intern/rna_text_api.c b/source/blender/makesrna/intern/rna_text_api.c
index 524dcfa9ad7..000076eccec 100644
--- a/source/blender/makesrna/intern/rna_text_api.c
+++ b/source/blender/makesrna/intern/rna_text_api.c
@@ -46,6 +46,18 @@ static void rna_Text_write(Text *text, const char *str)
WM_main_add_notifier(NC_TEXT | NA_EDITED, text);
}
+static void rna_Text_select_set(Text *text, int startl, int startc, int endl, int endc)
+{
+ txt_sel_set(text, startl, startc, endl, endc);
+ WM_main_add_notifier(NC_TEXT | NA_EDITED, text);
+}
+
+static void rna_Text_cursor_set(Text *text, int line, int ch, bool select)
+{
+ txt_move_to(text, line, ch, select);
+ WM_main_add_notifier(NC_TEXT | NA_EDITED, text);
+}
+
#else
void RNA_api_text(StructRNA *srna)
@@ -69,6 +81,25 @@ void RNA_api_text(StructRNA *srna)
RNA_def_function_ui_description(func,
"Returns True if the editor supports syntax highlighting "
"for the current text datablock");
+
+ func = RNA_def_function(srna, "select_set", "rna_Text_select_set");
+ RNA_def_function_ui_description(func, "Set selection range by line and character index");
+ parm = RNA_def_int(func, "line_start", 0, INT_MIN, INT_MAX, "Start Line", "", INT_MIN, INT_MAX);
+ RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
+ parm = RNA_def_int(
+ func, "char_start", 0, INT_MIN, INT_MAX, "Start Character", "", INT_MIN, INT_MAX);
+ RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
+ parm = RNA_def_int(func, "line_end", 0, INT_MIN, INT_MAX, "End Line", "", INT_MIN, INT_MAX);
+ RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
+ parm = RNA_def_int(func, "char_end", 0, INT_MIN, INT_MAX, "End Character", "", INT_MIN, INT_MAX);
+ RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
+
+ func = RNA_def_function(srna, "cursor_set", "rna_Text_cursor_set");
+ RNA_def_function_ui_description(func, "Set cursor by line and (optionally) character index");
+ parm = RNA_def_int(func, "line", 0, 0, INT_MAX, "Line", "", 0, INT_MAX);
+ RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
+ parm = RNA_def_int(func, "character", 0, 0, INT_MAX, "Character", "", 0, INT_MAX);
+ RNA_def_boolean(func, "select", false, "", "Select when moving the cursor");
}
#endif
diff --git a/source/blender/makesrna/intern/rna_ui_api.c b/source/blender/makesrna/intern/rna_ui_api.c
index 74d1743dfc1..94fe43a0a77 100644
--- a/source/blender/makesrna/intern/rna_ui_api.c
+++ b/source/blender/makesrna/intern/rna_ui_api.c
@@ -479,6 +479,14 @@ static void rna_uiTemplatePathBuilder(uiLayout *layout,
uiTemplatePathBuilder(layout, ptr, propname, root_ptr, name);
}
+static void rna_uiTemplateEventFromKeymapItem(
+ uiLayout *layout, wmKeyMapItem *kmi, const char *name, const char *text_ctxt, bool translate)
+{
+ /* Get translated name (label). */
+ name = rna_translate_ui_text(name, text_ctxt, NULL, NULL, translate);
+ uiTemplateEventFromKeymapItem(layout, name, kmi, true);
+}
+
static int rna_ui_get_rnaptr_icon(bContext *C, PointerRNA *ptr_icon)
{
return UI_rnaptr_icon_get(C, ptr_icon, RNA_struct_ui_icon(ptr_icon->type), false);
@@ -1526,6 +1534,15 @@ void RNA_api_ui_layout(StructRNA *srna)
parm = RNA_def_pointer(func, "params", "FileSelectParams", "", "");
RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
RNA_def_function_flag(func, FUNC_USE_CONTEXT);
+
+ func = RNA_def_function(
+ srna, "template_event_from_keymap_item", "rna_uiTemplateEventFromKeymapItem");
+ RNA_def_function_ui_description(func, "Display keymap item as icons/text");
+ parm = RNA_def_property(func, "item", PROP_POINTER, PROP_NONE);
+ RNA_def_property_struct_type(parm, "KeyMapItem");
+ RNA_def_property_ui_text(parm, "Item", "");
+ RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED);
+ api_ui_item_common_text(func);
}
#endif
diff --git a/source/blender/makesrna/intern/rna_userdef.c b/source/blender/makesrna/intern/rna_userdef.c
index bba4bc1cb54..1b73c1e78db 100644
--- a/source/blender/makesrna/intern/rna_userdef.c
+++ b/source/blender/makesrna/intern/rna_userdef.c
@@ -69,6 +69,32 @@ static const EnumPropertyItem opensubdiv_compute_type_items[] = {
};
#endif
+static const EnumPropertyItem preference_section_items[] = {
+ {USER_SECTION_INTERFACE, "INTERFACE", 0, "Interface", ""},
+ {USER_SECTION_THEME, "THEMES", 0, "Themes", ""},
+ {USER_SECTION_VIEWPORT, "VIEWPORT", 0, "Viewport", ""},
+ {USER_SECTION_LIGHT, "LIGHTS", 0, "Lights", ""},
+ {USER_SECTION_EDITING, "EDITING", 0, "Editing", ""},
+ {USER_SECTION_ANIMATION, "ANIMATION", 0, "Animation", ""},
+ {0, "", 0, NULL, NULL},
+ {USER_SECTION_ADDONS, "ADDONS", 0, "Add-ons", ""},
+#if 0 // def WITH_USERDEF_WORKSPACES
+ {0, "", 0, NULL, NULL},
+ {USER_SECTION_WORKSPACE_CONFIG, "WORKSPACE_CONFIG", 0, "Configuration File", ""},
+ {USER_SECTION_WORKSPACE_ADDONS, "WORKSPACE_ADDONS", 0, "Add-on Overrides", ""},
+ {USER_SECTION_WORKSPACE_KEYMAPS, "WORKSPACE_KEYMAPS", 0, "Keymap Overrides", ""},
+#endif
+ {0, "", 0, NULL, NULL},
+ {USER_SECTION_INPUT, "INPUT", 0, "Input", ""},
+ {USER_SECTION_NAVIGATION, "NAVIGATION", 0, "Navigation", ""},
+ {USER_SECTION_KEYMAP, "KEYMAP", 0, "Keymap", ""},
+ {0, "", 0, NULL, NULL},
+ {USER_SECTION_SYSTEM, "SYSTEM", 0, "System", ""},
+ {USER_SECTION_SAVE_LOAD, "SAVE_LOAD", 0, "Save & Load", ""},
+ {USER_SECTION_FILE_PATHS, "FILE_PATHS", 0, "File Paths", ""},
+ {0, NULL, 0, NULL, NULL},
+};
+
static const EnumPropertyItem audio_device_items[] = {
{0, "Null", 0, "None", "Null device - there will be no audio output"},
{0, NULL, 0, NULL, NULL},
@@ -424,6 +450,50 @@ static void rna_userdef_timecode_style_set(PointerRNA *ptr, int value)
}
}
+static int rna_UserDef_mouse_emulate_3_button_modifier_get(PointerRNA *ptr)
+{
+# if !defined(WIN32)
+ UserDef *userdef = ptr->data;
+ return userdef->mouse_emulate_3_button_modifier;
+# else
+ UNUSED_VARS(ptr);
+ return USER_EMU_MMB_MOD_ALT;
+# endif
+}
+
+static const EnumPropertyItem *rna_UseDef_active_section_itemf(bContext *UNUSED(C),
+ PointerRNA *ptr,
+ PropertyRNA *UNUSED(prop),
+ bool *r_free)
+{
+ UserDef *userdef = ptr->data;
+
+ if ((userdef->flag & USER_DEVELOPER_UI) == 0) {
+ *r_free = false;
+ return preference_section_items;
+ }
+
+ EnumPropertyItem *items = NULL;
+ int totitem = 0;
+
+ RNA_enum_items_add(&items, &totitem, preference_section_items);
+ RNA_enum_item_add_separator(&items, &totitem);
+
+ EnumPropertyItem item = {
+ .value = USER_SECTION_EXPERIMENTAL,
+ .name = "Experimental",
+ .identifier = "EXPERIMENTAL",
+ .icon = 0,
+ .description = "",
+ };
+
+ RNA_enum_item_add(&items, &totitem, &item);
+ RNA_enum_item_end(&items, &totitem);
+
+ *r_free = true;
+ return items;
+}
+
static PointerRNA rna_UserDef_view_get(PointerRNA *ptr)
{
return rna_pointer_inherit_refine(ptr, &RNA_PreferencesView, ptr->data);
@@ -2968,6 +3038,12 @@ static void rna_def_userdef_theme_space_seq(BlenderRNA *brna)
RNA_def_property_array(prop, 3);
RNA_def_property_ui_text(prop, "Metadata Text", "");
RNA_def_property_update(prop, 0, "rna_userdef_theme_update");
+
+ prop = RNA_def_property(srna, "preview_range", PROP_FLOAT, PROP_COLOR_GAMMA);
+ RNA_def_property_float_sdna(prop, NULL, "anim_preview_range");
+ RNA_def_property_array(prop, 4);
+ RNA_def_property_ui_text(prop, "Preview Range", "Color of preview range overlay");
+ RNA_def_property_update(prop, 0, "rna_userdef_theme_update");
}
static void rna_def_userdef_theme_space_action(BlenderRNA *brna)
@@ -3190,6 +3266,18 @@ static void rna_def_userdef_theme_space_nla(BlenderRNA *brna)
RNA_def_property_ui_text(prop, "View Sliders", "");
RNA_def_property_update(prop, 0, "rna_userdef_theme_update");
+ prop = RNA_def_property(srna, "dopesheet_channel", PROP_FLOAT, PROP_COLOR_GAMMA);
+ RNA_def_property_float_sdna(prop, NULL, "ds_channel");
+ RNA_def_property_array(prop, 3);
+ RNA_def_property_ui_text(prop, "Channel", "Nonlinear Animation Channel");
+ RNA_def_property_update(prop, 0, "rna_userdef_theme_update");
+
+ prop = RNA_def_property(srna, "nla_track", PROP_FLOAT, PROP_COLOR_GAMMA);
+ RNA_def_property_float_sdna(prop, NULL, "nla_track");
+ RNA_def_property_array(prop, 3);
+ RNA_def_property_ui_text(prop, "Track", "Nonlinear Animation Track");
+ RNA_def_property_update(prop, 0, "rna_userdef_theme_update");
+
prop = RNA_def_property(srna, "active_action", PROP_FLOAT, PROP_COLOR_GAMMA);
RNA_def_property_float_sdna(prop, NULL, "anim_active");
RNA_def_property_array(prop, 4);
@@ -4133,6 +4221,7 @@ static void rna_def_userdef_view(BlenderRNA *brna)
prop,
"Developer Extras",
"Show options for developers (edit source in context menu, geometry indices)");
+ RNA_def_property_update(prop, 0, "rna_userdef_update");
prop = RNA_def_property(srna, "show_object_info", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_boolean_sdna(prop, NULL, "uiflag", USER_DRAWVIEWINFO);
@@ -4634,6 +4723,13 @@ static void rna_def_userdef_edit(BlenderRNA *brna)
"Color for newly added transformation F-Curves (Location, Rotation, Scale) "
"and also Color is based on the transform axis");
+ prop = RNA_def_property(srna, "fcurve_new_auto_smoothing", PROP_ENUM, PROP_NONE);
+ RNA_def_property_enum_items(prop, rna_enum_fcurve_auto_smoothing_items);
+ RNA_def_property_enum_sdna(prop, NULL, "auto_smoothing_new");
+ RNA_def_property_ui_text(prop,
+ "New Curve Smoothing Mode",
+ "Auto Handle Smoothing mode used for newly added F-Curves");
+
prop = RNA_def_property(srna, "keyframe_new_interpolation_type", PROP_ENUM, PROP_NONE);
RNA_def_property_enum_items(prop, rna_enum_beztriple_interpolation_mode_items);
RNA_def_property_enum_sdna(prop, NULL, "ipo_new");
@@ -4737,17 +4833,19 @@ static void rna_def_userdef_edit(BlenderRNA *brna)
RNA_def_property_ui_text(
prop, "Duplicate Material", "Causes material data to be duplicated with the object");
+ /* Not implemented, keep because this is useful functionality. */
+# if 0
prop = RNA_def_property(srna, "use_duplicate_texture", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_boolean_sdna(prop, NULL, "dupflag", USER_DUP_TEX);
RNA_def_property_ui_text(
prop, "Duplicate Texture", "Causes texture data to be duplicated with the object");
- /* xxx */
prop = RNA_def_property(srna, "use_duplicate_fcurve", PROP_BOOLEAN, PROP_NONE);
- RNA_def_property_boolean_sdna(prop, NULL, "dupflag", USER_DUP_IPO);
+ RNA_def_property_boolean_sdna(prop, NULL, "dupflag", USER_DUP_FCURVE);
RNA_def_property_ui_text(
prop, "Duplicate F-Curve", "Causes F-curve data to be duplicated with the object");
- /* xxx */
+# endif
+
prop = RNA_def_property(srna, "use_duplicate_action", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_boolean_sdna(prop, NULL, "dupflag", USER_DUP_ACT);
RNA_def_property_ui_text(
@@ -5487,6 +5585,21 @@ static void rna_def_userdef_input(BlenderRNA *brna)
RNA_def_property_flag(prop, PROP_CONTEXT_UPDATE);
RNA_def_property_update(prop, 0, "rna_userdef_keyconfig_reload_update");
+ static const EnumPropertyItem mouse_emulate_3_button_modifier[] = {
+ {USER_EMU_MMB_MOD_ALT, "ALT", 0, "Alt", ""},
+ {USER_EMU_MMB_MOD_OSKEY, "OSKEY", 0, "OS-Key", ""},
+ {0, NULL, 0, NULL, NULL},
+ };
+
+ prop = RNA_def_property(srna, "mouse_emulate_3_button_modifier", PROP_ENUM, PROP_NONE);
+ /* Only needed because of WIN32 inability to support the option. */
+ RNA_def_property_enum_funcs(prop, "rna_UserDef_mouse_emulate_3_button_modifier_get", NULL, NULL);
+ RNA_def_property_enum_items(prop, mouse_emulate_3_button_modifier);
+ RNA_def_property_ui_text(
+ prop, "Emulate 3 Button Modifier", "Hold this modifier to emulate the middle mouse button");
+ RNA_def_property_flag(prop, PROP_CONTEXT_UPDATE);
+ RNA_def_property_update(prop, 0, "rna_userdef_keyconfig_reload_update");
+
prop = RNA_def_property(srna, "use_emulate_numpad", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_boolean_sdna(prop, NULL, "flag", USER_NONUMPAD);
RNA_def_property_ui_text(
@@ -5573,11 +5686,6 @@ static void rna_def_userdef_filepaths(BlenderRNA *brna)
RNA_def_property_ui_text(
prop, "Hide System Bookmarks", "Hide system bookmarks in the file selector");
- prop = RNA_def_property(srna, "show_thumbnails", PROP_BOOLEAN, PROP_NONE);
- RNA_def_property_boolean_sdna(prop, NULL, "uiflag", USER_SHOW_THUMBNAILS);
- RNA_def_property_ui_text(
- prop, "Show Thumbnails", "Open in thumbnail view for images and movies");
-
prop = RNA_def_property(srna, "use_relative_paths", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_boolean_sdna(prop, NULL, "flag", USER_RELPATHS);
RNA_def_property_ui_text(
@@ -5708,6 +5816,25 @@ static void rna_def_userdef_filepaths(BlenderRNA *brna)
"Enables automatic saving of preview images in the .blend file");
}
+static void rna_def_userdef_experimental(BlenderRNA *brna)
+{
+ StructRNA *srna;
+ PropertyRNA *prop;
+
+ srna = RNA_def_struct(brna, "PreferencesExperimental", NULL);
+ RNA_def_struct_sdna(srna, "UserDef_Experimental");
+ RNA_def_struct_nested(brna, srna, "Preferences");
+ RNA_def_struct_clear_flag(srna, STRUCT_UNDO);
+ RNA_def_struct_ui_text(srna, "Experimental", "Experimental features");
+
+ prop = RNA_def_property(srna, "use_experimental_all", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_sdna(prop, NULL, "flag", USER_EXPERIMENTAL_ALL);
+ RNA_def_property_ui_text(prop,
+ "All Experimental Features",
+ "Expose all the experimental features in the user interface");
+ RNA_def_property_update(prop, 0, "rna_userdef_update");
+}
+
static void rna_def_userdef_addon_collection(BlenderRNA *brna, PropertyRNA *cprop)
{
StructRNA *srna;
@@ -5767,32 +5894,6 @@ void RNA_def_userdef(BlenderRNA *brna)
StructRNA *srna;
PropertyRNA *prop;
- static const EnumPropertyItem preference_section_items[] = {
- {USER_SECTION_INTERFACE, "INTERFACE", 0, "Interface", ""},
- {USER_SECTION_THEME, "THEMES", 0, "Themes", ""},
- {USER_SECTION_VIEWPORT, "VIEWPORT", 0, "Viewport", ""},
- {USER_SECTION_LIGHT, "LIGHTS", 0, "Lights", ""},
- {USER_SECTION_EDITING, "EDITING", 0, "Editing", ""},
- {USER_SECTION_ANIMATION, "ANIMATION", 0, "Animation", ""},
- {0, "", 0, NULL, NULL},
- {USER_SECTION_ADDONS, "ADDONS", 0, "Add-ons", ""},
-# if 0 // def WITH_USERDEF_WORKSPACES
- {0, "", 0, NULL, NULL},
- {USER_SECTION_WORKSPACE_CONFIG, "WORKSPACE_CONFIG", 0, "Configuration File", ""},
- {USER_SECTION_WORKSPACE_ADDONS, "WORKSPACE_ADDONS", 0, "Add-on Overrides", ""},
- {USER_SECTION_WORKSPACE_KEYMAPS, "WORKSPACE_KEYMAPS", 0, "Keymap Overrides", ""},
-# endif
- {0, "", 0, NULL, NULL},
- {USER_SECTION_INPUT, "INPUT", 0, "Input", ""},
- {USER_SECTION_NAVIGATION, "NAVIGATION", 0, "Navigation", ""},
- {USER_SECTION_KEYMAP, "KEYMAP", 0, "Keymap", ""},
- {0, "", 0, NULL, NULL},
- {USER_SECTION_SYSTEM, "SYSTEM", 0, "System", ""},
- {USER_SECTION_SAVE_LOAD, "SAVE_LOAD", 0, "Save & Load", ""},
- {USER_SECTION_FILE_PATHS, "FILE_PATHS", 0, "File Paths", ""},
- {0, NULL, 0, NULL, NULL},
- };
-
rna_def_userdef_dothemes(brna);
rna_def_userdef_solidlight(brna);
rna_def_userdef_walk_navigation(brna);
@@ -5805,6 +5906,7 @@ void RNA_def_userdef(BlenderRNA *brna)
prop = RNA_def_property(srna, "active_section", PROP_ENUM, PROP_NONE);
RNA_def_property_enum_sdna(prop, NULL, "space_data.section_active");
RNA_def_property_enum_items(prop, preference_section_items);
+ RNA_def_property_enum_funcs(prop, NULL, NULL, "rna_UseDef_active_section_itemf");
RNA_def_property_ui_text(
prop, "Active Section", "Active section of the preferences shown in the user interface");
RNA_def_property_update(prop, 0, "rna_userdef_ui_update");
@@ -5874,6 +5976,14 @@ void RNA_def_userdef(BlenderRNA *brna)
RNA_def_property_ui_text(
prop, "System & OpenGL", "Graphics driver and operating system settings");
+ prop = RNA_def_property(srna, "experimental", PROP_POINTER, PROP_NONE);
+ RNA_def_property_flag(prop, PROP_NEVER_NULL);
+ RNA_def_property_struct_type(prop, "PreferencesExperimental");
+ RNA_def_property_ui_text(
+ prop,
+ "Experimental",
+ "Settings for features that are still early in their development stage");
+
prop = RNA_def_int_vector(srna,
"version",
3,
@@ -5927,6 +6037,7 @@ void RNA_def_userdef(BlenderRNA *brna)
rna_def_userdef_studiolights(brna);
rna_def_userdef_studiolight(brna);
rna_def_userdef_pathcompare(brna);
+ rna_def_userdef_experimental(brna);
USERDEF_TAG_DIRTY_PROPERTY_UPDATE_DISABLE;
}
diff --git a/source/blender/makesrna/intern/rna_wm_api.c b/source/blender/makesrna/intern/rna_wm_api.c
index b705f98a3de..1330250edab 100644
--- a/source/blender/makesrna/intern/rna_wm_api.c
+++ b/source/blender/makesrna/intern/rna_wm_api.c
@@ -41,24 +41,27 @@
#include "rna_internal.h" /* own include */
-/* confusingm 2 enums mixed up here */
+/* confusing 2 enums mixed up here */
const EnumPropertyItem rna_enum_window_cursor_items[] = {
- {CURSOR_STD, "DEFAULT", 0, "Default", ""},
- {CURSOR_NONE, "NONE", 0, "None", ""},
- {CURSOR_WAIT, "WAIT", 0, "Wait", ""},
- {CURSOR_EDIT, "CROSSHAIR", 0, "Crosshair", ""},
- {CURSOR_X_MOVE, "MOVE_X", 0, "Move-X", ""},
- {CURSOR_Y_MOVE, "MOVE_Y", 0, "Move-Y", ""},
+ {WM_CURSOR_DEFAULT, "DEFAULT", 0, "Default", ""},
+ {WM_CURSOR_NONE, "NONE", 0, "None", ""},
+ {WM_CURSOR_WAIT, "WAIT", 0, "Wait", ""},
+ {WM_CURSOR_EDIT, "CROSSHAIR", 0, "Crosshair", ""},
+ {WM_CURSOR_X_MOVE, "MOVE_X", 0, "Move-X", ""},
+ {WM_CURSOR_Y_MOVE, "MOVE_Y", 0, "Move-Y", ""},
/* new */
- {BC_KNIFECURSOR, "KNIFE", 0, "Knife", ""},
- {BC_TEXTEDITCURSOR, "TEXT", 0, "Text", ""},
- {BC_PAINTBRUSHCURSOR, "PAINT_BRUSH", 0, "Paint Brush", ""},
- {BC_HANDCURSOR, "HAND", 0, "Hand", ""},
- {BC_EW_SCROLLCURSOR, "SCROLL_X", 0, "Scroll-X", ""},
- {BC_NS_SCROLLCURSOR, "SCROLL_Y", 0, "Scroll-Y", ""},
- {BC_NSEW_SCROLLCURSOR, "SCROLL_XY", 0, "Scroll-XY", ""},
- {BC_EYEDROPPER_CURSOR, "EYEDROPPER", 0, "Eyedropper", ""},
+ {WM_CURSOR_KNIFE, "KNIFE", 0, "Knife", ""},
+ {WM_CURSOR_TEXT_EDIT, "TEXT", 0, "Text", ""},
+ {WM_CURSOR_PAINT_BRUSH, "PAINT_BRUSH", 0, "Paint Brush", ""},
+ {WM_CURSOR_PAINT, "PAINT_CROSS", 0, "Paint Cross", ""},
+ {WM_CURSOR_DOT, "DOT", 0, "Dot Cursor", ""},
+ {WM_CURSOR_ERASER, "ERASER", 0, "Eraser", ""},
+ {WM_CURSOR_HAND, "HAND", 0, "Hand", ""},
+ {WM_CURSOR_EW_SCROLL, "SCROLL_X", 0, "Scroll-X", ""},
+ {WM_CURSOR_NS_SCROLL, "SCROLL_Y", 0, "Scroll-Y", ""},
+ {WM_CURSOR_NSEW_SCROLL, "SCROLL_XY", 0, "Scroll-XY", ""},
+ {WM_CURSOR_EYEDROPPER, "EYEDROPPER", 0, "Eyedropper", ""},
{0, NULL, 0, NULL, NULL},
};
@@ -363,6 +366,14 @@ static PointerRNA rna_KeyMap_item_find_from_operator(ID *id,
return kmi_ptr;
}
+static PointerRNA rna_KeyMap_item_match_event(ID *id, wmKeyMap *km, bContext *C, wmEvent *event)
+{
+ wmKeyMapItem *kmi = WM_event_match_keymap_item(C, km, event);
+ PointerRNA kmi_ptr;
+ RNA_pointer_create(id, &RNA_KeyMapItem, kmi, &kmi_ptr);
+ return kmi_ptr;
+}
+
static wmKeyMap *rna_keymap_new(
wmKeyConfig *keyconf, const char *idname, int spaceid, int regionid, bool modal, bool tool)
{
@@ -1125,6 +1136,14 @@ void RNA_api_keymapitems(StructRNA *srna)
parm = RNA_def_pointer(func, "item", "KeyMapItem", "", "");
RNA_def_parameter_flags(parm, 0, PARM_RNAPTR);
RNA_def_function_return(func, parm);
+
+ func = RNA_def_function(srna, "match_event", "rna_KeyMap_item_match_event");
+ RNA_def_function_flag(func, FUNC_USE_SELF_ID | FUNC_USE_CONTEXT);
+ parm = RNA_def_pointer(func, "event", "Event", "", "");
+ RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
+ parm = RNA_def_pointer(func, "item", "KeyMapItem", "", "");
+ RNA_def_parameter_flags(parm, 0, PARM_RNAPTR);
+ RNA_def_function_return(func, parm);
}
void RNA_api_keymaps(StructRNA *srna)
diff --git a/source/blender/makesrna/intern/rna_workspace_api.c b/source/blender/makesrna/intern/rna_workspace_api.c
index b8c6a25ace8..2d3b1e76b71 100644
--- a/source/blender/makesrna/intern/rna_workspace_api.c
+++ b/source/blender/makesrna/intern/rna_workspace_api.c
@@ -43,14 +43,13 @@
static void rna_WorkSpaceTool_setup(ID *id,
bToolRef *tref,
bContext *C,
- const char *name,
+ const char *tool_idname,
/* Args for: 'bToolRef_Runtime'. */
int cursor,
const char *keymap,
const char *gizmo_group,
const char *data_block,
- const char *
- operator,
+ const char *op_idname,
int index)
{
bToolRef_Runtime tref_rt = {0};
@@ -59,10 +58,10 @@ static void rna_WorkSpaceTool_setup(ID *id,
STRNCPY(tref_rt.keymap, keymap);
STRNCPY(tref_rt.gizmo_group, gizmo_group);
STRNCPY(tref_rt.data_block, data_block);
- STRNCPY(tref_rt.op, operator);
+ STRNCPY(tref_rt.op, op_idname);
tref_rt.index = index;
- WM_toolsystem_ref_set_from_runtime(C, (WorkSpace *)id, tref, &tref_rt, name);
+ WM_toolsystem_ref_set_from_runtime(C, (WorkSpace *)id, tref, &tref_rt, tool_idname);
}
static void rna_WorkSpaceTool_refresh_from_context(ID *id, bToolRef *tref, Main *bmain)
@@ -110,7 +109,7 @@ void RNA_api_workspace(StructRNA *srna)
FunctionRNA *func;
PropertyRNA *parm;
- func = RNA_def_function(srna, "status_text_set", "ED_workspace_status_text");
+ func = RNA_def_function(srna, "status_text_set_internal", "ED_workspace_status_text");
RNA_def_function_flag(func, FUNC_NO_SELF | FUNC_USE_CONTEXT);
RNA_def_function_ui_description(
func, "Set the status bar text, typically key shortcuts for modal operators");
diff --git a/source/blender/modifiers/CMakeLists.txt b/source/blender/modifiers/CMakeLists.txt
index b9e1536e6e6..dbc3fd0ce0c 100644
--- a/source/blender/modifiers/CMakeLists.txt
+++ b/source/blender/modifiers/CMakeLists.txt
@@ -82,6 +82,8 @@ set(SRC
intern/MOD_smooth.c
intern/MOD_softbody.c
intern/MOD_solidify.c
+ intern/MOD_solidify_extrude.c
+ intern/MOD_solidify_nonmanifold.c
intern/MOD_subsurf.c
intern/MOD_surface.c
intern/MOD_surfacedeform.c
@@ -100,6 +102,7 @@ set(SRC
MOD_modifiertypes.h
intern/MOD_meshcache_util.h
+ intern/MOD_solidify_util.h
intern/MOD_util.h
intern/MOD_weightvg_util.h
)
diff --git a/source/blender/modifiers/intern/MOD_array.c b/source/blender/modifiers/intern/MOD_array.c
index 644ac3a10e8..3b50cfe704a 100644
--- a/source/blender/modifiers/intern/MOD_array.c
+++ b/source/blender/modifiers/intern/MOD_array.c
@@ -80,16 +80,13 @@ static void foreachObjectLink(ModifierData *md, Object *ob, ObjectWalkFunc walk,
static void updateDepsgraph(ModifierData *md, const ModifierUpdateDepsgraphContext *ctx)
{
ArrayModifierData *amd = (ArrayModifierData *)md;
+ bool need_transform_dependency = false;
if (amd->start_cap != NULL) {
DEG_add_object_relation(
- ctx->node, amd->start_cap, DEG_OB_COMP_TRANSFORM, "Array Modifier Start Cap");
- DEG_add_object_relation(
ctx->node, amd->start_cap, DEG_OB_COMP_GEOMETRY, "Array Modifier Start Cap");
}
if (amd->end_cap != NULL) {
DEG_add_object_relation(
- ctx->node, amd->end_cap, DEG_OB_COMP_TRANSFORM, "Array Modifier End Cap");
- DEG_add_object_relation(
ctx->node, amd->end_cap, DEG_OB_COMP_GEOMETRY, "Array Modifier End Cap");
}
if (amd->curve_ob) {
@@ -100,8 +97,12 @@ static void updateDepsgraph(ModifierData *md, const ModifierUpdateDepsgraphConte
if (amd->offset_ob != NULL) {
DEG_add_object_relation(
ctx->node, amd->offset_ob, DEG_OB_COMP_TRANSFORM, "Array Modifier Offset");
+ need_transform_dependency = true;
+ }
+
+ if (need_transform_dependency) {
+ DEG_add_modifier_to_transform_relation(ctx->node, "Array Modifier");
}
- DEG_add_modifier_to_transform_relation(ctx->node, "Array Modifier");
}
BLI_INLINE float sum_v3(const float v[3])
diff --git a/source/blender/modifiers/intern/MOD_mirror.c b/source/blender/modifiers/intern/MOD_mirror.c
index c91f5d41c5e..47f8528ee94 100644
--- a/source/blender/modifiers/intern/MOD_mirror.c
+++ b/source/blender/modifiers/intern/MOD_mirror.c
@@ -30,6 +30,7 @@
#include "BKE_library.h"
#include "BKE_library_query.h"
#include "BKE_mesh.h"
+#include "BKE_mirror.h"
#include "BKE_modifier.h"
#include "BKE_deform.h"
@@ -68,377 +69,6 @@ static void updateDepsgraph(ModifierData *md, const ModifierUpdateDepsgraphConte
}
}
-static Mesh *doBiscetOnMirrorPlane(MirrorModifierData *mmd,
- const Mesh *mesh,
- int axis,
- const float plane_co[3],
- float plane_no[3])
-{
- bool do_bisect_flip_axis = ((axis == 0 && mmd->flag & MOD_MIR_BISECT_FLIP_AXIS_X) ||
- (axis == 1 && mmd->flag & MOD_MIR_BISECT_FLIP_AXIS_Y) ||
- (axis == 2 && mmd->flag & MOD_MIR_BISECT_FLIP_AXIS_Z));
-
- const float bisect_distance = 0.001f;
-
- Mesh *result;
- BMesh *bm;
- BMIter viter;
- BMVert *v, *v_next;
-
- bm = BKE_mesh_to_bmesh_ex(mesh,
- &(struct BMeshCreateParams){0},
- &(struct BMeshFromMeshParams){
- .calc_face_normal = true,
- .cd_mask_extra = {.vmask = CD_MASK_ORIGINDEX,
- .emask = CD_MASK_ORIGINDEX,
- .pmask = CD_MASK_ORIGINDEX},
- });
-
- /* Define bisecting plane (aka mirror plane). */
- float plane[4];
- if (!do_bisect_flip_axis) {
- /* That reversed condition is a tad weird, but for some reason that's how you keep
- * the part of the mesh which is on the non-mirrored side when flip option is disabled,
- * think that that is the expected behavior. */
- negate_v3(plane_no);
- }
- plane_from_point_normal_v3(plane, plane_co, plane_no);
-
- BM_mesh_bisect_plane(bm, plane, false, false, 0, 0, bisect_distance);
-
- /* Plane definitions for vert killing. */
- float plane_offset[4];
- copy_v3_v3(plane_offset, plane);
- plane_offset[3] = plane[3] - bisect_distance;
-
- /* Delete verts across the mirror plane. */
- BM_ITER_MESH_MUTABLE (v, v_next, &viter, bm, BM_VERTS_OF_MESH) {
- if (plane_point_side_v3(plane_offset, v->co) > 0.0f) {
- BM_vert_kill(bm, v);
- }
- }
-
- result = BKE_mesh_from_bmesh_for_eval_nomain(bm, NULL, mesh);
- BM_mesh_free(bm);
-
- return result;
-}
-
-static Mesh *doMirrorOnAxis(MirrorModifierData *mmd,
- const ModifierEvalContext *UNUSED(ctx),
- Object *ob,
- const Mesh *mesh,
- int axis)
-{
- const float tolerance_sq = mmd->tolerance * mmd->tolerance;
- const bool do_vtargetmap = (mmd->flag & MOD_MIR_NO_MERGE) == 0;
- int tot_vtargetmap = 0; /* total merge vertices */
-
- const bool do_bisect = ((axis == 0 && mmd->flag & MOD_MIR_BISECT_AXIS_X) ||
- (axis == 1 && mmd->flag & MOD_MIR_BISECT_AXIS_Y) ||
- (axis == 2 && mmd->flag & MOD_MIR_BISECT_AXIS_Z));
-
- Mesh *result;
- MVert *mv, *mv_prev;
- MEdge *me;
- MLoop *ml;
- MPoly *mp;
- float mtx[4][4];
- float plane_co[3], plane_no[3];
- int i;
- int a, totshape;
- int *vtargetmap = NULL, *vtmap_a = NULL, *vtmap_b = NULL;
-
- /* mtx is the mirror transformation */
- unit_m4(mtx);
- mtx[axis][axis] = -1.0f;
-
- Object *mirror_ob = mmd->mirror_ob;
- if (mirror_ob != NULL) {
- float tmp[4][4];
- float itmp[4][4];
-
- /* tmp is a transform from coords relative to the object's own origin,
- * to coords relative to the mirror object origin */
- invert_m4_m4(tmp, mirror_ob->obmat);
- mul_m4_m4m4(tmp, tmp, ob->obmat);
-
- /* itmp is the reverse transform back to origin-relative coordinates */
- invert_m4_m4(itmp, tmp);
-
- /* combine matrices to get a single matrix that translates coordinates into
- * mirror-object-relative space, does the mirror, and translates back to
- * origin-relative space */
- mul_m4_series(mtx, itmp, mtx, tmp);
-
- if (do_bisect) {
- copy_v3_v3(plane_co, itmp[3]);
- copy_v3_v3(plane_no, itmp[axis]);
- }
- }
- else if (do_bisect) {
- copy_v3_v3(plane_co, mtx[3]);
- /* Need to negate here, since that axis is inverted (for mirror transform). */
- negate_v3_v3(plane_no, mtx[axis]);
- }
-
- Mesh *mesh_bisect = NULL;
- if (do_bisect) {
- mesh_bisect = doBiscetOnMirrorPlane(mmd, mesh, axis, plane_co, plane_no);
- mesh = mesh_bisect;
- }
-
- const int maxVerts = mesh->totvert;
- const int maxEdges = mesh->totedge;
- const int maxLoops = mesh->totloop;
- const int maxPolys = mesh->totpoly;
-
- result = BKE_mesh_new_nomain_from_template(
- mesh, maxVerts * 2, maxEdges * 2, 0, maxLoops * 2, maxPolys * 2);
-
- /*copy customdata to original geometry*/
- CustomData_copy_data(&mesh->vdata, &result->vdata, 0, 0, maxVerts);
- CustomData_copy_data(&mesh->edata, &result->edata, 0, 0, maxEdges);
- CustomData_copy_data(&mesh->ldata, &result->ldata, 0, 0, maxLoops);
- CustomData_copy_data(&mesh->pdata, &result->pdata, 0, 0, maxPolys);
-
- /* Subsurf for eg won't have mesh data in the custom data arrays.
- * now add mvert/medge/mpoly layers. */
- if (!CustomData_has_layer(&mesh->vdata, CD_MVERT)) {
- memcpy(result->mvert, mesh->mvert, sizeof(*result->mvert) * mesh->totvert);
- }
- if (!CustomData_has_layer(&mesh->edata, CD_MEDGE)) {
- memcpy(result->medge, mesh->medge, sizeof(*result->medge) * mesh->totedge);
- }
- if (!CustomData_has_layer(&mesh->pdata, CD_MPOLY)) {
- memcpy(result->mloop, mesh->mloop, sizeof(*result->mloop) * mesh->totloop);
- memcpy(result->mpoly, mesh->mpoly, sizeof(*result->mpoly) * mesh->totpoly);
- }
-
- /* copy customdata to new geometry,
- * copy from its self because this data may have been created in the checks above */
- CustomData_copy_data(&result->vdata, &result->vdata, 0, maxVerts, maxVerts);
- CustomData_copy_data(&result->edata, &result->edata, 0, maxEdges, maxEdges);
- /* loops are copied later */
- CustomData_copy_data(&result->pdata, &result->pdata, 0, maxPolys, maxPolys);
-
- if (do_vtargetmap) {
- /* second half is filled with -1 */
- vtargetmap = MEM_malloc_arrayN(maxVerts, 2 * sizeof(int), "MOD_mirror tarmap");
-
- vtmap_a = vtargetmap;
- vtmap_b = vtargetmap + maxVerts;
- }
-
- /* mirror vertex coordinates */
- mv_prev = result->mvert;
- mv = mv_prev + maxVerts;
- for (i = 0; i < maxVerts; i++, mv++, mv_prev++) {
- mul_m4_v3(mtx, mv->co);
-
- if (do_vtargetmap) {
- /* compare location of the original and mirrored vertex, to see if they
- * should be mapped for merging */
- if (UNLIKELY(len_squared_v3v3(mv_prev->co, mv->co) < tolerance_sq)) {
- *vtmap_a = maxVerts + i;
- tot_vtargetmap++;
-
- /* average location */
- mid_v3_v3v3(mv->co, mv_prev->co, mv->co);
- copy_v3_v3(mv_prev->co, mv->co);
- }
- else {
- *vtmap_a = -1;
- }
-
- *vtmap_b = -1; /* fill here to avoid 2x loops */
-
- vtmap_a++;
- vtmap_b++;
- }
- }
-
- /* handle shape keys */
- totshape = CustomData_number_of_layers(&result->vdata, CD_SHAPEKEY);
- for (a = 0; a < totshape; a++) {
- float(*cos)[3] = CustomData_get_layer_n(&result->vdata, CD_SHAPEKEY, a);
- for (i = maxVerts; i < result->totvert; i++) {
- mul_m4_v3(mtx, cos[i]);
- }
- }
-
- /* adjust mirrored edge vertex indices */
- me = result->medge + maxEdges;
- for (i = 0; i < maxEdges; i++, me++) {
- me->v1 += maxVerts;
- me->v2 += maxVerts;
- }
-
- /* adjust mirrored poly loopstart indices, and reverse loop order (normals) */
- mp = result->mpoly + maxPolys;
- ml = result->mloop;
- for (i = 0; i < maxPolys; i++, mp++) {
- MLoop *ml2;
- int j, e;
-
- /* reverse the loop, but we keep the first vertex in the face the same,
- * to ensure that quads are split the same way as on the other side */
- CustomData_copy_data(
- &result->ldata, &result->ldata, mp->loopstart, mp->loopstart + maxLoops, 1);
-
- for (j = 1; j < mp->totloop; j++) {
- CustomData_copy_data(&result->ldata,
- &result->ldata,
- mp->loopstart + j,
- mp->loopstart + maxLoops + mp->totloop - j,
- 1);
- }
-
- ml2 = ml + mp->loopstart + maxLoops;
- e = ml2[0].e;
- for (j = 0; j < mp->totloop - 1; j++) {
- ml2[j].e = ml2[j + 1].e;
- }
- ml2[mp->totloop - 1].e = e;
-
- mp->loopstart += maxLoops;
- }
-
- /* adjust mirrored loop vertex and edge indices */
- ml = result->mloop + maxLoops;
- for (i = 0; i < maxLoops; i++, ml++) {
- ml->v += maxVerts;
- ml->e += maxEdges;
- }
-
- /* handle uvs,
- * let tessface recalc handle updating the MTFace data */
- if (mmd->flag & (MOD_MIR_MIRROR_U | MOD_MIR_MIRROR_V) ||
- (is_zero_v2(mmd->uv_offset_copy) == false)) {
- const bool do_mirr_u = (mmd->flag & MOD_MIR_MIRROR_U) != 0;
- const bool do_mirr_v = (mmd->flag & MOD_MIR_MIRROR_V) != 0;
-
- const int totuv = CustomData_number_of_layers(&result->ldata, CD_MLOOPUV);
-
- for (a = 0; a < totuv; a++) {
- MLoopUV *dmloopuv = CustomData_get_layer_n(&result->ldata, CD_MLOOPUV, a);
- int j = maxLoops;
- dmloopuv += j; /* second set of loops only */
- for (; j-- > 0; dmloopuv++) {
- if (do_mirr_u) {
- dmloopuv->uv[0] = 1.0f - dmloopuv->uv[0] + mmd->uv_offset[0];
- }
- if (do_mirr_v) {
- dmloopuv->uv[1] = 1.0f - dmloopuv->uv[1] + mmd->uv_offset[1];
- }
- dmloopuv->uv[0] += mmd->uv_offset_copy[0];
- dmloopuv->uv[1] += mmd->uv_offset_copy[1];
- }
- }
- }
-
- /* handle custom split normals */
- if (ob->type == OB_MESH && (((Mesh *)ob->data)->flag & ME_AUTOSMOOTH) &&
- CustomData_has_layer(&result->ldata, CD_CUSTOMLOOPNORMAL)) {
- const int totloop = result->totloop;
- const int totpoly = result->totpoly;
- float(*loop_normals)[3] = MEM_calloc_arrayN((size_t)totloop, sizeof(*loop_normals), __func__);
- CustomData *ldata = &result->ldata;
- short(*clnors)[2] = CustomData_get_layer(ldata, CD_CUSTOMLOOPNORMAL);
- MLoopNorSpaceArray lnors_spacearr = {NULL};
- float(*poly_normals)[3] = MEM_mallocN(sizeof(*poly_normals) * totpoly, __func__);
-
- /* calculate custom normals into loop_normals, then mirror first half into second half */
-
- BKE_mesh_calc_normals_poly(result->mvert,
- NULL,
- result->totvert,
- result->mloop,
- result->mpoly,
- totloop,
- totpoly,
- poly_normals,
- false);
-
- BKE_mesh_normals_loop_split(result->mvert,
- result->totvert,
- result->medge,
- result->totedge,
- result->mloop,
- loop_normals,
- totloop,
- result->mpoly,
- poly_normals,
- totpoly,
- true,
- mesh->smoothresh,
- &lnors_spacearr,
- clnors,
- NULL);
-
- /* mirroring has to account for loops being reversed in polys in second half */
- mp = result->mpoly;
- for (i = 0; i < maxPolys; i++, mp++) {
- MPoly *mpmirror = result->mpoly + maxPolys + i;
- int j;
-
- for (j = mp->loopstart; j < mp->loopstart + mp->totloop; j++) {
- int mirrorj = mpmirror->loopstart;
- if (j > mp->loopstart) {
- mirrorj += mpmirror->totloop - (j - mp->loopstart);
- }
- copy_v3_v3(loop_normals[mirrorj], loop_normals[j]);
- loop_normals[mirrorj][axis] = -loop_normals[j][axis];
- BKE_lnor_space_custom_normal_to_data(
- lnors_spacearr.lspacearr[mirrorj], loop_normals[mirrorj], clnors[mirrorj]);
- }
- }
-
- MEM_freeN(poly_normals);
- MEM_freeN(loop_normals);
- BKE_lnor_spacearr_free(&lnors_spacearr);
- }
-
- /* handle vgroup stuff */
- if ((mmd->flag & MOD_MIR_VGROUP) && CustomData_has_layer(&result->vdata, CD_MDEFORMVERT)) {
- MDeformVert *dvert = (MDeformVert *)CustomData_get_layer(&result->vdata, CD_MDEFORMVERT) +
- maxVerts;
- int *flip_map = NULL, flip_map_len = 0;
-
- flip_map = defgroup_flip_map(ob, &flip_map_len, false);
-
- if (flip_map) {
- for (i = 0; i < maxVerts; dvert++, i++) {
- /* merged vertices get both groups, others get flipped */
- if (do_vtargetmap && (vtargetmap[i] != -1)) {
- defvert_flip_merged(dvert, flip_map, flip_map_len);
- }
- else {
- defvert_flip(dvert, flip_map, flip_map_len);
- }
- }
-
- MEM_freeN(flip_map);
- }
- }
-
- if (do_vtargetmap) {
- /* slow - so only call if one or more merge verts are found,
- * users may leave this on and not realize there is nothing to merge - campbell */
- if (tot_vtargetmap) {
- result = BKE_mesh_merge_verts(
- result, vtargetmap, tot_vtargetmap, MESH_MERGE_VERTS_DUMP_IF_MAPPED);
- }
- MEM_freeN(vtargetmap);
- }
-
- if (mesh_bisect != NULL) {
- BKE_id_free(NULL, mesh_bisect);
- }
-
- return result;
-}
-
static Mesh *mirrorModifier__doMirror(MirrorModifierData *mmd,
const ModifierEvalContext *ctx,
Object *ob,
@@ -448,11 +78,11 @@ static Mesh *mirrorModifier__doMirror(MirrorModifierData *mmd,
/* check which axes have been toggled and mirror accordingly */
if (mmd->flag & MOD_MIR_AXIS_X) {
- result = doMirrorOnAxis(mmd, ctx, ob, result, 0);
+ result = BKE_mirror_apply_mirror_on_axis(mmd, ctx, ob, result, 0);
}
if (mmd->flag & MOD_MIR_AXIS_Y) {
Mesh *tmp = result;
- result = doMirrorOnAxis(mmd, ctx, ob, result, 1);
+ result = BKE_mirror_apply_mirror_on_axis(mmd, ctx, ob, result, 1);
if (tmp != mesh) {
/* free intermediate results */
BKE_id_free(NULL, tmp);
@@ -460,7 +90,7 @@ static Mesh *mirrorModifier__doMirror(MirrorModifierData *mmd,
}
if (mmd->flag & MOD_MIR_AXIS_Z) {
Mesh *tmp = result;
- result = doMirrorOnAxis(mmd, ctx, ob, result, 2);
+ result = BKE_mirror_apply_mirror_on_axis(mmd, ctx, ob, result, 2);
if (tmp != mesh) {
/* free intermediate results */
BKE_id_free(NULL, tmp);
diff --git a/source/blender/modifiers/intern/MOD_multires.c b/source/blender/modifiers/intern/MOD_multires.c
index 53bb579128a..883c17aa1e1 100644
--- a/source/blender/modifiers/intern/MOD_multires.c
+++ b/source/blender/modifiers/intern/MOD_multires.c
@@ -228,16 +228,22 @@ static Mesh *applyModifier(ModifierData *md, const ModifierEvalContext *ctx, Mes
return result;
}
-static void deformVerts(ModifierData *md,
- const ModifierEvalContext *UNUSED(ctx),
- Mesh *mesh,
- float (*vertex_cos)[3],
- int num_verts)
+static void deformMatrices(ModifierData *md,
+ const ModifierEvalContext *UNUSED(ctx),
+ Mesh *mesh,
+ float (*vertex_cos)[3],
+ float (*deform_matrices)[3][3],
+ int num_verts)
+
{
#if !defined(WITH_OPENSUBDIV)
modifier_setError(md, "Disabled, built without OpenSubdiv");
return;
#endif
+
+ /* Subsurf does not require extra space mapping, keep matrices as is. */
+ (void)deform_matrices;
+
MultiresModifierData *mmd = (MultiresModifierData *)md;
SubdivSettings subdiv_settings;
BKE_multires_subdiv_settings_init(&subdiv_settings, mmd);
@@ -268,8 +274,8 @@ ModifierTypeInfo modifierType_Multires = {
/* copyData */ copyData,
- /* deformVerts */ deformVerts,
- /* deformMatrices */ NULL,
+ /* deformVerts */ NULL,
+ /* deformMatrices */ deformMatrices,
/* deformVertsEM */ NULL,
/* deformMatricesEM */ NULL,
/* applyModifier */ applyModifier,
diff --git a/source/blender/modifiers/intern/MOD_solidify.c b/source/blender/modifiers/intern/MOD_solidify.c
index 292e659fe03..8ea0a602b65 100644
--- a/source/blender/modifiers/intern/MOD_solidify.c
+++ b/source/blender/modifiers/intern/MOD_solidify.c
@@ -23,142 +23,25 @@
#include "BLI_utildefines.h"
-#include "BLI_bitmap.h"
-#include "BLI_math.h"
-#include "BLI_utildefines_stack.h"
-
#include "DNA_mesh_types.h"
-#include "DNA_meshdata_types.h"
-
-#include "MEM_guardedalloc.h"
-#include "BKE_mesh.h"
#include "BKE_particle.h"
-#include "BKE_deform.h"
#include "MOD_modifiertypes.h"
-#include "MOD_util.h"
+
+#include "MOD_solidify_util.h"
#ifdef __GNUC__
# pragma GCC diagnostic error "-Wsign-conversion"
#endif
-/* skip shell thickness for non-manifold edges, see [#35710] */
-#define USE_NONMANIFOLD_WORKAROUND
-
-/* *** derived mesh high quality normal calculation function *** */
-/* could be exposed for other functions to use */
-
-typedef struct EdgeFaceRef {
- int p1; /* init as -1 */
- int p2;
-} EdgeFaceRef;
-
-BLI_INLINE bool edgeref_is_init(const EdgeFaceRef *edge_ref)
+static bool dependsOnNormals(ModifierData *md)
{
- return !((edge_ref->p1 == 0) && (edge_ref->p2 == 0));
-}
-
-/**
- * \param dm: Mesh to calculate normals for.
- * \param face_nors: Precalculated face normals.
- * \param r_vert_nors: Return vert normals.
- */
-static void mesh_calc_hq_normal(Mesh *mesh, float (*poly_nors)[3], float (*r_vert_nors)[3])
-{
- int i, numVerts, numEdges, numPolys;
- MPoly *mpoly, *mp;
- MLoop *mloop, *ml;
- MEdge *medge, *ed;
- MVert *mvert, *mv;
-
- numVerts = mesh->totvert;
- numEdges = mesh->totedge;
- numPolys = mesh->totpoly;
- mpoly = mesh->mpoly;
- medge = mesh->medge;
- mvert = mesh->mvert;
- mloop = mesh->mloop;
-
- /* we don't want to overwrite any referenced layers */
-
- /* Doesn't work here! */
-#if 0
- mv = CustomData_duplicate_referenced_layer(&dm->vertData, CD_MVERT, numVerts);
- cddm->mvert = mv;
-#endif
-
- mv = mvert;
- mp = mpoly;
-
- {
- EdgeFaceRef *edge_ref_array = MEM_calloc_arrayN(
- (size_t)numEdges, sizeof(EdgeFaceRef), "Edge Connectivity");
- EdgeFaceRef *edge_ref;
- float edge_normal[3];
-
- /* Add an edge reference if it's not there, pointing back to the face index. */
- for (i = 0; i < numPolys; i++, mp++) {
- int j;
-
- ml = mloop + mp->loopstart;
-
- for (j = 0; j < mp->totloop; j++, ml++) {
- /* --- add edge ref to face --- */
- edge_ref = &edge_ref_array[ml->e];
- if (!edgeref_is_init(edge_ref)) {
- edge_ref->p1 = i;
- edge_ref->p2 = -1;
- }
- else if ((edge_ref->p1 != -1) && (edge_ref->p2 == -1)) {
- edge_ref->p2 = i;
- }
- else {
- /* 3+ faces using an edge, we can't handle this usefully */
- edge_ref->p1 = edge_ref->p2 = -1;
-#ifdef USE_NONMANIFOLD_WORKAROUND
- medge[ml->e].flag |= ME_EDGE_TMP_TAG;
-#endif
- }
- /* --- done --- */
- }
- }
-
- for (i = 0, ed = medge, edge_ref = edge_ref_array; i < numEdges; i++, ed++, edge_ref++) {
- /* Get the edge vert indices, and edge value (the face indices that use it) */
-
- if (edgeref_is_init(edge_ref) && (edge_ref->p1 != -1)) {
- if (edge_ref->p2 != -1) {
- /* We have 2 faces using this edge, calculate the edges normal
- * using the angle between the 2 faces as a weighting */
-#if 0
- add_v3_v3v3(edge_normal, face_nors[edge_ref->f1], face_nors[edge_ref->f2]);
- normalize_v3_length(
- edge_normal,
- angle_normalized_v3v3(face_nors[edge_ref->f1], face_nors[edge_ref->f2]));
-#else
- mid_v3_v3v3_angle_weighted(
- edge_normal, poly_nors[edge_ref->p1], poly_nors[edge_ref->p2]);
-#endif
- }
- else {
- /* only one face attached to that edge */
- /* an edge without another attached- the weight on this is undefined */
- copy_v3_v3(edge_normal, poly_nors[edge_ref->p1]);
- }
- add_v3_v3(r_vert_nors[ed->v1], edge_normal);
- add_v3_v3(r_vert_nors[ed->v2], edge_normal);
- }
- }
- MEM_freeN(edge_ref_array);
- }
-
- /* normalize vertex normals and assign */
- for (i = 0; i < numVerts; i++, mv++) {
- if (normalize_v3(r_vert_nors[i]) == 0.0f) {
- normal_short_to_float_v3(r_vert_nors[i], mv->no);
- }
- }
+ const SolidifyModifierData *smd = (SolidifyModifierData *)md;
+ /* even when we calculate our own normals,
+ * the vertex normals are used as a fallback
+ * if manifold is enabled vertex normals are not used */
+ return smd->mode == MOD_SOLIDIFY_MODE_EXTRUDE;
}
static void initData(ModifierData *md)
@@ -167,6 +50,9 @@ static void initData(ModifierData *md)
smd->offset = 0.01f;
smd->offset_fac = -1.0f;
smd->flag = MOD_SOLIDIFY_RIM;
+ smd->mode = MOD_SOLIDIFY_MODE_EXTRUDE;
+ smd->nonmanifold_offset_mode = MOD_SOLIDIFY_NONMANIFOLD_OFFSET_MODE_CONSTRAINTS;
+ smd->nonmanifold_boundary_mode = MOD_SOLIDIFY_NONMANIFOLD_BOUNDARY_MODE_NONE;
}
static void requiredDataMask(Object *UNUSED(ob),
@@ -181,803 +67,16 @@ static void requiredDataMask(Object *UNUSED(ob),
}
}
-/* specific function for solidify - define locally */
-BLI_INLINE void madd_v3v3short_fl(float r[3], const short a[3], const float f)
-{
- r[0] += (float)a[0] * f;
- r[1] += (float)a[1] * f;
- r[2] += (float)a[2] * f;
-}
-
static Mesh *applyModifier(ModifierData *md, const ModifierEvalContext *ctx, Mesh *mesh)
{
- Mesh *result;
const SolidifyModifierData *smd = (SolidifyModifierData *)md;
-
- MVert *mv, *mvert, *orig_mvert;
- MEdge *ed, *medge, *orig_medge;
- MLoop *ml, *mloop, *orig_mloop;
- MPoly *mp, *mpoly, *orig_mpoly;
- const uint numVerts = (uint)mesh->totvert;
- const uint numEdges = (uint)mesh->totedge;
- const uint numPolys = (uint)mesh->totpoly;
- const uint numLoops = (uint)mesh->totloop;
- uint newLoops = 0, newPolys = 0, newEdges = 0, newVerts = 0, rimVerts = 0;
-
- /* only use material offsets if we have 2 or more materials */
- const short mat_nr_max = ctx->object->totcol > 1 ? ctx->object->totcol - 1 : 0;
- const short mat_ofs = mat_nr_max ? smd->mat_ofs : 0;
- const short mat_ofs_rim = mat_nr_max ? smd->mat_ofs_rim : 0;
-
- /* use for edges */
- /* over-alloc new_vert_arr, old_vert_arr */
- uint *new_vert_arr = NULL;
- STACK_DECLARE(new_vert_arr);
-
- uint *new_edge_arr = NULL;
- STACK_DECLARE(new_edge_arr);
-
- uint *old_vert_arr = MEM_calloc_arrayN(
- numVerts, sizeof(*old_vert_arr), "old_vert_arr in solidify");
-
- uint *edge_users = NULL;
- char *edge_order = NULL;
-
- float(*vert_nors)[3] = NULL;
- float(*poly_nors)[3] = NULL;
-
- const bool need_poly_normals = (smd->flag & MOD_SOLIDIFY_NORMAL_CALC) ||
- (smd->flag & MOD_SOLIDIFY_EVEN);
-
- const float ofs_orig = -(((-smd->offset_fac + 1.0f) * 0.5f) * smd->offset);
- const float ofs_new = smd->offset + ofs_orig;
- const float offset_fac_vg = smd->offset_fac_vg;
- const float offset_fac_vg_inv = 1.0f - smd->offset_fac_vg;
- const bool do_flip = (smd->flag & MOD_SOLIDIFY_FLIP) != 0;
- const bool do_clamp = (smd->offset_clamp != 0.0f);
- const bool do_shell = ((smd->flag & MOD_SOLIDIFY_RIM) && (smd->flag & MOD_SOLIDIFY_NOSHELL)) ==
- 0;
-
- /* weights */
- MDeformVert *dvert;
- const bool defgrp_invert = (smd->flag & MOD_SOLIDIFY_VGROUP_INV) != 0;
- int defgrp_index;
-
- /* array size is doubled in case of using a shell */
- const uint stride = do_shell ? 2 : 1;
-
- MOD_get_vgroup(ctx->object, mesh, smd->defgrp_name, &dvert, &defgrp_index);
-
- orig_mvert = mesh->mvert;
- orig_medge = mesh->medge;
- orig_mloop = mesh->mloop;
- orig_mpoly = mesh->mpoly;
-
- if (need_poly_normals) {
- /* calculate only face normals */
- poly_nors = MEM_malloc_arrayN(numPolys, sizeof(*poly_nors), __func__);
- BKE_mesh_calc_normals_poly(orig_mvert,
- NULL,
- (int)numVerts,
- orig_mloop,
- orig_mpoly,
- (int)numLoops,
- (int)numPolys,
- poly_nors,
- true);
- }
-
- STACK_INIT(new_vert_arr, numVerts * 2);
- STACK_INIT(new_edge_arr, numEdges * 2);
-
- if (smd->flag & MOD_SOLIDIFY_RIM) {
- BLI_bitmap *orig_mvert_tag = BLI_BITMAP_NEW(numVerts, __func__);
- uint eidx;
- uint i;
-
-#define INVALID_UNUSED ((uint)-1)
-#define INVALID_PAIR ((uint)-2)
-
- new_vert_arr = MEM_malloc_arrayN(numVerts, 2 * sizeof(*new_vert_arr), __func__);
- new_edge_arr = MEM_malloc_arrayN(((numEdges * 2) + numVerts), sizeof(*new_edge_arr), __func__);
-
- edge_users = MEM_malloc_arrayN(numEdges, sizeof(*edge_users), "solid_mod edges");
- edge_order = MEM_malloc_arrayN(numEdges, sizeof(*edge_order), "solid_mod eorder");
-
- /* save doing 2 loops here... */
-#if 0
- copy_vn_i(edge_users, numEdges, INVALID_UNUSED);
-#endif
-
- for (eidx = 0, ed = orig_medge; eidx < numEdges; eidx++, ed++) {
- edge_users[eidx] = INVALID_UNUSED;
- }
-
- for (i = 0, mp = orig_mpoly; i < numPolys; i++, mp++) {
- MLoop *ml_prev;
- int j;
-
- ml = orig_mloop + mp->loopstart;
- ml_prev = ml + (mp->totloop - 1);
-
- for (j = 0; j < mp->totloop; j++, ml++) {
- /* add edge user */
- eidx = ml_prev->e;
- if (edge_users[eidx] == INVALID_UNUSED) {
- ed = orig_medge + eidx;
- BLI_assert(ELEM(ml_prev->v, ed->v1, ed->v2) && ELEM(ml->v, ed->v1, ed->v2));
- edge_users[eidx] = (ml_prev->v > ml->v) == (ed->v1 < ed->v2) ? i : (i + numPolys);
- edge_order[eidx] = j;
- }
- else {
- edge_users[eidx] = INVALID_PAIR;
- }
- ml_prev = ml;
- }
- }
-
- for (eidx = 0, ed = orig_medge; eidx < numEdges; eidx++, ed++) {
- if (!ELEM(edge_users[eidx], INVALID_UNUSED, INVALID_PAIR)) {
- BLI_BITMAP_ENABLE(orig_mvert_tag, ed->v1);
- BLI_BITMAP_ENABLE(orig_mvert_tag, ed->v2);
- STACK_PUSH(new_edge_arr, eidx);
- newPolys++;
- newLoops += 4;
- }
- }
-
- for (i = 0; i < numVerts; i++) {
- if (BLI_BITMAP_TEST(orig_mvert_tag, i)) {
- old_vert_arr[i] = STACK_SIZE(new_vert_arr);
- STACK_PUSH(new_vert_arr, i);
- rimVerts++;
- }
- else {
- old_vert_arr[i] = INVALID_UNUSED;
- }
- }
-
- MEM_freeN(orig_mvert_tag);
- }
-
- if (do_shell == false) {
- /* only add rim vertices */
- newVerts = rimVerts;
- /* each extruded face needs an opposite edge */
- newEdges = newPolys;
- }
- else {
- /* (stride == 2) in this case, so no need to add newVerts/newEdges */
- BLI_assert(newVerts == 0);
- BLI_assert(newEdges == 0);
- }
-
- if (smd->flag & MOD_SOLIDIFY_NORMAL_CALC) {
- vert_nors = MEM_calloc_arrayN(numVerts, 3 * sizeof(float), "mod_solid_vno_hq");
- mesh_calc_hq_normal(mesh, poly_nors, vert_nors);
- }
-
- result = BKE_mesh_new_nomain_from_template(mesh,
- (int)((numVerts * stride) + newVerts),
- (int)((numEdges * stride) + newEdges + rimVerts),
- 0,
- (int)((numLoops * stride) + newLoops),
- (int)((numPolys * stride) + newPolys));
-
- mpoly = result->mpoly;
- mloop = result->mloop;
- medge = result->medge;
- mvert = result->mvert;
-
- if (do_shell) {
- CustomData_copy_data(&mesh->vdata, &result->vdata, 0, 0, (int)numVerts);
- CustomData_copy_data(&mesh->vdata, &result->vdata, 0, (int)numVerts, (int)numVerts);
-
- CustomData_copy_data(&mesh->edata, &result->edata, 0, 0, (int)numEdges);
- CustomData_copy_data(&mesh->edata, &result->edata, 0, (int)numEdges, (int)numEdges);
-
- CustomData_copy_data(&mesh->ldata, &result->ldata, 0, 0, (int)numLoops);
- /* DO NOT copy here the 'copied' part of loop data, we want to reverse loops
- * (so that winding of copied face get reversed, so that normals get reversed
- * and point in expected direction...).
- * If we also copy data here, then this data get overwritten
- * (and allocated memory becomes memleak). */
-
- CustomData_copy_data(&mesh->pdata, &result->pdata, 0, 0, (int)numPolys);
- CustomData_copy_data(&mesh->pdata, &result->pdata, 0, (int)numPolys, (int)numPolys);
+ if (smd->mode == MOD_SOLIDIFY_MODE_EXTRUDE) {
+ return MOD_solidify_extrude_applyModifier(md, ctx, mesh);
}
- else {
- int i, j;
- CustomData_copy_data(&mesh->vdata, &result->vdata, 0, 0, (int)numVerts);
- for (i = 0, j = (int)numVerts; i < numVerts; i++) {
- if (old_vert_arr[i] != INVALID_UNUSED) {
- CustomData_copy_data(&mesh->vdata, &result->vdata, i, j, 1);
- j++;
- }
- }
-
- CustomData_copy_data(&mesh->edata, &result->edata, 0, 0, (int)numEdges);
-
- for (i = 0, j = (int)numEdges; i < numEdges; i++) {
- if (!ELEM(edge_users[i], INVALID_UNUSED, INVALID_PAIR)) {
- MEdge *ed_src, *ed_dst;
- CustomData_copy_data(&mesh->edata, &result->edata, i, j, 1);
-
- ed_src = &medge[i];
- ed_dst = &medge[j];
- ed_dst->v1 = old_vert_arr[ed_src->v1] + numVerts;
- ed_dst->v2 = old_vert_arr[ed_src->v2] + numVerts;
- j++;
- }
- }
-
- /* will be created later */
- CustomData_copy_data(&mesh->ldata, &result->ldata, 0, 0, (int)numLoops);
- CustomData_copy_data(&mesh->pdata, &result->pdata, 0, 0, (int)numPolys);
+ else if (smd->mode == MOD_SOLIDIFY_MODE_NONMANIFOLD) {
+ return MOD_solidify_nonmanifold_applyModifier(md, ctx, mesh);
}
-
-#undef INVALID_UNUSED
-#undef INVALID_PAIR
-
- /* initializes: (i_end, do_shell_align, mv) */
-#define INIT_VERT_ARRAY_OFFSETS(test) \
- if (((ofs_new >= ofs_orig) == do_flip) == test) { \
- i_end = numVerts; \
- do_shell_align = true; \
- mv = mvert; \
- } \
- else { \
- if (do_shell) { \
- i_end = numVerts; \
- do_shell_align = true; \
- } \
- else { \
- i_end = newVerts; \
- do_shell_align = false; \
- } \
- mv = &mvert[numVerts]; \
- } \
- (void)0
-
- /* flip normals */
-
- if (do_shell) {
- uint i;
-
- mp = mpoly + numPolys;
- for (i = 0; i < mesh->totpoly; i++, mp++) {
- const int loop_end = mp->totloop - 1;
- MLoop *ml2;
- uint e;
- int j;
-
- /* reverses the loop direction (MLoop.v as well as custom-data)
- * MLoop.e also needs to be corrected too, done in a separate loop below. */
- ml2 = mloop + mp->loopstart + mesh->totloop;
-#if 0
- for (j = 0; j < mp->totloop; j++) {
- CustomData_copy_data(&mesh->ldata,
- &result->ldata,
- mp->loopstart + j,
- mp->loopstart + (loop_end - j) + mesh->totloop,
- 1);
- }
-#else
- /* slightly more involved, keep the first vertex the same for the copy,
- * ensures the diagonals in the new face match the original. */
- j = 0;
- for (int j_prev = loop_end; j < mp->totloop; j_prev = j++) {
- CustomData_copy_data(&mesh->ldata,
- &result->ldata,
- mp->loopstart + j,
- mp->loopstart + (loop_end - j_prev) + mesh->totloop,
- 1);
- }
-#endif
-
- if (mat_ofs) {
- mp->mat_nr += mat_ofs;
- CLAMP(mp->mat_nr, 0, mat_nr_max);
- }
-
- e = ml2[0].e;
- for (j = 0; j < loop_end; j++) {
- ml2[j].e = ml2[j + 1].e;
- }
- ml2[loop_end].e = e;
-
- mp->loopstart += mesh->totloop;
-
- for (j = 0; j < mp->totloop; j++) {
- ml2[j].e += numEdges;
- ml2[j].v += numVerts;
- }
- }
-
- for (i = 0, ed = medge + numEdges; i < numEdges; i++, ed++) {
- ed->v1 += numVerts;
- ed->v2 += numVerts;
- }
- }
-
- /* note, copied vertex layers don't have flipped normals yet. do this after applying offset */
- if ((smd->flag & MOD_SOLIDIFY_EVEN) == 0) {
- /* no even thickness, very simple */
- float scalar_short;
- float scalar_short_vgroup;
-
- /* for clamping */
- float *vert_lens = NULL;
- const float offset = fabsf(smd->offset) * smd->offset_clamp;
- const float offset_sq = offset * offset;
-
- if (do_clamp) {
- uint i;
-
- vert_lens = MEM_malloc_arrayN(numVerts, sizeof(float), "vert_lens");
- copy_vn_fl(vert_lens, (int)numVerts, FLT_MAX);
- for (i = 0; i < numEdges; i++) {
- const float ed_len_sq = len_squared_v3v3(mvert[medge[i].v1].co, mvert[medge[i].v2].co);
- vert_lens[medge[i].v1] = min_ff(vert_lens[medge[i].v1], ed_len_sq);
- vert_lens[medge[i].v2] = min_ff(vert_lens[medge[i].v2], ed_len_sq);
- }
- }
-
- if (ofs_new != 0.0f) {
- uint i_orig, i_end;
- bool do_shell_align;
-
- scalar_short = scalar_short_vgroup = ofs_new / 32767.0f;
-
- INIT_VERT_ARRAY_OFFSETS(false);
-
- for (i_orig = 0; i_orig < i_end; i_orig++, mv++) {
- const uint i = do_shell_align ? i_orig : new_vert_arr[i_orig];
- if (dvert) {
- MDeformVert *dv = &dvert[i];
- if (defgrp_invert) {
- scalar_short_vgroup = 1.0f - defvert_find_weight(dv, defgrp_index);
- }
- else {
- scalar_short_vgroup = defvert_find_weight(dv, defgrp_index);
- }
- scalar_short_vgroup = (offset_fac_vg + (scalar_short_vgroup * offset_fac_vg_inv)) *
- scalar_short;
- }
- if (do_clamp) {
- /* always reset becaise we may have set before */
- if (dvert == NULL) {
- scalar_short_vgroup = scalar_short;
- }
- if (vert_lens[i] < offset_sq) {
- float scalar = sqrtf(vert_lens[i]) / offset;
- scalar_short_vgroup *= scalar;
- }
- }
- madd_v3v3short_fl(mv->co, mv->no, scalar_short_vgroup);
- }
- }
-
- if (ofs_orig != 0.0f) {
- uint i_orig, i_end;
- bool do_shell_align;
-
- scalar_short = scalar_short_vgroup = ofs_orig / 32767.0f;
-
- /* as above but swapped */
- INIT_VERT_ARRAY_OFFSETS(true);
-
- for (i_orig = 0; i_orig < i_end; i_orig++, mv++) {
- const uint i = do_shell_align ? i_orig : new_vert_arr[i_orig];
- if (dvert) {
- MDeformVert *dv = &dvert[i];
- if (defgrp_invert) {
- scalar_short_vgroup = 1.0f - defvert_find_weight(dv, defgrp_index);
- }
- else {
- scalar_short_vgroup = defvert_find_weight(dv, defgrp_index);
- }
- scalar_short_vgroup = (offset_fac_vg + (scalar_short_vgroup * offset_fac_vg_inv)) *
- scalar_short;
- }
- if (do_clamp) {
- /* always reset becaise we may have set before */
- if (dvert == NULL) {
- scalar_short_vgroup = scalar_short;
- }
- if (vert_lens[i] < offset_sq) {
- float scalar = sqrtf(vert_lens[i]) / offset;
- scalar_short_vgroup *= scalar;
- }
- }
- madd_v3v3short_fl(mv->co, mv->no, scalar_short_vgroup);
- }
- }
-
- if (do_clamp) {
- MEM_freeN(vert_lens);
- }
- }
- else {
-#ifdef USE_NONMANIFOLD_WORKAROUND
- const bool check_non_manifold = (smd->flag & MOD_SOLIDIFY_NORMAL_CALC) != 0;
-#endif
- /* same as EM_solidify() in editmesh_lib.c */
- float *vert_angles = MEM_calloc_arrayN(
- numVerts, 2 * sizeof(float), "mod_solid_pair"); /* 2 in 1 */
- float *vert_accum = vert_angles + numVerts;
- uint vidx;
- uint i;
-
- if (vert_nors == NULL) {
- vert_nors = MEM_malloc_arrayN(numVerts, 3 * sizeof(float), "mod_solid_vno");
- for (i = 0, mv = mvert; i < numVerts; i++, mv++) {
- normal_short_to_float_v3(vert_nors[i], mv->no);
- }
- }
-
- for (i = 0, mp = mpoly; i < numPolys; i++, mp++) {
- /* #BKE_mesh_calc_poly_angles logic is inlined here */
- float nor_prev[3];
- float nor_next[3];
-
- int i_curr = mp->totloop - 1;
- int i_next = 0;
-
- ml = &mloop[mp->loopstart];
-
- sub_v3_v3v3(nor_prev, mvert[ml[i_curr - 1].v].co, mvert[ml[i_curr].v].co);
- normalize_v3(nor_prev);
-
- while (i_next < mp->totloop) {
- float angle;
- sub_v3_v3v3(nor_next, mvert[ml[i_curr].v].co, mvert[ml[i_next].v].co);
- normalize_v3(nor_next);
- angle = angle_normalized_v3v3(nor_prev, nor_next);
-
- /* --- not related to angle calc --- */
- if (angle < FLT_EPSILON) {
- angle = FLT_EPSILON;
- }
-
- vidx = ml[i_curr].v;
- vert_accum[vidx] += angle;
-
-#ifdef USE_NONMANIFOLD_WORKAROUND
- /* skip 3+ face user edges */
- if ((check_non_manifold == false) ||
- LIKELY(((orig_medge[ml[i_curr].e].flag & ME_EDGE_TMP_TAG) == 0) &&
- ((orig_medge[ml[i_next].e].flag & ME_EDGE_TMP_TAG) == 0))) {
- vert_angles[vidx] += shell_v3v3_normalized_to_dist(vert_nors[vidx], poly_nors[i]) *
- angle;
- }
- else {
- vert_angles[vidx] += angle;
- }
-#else
- vert_angles[vidx] += shell_v3v3_normalized_to_dist(vert_nors[vidx], poly_nors[i]) * angle;
-#endif
- /* --- end non-angle-calc section --- */
-
- /* step */
- copy_v3_v3(nor_prev, nor_next);
- i_curr = i_next;
- i_next++;
- }
- }
-
- /* vertex group support */
- if (dvert) {
- MDeformVert *dv = dvert;
- float scalar;
-
- if (defgrp_invert) {
- for (i = 0; i < numVerts; i++, dv++) {
- scalar = 1.0f - defvert_find_weight(dv, defgrp_index);
- scalar = offset_fac_vg + (scalar * offset_fac_vg_inv);
- vert_angles[i] *= scalar;
- }
- }
- else {
- for (i = 0; i < numVerts; i++, dv++) {
- scalar = defvert_find_weight(dv, defgrp_index);
- scalar = offset_fac_vg + (scalar * offset_fac_vg_inv);
- vert_angles[i] *= scalar;
- }
- }
- }
-
- if (do_clamp) {
- float *vert_lens_sq = MEM_malloc_arrayN(numVerts, sizeof(float), "vert_lens");
- const float offset = fabsf(smd->offset) * smd->offset_clamp;
- const float offset_sq = offset * offset;
- copy_vn_fl(vert_lens_sq, (int)numVerts, FLT_MAX);
- for (i = 0; i < numEdges; i++) {
- const float ed_len = len_squared_v3v3(mvert[medge[i].v1].co, mvert[medge[i].v2].co);
- vert_lens_sq[medge[i].v1] = min_ff(vert_lens_sq[medge[i].v1], ed_len);
- vert_lens_sq[medge[i].v2] = min_ff(vert_lens_sq[medge[i].v2], ed_len);
- }
- for (i = 0; i < numVerts; i++) {
- if (vert_lens_sq[i] < offset_sq) {
- float scalar = sqrtf(vert_lens_sq[i]) / offset;
- vert_angles[i] *= scalar;
- }
- }
- MEM_freeN(vert_lens_sq);
- }
-
- if (ofs_new != 0.0f) {
- uint i_orig, i_end;
- bool do_shell_align;
-
- INIT_VERT_ARRAY_OFFSETS(false);
-
- for (i_orig = 0; i_orig < i_end; i_orig++, mv++) {
- const uint i_other = do_shell_align ? i_orig : new_vert_arr[i_orig];
- if (vert_accum[i_other]) { /* zero if unselected */
- madd_v3_v3fl(
- mv->co, vert_nors[i_other], ofs_new * (vert_angles[i_other] / vert_accum[i_other]));
- }
- }
- }
-
- if (ofs_orig != 0.0f) {
- uint i_orig, i_end;
- bool do_shell_align;
-
- /* same as above but swapped, intentional use of 'ofs_new' */
- INIT_VERT_ARRAY_OFFSETS(true);
-
- for (i_orig = 0; i_orig < i_end; i_orig++, mv++) {
- const uint i_other = do_shell_align ? i_orig : new_vert_arr[i_orig];
- if (vert_accum[i_other]) { /* zero if unselected */
- madd_v3_v3fl(
- mv->co, vert_nors[i_other], ofs_orig * (vert_angles[i_other] / vert_accum[i_other]));
- }
- }
- }
-
- MEM_freeN(vert_angles);
- }
-
- if (vert_nors) {
- MEM_freeN(vert_nors);
- }
-
- /* must recalculate normals with vgroups since they can displace unevenly [#26888] */
- if ((mesh->runtime.cd_dirty_vert & CD_MASK_NORMAL) || (smd->flag & MOD_SOLIDIFY_RIM) || dvert) {
- result->runtime.cd_dirty_vert |= CD_MASK_NORMAL;
- }
- else if (do_shell) {
- uint i;
- /* flip vertex normals for copied verts */
- mv = mvert + numVerts;
- for (i = 0; i < numVerts; i++, mv++) {
- negate_v3_short(mv->no);
- }
- }
-
- if (smd->flag & MOD_SOLIDIFY_RIM) {
- uint i;
-
- /* bugger, need to re-calculate the normals for the new edge faces.
- * This could be done in many ways, but probably the quickest way
- * is to calculate the average normals for side faces only.
- * Then blend them with the normals of the edge verts.
- *
- * at the moment its easiest to allocate an entire array for every vertex,
- * even though we only need edge verts - campbell
- */
-
-#define SOLIDIFY_SIDE_NORMALS
-
-#ifdef SOLIDIFY_SIDE_NORMALS
- /* Note that, due to the code setting cd_dirty_vert a few lines above,
- * do_side_normals is always false. - Sybren */
- const bool do_side_normals = !(result->runtime.cd_dirty_vert & CD_MASK_NORMAL);
- /* annoying to allocate these since we only need the edge verts, */
- float(*edge_vert_nos)[3] = do_side_normals ?
- MEM_calloc_arrayN(numVerts, 3 * sizeof(float), __func__) :
- NULL;
- float nor[3];
-#endif
- const uchar crease_rim = smd->crease_rim * 255.0f;
- const uchar crease_outer = smd->crease_outer * 255.0f;
- const uchar crease_inner = smd->crease_inner * 255.0f;
-
- int *origindex_edge;
- int *orig_ed;
- uint j;
-
- if (crease_rim || crease_outer || crease_inner) {
- result->cd_flag |= ME_CDFLAG_EDGE_CREASE;
- }
-
- /* add faces & edges */
- origindex_edge = CustomData_get_layer(&result->edata, CD_ORIGINDEX);
- orig_ed = (origindex_edge) ? &origindex_edge[(numEdges * stride) + newEdges] : NULL;
- ed = &medge[(numEdges * stride) + newEdges]; /* start after copied edges */
- for (i = 0; i < rimVerts; i++, ed++) {
- ed->v1 = new_vert_arr[i];
- ed->v2 = (do_shell ? new_vert_arr[i] : i) + numVerts;
- ed->flag |= ME_EDGEDRAW | ME_EDGERENDER;
-
- if (orig_ed) {
- *orig_ed = ORIGINDEX_NONE;
- orig_ed++;
- }
-
- if (crease_rim) {
- ed->crease = crease_rim;
- }
- }
-
- /* faces */
- mp = mpoly + (numPolys * stride);
- ml = mloop + (numLoops * stride);
- j = 0;
- for (i = 0; i < newPolys; i++, mp++) {
- uint eidx = new_edge_arr[i];
- uint pidx = edge_users[eidx];
- int k1, k2;
- bool flip;
-
- if (pidx >= numPolys) {
- pidx -= numPolys;
- flip = true;
- }
- else {
- flip = false;
- }
-
- ed = medge + eidx;
-
- /* copy most of the face settings */
- CustomData_copy_data(
- &mesh->pdata, &result->pdata, (int)pidx, (int)((numPolys * stride) + i), 1);
- mp->loopstart = (int)(j + (numLoops * stride));
- mp->flag = mpoly[pidx].flag;
-
- /* notice we use 'mp->totloop' which is later overwritten,
- * we could lookup the original face but there's no point since this is a copy
- * and will have the same value, just take care when changing order of assignment */
-
- /* prev loop */
- k1 = mpoly[pidx].loopstart + (((edge_order[eidx] - 1) + mp->totloop) % mp->totloop);
-
- k2 = mpoly[pidx].loopstart + (edge_order[eidx]);
-
- mp->totloop = 4;
-
- CustomData_copy_data(
- &mesh->ldata, &result->ldata, k2, (int)((numLoops * stride) + j + 0), 1);
- CustomData_copy_data(
- &mesh->ldata, &result->ldata, k1, (int)((numLoops * stride) + j + 1), 1);
- CustomData_copy_data(
- &mesh->ldata, &result->ldata, k1, (int)((numLoops * stride) + j + 2), 1);
- CustomData_copy_data(
- &mesh->ldata, &result->ldata, k2, (int)((numLoops * stride) + j + 3), 1);
-
- if (flip == false) {
- ml[j].v = ed->v1;
- ml[j++].e = eidx;
-
- ml[j].v = ed->v2;
- ml[j++].e = (numEdges * stride) + old_vert_arr[ed->v2] + newEdges;
-
- ml[j].v = (do_shell ? ed->v2 : old_vert_arr[ed->v2]) + numVerts;
- ml[j++].e = (do_shell ? eidx : i) + numEdges;
-
- ml[j].v = (do_shell ? ed->v1 : old_vert_arr[ed->v1]) + numVerts;
- ml[j++].e = (numEdges * stride) + old_vert_arr[ed->v1] + newEdges;
- }
- else {
- ml[j].v = ed->v2;
- ml[j++].e = eidx;
-
- ml[j].v = ed->v1;
- ml[j++].e = (numEdges * stride) + old_vert_arr[ed->v1] + newEdges;
-
- ml[j].v = (do_shell ? ed->v1 : old_vert_arr[ed->v1]) + numVerts;
- ml[j++].e = (do_shell ? eidx : i) + numEdges;
-
- ml[j].v = (do_shell ? ed->v2 : old_vert_arr[ed->v2]) + numVerts;
- ml[j++].e = (numEdges * stride) + old_vert_arr[ed->v2] + newEdges;
- }
-
- if (origindex_edge) {
- origindex_edge[ml[j - 3].e] = ORIGINDEX_NONE;
- origindex_edge[ml[j - 1].e] = ORIGINDEX_NONE;
- }
-
- /* use the next material index if option enabled */
- if (mat_ofs_rim) {
- mp->mat_nr += mat_ofs_rim;
- CLAMP(mp->mat_nr, 0, mat_nr_max);
- }
- if (crease_outer) {
- /* crease += crease_outer; without wrapping */
- char *cr = &(ed->crease);
- int tcr = *cr + crease_outer;
- *cr = tcr > 255 ? 255 : tcr;
- }
-
- if (crease_inner) {
- /* crease += crease_inner; without wrapping */
- char *cr = &(medge[numEdges + (do_shell ? eidx : i)].crease);
- int tcr = *cr + crease_inner;
- *cr = tcr > 255 ? 255 : tcr;
- }
-
-#ifdef SOLIDIFY_SIDE_NORMALS
- if (do_side_normals) {
- normal_quad_v3(nor,
- mvert[ml[j - 4].v].co,
- mvert[ml[j - 3].v].co,
- mvert[ml[j - 2].v].co,
- mvert[ml[j - 1].v].co);
-
- add_v3_v3(edge_vert_nos[ed->v1], nor);
- add_v3_v3(edge_vert_nos[ed->v2], nor);
- }
-#endif
- }
-
-#ifdef SOLIDIFY_SIDE_NORMALS
- if (do_side_normals) {
- const MEdge *ed_orig = medge;
- ed = medge + (numEdges * stride);
- for (i = 0; i < rimVerts; i++, ed++, ed_orig++) {
- float nor_cpy[3];
- short *nor_short;
- int k;
-
- /* note, only the first vertex (lower half of the index) is calculated */
- BLI_assert(ed->v1 < numVerts);
- normalize_v3_v3(nor_cpy, edge_vert_nos[ed_orig->v1]);
-
- for (k = 0; k < 2; k++) { /* loop over both verts of the edge */
- nor_short = mvert[*(&ed->v1 + k)].no;
- normal_short_to_float_v3(nor, nor_short);
- add_v3_v3(nor, nor_cpy);
- normalize_v3(nor);
- normal_float_to_short_v3(nor_short, nor);
- }
- }
-
- MEM_freeN(edge_vert_nos);
- }
-#endif
-
- MEM_freeN(new_vert_arr);
- MEM_freeN(new_edge_arr);
-
- MEM_freeN(edge_users);
- MEM_freeN(edge_order);
- }
-
- if (old_vert_arr) {
- MEM_freeN(old_vert_arr);
- }
-
- if (poly_nors) {
- MEM_freeN(poly_nors);
- }
-
- if (numPolys == 0 && numEdges != 0) {
- modifier_setError(md, "Faces needed for useful output");
- }
-
- return result;
-}
-
-#undef SOLIDIFY_SIDE_NORMALS
-
-static bool dependsOnNormals(ModifierData *UNUSED(md))
-{
- /* even when we calculate our own normals,
- * the vertex normals are used as a fallback */
- return true;
+ return mesh;
}
ModifierTypeInfo modifierType_Solidify = {
diff --git a/source/blender/modifiers/intern/MOD_solidify_extrude.c b/source/blender/modifiers/intern/MOD_solidify_extrude.c
new file mode 100644
index 00000000000..8c5a2551c0b
--- /dev/null
+++ b/source/blender/modifiers/intern/MOD_solidify_extrude.c
@@ -0,0 +1,1105 @@
+/*
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+/** \file
+ * \ingroup modifiers
+ */
+
+#include "BLI_utildefines.h"
+
+#include "BLI_bitmap.h"
+#include "BLI_math.h"
+#include "BLI_utildefines_stack.h"
+
+#include "DNA_mesh_types.h"
+#include "DNA_meshdata_types.h"
+
+#include "MEM_guardedalloc.h"
+
+#include "BKE_mesh.h"
+#include "BKE_particle.h"
+#include "BKE_deform.h"
+
+#include "MOD_modifiertypes.h"
+#include "MOD_util.h"
+#include "MOD_solidify_util.h" /* own include */
+
+#ifdef __GNUC__
+# pragma GCC diagnostic error "-Wsign-conversion"
+#endif
+
+/* -------------------------------------------------------------------- */
+/** \name Local Utilities
+ * \{ */
+
+/* specific function for solidify - define locally */
+BLI_INLINE void madd_v3v3short_fl(float r[3], const short a[3], const float f)
+{
+ r[0] += (float)a[0] * f;
+ r[1] += (float)a[1] * f;
+ r[2] += (float)a[2] * f;
+}
+
+/** \} */
+
+/* -------------------------------------------------------------------- */
+/** \name High Quality Normal Calculation Function
+ * \{ */
+
+/* skip shell thickness for non-manifold edges, see [#35710] */
+#define USE_NONMANIFOLD_WORKAROUND
+
+/* *** derived mesh high quality normal calculation function *** */
+/* could be exposed for other functions to use */
+
+typedef struct EdgeFaceRef {
+ int p1; /* init as -1 */
+ int p2;
+} EdgeFaceRef;
+
+BLI_INLINE bool edgeref_is_init(const EdgeFaceRef *edge_ref)
+{
+ return !((edge_ref->p1 == 0) && (edge_ref->p2 == 0));
+}
+
+/**
+ * \param dm: Mesh to calculate normals for.
+ * \param poly_nors: Precalculated face normals.
+ * \param r_vert_nors: Return vert normals.
+ */
+static void mesh_calc_hq_normal(Mesh *mesh, float (*poly_nors)[3], float (*r_vert_nors)[3])
+{
+ int i, numVerts, numEdges, numPolys;
+ MPoly *mpoly, *mp;
+ MLoop *mloop, *ml;
+ MEdge *medge, *ed;
+ MVert *mvert, *mv;
+
+ numVerts = mesh->totvert;
+ numEdges = mesh->totedge;
+ numPolys = mesh->totpoly;
+ mpoly = mesh->mpoly;
+ medge = mesh->medge;
+ mvert = mesh->mvert;
+ mloop = mesh->mloop;
+
+ /* we don't want to overwrite any referenced layers */
+
+ /* Doesn't work here! */
+#if 0
+ mv = CustomData_duplicate_referenced_layer(&dm->vertData, CD_MVERT, numVerts);
+ cddm->mvert = mv;
+#endif
+
+ mv = mvert;
+ mp = mpoly;
+
+ {
+ EdgeFaceRef *edge_ref_array = MEM_calloc_arrayN(
+ (size_t)numEdges, sizeof(EdgeFaceRef), "Edge Connectivity");
+ EdgeFaceRef *edge_ref;
+ float edge_normal[3];
+
+ /* Add an edge reference if it's not there, pointing back to the face index. */
+ for (i = 0; i < numPolys; i++, mp++) {
+ int j;
+
+ ml = mloop + mp->loopstart;
+
+ for (j = 0; j < mp->totloop; j++, ml++) {
+ /* --- add edge ref to face --- */
+ edge_ref = &edge_ref_array[ml->e];
+ if (!edgeref_is_init(edge_ref)) {
+ edge_ref->p1 = i;
+ edge_ref->p2 = -1;
+ }
+ else if ((edge_ref->p1 != -1) && (edge_ref->p2 == -1)) {
+ edge_ref->p2 = i;
+ }
+ else {
+ /* 3+ faces using an edge, we can't handle this usefully */
+ edge_ref->p1 = edge_ref->p2 = -1;
+#ifdef USE_NONMANIFOLD_WORKAROUND
+ medge[ml->e].flag |= ME_EDGE_TMP_TAG;
+#endif
+ }
+ /* --- done --- */
+ }
+ }
+
+ for (i = 0, ed = medge, edge_ref = edge_ref_array; i < numEdges; i++, ed++, edge_ref++) {
+ /* Get the edge vert indices, and edge value (the face indices that use it) */
+
+ if (edgeref_is_init(edge_ref) && (edge_ref->p1 != -1)) {
+ if (edge_ref->p2 != -1) {
+ /* We have 2 faces using this edge, calculate the edges normal
+ * using the angle between the 2 faces as a weighting */
+#if 0
+ add_v3_v3v3(edge_normal, face_nors[edge_ref->f1], face_nors[edge_ref->f2]);
+ normalize_v3_length(
+ edge_normal,
+ angle_normalized_v3v3(face_nors[edge_ref->f1], face_nors[edge_ref->f2]));
+#else
+ mid_v3_v3v3_angle_weighted(
+ edge_normal, poly_nors[edge_ref->p1], poly_nors[edge_ref->p2]);
+#endif
+ }
+ else {
+ /* only one face attached to that edge */
+ /* an edge without another attached- the weight on this is undefined */
+ copy_v3_v3(edge_normal, poly_nors[edge_ref->p1]);
+ }
+ add_v3_v3(r_vert_nors[ed->v1], edge_normal);
+ add_v3_v3(r_vert_nors[ed->v2], edge_normal);
+ }
+ }
+ MEM_freeN(edge_ref_array);
+ }
+
+ /* normalize vertex normals and assign */
+ for (i = 0; i < numVerts; i++, mv++) {
+ if (normalize_v3(r_vert_nors[i]) == 0.0f) {
+ normal_short_to_float_v3(r_vert_nors[i], mv->no);
+ }
+ }
+}
+
+/** \} */
+
+/* -------------------------------------------------------------------- */
+/** \name Main Solidify Function
+ * \{ */
+
+Mesh *MOD_solidify_extrude_applyModifier(ModifierData *md,
+ const ModifierEvalContext *ctx,
+ Mesh *mesh)
+{
+ Mesh *result;
+ const SolidifyModifierData *smd = (SolidifyModifierData *)md;
+
+ MVert *mv, *mvert, *orig_mvert;
+ MEdge *ed, *medge, *orig_medge;
+ MLoop *ml, *mloop, *orig_mloop;
+ MPoly *mp, *mpoly, *orig_mpoly;
+ const uint numVerts = (uint)mesh->totvert;
+ const uint numEdges = (uint)mesh->totedge;
+ const uint numPolys = (uint)mesh->totpoly;
+ const uint numLoops = (uint)mesh->totloop;
+ uint newLoops = 0, newPolys = 0, newEdges = 0, newVerts = 0, rimVerts = 0;
+
+ /* only use material offsets if we have 2 or more materials */
+ const short mat_nr_max = ctx->object->totcol > 1 ? ctx->object->totcol - 1 : 0;
+ const short mat_ofs = mat_nr_max ? smd->mat_ofs : 0;
+ const short mat_ofs_rim = mat_nr_max ? smd->mat_ofs_rim : 0;
+
+ /* use for edges */
+ /* over-alloc new_vert_arr, old_vert_arr */
+ uint *new_vert_arr = NULL;
+ STACK_DECLARE(new_vert_arr);
+
+ uint *new_edge_arr = NULL;
+ STACK_DECLARE(new_edge_arr);
+
+ uint *old_vert_arr = MEM_calloc_arrayN(
+ numVerts, sizeof(*old_vert_arr), "old_vert_arr in solidify");
+
+ uint *edge_users = NULL;
+ char *edge_order = NULL;
+
+ float(*vert_nors)[3] = NULL;
+ float(*poly_nors)[3] = NULL;
+
+ const bool need_poly_normals = (smd->flag & MOD_SOLIDIFY_NORMAL_CALC) ||
+ (smd->flag & MOD_SOLIDIFY_EVEN) ||
+ (smd->flag & MOD_SOLIDIFY_OFFSET_ANGLE_CLAMP);
+
+ const float ofs_orig = -(((-smd->offset_fac + 1.0f) * 0.5f) * smd->offset);
+ const float ofs_new = smd->offset + ofs_orig;
+ const float offset_fac_vg = smd->offset_fac_vg;
+ const float offset_fac_vg_inv = 1.0f - smd->offset_fac_vg;
+ const bool do_flip = (smd->flag & MOD_SOLIDIFY_FLIP) != 0;
+ const bool do_clamp = (smd->offset_clamp != 0.0f);
+ const bool do_angle_clamp = (smd->flag & MOD_SOLIDIFY_OFFSET_ANGLE_CLAMP) != 0;
+ const bool do_shell = ((smd->flag & MOD_SOLIDIFY_RIM) && (smd->flag & MOD_SOLIDIFY_NOSHELL)) ==
+ 0;
+
+ /* weights */
+ MDeformVert *dvert;
+ const bool defgrp_invert = (smd->flag & MOD_SOLIDIFY_VGROUP_INV) != 0;
+ int defgrp_index;
+
+ /* array size is doubled in case of using a shell */
+ const uint stride = do_shell ? 2 : 1;
+
+ MOD_get_vgroup(ctx->object, mesh, smd->defgrp_name, &dvert, &defgrp_index);
+
+ orig_mvert = mesh->mvert;
+ orig_medge = mesh->medge;
+ orig_mloop = mesh->mloop;
+ orig_mpoly = mesh->mpoly;
+
+ if (need_poly_normals) {
+ /* calculate only face normals */
+ poly_nors = MEM_malloc_arrayN(numPolys, sizeof(*poly_nors), __func__);
+ BKE_mesh_calc_normals_poly(orig_mvert,
+ NULL,
+ (int)numVerts,
+ orig_mloop,
+ orig_mpoly,
+ (int)numLoops,
+ (int)numPolys,
+ poly_nors,
+ true);
+ }
+
+ STACK_INIT(new_vert_arr, numVerts * 2);
+ STACK_INIT(new_edge_arr, numEdges * 2);
+
+ if (smd->flag & MOD_SOLIDIFY_RIM) {
+ BLI_bitmap *orig_mvert_tag = BLI_BITMAP_NEW(numVerts, __func__);
+ uint eidx;
+ uint i;
+
+#define INVALID_UNUSED ((uint)-1)
+#define INVALID_PAIR ((uint)-2)
+
+ new_vert_arr = MEM_malloc_arrayN(numVerts, 2 * sizeof(*new_vert_arr), __func__);
+ new_edge_arr = MEM_malloc_arrayN(((numEdges * 2) + numVerts), sizeof(*new_edge_arr), __func__);
+
+ edge_users = MEM_malloc_arrayN(numEdges, sizeof(*edge_users), "solid_mod edges");
+ edge_order = MEM_malloc_arrayN(numEdges, sizeof(*edge_order), "solid_mod eorder");
+
+ /* save doing 2 loops here... */
+#if 0
+ copy_vn_i(edge_users, numEdges, INVALID_UNUSED);
+#endif
+
+ for (eidx = 0, ed = orig_medge; eidx < numEdges; eidx++, ed++) {
+ edge_users[eidx] = INVALID_UNUSED;
+ }
+
+ for (i = 0, mp = orig_mpoly; i < numPolys; i++, mp++) {
+ MLoop *ml_prev;
+ int j;
+
+ ml = orig_mloop + mp->loopstart;
+ ml_prev = ml + (mp->totloop - 1);
+
+ for (j = 0; j < mp->totloop; j++, ml++) {
+ /* add edge user */
+ eidx = ml_prev->e;
+ if (edge_users[eidx] == INVALID_UNUSED) {
+ ed = orig_medge + eidx;
+ BLI_assert(ELEM(ml_prev->v, ed->v1, ed->v2) && ELEM(ml->v, ed->v1, ed->v2));
+ edge_users[eidx] = (ml_prev->v > ml->v) == (ed->v1 < ed->v2) ? i : (i + numPolys);
+ edge_order[eidx] = j;
+ }
+ else {
+ edge_users[eidx] = INVALID_PAIR;
+ }
+ ml_prev = ml;
+ }
+ }
+
+ for (eidx = 0, ed = orig_medge; eidx < numEdges; eidx++, ed++) {
+ if (!ELEM(edge_users[eidx], INVALID_UNUSED, INVALID_PAIR)) {
+ BLI_BITMAP_ENABLE(orig_mvert_tag, ed->v1);
+ BLI_BITMAP_ENABLE(orig_mvert_tag, ed->v2);
+ STACK_PUSH(new_edge_arr, eidx);
+ newPolys++;
+ newLoops += 4;
+ }
+ }
+
+ for (i = 0; i < numVerts; i++) {
+ if (BLI_BITMAP_TEST(orig_mvert_tag, i)) {
+ old_vert_arr[i] = STACK_SIZE(new_vert_arr);
+ STACK_PUSH(new_vert_arr, i);
+ rimVerts++;
+ }
+ else {
+ old_vert_arr[i] = INVALID_UNUSED;
+ }
+ }
+
+ MEM_freeN(orig_mvert_tag);
+ }
+
+ if (do_shell == false) {
+ /* only add rim vertices */
+ newVerts = rimVerts;
+ /* each extruded face needs an opposite edge */
+ newEdges = newPolys;
+ }
+ else {
+ /* (stride == 2) in this case, so no need to add newVerts/newEdges */
+ BLI_assert(newVerts == 0);
+ BLI_assert(newEdges == 0);
+ }
+
+ if (smd->flag & MOD_SOLIDIFY_NORMAL_CALC) {
+ vert_nors = MEM_calloc_arrayN(numVerts, 3 * sizeof(float), "mod_solid_vno_hq");
+ mesh_calc_hq_normal(mesh, poly_nors, vert_nors);
+ }
+
+ result = BKE_mesh_new_nomain_from_template(mesh,
+ (int)((numVerts * stride) + newVerts),
+ (int)((numEdges * stride) + newEdges + rimVerts),
+ 0,
+ (int)((numLoops * stride) + newLoops),
+ (int)((numPolys * stride) + newPolys));
+
+ mpoly = result->mpoly;
+ mloop = result->mloop;
+ medge = result->medge;
+ mvert = result->mvert;
+
+ if (do_shell) {
+ CustomData_copy_data(&mesh->vdata, &result->vdata, 0, 0, (int)numVerts);
+ CustomData_copy_data(&mesh->vdata, &result->vdata, 0, (int)numVerts, (int)numVerts);
+
+ CustomData_copy_data(&mesh->edata, &result->edata, 0, 0, (int)numEdges);
+ CustomData_copy_data(&mesh->edata, &result->edata, 0, (int)numEdges, (int)numEdges);
+
+ CustomData_copy_data(&mesh->ldata, &result->ldata, 0, 0, (int)numLoops);
+ /* DO NOT copy here the 'copied' part of loop data, we want to reverse loops
+ * (so that winding of copied face get reversed, so that normals get reversed
+ * and point in expected direction...).
+ * If we also copy data here, then this data get overwritten
+ * (and allocated memory becomes memleak). */
+
+ CustomData_copy_data(&mesh->pdata, &result->pdata, 0, 0, (int)numPolys);
+ CustomData_copy_data(&mesh->pdata, &result->pdata, 0, (int)numPolys, (int)numPolys);
+ }
+ else {
+ int i, j;
+ CustomData_copy_data(&mesh->vdata, &result->vdata, 0, 0, (int)numVerts);
+ for (i = 0, j = (int)numVerts; i < numVerts; i++) {
+ if (old_vert_arr[i] != INVALID_UNUSED) {
+ CustomData_copy_data(&mesh->vdata, &result->vdata, i, j, 1);
+ j++;
+ }
+ }
+
+ CustomData_copy_data(&mesh->edata, &result->edata, 0, 0, (int)numEdges);
+
+ for (i = 0, j = (int)numEdges; i < numEdges; i++) {
+ if (!ELEM(edge_users[i], INVALID_UNUSED, INVALID_PAIR)) {
+ MEdge *ed_src, *ed_dst;
+ CustomData_copy_data(&mesh->edata, &result->edata, i, j, 1);
+
+ ed_src = &medge[i];
+ ed_dst = &medge[j];
+ ed_dst->v1 = old_vert_arr[ed_src->v1] + numVerts;
+ ed_dst->v2 = old_vert_arr[ed_src->v2] + numVerts;
+ j++;
+ }
+ }
+
+ /* will be created later */
+ CustomData_copy_data(&mesh->ldata, &result->ldata, 0, 0, (int)numLoops);
+ CustomData_copy_data(&mesh->pdata, &result->pdata, 0, 0, (int)numPolys);
+ }
+
+ /* initializes: (i_end, do_shell_align, mv) */
+#define INIT_VERT_ARRAY_OFFSETS(test) \
+ if (((ofs_new >= ofs_orig) == do_flip) == test) { \
+ i_end = numVerts; \
+ do_shell_align = true; \
+ mv = mvert; \
+ } \
+ else { \
+ if (do_shell) { \
+ i_end = numVerts; \
+ do_shell_align = true; \
+ } \
+ else { \
+ i_end = newVerts; \
+ do_shell_align = false; \
+ } \
+ mv = &mvert[numVerts]; \
+ } \
+ (void)0
+
+ /* flip normals */
+
+ if (do_shell) {
+ uint i;
+
+ mp = mpoly + numPolys;
+ for (i = 0; i < mesh->totpoly; i++, mp++) {
+ const int loop_end = mp->totloop - 1;
+ MLoop *ml2;
+ uint e;
+ int j;
+
+ /* reverses the loop direction (MLoop.v as well as custom-data)
+ * MLoop.e also needs to be corrected too, done in a separate loop below. */
+ ml2 = mloop + mp->loopstart + mesh->totloop;
+#if 0
+ for (j = 0; j < mp->totloop; j++) {
+ CustomData_copy_data(&mesh->ldata,
+ &result->ldata,
+ mp->loopstart + j,
+ mp->loopstart + (loop_end - j) + mesh->totloop,
+ 1);
+ }
+#else
+ /* slightly more involved, keep the first vertex the same for the copy,
+ * ensures the diagonals in the new face match the original. */
+ j = 0;
+ for (int j_prev = loop_end; j < mp->totloop; j_prev = j++) {
+ CustomData_copy_data(&mesh->ldata,
+ &result->ldata,
+ mp->loopstart + j,
+ mp->loopstart + (loop_end - j_prev) + mesh->totloop,
+ 1);
+ }
+#endif
+
+ if (mat_ofs) {
+ mp->mat_nr += mat_ofs;
+ CLAMP(mp->mat_nr, 0, mat_nr_max);
+ }
+
+ e = ml2[0].e;
+ for (j = 0; j < loop_end; j++) {
+ ml2[j].e = ml2[j + 1].e;
+ }
+ ml2[loop_end].e = e;
+
+ mp->loopstart += mesh->totloop;
+
+ for (j = 0; j < mp->totloop; j++) {
+ ml2[j].e += numEdges;
+ ml2[j].v += numVerts;
+ }
+ }
+
+ for (i = 0, ed = medge + numEdges; i < numEdges; i++, ed++) {
+ ed->v1 += numVerts;
+ ed->v2 += numVerts;
+ }
+ }
+
+ /* note, copied vertex layers don't have flipped normals yet. do this after applying offset */
+ if ((smd->flag & MOD_SOLIDIFY_EVEN) == 0) {
+ /* no even thickness, very simple */
+ float scalar_short;
+ float scalar_short_vgroup;
+
+ /* for clamping */
+ float *vert_lens = NULL;
+ float *vert_angs = NULL;
+ const float offset = fabsf(smd->offset) * smd->offset_clamp;
+ const float offset_sq = offset * offset;
+
+ if (do_clamp) {
+ uint i;
+
+ vert_lens = MEM_malloc_arrayN(numVerts, sizeof(float), "vert_lens");
+ copy_vn_fl(vert_lens, (int)numVerts, FLT_MAX);
+ for (i = 0; i < numEdges; i++) {
+ const float ed_len_sq = len_squared_v3v3(mvert[medge[i].v1].co, mvert[medge[i].v2].co);
+ vert_lens[medge[i].v1] = min_ff(vert_lens[medge[i].v1], ed_len_sq);
+ vert_lens[medge[i].v2] = min_ff(vert_lens[medge[i].v2], ed_len_sq);
+ }
+ if (do_angle_clamp) {
+ uint eidx;
+ vert_angs = MEM_malloc_arrayN(numVerts, sizeof(float), "vert_angs");
+ copy_vn_fl(vert_angs, (int)numVerts, 0.5f * M_PI);
+ uint(*edge_user_pairs)[2] = MEM_malloc_arrayN(
+ numEdges, sizeof(*edge_user_pairs), "edge_user_pairs");
+ for (eidx = 0; eidx < numEdges; eidx++) {
+ edge_user_pairs[eidx][0] = INVALID_UNUSED;
+ edge_user_pairs[eidx][1] = INVALID_UNUSED;
+ }
+ for (i = 0, mp = orig_mpoly; i < numPolys; i++, mp++) {
+ ml = orig_mloop + mp->loopstart;
+ MLoop *ml_prev = ml + (mp->totloop - 1);
+
+ for (int j = 0; j < mp->totloop; j++, ml++) {
+ /* add edge user */
+ eidx = ml_prev->e;
+ ed = orig_medge + eidx;
+ BLI_assert(ELEM(ml_prev->v, ed->v1, ed->v2) && ELEM(ml->v, ed->v1, ed->v2));
+ char flip = (char)((ml_prev->v > ml->v) == (ed->v1 < ed->v2));
+ if (edge_user_pairs[eidx][flip] == INVALID_UNUSED) {
+ edge_user_pairs[eidx][flip] = i;
+ }
+ else {
+ edge_user_pairs[eidx][0] = INVALID_PAIR;
+ edge_user_pairs[eidx][1] = INVALID_PAIR;
+ }
+ ml_prev = ml;
+ }
+ }
+ ed = orig_medge;
+ float e[3];
+ for (i = 0; i < numEdges; i++, ed++) {
+ if (!ELEM(edge_user_pairs[i][0], INVALID_UNUSED, INVALID_PAIR) &&
+ !ELEM(edge_user_pairs[i][1], INVALID_UNUSED, INVALID_PAIR)) {
+ const float *n0 = poly_nors[edge_user_pairs[i][0]];
+ const float *n1 = poly_nors[edge_user_pairs[i][1]];
+ sub_v3_v3v3(e, orig_mvert[ed->v1].co, orig_mvert[ed->v2].co);
+ normalize_v3(e);
+ const float angle = angle_signed_on_axis_v3v3_v3(n0, n1, e);
+ vert_angs[ed->v1] = max_ff(vert_angs[ed->v1], angle);
+ vert_angs[ed->v2] = max_ff(vert_angs[ed->v2], angle);
+ }
+ }
+ MEM_freeN(edge_user_pairs);
+ }
+ }
+
+ if (ofs_new != 0.0f) {
+ uint i_orig, i_end;
+ bool do_shell_align;
+
+ scalar_short = scalar_short_vgroup = ofs_new / 32767.0f;
+
+ INIT_VERT_ARRAY_OFFSETS(false);
+
+ for (i_orig = 0; i_orig < i_end; i_orig++, mv++) {
+ const uint i = do_shell_align ? i_orig : new_vert_arr[i_orig];
+ if (dvert) {
+ MDeformVert *dv = &dvert[i];
+ if (defgrp_invert) {
+ scalar_short_vgroup = 1.0f - defvert_find_weight(dv, defgrp_index);
+ }
+ else {
+ scalar_short_vgroup = defvert_find_weight(dv, defgrp_index);
+ }
+ scalar_short_vgroup = (offset_fac_vg + (scalar_short_vgroup * offset_fac_vg_inv)) *
+ scalar_short;
+ }
+ if (do_clamp && offset > FLT_EPSILON) {
+ /* always reset because we may have set before */
+ if (dvert == NULL) {
+ scalar_short_vgroup = scalar_short;
+ }
+ if (do_angle_clamp) {
+ float cos_ang = cosf(((2 * M_PI) - vert_angs[i]) * 0.5f);
+ if (cos_ang > 0) {
+ float max_off = sqrtf(vert_lens[i]) * 0.5f / cos_ang;
+ if (max_off < offset * 0.5f) {
+ scalar_short_vgroup *= max_off / offset * 2;
+ }
+ }
+ }
+ else {
+ if (vert_lens[i] < offset_sq) {
+ float scalar = sqrtf(vert_lens[i]) / offset;
+ scalar_short_vgroup *= scalar;
+ }
+ }
+ }
+ madd_v3v3short_fl(mv->co, mv->no, scalar_short_vgroup);
+ }
+ }
+
+ if (ofs_orig != 0.0f) {
+ uint i_orig, i_end;
+ bool do_shell_align;
+
+ scalar_short = scalar_short_vgroup = ofs_orig / 32767.0f;
+
+ /* as above but swapped */
+ INIT_VERT_ARRAY_OFFSETS(true);
+
+ for (i_orig = 0; i_orig < i_end; i_orig++, mv++) {
+ const uint i = do_shell_align ? i_orig : new_vert_arr[i_orig];
+ if (dvert) {
+ MDeformVert *dv = &dvert[i];
+ if (defgrp_invert) {
+ scalar_short_vgroup = 1.0f - defvert_find_weight(dv, defgrp_index);
+ }
+ else {
+ scalar_short_vgroup = defvert_find_weight(dv, defgrp_index);
+ }
+ scalar_short_vgroup = (offset_fac_vg + (scalar_short_vgroup * offset_fac_vg_inv)) *
+ scalar_short;
+ }
+ if (do_clamp && offset > FLT_EPSILON) {
+ /* always reset because we may have set before */
+ if (dvert == NULL) {
+ scalar_short_vgroup = scalar_short;
+ }
+ if (do_angle_clamp) {
+ float cos_ang = cosf(vert_angs[i_orig] * 0.5f);
+ if (cos_ang > 0) {
+ float max_off = sqrtf(vert_lens[i]) * 0.5f / cos_ang;
+ if (max_off < offset * 0.5f) {
+ scalar_short_vgroup *= max_off / offset * 2;
+ }
+ }
+ }
+ else {
+ if (vert_lens[i] < offset_sq) {
+ float scalar = sqrtf(vert_lens[i]) / offset;
+ scalar_short_vgroup *= scalar;
+ }
+ }
+ }
+ madd_v3v3short_fl(mv->co, mv->no, scalar_short_vgroup);
+ }
+ }
+
+ if (do_clamp) {
+ MEM_freeN(vert_lens);
+ if (do_angle_clamp) {
+ MEM_freeN(vert_angs);
+ }
+ }
+ }
+ else {
+#ifdef USE_NONMANIFOLD_WORKAROUND
+ const bool check_non_manifold = (smd->flag & MOD_SOLIDIFY_NORMAL_CALC) != 0;
+#endif
+ /* same as EM_solidify() in editmesh_lib.c */
+ float *vert_angles = MEM_calloc_arrayN(
+ numVerts, 2 * sizeof(float), "mod_solid_pair"); /* 2 in 1 */
+ float *vert_accum = vert_angles + numVerts;
+ uint vidx;
+ uint i;
+
+ if (vert_nors == NULL) {
+ vert_nors = MEM_malloc_arrayN(numVerts, 3 * sizeof(float), "mod_solid_vno");
+ for (i = 0, mv = mvert; i < numVerts; i++, mv++) {
+ normal_short_to_float_v3(vert_nors[i], mv->no);
+ }
+ }
+
+ for (i = 0, mp = mpoly; i < numPolys; i++, mp++) {
+ /* #BKE_mesh_calc_poly_angles logic is inlined here */
+ float nor_prev[3];
+ float nor_next[3];
+
+ int i_curr = mp->totloop - 1;
+ int i_next = 0;
+
+ ml = &mloop[mp->loopstart];
+
+ sub_v3_v3v3(nor_prev, mvert[ml[i_curr - 1].v].co, mvert[ml[i_curr].v].co);
+ normalize_v3(nor_prev);
+
+ while (i_next < mp->totloop) {
+ float angle;
+ sub_v3_v3v3(nor_next, mvert[ml[i_curr].v].co, mvert[ml[i_next].v].co);
+ normalize_v3(nor_next);
+ angle = angle_normalized_v3v3(nor_prev, nor_next);
+
+ /* --- not related to angle calc --- */
+ if (angle < FLT_EPSILON) {
+ angle = FLT_EPSILON;
+ }
+
+ vidx = ml[i_curr].v;
+ vert_accum[vidx] += angle;
+
+#ifdef USE_NONMANIFOLD_WORKAROUND
+ /* skip 3+ face user edges */
+ if ((check_non_manifold == false) ||
+ LIKELY(((orig_medge[ml[i_curr].e].flag & ME_EDGE_TMP_TAG) == 0) &&
+ ((orig_medge[ml[i_next].e].flag & ME_EDGE_TMP_TAG) == 0))) {
+ vert_angles[vidx] += shell_v3v3_normalized_to_dist(vert_nors[vidx], poly_nors[i]) *
+ angle;
+ }
+ else {
+ vert_angles[vidx] += angle;
+ }
+#else
+ vert_angles[vidx] += shell_v3v3_normalized_to_dist(vert_nors[vidx], poly_nors[i]) * angle;
+#endif
+ /* --- end non-angle-calc section --- */
+
+ /* step */
+ copy_v3_v3(nor_prev, nor_next);
+ i_curr = i_next;
+ i_next++;
+ }
+ }
+
+ /* vertex group support */
+ if (dvert) {
+ MDeformVert *dv = dvert;
+ float scalar;
+
+ if (defgrp_invert) {
+ for (i = 0; i < numVerts; i++, dv++) {
+ scalar = 1.0f - defvert_find_weight(dv, defgrp_index);
+ scalar = offset_fac_vg + (scalar * offset_fac_vg_inv);
+ vert_angles[i] *= scalar;
+ }
+ }
+ else {
+ for (i = 0; i < numVerts; i++, dv++) {
+ scalar = defvert_find_weight(dv, defgrp_index);
+ scalar = offset_fac_vg + (scalar * offset_fac_vg_inv);
+ vert_angles[i] *= scalar;
+ }
+ }
+ }
+
+ if (do_clamp) {
+ const float clamp_fac = 1 + (do_angle_clamp ? fabsf(smd->offset_fac) : 0);
+ const float offset = fabsf(smd->offset) * smd->offset_clamp * clamp_fac;
+ if (offset > FLT_EPSILON) {
+ float *vert_lens_sq = MEM_malloc_arrayN(numVerts, sizeof(float), "vert_lens_sq");
+ const float offset_sq = offset * offset;
+ copy_vn_fl(vert_lens_sq, (int)numVerts, FLT_MAX);
+ for (i = 0; i < numEdges; i++) {
+ const float ed_len = len_squared_v3v3(mvert[medge[i].v1].co, mvert[medge[i].v2].co);
+ vert_lens_sq[medge[i].v1] = min_ff(vert_lens_sq[medge[i].v1], ed_len);
+ vert_lens_sq[medge[i].v2] = min_ff(vert_lens_sq[medge[i].v2], ed_len);
+ }
+ if (do_angle_clamp) {
+ uint eidx;
+ float *vert_angs = MEM_malloc_arrayN(numVerts, sizeof(float), "vert_angs even");
+ copy_vn_fl(vert_angs, (int)numVerts, 0.5f * M_PI);
+ uint(*edge_user_pairs)[2] = MEM_malloc_arrayN(
+ numEdges, sizeof(*edge_user_pairs), "edge_user_pairs");
+ for (eidx = 0; eidx < numEdges; eidx++) {
+ edge_user_pairs[eidx][0] = INVALID_UNUSED;
+ edge_user_pairs[eidx][1] = INVALID_UNUSED;
+ }
+ for (i = 0, mp = orig_mpoly; i < numPolys; i++, mp++) {
+ ml = orig_mloop + mp->loopstart;
+ MLoop *ml_prev = ml + (mp->totloop - 1);
+
+ for (int j = 0; j < mp->totloop; j++, ml++) {
+ /* add edge user */
+ eidx = ml_prev->e;
+ ed = orig_medge + eidx;
+ BLI_assert(ELEM(ml_prev->v, ed->v1, ed->v2) && ELEM(ml->v, ed->v1, ed->v2));
+ char flip = (char)((ml_prev->v > ml->v) == (ed->v1 < ed->v2));
+ if (edge_user_pairs[eidx][flip] == INVALID_UNUSED) {
+ edge_user_pairs[eidx][flip] = i;
+ }
+ else {
+ edge_user_pairs[eidx][0] = INVALID_PAIR;
+ edge_user_pairs[eidx][1] = INVALID_PAIR;
+ }
+ ml_prev = ml;
+ }
+ }
+ ed = orig_medge;
+ for (i = 0; i < numEdges; i++, ed++) {
+ if (!ELEM(edge_user_pairs[i][0], INVALID_UNUSED, INVALID_PAIR) &&
+ !ELEM(edge_user_pairs[i][1], INVALID_UNUSED, INVALID_PAIR)) {
+ const float *n0 = poly_nors[edge_user_pairs[i][0]];
+ const float *n1 = poly_nors[edge_user_pairs[i][1]];
+ const float angle = M_PI - angle_normalized_v3v3(n0, n1);
+ vert_angs[ed->v1] = max_ff(vert_angs[ed->v1], angle);
+ vert_angs[ed->v2] = max_ff(vert_angs[ed->v2], angle);
+ }
+ }
+ MEM_freeN(edge_user_pairs);
+
+ for (i = 0; i < numVerts; i++) {
+ float cos_ang = cosf(vert_angs[i] * 0.5f);
+ if (cos_ang > 0) {
+ float max_off = sqrtf(vert_lens_sq[i]) * 0.5f / cos_ang;
+ if (max_off < offset * 0.5f) {
+ vert_angles[i] *= max_off / offset * 2;
+ }
+ }
+ }
+ MEM_freeN(vert_angs);
+ }
+ else {
+ for (i = 0; i < numVerts; i++) {
+ if (vert_lens_sq[i] < offset_sq) {
+ float scalar = sqrtf(vert_lens_sq[i]) / offset;
+ vert_angles[i] *= scalar;
+ }
+ }
+ }
+ MEM_freeN(vert_lens_sq);
+ }
+ }
+
+#undef INVALID_UNUSED
+#undef INVALID_PAIR
+
+ if (ofs_new != 0.0f) {
+ uint i_orig, i_end;
+ bool do_shell_align;
+
+ INIT_VERT_ARRAY_OFFSETS(false);
+
+ for (i_orig = 0; i_orig < i_end; i_orig++, mv++) {
+ const uint i_other = do_shell_align ? i_orig : new_vert_arr[i_orig];
+ if (vert_accum[i_other]) { /* zero if unselected */
+ madd_v3_v3fl(
+ mv->co, vert_nors[i_other], ofs_new * (vert_angles[i_other] / vert_accum[i_other]));
+ }
+ }
+ }
+
+ if (ofs_orig != 0.0f) {
+ uint i_orig, i_end;
+ bool do_shell_align;
+
+ /* same as above but swapped, intentional use of 'ofs_new' */
+ INIT_VERT_ARRAY_OFFSETS(true);
+
+ for (i_orig = 0; i_orig < i_end; i_orig++, mv++) {
+ const uint i_other = do_shell_align ? i_orig : new_vert_arr[i_orig];
+ if (vert_accum[i_other]) { /* zero if unselected */
+ madd_v3_v3fl(
+ mv->co, vert_nors[i_other], ofs_orig * (vert_angles[i_other] / vert_accum[i_other]));
+ }
+ }
+ }
+
+ MEM_freeN(vert_angles);
+ }
+
+ if (vert_nors) {
+ MEM_freeN(vert_nors);
+ }
+
+ /* must recalculate normals with vgroups since they can displace unevenly [#26888] */
+ if ((mesh->runtime.cd_dirty_vert & CD_MASK_NORMAL) || (smd->flag & MOD_SOLIDIFY_RIM) || dvert) {
+ result->runtime.cd_dirty_vert |= CD_MASK_NORMAL;
+ }
+ else if (do_shell) {
+ uint i;
+ /* flip vertex normals for copied verts */
+ mv = mvert + numVerts;
+ for (i = 0; i < numVerts; i++, mv++) {
+ negate_v3_short(mv->no);
+ }
+ }
+
+ if (smd->flag & MOD_SOLIDIFY_RIM) {
+ uint i;
+
+ /* bugger, need to re-calculate the normals for the new edge faces.
+ * This could be done in many ways, but probably the quickest way
+ * is to calculate the average normals for side faces only.
+ * Then blend them with the normals of the edge verts.
+ *
+ * at the moment its easiest to allocate an entire array for every vertex,
+ * even though we only need edge verts - campbell
+ */
+
+#define SOLIDIFY_SIDE_NORMALS
+
+#ifdef SOLIDIFY_SIDE_NORMALS
+ /* Note that, due to the code setting cd_dirty_vert a few lines above,
+ * do_side_normals is always false. - Sybren */
+ const bool do_side_normals = !(result->runtime.cd_dirty_vert & CD_MASK_NORMAL);
+ /* annoying to allocate these since we only need the edge verts, */
+ float(*edge_vert_nos)[3] = do_side_normals ?
+ MEM_calloc_arrayN(numVerts, 3 * sizeof(float), __func__) :
+ NULL;
+ float nor[3];
+#endif
+ const uchar crease_rim = smd->crease_rim * 255.0f;
+ const uchar crease_outer = smd->crease_outer * 255.0f;
+ const uchar crease_inner = smd->crease_inner * 255.0f;
+
+ int *origindex_edge;
+ int *orig_ed;
+ uint j;
+
+ if (crease_rim || crease_outer || crease_inner) {
+ result->cd_flag |= ME_CDFLAG_EDGE_CREASE;
+ }
+
+ /* add faces & edges */
+ origindex_edge = CustomData_get_layer(&result->edata, CD_ORIGINDEX);
+ orig_ed = (origindex_edge) ? &origindex_edge[(numEdges * stride) + newEdges] : NULL;
+ ed = &medge[(numEdges * stride) + newEdges]; /* start after copied edges */
+ for (i = 0; i < rimVerts; i++, ed++) {
+ ed->v1 = new_vert_arr[i];
+ ed->v2 = (do_shell ? new_vert_arr[i] : i) + numVerts;
+ ed->flag |= ME_EDGEDRAW | ME_EDGERENDER;
+
+ if (orig_ed) {
+ *orig_ed = ORIGINDEX_NONE;
+ orig_ed++;
+ }
+
+ if (crease_rim) {
+ ed->crease = crease_rim;
+ }
+ }
+
+ /* faces */
+ mp = mpoly + (numPolys * stride);
+ ml = mloop + (numLoops * stride);
+ j = 0;
+ for (i = 0; i < newPolys; i++, mp++) {
+ uint eidx = new_edge_arr[i];
+ uint pidx = edge_users[eidx];
+ int k1, k2;
+ bool flip;
+
+ if (pidx >= numPolys) {
+ pidx -= numPolys;
+ flip = true;
+ }
+ else {
+ flip = false;
+ }
+
+ ed = medge + eidx;
+
+ /* copy most of the face settings */
+ CustomData_copy_data(
+ &mesh->pdata, &result->pdata, (int)pidx, (int)((numPolys * stride) + i), 1);
+ mp->loopstart = (int)(j + (numLoops * stride));
+ mp->flag = mpoly[pidx].flag;
+
+ /* notice we use 'mp->totloop' which is later overwritten,
+ * we could lookup the original face but there's no point since this is a copy
+ * and will have the same value, just take care when changing order of assignment */
+
+ /* prev loop */
+ k1 = mpoly[pidx].loopstart + (((edge_order[eidx] - 1) + mp->totloop) % mp->totloop);
+
+ k2 = mpoly[pidx].loopstart + (edge_order[eidx]);
+
+ mp->totloop = 4;
+
+ CustomData_copy_data(
+ &mesh->ldata, &result->ldata, k2, (int)((numLoops * stride) + j + 0), 1);
+ CustomData_copy_data(
+ &mesh->ldata, &result->ldata, k1, (int)((numLoops * stride) + j + 1), 1);
+ CustomData_copy_data(
+ &mesh->ldata, &result->ldata, k1, (int)((numLoops * stride) + j + 2), 1);
+ CustomData_copy_data(
+ &mesh->ldata, &result->ldata, k2, (int)((numLoops * stride) + j + 3), 1);
+
+ if (flip == false) {
+ ml[j].v = ed->v1;
+ ml[j++].e = eidx;
+
+ ml[j].v = ed->v2;
+ ml[j++].e = (numEdges * stride) + old_vert_arr[ed->v2] + newEdges;
+
+ ml[j].v = (do_shell ? ed->v2 : old_vert_arr[ed->v2]) + numVerts;
+ ml[j++].e = (do_shell ? eidx : i) + numEdges;
+
+ ml[j].v = (do_shell ? ed->v1 : old_vert_arr[ed->v1]) + numVerts;
+ ml[j++].e = (numEdges * stride) + old_vert_arr[ed->v1] + newEdges;
+ }
+ else {
+ ml[j].v = ed->v2;
+ ml[j++].e = eidx;
+
+ ml[j].v = ed->v1;
+ ml[j++].e = (numEdges * stride) + old_vert_arr[ed->v1] + newEdges;
+
+ ml[j].v = (do_shell ? ed->v1 : old_vert_arr[ed->v1]) + numVerts;
+ ml[j++].e = (do_shell ? eidx : i) + numEdges;
+
+ ml[j].v = (do_shell ? ed->v2 : old_vert_arr[ed->v2]) + numVerts;
+ ml[j++].e = (numEdges * stride) + old_vert_arr[ed->v2] + newEdges;
+ }
+
+ if (origindex_edge) {
+ origindex_edge[ml[j - 3].e] = ORIGINDEX_NONE;
+ origindex_edge[ml[j - 1].e] = ORIGINDEX_NONE;
+ }
+
+ /* use the next material index if option enabled */
+ if (mat_ofs_rim) {
+ mp->mat_nr += mat_ofs_rim;
+ CLAMP(mp->mat_nr, 0, mat_nr_max);
+ }
+ if (crease_outer) {
+ /* crease += crease_outer; without wrapping */
+ char *cr = &(ed->crease);
+ int tcr = *cr + crease_outer;
+ *cr = tcr > 255 ? 255 : tcr;
+ }
+
+ if (crease_inner) {
+ /* crease += crease_inner; without wrapping */
+ char *cr = &(medge[numEdges + (do_shell ? eidx : i)].crease);
+ int tcr = *cr + crease_inner;
+ *cr = tcr > 255 ? 255 : tcr;
+ }
+
+#ifdef SOLIDIFY_SIDE_NORMALS
+ if (do_side_normals) {
+ normal_quad_v3(nor,
+ mvert[ml[j - 4].v].co,
+ mvert[ml[j - 3].v].co,
+ mvert[ml[j - 2].v].co,
+ mvert[ml[j - 1].v].co);
+
+ add_v3_v3(edge_vert_nos[ed->v1], nor);
+ add_v3_v3(edge_vert_nos[ed->v2], nor);
+ }
+#endif
+ }
+
+#ifdef SOLIDIFY_SIDE_NORMALS
+ if (do_side_normals) {
+ const MEdge *ed_orig = medge;
+ ed = medge + (numEdges * stride);
+ for (i = 0; i < rimVerts; i++, ed++, ed_orig++) {
+ float nor_cpy[3];
+ short *nor_short;
+ int k;
+
+ /* note, only the first vertex (lower half of the index) is calculated */
+ BLI_assert(ed->v1 < numVerts);
+ normalize_v3_v3(nor_cpy, edge_vert_nos[ed_orig->v1]);
+
+ for (k = 0; k < 2; k++) { /* loop over both verts of the edge */
+ nor_short = mvert[*(&ed->v1 + k)].no;
+ normal_short_to_float_v3(nor, nor_short);
+ add_v3_v3(nor, nor_cpy);
+ normalize_v3(nor);
+ normal_float_to_short_v3(nor_short, nor);
+ }
+ }
+
+ MEM_freeN(edge_vert_nos);
+ }
+#endif
+
+ MEM_freeN(new_vert_arr);
+ MEM_freeN(new_edge_arr);
+
+ MEM_freeN(edge_users);
+ MEM_freeN(edge_order);
+ }
+
+ if (old_vert_arr) {
+ MEM_freeN(old_vert_arr);
+ }
+
+ if (poly_nors) {
+ MEM_freeN(poly_nors);
+ }
+
+ if (numPolys == 0 && numVerts != 0) {
+ modifier_setError(md, "Faces needed for useful output");
+ }
+
+ return result;
+}
+
+#undef SOLIDIFY_SIDE_NORMALS
+
+/** \} */
diff --git a/source/blender/modifiers/intern/MOD_solidify_nonmanifold.c b/source/blender/modifiers/intern/MOD_solidify_nonmanifold.c
new file mode 100644
index 00000000000..be7bbb86e4d
--- /dev/null
+++ b/source/blender/modifiers/intern/MOD_solidify_nonmanifold.c
@@ -0,0 +1,2268 @@
+/*
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+/** \file
+ * \ingroup modifiers
+ */
+
+#include "BLI_utildefines.h"
+
+#include "BLI_math.h"
+
+#include "DNA_mesh_types.h"
+#include "DNA_meshdata_types.h"
+
+#include "MEM_guardedalloc.h"
+
+#include "BKE_mesh.h"
+#include "BKE_particle.h"
+#include "BKE_deform.h"
+
+#include "MOD_modifiertypes.h"
+#include "MOD_util.h"
+#include "MOD_solidify_util.h" /* Own include. */
+
+#ifdef __GNUC__
+# pragma GCC diagnostic error "-Wsign-conversion"
+#endif
+
+/* -------------------------------------------------------------------- */
+/** \name Local Utilities
+ * \{ */
+
+/**
+ * Similar to #project_v3_v3v3_normalized that returns the dot-product.
+ */
+static float project_v3_v3(float r[3], const float a[3])
+{
+ float d = dot_v3v3(r, a);
+ r[0] -= a[0] * d;
+ r[1] -= a[1] * d;
+ r[2] -= a[2] * d;
+ return d;
+}
+
+static float angle_signed_on_axis_normalized_v3v3_v3(const float n[3],
+ const float ref_n[3],
+ const float axis[3])
+{
+ float d = dot_v3v3(n, ref_n);
+ CLAMP(d, -1, 1);
+ float angle = acosf(d);
+ float cross[3];
+ cross_v3_v3v3(cross, n, ref_n);
+ if (dot_v3v3(cross, axis) >= 0) {
+ angle = 2 * M_PI - angle;
+ }
+ return angle;
+}
+
+/** \} */
+
+/* -------------------------------------------------------------------- */
+/** \name Main Solidify Function
+ * \{ */
+
+/* Data structures for manifold solidify. */
+
+typedef struct NewFaceRef {
+ MPoly *face;
+ uint index;
+ bool reversed;
+ struct NewEdgeRef **link_edges;
+} NewFaceRef;
+
+typedef struct OldEdgeFaceRef {
+ uint *faces;
+ uint faces_len;
+ bool *faces_reversed;
+ uint used;
+} OldEdgeFaceRef;
+
+typedef struct OldVertEdgeRef {
+ uint *edges;
+ uint edges_len;
+} OldVertEdgeRef;
+
+typedef struct NewEdgeRef {
+ uint old_edge;
+ NewFaceRef *faces[2];
+ struct EdgeGroup *link_edge_groups[2];
+ float angle;
+ uint new_edge;
+} NewEdgeRef;
+
+typedef struct EdgeGroup {
+ bool valid;
+ NewEdgeRef **edges;
+ uint edges_len;
+ uint open_face_edge;
+ bool is_orig_closed;
+ bool is_even_split;
+ uint split;
+ bool is_singularity;
+ uint topo_group;
+ float co[3];
+ float no[3];
+ uint new_vert;
+} EdgeGroup;
+
+typedef struct FaceKeyPair {
+ float angle;
+ NewFaceRef *face;
+} FaceKeyPair;
+
+static int comp_float_int_pair(const void *a, const void *b)
+{
+ FaceKeyPair *x = (FaceKeyPair *)a;
+ FaceKeyPair *y = (FaceKeyPair *)b;
+ return (int)(x->angle > y->angle) - (int)(x->angle < y->angle);
+}
+
+Mesh *MOD_solidify_nonmanifold_applyModifier(ModifierData *md,
+ const ModifierEvalContext *ctx,
+ Mesh *mesh)
+{
+ Mesh *result;
+ const SolidifyModifierData *smd = (SolidifyModifierData *)md;
+
+ MVert *mv, *mvert, *orig_mvert;
+ MEdge *ed, *medge, *orig_medge;
+ MLoop *ml, *mloop, *orig_mloop;
+ MPoly *mp, *mpoly, *orig_mpoly;
+ const uint numVerts = (uint)mesh->totvert;
+ const uint numEdges = (uint)mesh->totedge;
+ const uint numPolys = (uint)mesh->totpoly;
+ const uint numLoops = (uint)mesh->totloop;
+
+ if (numPolys == 0 && numVerts != 0) {
+ modifier_setError(md, "Faces needed for useful output");
+ return mesh;
+ }
+
+ /* Only use material offsets if we have 2 or more materials. */
+ const short mat_nrs = ctx->object->totcol > 1 ? ctx->object->totcol : 1;
+ const short mat_nr_max = mat_nrs - 1;
+ const short mat_ofs = mat_nrs > 1 ? smd->mat_ofs : 0;
+ const short mat_ofs_rim = mat_nrs > 1 ? smd->mat_ofs_rim : 0;
+
+ float(*poly_nors)[3] = NULL;
+
+ const float ofs_front = (smd->offset_fac + 1.0f) * 0.5f * smd->offset;
+ const float ofs_back = ofs_front - smd->offset * smd->offset_fac;
+ const float offset_fac_vg = smd->offset_fac_vg;
+ const float offset_fac_vg_inv = 1.0f - smd->offset_fac_vg;
+ const float offset = fabsf(smd->offset) * smd->offset_clamp;
+ const bool do_angle_clamp = smd->flag & MOD_SOLIDIFY_OFFSET_ANGLE_CLAMP;
+ const bool do_flip = (smd->flag & MOD_SOLIDIFY_FLIP) != 0;
+ const bool do_rim = smd->flag & MOD_SOLIDIFY_RIM;
+ const bool do_shell = ((smd->flag & MOD_SOLIDIFY_RIM) && (smd->flag & MOD_SOLIDIFY_NOSHELL)) ==
+ 0;
+ const bool do_clamp = (smd->offset_clamp != 0.0f);
+
+ MDeformVert *dvert;
+ const bool defgrp_invert = (smd->flag & MOD_SOLIDIFY_VGROUP_INV) != 0;
+ int defgrp_index;
+
+ MOD_get_vgroup(ctx->object, mesh, smd->defgrp_name, &dvert, &defgrp_index);
+
+ orig_mvert = mesh->mvert;
+ orig_medge = mesh->medge;
+ orig_mloop = mesh->mloop;
+ orig_mpoly = mesh->mpoly;
+
+ uint numNewVerts = 0;
+ uint numNewEdges = 0;
+ uint numNewLoops = 0;
+ uint numNewPolys = 0;
+
+#define MOD_SOLIDIFY_EMPTY_TAG ((uint)-1)
+
+ /* Calculate only face normals. */
+ poly_nors = MEM_malloc_arrayN(numPolys, sizeof(*poly_nors), __func__);
+ BKE_mesh_calc_normals_poly(orig_mvert,
+ NULL,
+ (int)numVerts,
+ orig_mloop,
+ orig_mpoly,
+ (int)numLoops,
+ (int)numPolys,
+ poly_nors,
+ true);
+
+ NewFaceRef *face_sides_arr = MEM_malloc_arrayN(
+ numPolys * 2, sizeof(*face_sides_arr), "face_sides_arr in solidify");
+ bool *null_faces =
+ (smd->nonmanifold_offset_mode == MOD_SOLIDIFY_NONMANIFOLD_OFFSET_MODE_CONSTRAINTS) ?
+ MEM_calloc_arrayN(numPolys, sizeof(*null_faces), "null_faces in solidify") :
+ NULL;
+ uint largest_ngon = 3;
+ /* Calculate face to #NewFaceRef map. */
+ {
+ mp = orig_mpoly;
+ for (uint i = 0; i < numPolys; i++, mp++) {
+ /* Make normals for faces without area (should really be avoided though). */
+ if (len_squared_v3(poly_nors[i]) < 0.5f) {
+ MEdge *e = orig_medge + orig_mloop[mp->loopstart].e;
+ float edgedir[3];
+ sub_v3_v3v3(edgedir, orig_mvert[e->v2].co, orig_mvert[e->v1].co);
+ if (fabsf(edgedir[2]) < fabsf(edgedir[1])) {
+ poly_nors[i][2] = 1.0f;
+ }
+ else {
+ poly_nors[i][1] = 1.0f;
+ }
+ if (null_faces) {
+ null_faces[i] = true;
+ }
+ }
+
+ NewEdgeRef **link_edges = MEM_calloc_arrayN(
+ (uint)mp->totloop, sizeof(*link_edges), "NewFaceRef::link_edges in solidify");
+ face_sides_arr[i * 2] = (NewFaceRef){
+ .face = mp, .index = i, .reversed = false, .link_edges = link_edges};
+ link_edges = MEM_calloc_arrayN(
+ (uint)mp->totloop, sizeof(*link_edges), "NewFaceRef::link_edges in solidify");
+ face_sides_arr[i * 2 + 1] = (NewFaceRef){
+ .face = mp, .index = i, .reversed = true, .link_edges = link_edges};
+ if (mp->totloop > largest_ngon) {
+ largest_ngon = (uint)mp->totloop;
+ }
+ if (do_shell) {
+ numNewPolys += 2;
+ numNewLoops += (uint)mp->totloop * 2;
+ }
+ }
+ }
+
+ uint *edge_adj_faces_len = MEM_calloc_arrayN(
+ numEdges, sizeof(*edge_adj_faces_len), "edge_adj_faces_len in solidify");
+ /* Count for each edge how many faces it has adjacent. */
+ {
+ mp = orig_mpoly;
+ for (uint i = 0; i < numPolys; i++, mp++) {
+ ml = orig_mloop + mp->loopstart;
+ for (uint j = 0; j < mp->totloop; j++, ml++) {
+ edge_adj_faces_len[ml->e]++;
+ }
+ }
+ }
+
+ /* Original edge to #NewEdgeRef map. */
+ NewEdgeRef ***orig_edge_data_arr = MEM_calloc_arrayN(
+ numEdges, sizeof(*orig_edge_data_arr), "orig_edge_data_arr in solidify");
+ /* Original edge length cache. */
+ float *orig_edge_lengths = MEM_calloc_arrayN(
+ numEdges, sizeof(*orig_edge_lengths), "orig_edge_lengths in solidify");
+ /* Edge groups for every original vert. */
+ EdgeGroup **orig_vert_groups_arr = MEM_calloc_arrayN(
+ numVerts, sizeof(*orig_vert_groups_arr), "orig_vert_groups_arr in solidify");
+ /* Duplicate verts map. */
+ uint *vm = MEM_malloc_arrayN(numVerts, sizeof(*vm), "orig_vert_map in solidify");
+ for (uint i = 0; i < numVerts; i++) {
+ vm[i] = i;
+ }
+
+ uint edge_index = 0;
+ uint loop_index = 0;
+ uint poly_index = 0;
+
+ bool has_singularities = false;
+
+ /* Vert edge adjacent map. */
+ uint *vert_adj_edges_len = MEM_calloc_arrayN(
+ numVerts, sizeof(*vert_adj_edges_len), "vert_adj_edges_len in solidify");
+ OldVertEdgeRef **vert_adj_edges = MEM_calloc_arrayN(
+ numVerts, sizeof(*vert_adj_edges), "vert_adj_edges in solidify");
+
+ /* Create edge to #NewEdgeRef map. */
+ {
+ OldEdgeFaceRef **edge_adj_faces = MEM_calloc_arrayN(
+ numEdges, sizeof(*edge_adj_faces), "edge_adj_faces in solidify");
+
+ /* Create link_faces for edges. */
+ {
+ mp = orig_mpoly;
+ for (uint i = 0; i < numPolys; i++, mp++) {
+ ml = orig_mloop + mp->loopstart;
+ for (uint j = 0; j < mp->totloop; j++, ml++) {
+ const uint edge = ml->e;
+ const bool reversed = orig_medge[edge].v2 != ml->v;
+ OldEdgeFaceRef *old_face_edge_ref = edge_adj_faces[edge];
+ if (old_face_edge_ref == NULL) {
+ const uint len = edge_adj_faces_len[edge];
+ BLI_assert(len > 0);
+ uint *adj_faces = MEM_malloc_arrayN(
+ len, sizeof(*adj_faces), "OldEdgeFaceRef::faces in solidify");
+ bool *adj_faces_loops_reversed = MEM_malloc_arrayN(
+ len, sizeof(*adj_faces_loops_reversed), "OldEdgeFaceRef::reversed in solidify");
+ adj_faces[0] = i;
+ for (uint k = 1; k < len; k++) {
+ adj_faces[k] = MOD_SOLIDIFY_EMPTY_TAG;
+ }
+ adj_faces_loops_reversed[0] = reversed;
+ OldEdgeFaceRef *ref = MEM_mallocN(sizeof(*ref), "OldEdgeFaceRef in solidify");
+ *ref = (OldEdgeFaceRef){adj_faces, len, adj_faces_loops_reversed, 1};
+ edge_adj_faces[edge] = ref;
+ }
+ else {
+ for (uint k = 1; k < old_face_edge_ref->faces_len; k++) {
+ if (old_face_edge_ref->faces[k] == MOD_SOLIDIFY_EMPTY_TAG) {
+ old_face_edge_ref->faces[k] = i;
+ old_face_edge_ref->faces_reversed[k] = reversed;
+ break;
+ }
+ }
+ }
+ }
+ }
+ }
+
+ float edgedir[3] = {0, 0, 0};
+
+ /* Calculate edge lengths and len vert_adj edges. */
+ {
+ bool *face_singularity = MEM_calloc_arrayN(
+ numPolys, sizeof(*face_singularity), "face_sides_arr in solidify");
+ ed = orig_medge;
+ for (uint i = 0; i < numEdges; i++, ed++) {
+ if (edge_adj_faces_len[i] > 0) {
+ const uint v1 = vm[ed->v1];
+ const uint v2 = vm[ed->v2];
+ if (v1 != v2) {
+ sub_v3_v3v3(edgedir, orig_mvert[v2].co, orig_mvert[v1].co);
+ orig_edge_lengths[i] = len_squared_v3(edgedir);
+ }
+ if (v1 == v2 || orig_edge_lengths[i] <= FLT_EPSILON) {
+ if (v2 > v1) {
+ for (uint j = v2; j < numVerts; j++) {
+ if (vm[j] == v2) {
+ vm[j] = v1;
+ vert_adj_edges_len[v1] += vert_adj_edges_len[j];
+ vert_adj_edges_len[j] = 0;
+ }
+ }
+ }
+ else if (v2 < v1) {
+ for (uint j = v1; j < numVerts; j++) {
+ if (vm[j] == v1) {
+ vm[j] = v2;
+ vert_adj_edges_len[v2] += vert_adj_edges_len[j];
+ vert_adj_edges_len[j] = 0;
+ }
+ }
+ }
+ if (do_shell) {
+ numNewLoops -= edge_adj_faces_len[i] * 2;
+ }
+ if (v1 == v2) {
+ /* Remove polys. */
+ for (uint j = 0; j < edge_adj_faces[i]->faces_len; j++) {
+ const uint face = edge_adj_faces[i]->faces[j];
+ if (!face_singularity[face]) {
+ bool is_singularity = true;
+ for (uint k = 0; k < orig_mpoly[face].totloop; k++) {
+ if (vm[orig_mloop[((uint)orig_mpoly[face].loopstart) + k].v] != v1) {
+ is_singularity = false;
+ break;
+ }
+ }
+ if (is_singularity) {
+ face_singularity[face] = true;
+ if (do_shell) {
+ numNewPolys -= 2;
+ }
+ }
+ }
+ }
+ }
+ edge_adj_faces_len[i] = 0;
+ MEM_freeN(edge_adj_faces[i]->faces);
+ MEM_freeN(edge_adj_faces[i]->faces_reversed);
+ MEM_freeN(edge_adj_faces[i]);
+ edge_adj_faces[i] = NULL;
+ }
+ else if (edge_adj_faces_len[i] > 0) {
+ orig_edge_lengths[i] = sqrtf(orig_edge_lengths[i]);
+ vert_adj_edges_len[v1]++;
+ vert_adj_edges_len[v2]++;
+ }
+ }
+ }
+ MEM_freeN(face_singularity);
+ }
+
+ /* Create vert_adj_edges for verts. */
+ {
+ ed = orig_medge;
+ for (uint i = 0; i < numEdges; i++, ed++) {
+ if (edge_adj_faces_len[i] > 0) {
+ const uint vs[2] = {vm[ed->v1], vm[ed->v2]};
+ uint invalid_edge_index = 0;
+ bool invalid_edge_reversed = false;
+ for (uint j = 0; j < 2; j++) {
+ const uint vert = vs[j];
+ const uint len = vert_adj_edges_len[vert];
+ if (len > 0) {
+ OldVertEdgeRef *old_edge_vert_ref = vert_adj_edges[vert];
+ if (old_edge_vert_ref == NULL) {
+ uint *adj_edges = MEM_calloc_arrayN(
+ len, sizeof(*adj_edges), "OldVertEdgeRef::edges in solidify");
+ adj_edges[0] = i;
+ for (uint k = 1; k < len; k++) {
+ adj_edges[k] = MOD_SOLIDIFY_EMPTY_TAG;
+ }
+ OldVertEdgeRef *ref = MEM_mallocN(sizeof(*ref), "OldVertEdgeRef in solidify");
+ *ref = (OldVertEdgeRef){adj_edges, 1};
+ vert_adj_edges[vert] = ref;
+ }
+ else {
+ const uint *f = old_edge_vert_ref->edges;
+ for (uint k = 0; k < len && k <= old_edge_vert_ref->edges_len; k++, f++) {
+ const uint edge = old_edge_vert_ref->edges[k];
+ if (edge == MOD_SOLIDIFY_EMPTY_TAG || k == old_edge_vert_ref->edges_len) {
+ old_edge_vert_ref->edges[k] = i;
+ old_edge_vert_ref->edges_len++;
+ break;
+ }
+ else if (vm[orig_medge[edge].v1] == vs[1 - j]) {
+ invalid_edge_index = edge + 1;
+ invalid_edge_reversed = (j == 0);
+ break;
+ }
+ else if (vm[orig_medge[edge].v2] == vs[1 - j]) {
+ invalid_edge_index = edge + 1;
+ invalid_edge_reversed = (j == 1);
+ break;
+ }
+ }
+ if (invalid_edge_index) {
+ /* Should never actually be executed. */
+ if (j == 1) {
+ vert_adj_edges[vs[0]]->edges_len--;
+ }
+ break;
+ }
+ }
+ }
+ }
+ if (invalid_edge_index) {
+ const uint tmp = invalid_edge_index - 1;
+ invalid_edge_index = i;
+ i = tmp;
+ OldEdgeFaceRef *i_adj_faces = edge_adj_faces[i];
+ OldEdgeFaceRef *invalid_adj_faces = edge_adj_faces[invalid_edge_index];
+ uint j = 0;
+ for (uint k = 0; k < i_adj_faces->faces_len; k++) {
+ for (uint l = 0; l < invalid_adj_faces->faces_len; l++) {
+ if (i_adj_faces->faces[k] == invalid_adj_faces->faces[l] &&
+ i_adj_faces->faces[k] != MOD_SOLIDIFY_EMPTY_TAG) {
+ i_adj_faces->faces[k] = MOD_SOLIDIFY_EMPTY_TAG;
+ invalid_adj_faces->faces[l] = MOD_SOLIDIFY_EMPTY_TAG;
+ j++;
+ }
+ }
+ }
+ if (do_shell) {
+ numNewPolys -= 2 * j;
+ numNewLoops -= 4 * j;
+ }
+ const uint len = i_adj_faces->faces_len + invalid_adj_faces->faces_len - 2 * j;
+ uint *adj_faces = MEM_malloc_arrayN(
+ len, sizeof(*adj_faces), "OldEdgeFaceRef::faces in solidify");
+ bool *adj_faces_loops_reversed = MEM_malloc_arrayN(
+ len, sizeof(*adj_faces_loops_reversed), "OldEdgeFaceRef::reversed in solidify");
+ j = 0;
+ for (uint k = 0; k < i_adj_faces->faces_len; k++) {
+ if (i_adj_faces->faces[k] != MOD_SOLIDIFY_EMPTY_TAG) {
+ adj_faces[j] = i_adj_faces->faces[k];
+ adj_faces_loops_reversed[j++] = i_adj_faces->faces_reversed[k];
+ }
+ }
+ for (uint k = 0; k < invalid_adj_faces->faces_len; k++) {
+ if (invalid_adj_faces->faces[k] != MOD_SOLIDIFY_EMPTY_TAG) {
+ adj_faces[j] = invalid_adj_faces->faces[k];
+ adj_faces_loops_reversed[j++] = (invalid_edge_reversed !=
+ invalid_adj_faces->faces_reversed[k]);
+ }
+ }
+ BLI_assert(j == len);
+ edge_adj_faces_len[invalid_edge_index] = 0;
+ edge_adj_faces_len[i] = len;
+ MEM_freeN(i_adj_faces->faces);
+ MEM_freeN(i_adj_faces->faces_reversed);
+ i_adj_faces->faces_len = len;
+ i_adj_faces->faces = adj_faces;
+ i_adj_faces->faces_reversed = adj_faces_loops_reversed;
+ i_adj_faces->used += invalid_adj_faces->used;
+ MEM_freeN(invalid_adj_faces->faces);
+ MEM_freeN(invalid_adj_faces->faces_reversed);
+ MEM_freeN(invalid_adj_faces);
+ edge_adj_faces[invalid_edge_index] = i_adj_faces;
+ /* Reset counter to continue. */
+ i = invalid_edge_index;
+ }
+ }
+ }
+ }
+
+ /* Filter duplicate polys. */
+ {
+ ed = orig_medge;
+ for (uint i = 0; i < numEdges; i++, ed++) {
+ if (edge_adj_faces_len[i] > 0) {
+ const OldEdgeFaceRef *adj_faces = edge_adj_faces[i];
+ uint adj_len = adj_faces->faces_len;
+ if (adj_len > 1) {
+ /* For each face pair check if they have equal verts. */
+ for (uint j = 0; j < adj_len; j++) {
+ const uint face = adj_faces->faces[j];
+ const int j_loopstart = orig_mpoly[face].loopstart;
+ const int totloop = orig_mpoly[face].totloop;
+ const uint j_first_v = vm[orig_mloop[j_loopstart].v];
+ for (uint k = j + 1; k < adj_len; k++) {
+ if (orig_mpoly[adj_faces->faces[k]].totloop != totloop) {
+ continue;
+ }
+ /* Find first face first loop vert in second face loops. */
+ const int k_loopstart = orig_mpoly[adj_faces->faces[k]].loopstart;
+ int l;
+ ml = orig_mloop + k_loopstart;
+ for (l = 0; l < totloop && vm[ml->v] != j_first_v; l++, ml++) {
+ /* Pass. */
+ }
+ if (l == totloop) {
+ continue;
+ }
+ /* Check if all following loops have equal verts. */
+ const bool reversed = adj_faces->faces_reversed[j] != adj_faces->faces_reversed[k];
+ const int count_dir = reversed ? -1 : 1;
+ bool has_diff = false;
+ ml = orig_mloop + j_loopstart;
+ for (int m = 0, n = l + totloop; m < totloop && !has_diff;
+ m++, n += count_dir, ml++) {
+ has_diff = has_diff || vm[ml->v] != vm[orig_mloop[k_loopstart + n % totloop].v];
+ }
+ /* If the faces are equal, discard one (j). */
+ if (!has_diff) {
+ ml = orig_mloop + j_loopstart;
+ uint del_loops = 0;
+ for (uint m = 0; m < totloop; m++, ml++) {
+ const uint e = ml->e;
+ uint face_index = j;
+ uint *e_adj_faces_faces = edge_adj_faces[e]->faces;
+ bool *e_adj_faces_reversed = edge_adj_faces[e]->faces_reversed;
+ const uint faces_len = edge_adj_faces[e]->faces_len;
+ if (e != i) {
+ /* Find index of e in #adj_faces. */
+ for (face_index = 0;
+ face_index < faces_len && e_adj_faces_faces[face_index] != face;
+ face_index++) {
+ /* Pass. */
+ }
+ /* If not found. */
+ if (face_index == faces_len) {
+ continue;
+ }
+ }
+ else {
+ adj_len--;
+ }
+ memmove(e_adj_faces_faces + face_index,
+ e_adj_faces_faces + face_index + 1,
+ (faces_len - face_index - 1) * sizeof(*e_adj_faces_faces));
+ memmove(e_adj_faces_reversed + face_index,
+ e_adj_faces_reversed + face_index + 1,
+ (faces_len - face_index - 1) * sizeof(*e_adj_faces_reversed));
+ edge_adj_faces[e]->faces_len--;
+ if (edge_adj_faces_len[e] > 0) {
+ edge_adj_faces_len[e]--;
+ if (edge_adj_faces_len[e] == 0) {
+ edge_adj_faces[e]->used--;
+ edge_adj_faces[e] = NULL;
+ }
+ }
+ del_loops++;
+ }
+ if (do_shell) {
+ numNewPolys -= 2;
+ numNewLoops -= 2 * (uint)del_loops;
+ }
+ break;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+
+ /* Create #NewEdgeRef array. */
+ {
+ ed = orig_medge;
+ for (uint i = 0; i < numEdges; i++, ed++) {
+ const uint v1 = vm[ed->v1];
+ const uint v2 = vm[ed->v2];
+ if (edge_adj_faces_len[i] > 0) {
+ sub_v3_v3v3(edgedir, orig_mvert[v2].co, orig_mvert[v1].co);
+ mul_v3_fl(edgedir, 1.0f / orig_edge_lengths[i]);
+
+ OldEdgeFaceRef *adj_faces = edge_adj_faces[i];
+ const uint adj_len = adj_faces->faces_len;
+ const uint *adj_faces_faces = adj_faces->faces;
+ const bool *adj_faces_reversed = adj_faces->faces_reversed;
+ uint new_edges_len = 0;
+ FaceKeyPair *sorted_faces = MEM_malloc_arrayN(
+ adj_len, sizeof(*sorted_faces), "sorted_faces in solidify");
+ if (adj_len > 1) {
+ new_edges_len = adj_len;
+ /* Get keys for sorting. */
+ float ref_nor[3] = {0, 0, 0};
+ float nor[3];
+ for (uint j = 0; j < adj_len; j++) {
+ const bool reverse = adj_faces_reversed[j];
+ const uint face_i = adj_faces_faces[j];
+ if (reverse) {
+ negate_v3_v3(nor, poly_nors[face_i]);
+ }
+ else {
+ copy_v3_v3(nor, poly_nors[face_i]);
+ }
+ float d = 1;
+ if (orig_mpoly[face_i].totloop > 3) {
+ d = project_v3_v3(nor, edgedir);
+ if (LIKELY(d != 0)) {
+ d = normalize_v3(nor);
+ }
+ else {
+ d = 1;
+ }
+ }
+ if (UNLIKELY(d == 0.0f)) {
+ sorted_faces[j].angle = 0.0f;
+ }
+ else if (j == 0) {
+ copy_v3_v3(ref_nor, nor);
+ sorted_faces[j].angle = 0.0f;
+ }
+ else {
+ float angle = angle_signed_on_axis_normalized_v3v3_v3(nor, ref_nor, edgedir);
+ sorted_faces[j].angle = -angle;
+ }
+ sorted_faces[j].face = face_sides_arr + adj_faces_faces[j] * 2 +
+ (adj_faces_reversed[j] ? 1 : 0);
+ }
+ /* Sort faces by order around the edge (keep order in faces,
+ * reversed and face_angles the same). */
+ qsort(sorted_faces, adj_len, sizeof(*sorted_faces), comp_float_int_pair);
+ }
+ else {
+ new_edges_len = 2;
+ sorted_faces[0].face = face_sides_arr + adj_faces_faces[0] * 2 +
+ (adj_faces_reversed[0] ? 1 : 0);
+ if (do_rim) {
+ /* Only add the loops parallel to the edge for now. */
+ numNewLoops += 2;
+ numNewPolys++;
+ }
+ }
+
+ /* Create a list of new edges and fill it. */
+ NewEdgeRef **new_edges = MEM_malloc_arrayN(
+ new_edges_len + 1, sizeof(*new_edges), "new_edges in solidify");
+ new_edges[new_edges_len] = NULL;
+ NewFaceRef *faces[2];
+ for (uint j = 0; j < new_edges_len; j++) {
+ float angle;
+ if (adj_len > 1) {
+ const uint next_j = j + 1 == adj_len ? 0 : j + 1;
+ faces[0] = sorted_faces[j].face;
+ faces[1] = sorted_faces[next_j].face->reversed ? sorted_faces[next_j].face - 1 :
+ sorted_faces[next_j].face + 1;
+ angle = sorted_faces[next_j].angle - sorted_faces[j].angle;
+ if (angle < 0) {
+ angle += 2 * M_PI;
+ }
+ }
+ else {
+ faces[0] = sorted_faces[0].face->reversed ? sorted_faces[0].face - j :
+ sorted_faces[0].face + j;
+ faces[1] = NULL;
+ angle = 0;
+ }
+ NewEdgeRef *edge_data = MEM_mallocN(sizeof(*edge_data), "edge_data in solidify");
+ uint edge_data_edge_index = MOD_SOLIDIFY_EMPTY_TAG;
+ if (do_shell || (adj_len == 1 && do_rim)) {
+ edge_data_edge_index = 0;
+ }
+ *edge_data = (NewEdgeRef){.old_edge = i,
+ .faces = {faces[0], faces[1]},
+ .link_edge_groups = {NULL, NULL},
+ .angle = angle,
+ .new_edge = edge_data_edge_index};
+ new_edges[j] = edge_data;
+ for (uint k = 0; k < 2; k++) {
+ if (faces[k] != NULL) {
+ ml = orig_mloop + faces[k]->face->loopstart;
+ for (int l = 0; l < faces[k]->face->totloop; l++, ml++) {
+ if (edge_adj_faces[ml->e] == edge_adj_faces[i]) {
+ if (ml->e != i && orig_edge_data_arr[ml->e] == NULL) {
+ orig_edge_data_arr[ml->e] = new_edges;
+ }
+ faces[k]->link_edges[l] = edge_data;
+ break;
+ }
+ }
+ }
+ }
+ }
+ MEM_freeN(sorted_faces);
+ orig_edge_data_arr[i] = new_edges;
+ if (do_shell || (adj_len == 1 && do_rim)) {
+ numNewEdges += new_edges_len;
+ }
+ }
+ }
+ }
+
+ for (uint i = 0; i < numEdges; i++) {
+ if (edge_adj_faces[i]) {
+ if (edge_adj_faces[i]->used > 1) {
+ edge_adj_faces[i]->used--;
+ }
+ else {
+ MEM_freeN(edge_adj_faces[i]->faces);
+ MEM_freeN(edge_adj_faces[i]->faces_reversed);
+ MEM_freeN(edge_adj_faces[i]);
+ }
+ }
+ }
+ MEM_freeN(edge_adj_faces);
+ }
+
+ MEM_freeN(vert_adj_edges_len);
+
+ /* Create sorted edge groups for every vert. */
+ {
+ OldVertEdgeRef **adj_edges_ptr = vert_adj_edges;
+ for (uint i = 0; i < numVerts; i++, adj_edges_ptr++) {
+ if (*adj_edges_ptr != NULL && (*adj_edges_ptr)->edges_len >= 2) {
+ EdgeGroup *edge_groups;
+
+ int eg_index = -1;
+ bool contains_long_groups = false;
+ uint topo_groups = 0;
+
+ /* Initial sorted creation. */
+ {
+ const uint *adj_edges = (*adj_edges_ptr)->edges;
+ const uint tot_adj_edges = (*adj_edges_ptr)->edges_len;
+
+ uint unassigned_edges_len = 0;
+ for (uint j = 0; j < tot_adj_edges; j++) {
+ NewEdgeRef **new_edges = orig_edge_data_arr[adj_edges[j]];
+ /* TODO check where the null pointer come from,
+ * because there should not be any... */
+ if (new_edges) {
+ while (*new_edges) {
+ unassigned_edges_len++;
+ new_edges++;
+ }
+ }
+ }
+ NewEdgeRef **unassigned_edges = MEM_malloc_arrayN(
+ unassigned_edges_len, sizeof(*unassigned_edges), "unassigned_edges in solidify");
+ for (uint j = 0, k = 0; j < tot_adj_edges; j++) {
+ NewEdgeRef **new_edges = orig_edge_data_arr[adj_edges[j]];
+ if (new_edges) {
+ while (*new_edges) {
+ unassigned_edges[k++] = *new_edges;
+ new_edges++;
+ }
+ }
+ }
+
+ edge_groups = MEM_calloc_arrayN(
+ (unassigned_edges_len / 2) + 1, sizeof(*edge_groups), "edge_groups in solidify");
+
+ uint assigned_edges_len = 0;
+ NewEdgeRef *found_edge = NULL;
+ uint found_edge_index = 0;
+ bool insert_at_start = false;
+ uint eg_capacity = 5;
+ NewFaceRef *eg_track_faces[2] = {NULL, NULL};
+ NewFaceRef *last_open_edge_track = NULL;
+ NewEdgeRef *edge = NULL;
+
+ while (assigned_edges_len < unassigned_edges_len) {
+ found_edge = NULL;
+ insert_at_start = false;
+ if (eg_index >= 0 && edge_groups[eg_index].edges_len == 0) {
+ uint j = 0;
+ edge = NULL;
+ while (!edge && j < unassigned_edges_len) {
+ edge = unassigned_edges[j++];
+ if (edge && last_open_edge_track &&
+ (edge->faces[0] != last_open_edge_track || edge->faces[1] != NULL)) {
+ edge = NULL;
+ }
+ }
+ if (!edge && last_open_edge_track) {
+ topo_groups++;
+ last_open_edge_track = NULL;
+ edge_groups[eg_index].topo_group++;
+ j = 0;
+ while (!edge && j < unassigned_edges_len) {
+ edge = unassigned_edges[j++];
+ }
+ }
+ else if (!last_open_edge_track && eg_index > 0) {
+ topo_groups++;
+ edge_groups[eg_index].topo_group++;
+ }
+ BLI_assert(edge != NULL);
+ found_edge_index = j - 1;
+ found_edge = edge;
+ if (!last_open_edge_track && vm[orig_medge[edge->old_edge].v1] == i) {
+ eg_track_faces[0] = edge->faces[0];
+ eg_track_faces[1] = edge->faces[1];
+ if (edge->faces[1] == NULL) {
+ last_open_edge_track = edge->faces[0]->reversed ? edge->faces[0] - 1 :
+ edge->faces[0] + 1;
+ }
+ }
+ else {
+ eg_track_faces[0] = edge->faces[1];
+ eg_track_faces[1] = edge->faces[0];
+ }
+ }
+ else if (eg_index >= 0) {
+ NewEdgeRef **edge_ptr = unassigned_edges;
+ for (found_edge_index = 0; found_edge_index < unassigned_edges_len;
+ found_edge_index++, edge_ptr++) {
+ if (*edge_ptr) {
+ edge = *edge_ptr;
+ if (edge->faces[0] == eg_track_faces[1]) {
+ insert_at_start = false;
+ eg_track_faces[1] = edge->faces[1];
+ found_edge = edge;
+ if (edge->faces[1] == NULL) {
+ edge_groups[eg_index].is_orig_closed = false;
+ last_open_edge_track = edge->faces[0]->reversed ? edge->faces[0] - 1 :
+ edge->faces[0] + 1;
+ }
+ break;
+ }
+ else if (edge->faces[0] == eg_track_faces[0]) {
+ insert_at_start = true;
+ eg_track_faces[0] = edge->faces[1];
+ found_edge = edge;
+ if (edge->faces[1] == NULL) {
+ edge_groups[eg_index].is_orig_closed = false;
+ }
+ break;
+ }
+ else if (edge->faces[1] != NULL) {
+ if (edge->faces[1] == eg_track_faces[1]) {
+ insert_at_start = false;
+ eg_track_faces[1] = edge->faces[0];
+ found_edge = edge;
+ break;
+ }
+ else if (edge->faces[1] == eg_track_faces[0]) {
+ insert_at_start = true;
+ eg_track_faces[0] = edge->faces[0];
+ found_edge = edge;
+ break;
+ }
+ }
+ }
+ }
+ }
+ if (found_edge) {
+ unassigned_edges[found_edge_index] = NULL;
+ assigned_edges_len++;
+ const uint needed_capacity = edge_groups[eg_index].edges_len + 1;
+ if (needed_capacity > eg_capacity) {
+ eg_capacity = needed_capacity + 1;
+ NewEdgeRef **new_eg = MEM_calloc_arrayN(
+ eg_capacity, sizeof(*new_eg), "edge_group realloc in solidify");
+ if (insert_at_start) {
+ memcpy(new_eg + 1,
+ edge_groups[eg_index].edges,
+ edge_groups[eg_index].edges_len * sizeof(*new_eg));
+ }
+ else {
+ memcpy(new_eg,
+ edge_groups[eg_index].edges,
+ edge_groups[eg_index].edges_len * sizeof(*new_eg));
+ }
+ MEM_freeN(edge_groups[eg_index].edges);
+ edge_groups[eg_index].edges = new_eg;
+ }
+ else if (insert_at_start) {
+ memmove(edge_groups[eg_index].edges + 1,
+ edge_groups[eg_index].edges,
+ edge_groups[eg_index].edges_len * sizeof(*edge_groups[eg_index].edges));
+ }
+ edge_groups[eg_index].edges[insert_at_start ? 0 : edge_groups[eg_index].edges_len] =
+ found_edge;
+ edge_groups[eg_index].edges_len++;
+ if (edge_groups[eg_index].edges[edge_groups[eg_index].edges_len - 1]->faces[1] !=
+ NULL) {
+ last_open_edge_track = NULL;
+ }
+ if (edge_groups[eg_index].edges_len > 3) {
+ contains_long_groups = true;
+ }
+ }
+ else {
+ eg_index++;
+ BLI_assert(eg_index < (unassigned_edges_len / 2));
+ eg_capacity = 5;
+ NewEdgeRef **edges = MEM_calloc_arrayN(
+ eg_capacity, sizeof(*edges), "edge_group in solidify");
+ edge_groups[eg_index] = (EdgeGroup){
+ .valid = true,
+ .edges = edges,
+ .edges_len = 0,
+ .open_face_edge = MOD_SOLIDIFY_EMPTY_TAG,
+ .is_orig_closed = true,
+ .is_even_split = false,
+ .split = 0,
+ .is_singularity = false,
+ .topo_group = topo_groups,
+ .co = {0.0f, 0.0f, 0.0f},
+ .no = {0.0f, 0.0f, 0.0f},
+ .new_vert = MOD_SOLIDIFY_EMPTY_TAG,
+ };
+ eg_track_faces[0] = NULL;
+ eg_track_faces[1] = NULL;
+ }
+ }
+ /* #eg_index is the number of groups from here on. */
+ eg_index++;
+ /* #topo_groups is the number of topo groups from here on. */
+ topo_groups++;
+ MEM_freeN(unassigned_edges);
+ }
+
+ /* Split of long self intersection groups */
+ {
+ uint splits = 0;
+ if (contains_long_groups) {
+ uint add_index = 0;
+ for (uint j = 0; j < eg_index; j++) {
+ const uint edges_len = edge_groups[j + add_index].edges_len;
+ if (edges_len > 3) {
+ bool has_doubles = false;
+ bool *doubles = MEM_calloc_arrayN(
+ edges_len, sizeof(*doubles), "doubles in solidify");
+ EdgeGroup g = edge_groups[j + add_index];
+ for (uint k = 0; k < edges_len; k++) {
+ for (uint l = k + 1; l < edges_len; l++) {
+ if (g.edges[k]->old_edge == g.edges[l]->old_edge) {
+ doubles[k] = true;
+ doubles[l] = true;
+ has_doubles = true;
+ }
+ }
+ }
+ if (has_doubles) {
+ const uint prior_splits = splits;
+ const uint prior_index = add_index;
+ int unique_start = -1;
+ int first_unique_end = -1;
+ int last_split = -1;
+ int first_split = -1;
+ bool first_even_split = false;
+ uint real_k = 0;
+ while (real_k < edges_len ||
+ (g.is_orig_closed &&
+ (real_k <=
+ (first_unique_end == -1 ? 0 : first_unique_end) + (int)edges_len ||
+ first_split != last_split))) {
+ const uint k = real_k % edges_len;
+ if (!doubles[k]) {
+ if (first_unique_end != -1 && unique_start == -1) {
+ unique_start = (int)real_k;
+ }
+ }
+ else if (first_unique_end == -1) {
+ first_unique_end = (int)k;
+ }
+ else if (unique_start != -1) {
+ const uint split = (((uint)unique_start + real_k + 1) / 2) % edges_len;
+ const bool is_even_split = (((uint)unique_start + real_k) & 1);
+ if (last_split != -1) {
+ /* Override g on first split (no insert). */
+ if (prior_splits != splits) {
+ memmove(edge_groups + j + add_index + 1,
+ edge_groups + j + add_index,
+ ((uint)eg_index - j) * sizeof(*edge_groups));
+ add_index++;
+ }
+ if (last_split > split) {
+ const uint size = (split + edges_len) - (uint)last_split;
+ NewEdgeRef **edges = MEM_malloc_arrayN(
+ size, sizeof(*edges), "edge_group split in solidify");
+ memcpy(edges,
+ g.edges + last_split,
+ (edges_len - (uint)last_split) * sizeof(*edges));
+ memcpy(edges + (edges_len - (uint)last_split),
+ g.edges,
+ split * sizeof(*edges));
+ edge_groups[j + add_index] = (EdgeGroup){
+ .valid = true,
+ .edges = edges,
+ .edges_len = size,
+ .open_face_edge = MOD_SOLIDIFY_EMPTY_TAG,
+ .is_orig_closed = g.is_orig_closed,
+ .is_even_split = is_even_split,
+ .split = add_index - prior_index + 1 + (uint)!g.is_orig_closed,
+ .is_singularity = false,
+ .topo_group = g.topo_group,
+ .co = {0.0f, 0.0f, 0.0f},
+ .no = {0.0f, 0.0f, 0.0f},
+ .new_vert = MOD_SOLIDIFY_EMPTY_TAG,
+ };
+ }
+ else {
+ const uint size = split - (uint)last_split;
+ NewEdgeRef **edges = MEM_malloc_arrayN(
+ size, sizeof(*edges), "edge_group split in solidify");
+ memcpy(edges, g.edges + last_split, size * sizeof(*edges));
+ edge_groups[j + add_index] = (EdgeGroup){
+ .valid = true,
+ .edges = edges,
+ .edges_len = size,
+ .open_face_edge = MOD_SOLIDIFY_EMPTY_TAG,
+ .is_orig_closed = g.is_orig_closed,
+ .is_even_split = is_even_split,
+ .split = add_index - prior_index + 1 + (uint)!g.is_orig_closed,
+ .is_singularity = false,
+ .topo_group = g.topo_group,
+ .co = {0.0f, 0.0f, 0.0f},
+ .no = {0.0f, 0.0f, 0.0f},
+ .new_vert = MOD_SOLIDIFY_EMPTY_TAG,
+ };
+ }
+ splits++;
+ }
+ last_split = (int)split;
+ if (first_split == -1) {
+ first_split = (int)split;
+ first_even_split = is_even_split;
+ }
+ unique_start = -1;
+ }
+ real_k++;
+ }
+ if (first_split != -1) {
+ if (!g.is_orig_closed) {
+ if (prior_splits != splits) {
+ memmove(edge_groups + (j + prior_index + 1),
+ edge_groups + (j + prior_index),
+ ((uint)eg_index + add_index - (j + prior_index)) *
+ sizeof(*edge_groups));
+ memmove(edge_groups + (j + add_index + 2),
+ edge_groups + (j + add_index + 1),
+ ((uint)eg_index - j) * sizeof(*edge_groups));
+ add_index++;
+ }
+ else {
+ memmove(edge_groups + (j + add_index + 2),
+ edge_groups + (j + add_index + 1),
+ ((uint)eg_index - j - 1) * sizeof(*edge_groups));
+ }
+ NewEdgeRef **edges = MEM_malloc_arrayN(
+ (uint)first_split, sizeof(*edges), "edge_group split in solidify");
+ memcpy(edges, g.edges, (uint)first_split * sizeof(*edges));
+ edge_groups[j + prior_index] = (EdgeGroup){
+ .valid = true,
+ .edges = edges,
+ .edges_len = (uint)first_split,
+ .open_face_edge = MOD_SOLIDIFY_EMPTY_TAG,
+ .is_orig_closed = g.is_orig_closed,
+ .is_even_split = first_even_split,
+ .split = 1,
+ .is_singularity = false,
+ .topo_group = g.topo_group,
+ .co = {0.0f, 0.0f, 0.0f},
+ .no = {0.0f, 0.0f, 0.0f},
+ .new_vert = MOD_SOLIDIFY_EMPTY_TAG,
+ };
+ add_index++;
+ splits++;
+ edges = MEM_malloc_arrayN(edges_len - (uint)last_split,
+ sizeof(*edges),
+ "edge_group split in solidify");
+ memcpy(edges,
+ g.edges + last_split,
+ (edges_len - (uint)last_split) * sizeof(*edges));
+ edge_groups[j + add_index] = (EdgeGroup){
+ .valid = true,
+ .edges = edges,
+ .edges_len = (edges_len - (uint)last_split),
+ .open_face_edge = MOD_SOLIDIFY_EMPTY_TAG,
+ .is_orig_closed = g.is_orig_closed,
+ .is_even_split = false,
+ .split = add_index - prior_index + 1,
+ .is_singularity = false,
+ .topo_group = g.topo_group,
+ .co = {0.0f, 0.0f, 0.0f},
+ .no = {0.0f, 0.0f, 0.0f},
+ .new_vert = MOD_SOLIDIFY_EMPTY_TAG,
+ };
+ }
+ if (prior_splits != splits) {
+ MEM_freeN(g.edges);
+ }
+ }
+ if (first_unique_end != -1 && prior_splits == splits) {
+ has_singularities = true;
+ edge_groups[j + add_index].is_singularity = true;
+ }
+ }
+ MEM_freeN(doubles);
+ }
+ }
+ }
+ }
+
+ orig_vert_groups_arr[i] = edge_groups;
+ /* Count new edges, loops, polys and add to link_edge_groups. */
+ {
+ uint new_verts = 0;
+ bool contains_open_splits = false;
+ uint open_edges = 0;
+ uint contains_splits = 0;
+ uint last_added = 0;
+ uint first_added = 0;
+ bool first_set = false;
+ for (EdgeGroup *g = edge_groups; g->valid; g++) {
+ NewEdgeRef **e = g->edges;
+ for (uint j = 0; j < g->edges_len; j++, e++) {
+ const uint flip = (uint)(vm[orig_medge[(*e)->old_edge].v2] == i);
+ BLI_assert(flip || vm[orig_medge[(*e)->old_edge].v1] == i);
+ (*e)->link_edge_groups[flip] = g;
+ }
+ uint added = 0;
+ if (do_shell || (do_rim && !g->is_orig_closed)) {
+ BLI_assert(g->new_vert == MOD_SOLIDIFY_EMPTY_TAG);
+ g->new_vert = numNewVerts++;
+ if (do_rim || (do_shell && g->split)) {
+ new_verts++;
+ contains_splits += (g->split != 0);
+ contains_open_splits |= g->split && !g->is_orig_closed;
+ added = g->split;
+ }
+ }
+ open_edges += (uint)(added < last_added);
+ if (!first_set) {
+ first_set = true;
+ first_added = added;
+ }
+ last_added = added;
+ if (!(g + 1)->valid || g->topo_group != (g + 1)->topo_group) {
+ if (new_verts > 2) {
+ numNewPolys++;
+ numNewEdges += new_verts;
+ open_edges += (uint)(first_added < last_added);
+ open_edges -= (uint)(open_edges && !contains_open_splits);
+ if (do_shell && do_rim) {
+ numNewLoops += new_verts * 2;
+ }
+ else if (do_shell) {
+ numNewLoops += new_verts * 2 - open_edges;
+ }
+ else { // do_rim
+ numNewLoops += new_verts * 2 + open_edges - contains_splits;
+ }
+ }
+ else if (new_verts == 2) {
+ numNewEdges++;
+ numNewLoops += 2u - (uint)(!(do_rim && do_shell) && contains_open_splits);
+ }
+ new_verts = 0;
+ contains_open_splits = false;
+ contains_splits = 0;
+ open_edges = 0;
+ last_added = 0;
+ first_added = 0;
+ first_set = false;
+ }
+ }
+ }
+ }
+ }
+ }
+
+ /* Free vert_adj_edges memory. */
+ {
+ uint i = 0;
+ for (OldVertEdgeRef **p = vert_adj_edges; i < numVerts; i++, p++) {
+ if (*p) {
+ MEM_freeN((*p)->edges);
+ MEM_freeN(*p);
+ }
+ }
+ MEM_freeN(vert_adj_edges);
+ }
+
+ /* TODO create_regions if fix_intersections. */
+
+ /* General use pointer for #EdgeGroup iteration. */
+ EdgeGroup **gs_ptr;
+
+ /* Calculate EdgeGroup vertex coordinates. */
+ {
+ mv = orig_mvert;
+ gs_ptr = orig_vert_groups_arr;
+ for (uint i = 0; i < numVerts; i++, mv++, gs_ptr++) {
+ if (*gs_ptr) {
+ EdgeGroup *g = *gs_ptr;
+ for (uint j = 0; g->valid; j++, g++) {
+ if (!g->is_singularity) {
+ float *nor = g->no;
+ float move_nor[3] = {0, 0, 0};
+ bool disable_boundary_fix = (smd->nonmanifold_boundary_mode ==
+ MOD_SOLIDIFY_NONMANIFOLD_BOUNDARY_MODE_NONE ||
+ (g->is_orig_closed || g->split));
+ /* Constraints Method. */
+ if (smd->nonmanifold_offset_mode == MOD_SOLIDIFY_NONMANIFOLD_OFFSET_MODE_CONSTRAINTS) {
+ NewEdgeRef *first_edge = NULL;
+ NewEdgeRef **edge_ptr = g->edges;
+ /* Contains normal and offset [nx, ny, nz, ofs]. */
+ float(*normals_queue)[4] = MEM_malloc_arrayN(
+ g->edges_len + 1, sizeof(*normals_queue), "normals_queue in solidify");
+ uint queue_index = 0;
+
+ float face_nors[3][3];
+ float nor_ofs[3];
+
+ const bool cycle = (g->is_orig_closed && !g->split) || g->is_even_split;
+ for (uint k = 0; k < g->edges_len; k++, edge_ptr++) {
+ if (!(k & 1) || (!cycle && k == g->edges_len - 1)) {
+ NewEdgeRef *edge = *edge_ptr;
+ for (uint l = 0; l < 2; l++) {
+ NewFaceRef *face = edge->faces[l];
+ if (face && (first_edge == NULL ||
+ (first_edge->faces[0] != face && first_edge->faces[1] != face))) {
+ if (!null_faces[face->index]) {
+ mul_v3_v3fl(normals_queue[queue_index],
+ poly_nors[face->index],
+ face->reversed ? -1 : 1);
+ normals_queue[queue_index++][3] = face->reversed ? ofs_back : ofs_front;
+ }
+ else {
+ mul_v3_v3fl(face_nors[0], poly_nors[face->index], face->reversed ? -1 : 1);
+ nor_ofs[0] = face->reversed ? ofs_back : ofs_front;
+ }
+ }
+ }
+ if ((cycle && k == 0) || (!cycle && k + 3 >= g->edges_len)) {
+ first_edge = edge;
+ }
+ }
+ }
+ uint face_nors_len = 0;
+ const float stop_explosion = 1 - fabsf(smd->offset_fac) * 0.05f;
+ while (queue_index > 0) {
+ if (face_nors_len == 0) {
+ if (queue_index <= 2) {
+ for (uint k = 0; k < queue_index; k++) {
+ copy_v3_v3(face_nors[k], normals_queue[k]);
+ nor_ofs[k] = normals_queue[k][3];
+ }
+ face_nors_len = queue_index;
+ queue_index = 0;
+ }
+ else {
+ /* Find most different two normals. */
+ float min_p = 2;
+ uint min_n0 = 0;
+ uint min_n1 = 0;
+ for (uint k = 0; k < queue_index; k++) {
+ for (uint m = k + 1; m < queue_index; m++) {
+ float p = dot_v3v3(normals_queue[k], normals_queue[m]);
+ if (p <= min_p + FLT_EPSILON) {
+ min_p = p;
+ min_n0 = m;
+ min_n1 = k;
+ }
+ }
+ }
+ copy_v3_v3(face_nors[0], normals_queue[min_n0]);
+ copy_v3_v3(face_nors[1], normals_queue[min_n1]);
+ nor_ofs[0] = normals_queue[min_n0][3];
+ nor_ofs[1] = normals_queue[min_n1][3];
+ face_nors_len = 2;
+ queue_index--;
+ memmove(normals_queue + min_n0,
+ normals_queue + min_n0 + 1,
+ (queue_index - min_n0) * sizeof(*normals_queue));
+ queue_index--;
+ memmove(normals_queue + min_n1,
+ normals_queue + min_n1 + 1,
+ (queue_index - min_n1) * sizeof(*normals_queue));
+ min_p = 1;
+ min_n1 = 0;
+ float max_p = -1;
+ for (uint k = 0; k < queue_index; k++) {
+ max_p = -1;
+ for (uint m = 0; m < face_nors_len; m++) {
+ float p = dot_v3v3(face_nors[m], normals_queue[k]);
+ if (p > max_p + FLT_EPSILON) {
+ max_p = p;
+ }
+ }
+ if (max_p <= min_p + FLT_EPSILON) {
+ min_p = max_p;
+ min_n1 = k;
+ }
+ }
+ if (min_p < 0.8) {
+ copy_v3_v3(face_nors[2], normals_queue[min_n1]);
+ nor_ofs[2] = normals_queue[min_n1][3];
+ face_nors_len++;
+ queue_index--;
+ memmove(normals_queue + min_n1,
+ normals_queue + min_n1 + 1,
+ (queue_index - min_n1) * sizeof(*normals_queue));
+ }
+ }
+ }
+ else {
+ uint best = 0;
+ uint best_group = 0;
+ float best_p = -1.0f;
+ for (uint k = 0; k < queue_index; k++) {
+ for (uint m = 0; m < face_nors_len; m++) {
+ float p = dot_v3v3(face_nors[m], normals_queue[k]);
+ if (p > best_p + FLT_EPSILON) {
+ best_p = p;
+ best = m;
+ best_group = k;
+ }
+ }
+ }
+ add_v3_v3(face_nors[best], normals_queue[best_group]);
+ normalize_v3(face_nors[best]);
+ nor_ofs[best] = (nor_ofs[best] + normals_queue[best_group][3]) * 0.5f;
+ queue_index--;
+ memmove(normals_queue + best_group,
+ normals_queue + best_group + 1,
+ (queue_index - best_group) * sizeof(*normals_queue));
+ }
+ }
+ MEM_freeN(normals_queue);
+ /* When up to 3 constraint normals are found. */
+ float d, q;
+ switch (face_nors_len) {
+ case 0:
+ mul_v3_v3fl(nor, face_nors[0], nor_ofs[0]);
+ disable_boundary_fix = true;
+ break;
+ case 1:
+ mul_v3_v3fl(nor, face_nors[0], nor_ofs[0]);
+ disable_boundary_fix = true;
+ break;
+ case 2:
+ q = dot_v3v3(face_nors[0], face_nors[1]);
+ d = 1.0f - q * q;
+ if (LIKELY(d > FLT_EPSILON) && q < stop_explosion) {
+ d = 1.0f / d;
+ mul_v3_fl(face_nors[0], (nor_ofs[0] - nor_ofs[1] * q) * d);
+ mul_v3_fl(face_nors[1], (nor_ofs[1] - nor_ofs[0] * q) * d);
+ add_v3_v3v3(nor, face_nors[0], face_nors[1]);
+ }
+ else {
+ mul_v3_fl(face_nors[0], nor_ofs[0] * 0.5f);
+ mul_v3_fl(face_nors[1], nor_ofs[1] * 0.5f);
+ add_v3_v3v3(nor, face_nors[0], face_nors[1]);
+ }
+ if (!disable_boundary_fix) {
+ cross_v3_v3v3(move_nor, face_nors[0], face_nors[1]);
+ }
+ break;
+ case 3:
+ q = dot_v3v3(face_nors[0], face_nors[1]);
+ d = 1.0f - q * q;
+ float *free_nor = move_nor; /* No need to allocate a new array. */
+ cross_v3_v3v3(free_nor, face_nors[0], face_nors[1]);
+ if (LIKELY(d > FLT_EPSILON) && q < stop_explosion) {
+ d = 1.0f / d;
+ mul_v3_fl(face_nors[0], (nor_ofs[0] - nor_ofs[1] * q) * d);
+ mul_v3_fl(face_nors[1], (nor_ofs[1] - nor_ofs[0] * q) * d);
+ add_v3_v3v3(nor, face_nors[0], face_nors[1]);
+ }
+ else {
+ mul_v3_fl(face_nors[0], nor_ofs[0] * 0.5f);
+ mul_v3_fl(face_nors[1], nor_ofs[1] * 0.5f);
+ add_v3_v3v3(nor, face_nors[0], face_nors[1]);
+ }
+ mul_v3_fl(face_nors[2], nor_ofs[2]);
+ d = dot_v3v3(face_nors[2], free_nor);
+ if (LIKELY(fabsf(d) > FLT_EPSILON)) {
+ sub_v3_v3v3(face_nors[0], nor, face_nors[2]); /* Override face_nor[0]. */
+ mul_v3_fl(free_nor, dot_v3v3(face_nors[2], face_nors[0]) / d);
+ sub_v3_v3(nor, free_nor);
+ }
+ disable_boundary_fix = true;
+ break;
+ default:
+ BLI_assert(0);
+ }
+ }
+ /* Simple/Even Method. */
+ else {
+ float total_angle = 0;
+ float total_angle_back = 0;
+ NewEdgeRef *first_edge = NULL;
+ NewEdgeRef **edge_ptr = g->edges;
+ float face_nor[3];
+ float nor_back[3] = {0, 0, 0};
+ bool has_back = false;
+ bool has_front = false;
+ bool cycle = (g->is_orig_closed && !g->split) || g->is_even_split;
+ for (uint k = 0; k < g->edges_len; k++, edge_ptr++) {
+ if (!(k & 1) || (!cycle && k == g->edges_len - 1)) {
+ NewEdgeRef *edge = *edge_ptr;
+ for (uint l = 0; l < 2; l++) {
+ NewFaceRef *face = edge->faces[l];
+ if (face && (first_edge == NULL ||
+ (first_edge->faces[0] != face && first_edge->faces[1] != face))) {
+ float angle = 1.0f;
+ float ofs = face->reversed ? -max_ff(1.0e-5f, ofs_back) :
+ max_ff(1.0e-5f, ofs_front);
+ if (smd->nonmanifold_offset_mode ==
+ MOD_SOLIDIFY_NONMANIFOLD_OFFSET_MODE_EVEN) {
+ MLoop *ml_next = orig_mloop + face->face->loopstart;
+ ml = ml_next + (face->face->totloop - 1);
+ MLoop *ml_prev = ml - 1;
+ for (int m = 0; m < face->face->totloop && vm[ml->v] != i;
+ m++, ml_next++) {
+ ml_prev = ml;
+ ml = ml_next;
+ }
+ angle = angle_v3v3v3(
+ orig_mvert[vm[ml_prev->v]].co, mv->co, orig_mvert[vm[ml_next->v]].co);
+ if (face->reversed) {
+ total_angle_back += angle * ofs * ofs;
+ }
+ else {
+ total_angle += angle * ofs * ofs;
+ }
+ }
+ else {
+ if (face->reversed) {
+ total_angle_back++;
+ }
+ else {
+ total_angle++;
+ }
+ }
+ mul_v3_v3fl(face_nor, poly_nors[face->index], angle * ofs);
+ if (face->reversed) {
+ add_v3_v3(nor_back, face_nor);
+ has_back = true;
+ }
+ else {
+ add_v3_v3(nor, face_nor);
+ has_front = true;
+ }
+ }
+ }
+ if ((cycle && k == 0) || (!cycle && k + 3 >= g->edges_len)) {
+ first_edge = edge;
+ }
+ }
+ }
+
+ /* Set normal length with selected method. */
+ if (smd->nonmanifold_offset_mode == MOD_SOLIDIFY_NONMANIFOLD_OFFSET_MODE_EVEN) {
+ float d = dot_v3v3(nor, nor_back);
+ if (has_front) {
+ float length = len_squared_v3(nor);
+ if (LIKELY(length > FLT_EPSILON)) {
+ mul_v3_fl(nor, total_angle / length);
+ }
+ }
+ if (has_back) {
+ float length = len_squared_v3(nor_back);
+ if (LIKELY(length > FLT_EPSILON)) {
+ mul_v3_fl(nor_back, total_angle_back / length);
+ }
+ if (!has_front) {
+ copy_v3_v3(nor, nor_back);
+ }
+ }
+ if (has_front && has_back) {
+ float nor_length = len_v3(nor);
+ float nor_back_length = len_v3(nor_back);
+ float q = dot_v3v3(nor, nor_back);
+ if (LIKELY(fabsf(q) > FLT_EPSILON)) {
+ q /= nor_length * nor_back_length;
+ }
+ d = 1.0f - q * q;
+ if (LIKELY(d > FLT_EPSILON)) {
+ d = 1.0f / d;
+ if (LIKELY(nor_length > FLT_EPSILON)) {
+ mul_v3_fl(nor, (1 - nor_back_length * q / nor_length) * d);
+ }
+ if (LIKELY(nor_back_length > FLT_EPSILON)) {
+ mul_v3_fl(nor_back, (1 - nor_length * q / nor_back_length) * d);
+ }
+ add_v3_v3(nor, nor_back);
+ }
+ else {
+ mul_v3_fl(nor, 0.5f);
+ mul_v3_fl(nor_back, 0.5f);
+ add_v3_v3(nor, nor_back);
+ }
+ }
+ }
+ else {
+ if (has_front && total_angle > FLT_EPSILON) {
+ mul_v3_fl(nor, 1.0f / total_angle);
+ }
+ if (has_back && total_angle_back > FLT_EPSILON) {
+ mul_v3_fl(nor_back, 1.0f / total_angle_back);
+ add_v3_v3(nor, nor_back);
+ }
+ }
+ /* Set move_nor for boundary fix. */
+ if (!disable_boundary_fix && g->edges_len > 2) {
+ edge_ptr = g->edges + 1;
+ float tmp[3];
+ uint k;
+ for (k = 1; k + 1 < g->edges_len; k++, edge_ptr++) {
+ MEdge *e = orig_medge + (*edge_ptr)->old_edge;
+ sub_v3_v3v3(tmp, orig_mvert[vm[e->v1] == i ? e->v2 : e->v1].co, mv->co);
+ add_v3_v3(move_nor, tmp);
+ }
+ if (k == 1) {
+ disable_boundary_fix = true;
+ }
+ else {
+ disable_boundary_fix = normalize_v3(move_nor) == 0.0f;
+ }
+ }
+ else {
+ disable_boundary_fix = true;
+ }
+ }
+ /* Fix boundary verts. */
+ if (!disable_boundary_fix) {
+ /* Constraint normal, nor * constr_nor == 0 after this fix. */
+ float constr_nor[3];
+ MEdge *e0_edge = orig_medge + g->edges[0]->old_edge;
+ MEdge *e1_edge = orig_medge + g->edges[g->edges_len - 1]->old_edge;
+ float e0[3];
+ float e1[3];
+ sub_v3_v3v3(
+ e0, orig_mvert[vm[e0_edge->v1] == i ? e0_edge->v2 : e0_edge->v1].co, mv->co);
+ sub_v3_v3v3(
+ e1, orig_mvert[vm[e1_edge->v1] == i ? e1_edge->v2 : e1_edge->v1].co, mv->co);
+ if (smd->nonmanifold_boundary_mode == MOD_SOLIDIFY_NONMANIFOLD_BOUNDARY_MODE_FLAT) {
+ cross_v3_v3v3(constr_nor, e0, e1);
+ }
+ else {
+ float f0[3];
+ float f1[3];
+ if (g->edges[0]->faces[0]->reversed) {
+ negate_v3_v3(f0, poly_nors[g->edges[0]->faces[0]->index]);
+ }
+ else {
+ copy_v3_v3(f0, poly_nors[g->edges[0]->faces[0]->index]);
+ }
+ if (g->edges[g->edges_len - 1]->faces[0]->reversed) {
+ negate_v3_v3(f1, poly_nors[g->edges[g->edges_len - 1]->faces[0]->index]);
+ }
+ else {
+ copy_v3_v3(f1, poly_nors[g->edges[g->edges_len - 1]->faces[0]->index]);
+ }
+ float n0[3];
+ float n1[3];
+ cross_v3_v3v3(n0, e0, f0);
+ cross_v3_v3v3(n1, f1, e1);
+ normalize_v3(n0);
+ normalize_v3(n1);
+ add_v3_v3v3(constr_nor, n0, n1);
+ }
+ float d = dot_v3v3(constr_nor, move_nor);
+ if (LIKELY(fabsf(d) > FLT_EPSILON)) {
+ mul_v3_fl(move_nor, dot_v3v3(constr_nor, nor) / d);
+ sub_v3_v3(nor, move_nor);
+ }
+ }
+ float scalar_vgroup = 1;
+ /* Use vertex group. */
+ if (dvert) {
+ MDeformVert *dv = &dvert[i];
+ if (defgrp_invert) {
+ scalar_vgroup = 1.0f - defvert_find_weight(dv, defgrp_index);
+ }
+ else {
+ scalar_vgroup = defvert_find_weight(dv, defgrp_index);
+ }
+ scalar_vgroup = offset_fac_vg + (scalar_vgroup * offset_fac_vg_inv);
+ }
+ /* Do clamping. */
+ if (do_clamp) {
+ if (do_angle_clamp) {
+ float min_length = 0;
+ float angle = 0.5f * M_PI;
+ uint k = 0;
+ for (NewEdgeRef **p = g->edges; k < g->edges_len; k++, p++) {
+ float length = orig_edge_lengths[(*p)->old_edge];
+ float e_ang = (*p)->angle;
+ if (e_ang > angle) {
+ angle = e_ang;
+ }
+ if (length < min_length || k == 0) {
+ min_length = length;
+ }
+ }
+ float cos_ang = cosf(angle * 0.5f);
+ if (cos_ang > 0) {
+ float max_off = min_length * 0.5f / cos_ang;
+ if (max_off < offset * 0.5f) {
+ scalar_vgroup *= max_off / offset * 2;
+ }
+ }
+ }
+ else {
+ float min_length = 0;
+ uint k = 0;
+ for (NewEdgeRef **p = g->edges; k < g->edges_len; k++, p++) {
+ float length = orig_edge_lengths[(*p)->old_edge];
+ if (length < min_length || k == 0) {
+ min_length = length;
+ }
+ }
+ if (min_length < offset) {
+ scalar_vgroup *= min_length / offset;
+ }
+ }
+ }
+ mul_v3_fl(nor, scalar_vgroup);
+ add_v3_v3v3(g->co, nor, mv->co);
+ }
+ else {
+ copy_v3_v3(g->co, mv->co);
+ }
+ }
+ }
+ }
+ }
+
+ if (null_faces) {
+ MEM_freeN(null_faces);
+ }
+
+ /* TODO create vertdata for intersection fixes (intersection fixing per topology region). */
+
+ /* Correction for adjacent one sided groups around a vert to
+ * prevent edge duplicates and null polys. */
+ uint(*singularity_edges)[2] = NULL;
+ uint totsingularity = 0;
+ if (has_singularities) {
+ has_singularities = false;
+ uint i = 0;
+ uint singularity_edges_len = 1;
+ singularity_edges = MEM_malloc_arrayN(
+ singularity_edges_len, sizeof(*singularity_edges), "singularity_edges in solidify");
+ for (NewEdgeRef ***new_edges = orig_edge_data_arr; i < numEdges; i++, new_edges++) {
+ if (*new_edges && (do_shell || edge_adj_faces_len[i] == 1) && (**new_edges)->old_edge == i) {
+ for (NewEdgeRef **l = *new_edges; *l; l++) {
+ if ((*l)->link_edge_groups[0]->is_singularity &&
+ (*l)->link_edge_groups[1]->is_singularity) {
+ const uint v1 = (*l)->link_edge_groups[0]->new_vert;
+ const uint v2 = (*l)->link_edge_groups[1]->new_vert;
+ bool exists_already = false;
+ uint j = 0;
+ for (uint(*p)[2] = singularity_edges; j < totsingularity; p++, j++) {
+ if (((*p)[0] == v1 && (*p)[1] == v2) || ((*p)[0] == v2 && (*p)[1] == v1)) {
+ exists_already = true;
+ break;
+ }
+ }
+ if (!exists_already) {
+ has_singularities = true;
+ if (singularity_edges_len <= totsingularity) {
+ singularity_edges_len = totsingularity + 1;
+ singularity_edges = MEM_reallocN_id(singularity_edges,
+ singularity_edges_len *
+ sizeof(*singularity_edges),
+ "singularity_edges in solidify");
+ }
+ singularity_edges[totsingularity][0] = v1;
+ singularity_edges[totsingularity][1] = v2;
+ totsingularity++;
+ if (edge_adj_faces_len[i] == 1 && do_rim) {
+ numNewLoops -= 2;
+ numNewPolys--;
+ }
+ }
+ else {
+ numNewEdges--;
+ }
+ }
+ }
+ }
+ }
+ }
+
+ /* Create Mesh *result with proper capacity. */
+ result = BKE_mesh_new_nomain_from_template(
+ mesh, (int)(numNewVerts), (int)(numNewEdges), 0, (int)(numNewLoops), (int)(numNewPolys));
+
+ mpoly = result->mpoly;
+ mloop = result->mloop;
+ medge = result->medge;
+ mvert = result->mvert;
+
+ int *origindex_edge = CustomData_get_layer(&result->edata, CD_ORIGINDEX);
+ int *origindex_poly = CustomData_get_layer(&result->pdata, CD_ORIGINDEX);
+
+ /* Make_new_verts. */
+ {
+ gs_ptr = orig_vert_groups_arr;
+ for (uint i = 0; i < numVerts; i++, gs_ptr++) {
+ EdgeGroup *gs = *gs_ptr;
+ if (gs) {
+ EdgeGroup *g = gs;
+ for (uint j = 0; g->valid; j++, g++) {
+ if (g->new_vert != MOD_SOLIDIFY_EMPTY_TAG) {
+ CustomData_copy_data(&mesh->vdata, &result->vdata, (int)i, (int)g->new_vert, 1);
+ copy_v3_v3(mvert[g->new_vert].co, g->co);
+ mvert[g->new_vert].flag = orig_mvert[i].flag;
+ }
+ }
+ }
+ }
+ }
+
+ result->runtime.cd_dirty_vert |= CD_MASK_NORMAL;
+
+ /* Make edges. */
+ {
+ uint i = 0;
+ edge_index += totsingularity;
+ for (NewEdgeRef ***new_edges = orig_edge_data_arr; i < numEdges; i++, new_edges++) {
+ if (*new_edges && (do_shell || edge_adj_faces_len[i] == 1) && (**new_edges)->old_edge == i) {
+ for (NewEdgeRef **l = *new_edges; *l; l++) {
+ if ((*l)->new_edge != MOD_SOLIDIFY_EMPTY_TAG) {
+ const uint v1 = (*l)->link_edge_groups[0]->new_vert;
+ const uint v2 = (*l)->link_edge_groups[1]->new_vert;
+ uint insert = edge_index;
+ if (has_singularities && ((*l)->link_edge_groups[0]->is_singularity &&
+ (*l)->link_edge_groups[1]->is_singularity)) {
+ uint j = 0;
+ for (uint(*p)[2] = singularity_edges; j < totsingularity; p++, j++) {
+ if (((*p)[0] == v1 && (*p)[1] == v2) || ((*p)[0] == v2 && (*p)[1] == v1)) {
+ insert = j;
+ break;
+ }
+ }
+ BLI_assert(insert == j);
+ }
+ else {
+ edge_index++;
+ }
+ CustomData_copy_data(&mesh->edata, &result->edata, (int)i, (int)insert, 1);
+ BLI_assert(v1 != MOD_SOLIDIFY_EMPTY_TAG);
+ BLI_assert(v2 != MOD_SOLIDIFY_EMPTY_TAG);
+ medge[insert].v1 = v1;
+ medge[insert].v2 = v2;
+ medge[insert].flag = orig_medge[(*l)->old_edge].flag | ME_EDGEDRAW | ME_EDGERENDER;
+ medge[insert].crease = orig_medge[(*l)->old_edge].crease;
+ medge[insert].bweight = orig_medge[(*l)->old_edge].bweight;
+ (*l)->new_edge = insert;
+ }
+ }
+ }
+ }
+ }
+ if (singularity_edges) {
+ MEM_freeN(singularity_edges);
+ }
+
+ /* DEBUG CODE FOR BUGFIXING (can not be removed because every bugfix needs this badly!). */
+#if 0
+ {
+ gs_ptr = orig_vert_groups_arr;
+ for (uint i = 0; i < numVerts; i++, gs_ptr++) {
+ EdgeGroup *gs = *gs_ptr;
+ if (gs) {
+ for (EdgeGroup *g = gs; g->valid; g++) {
+ NewEdgeRef **e = g->edges;
+ for (uint j = 0; j < g->edges_len; j++, e++) {
+ printf("%u/%d, ", (*e)->old_edge, (int)(*e)->new_edge);
+ }
+ printf("(tg:%u)(s:%u,c:%d)\n", g->topo_group, g->split, g->is_orig_closed);
+ }
+ printf("\n");
+ }
+ }
+ }
+#endif
+
+ /* Make boundary edges/faces. */
+ {
+ gs_ptr = orig_vert_groups_arr;
+ for (uint i = 0; i < numVerts; i++, gs_ptr++) {
+ EdgeGroup *gs = *gs_ptr;
+ if (gs) {
+ EdgeGroup *g = gs;
+ EdgeGroup *g2 = gs;
+ EdgeGroup *last_g = NULL;
+ EdgeGroup *first_g = NULL;
+ /* Data calculation cache. */
+ char max_crease;
+ char last_max_crease = 0;
+ char first_max_crease = 0;
+ char max_bweight;
+ char last_max_bweight = 0;
+ char first_max_bweight = 0;
+ short flag;
+ short last_flag = 0;
+ short first_flag = 0;
+ for (uint j = 0; g->valid; g++) {
+ if ((do_rim && !g->is_orig_closed) || (do_shell && g->split)) {
+ max_crease = 0;
+ max_bweight = 0;
+ flag = 0;
+ for (uint k = 1; k < g->edges_len - 1; k++) {
+ ed = orig_medge + g->edges[k]->old_edge;
+ if (ed->crease > max_crease) {
+ max_crease = ed->crease;
+ }
+ if (ed->bweight > max_bweight) {
+ max_bweight = ed->bweight;
+ }
+ flag |= ed->flag;
+ }
+ if (!first_g) {
+ first_g = g;
+ first_max_crease = max_crease;
+ first_max_bweight = max_bweight;
+ first_flag = flag;
+ }
+ else {
+ last_g->open_face_edge = edge_index;
+ CustomData_copy_data(&mesh->edata,
+ &result->edata,
+ (int)last_g->edges[0]->old_edge,
+ (int)edge_index,
+ 1);
+ if (origindex_edge) {
+ origindex_edge[edge_index] = ORIGINDEX_NONE;
+ }
+ medge[edge_index].v1 = last_g->new_vert;
+ medge[edge_index].v2 = g->new_vert;
+ medge[edge_index].flag = ME_EDGEDRAW | ME_EDGERENDER |
+ ((last_flag | flag) & (ME_SEAM | ME_SHARP));
+ medge[edge_index].crease = MAX2(last_max_crease, max_crease);
+ medge[edge_index++].bweight = MAX2(last_max_bweight, max_bweight);
+ }
+ last_g = g;
+ last_max_crease = max_crease;
+ last_max_bweight = max_bweight;
+ last_flag = flag;
+ j++;
+ }
+ if (!(g + 1)->valid || g->topo_group != (g + 1)->topo_group) {
+ if (j == 2) {
+ last_g->open_face_edge = edge_index - 1;
+ }
+ if (j > 2) {
+ CustomData_copy_data(&mesh->edata,
+ &result->edata,
+ (int)last_g->edges[0]->old_edge,
+ (int)edge_index,
+ 1);
+ if (origindex_edge) {
+ origindex_edge[edge_index] = ORIGINDEX_NONE;
+ }
+ last_g->open_face_edge = edge_index;
+ medge[edge_index].v1 = last_g->new_vert;
+ medge[edge_index].v2 = first_g->new_vert;
+ medge[edge_index].flag = ME_EDGEDRAW | ME_EDGERENDER |
+ ((last_flag | first_flag) & (ME_SEAM | ME_SHARP));
+ medge[edge_index].crease = MAX2(last_max_crease, first_max_crease);
+ medge[edge_index++].bweight = MAX2(last_max_bweight, first_max_bweight);
+
+ /* Loop data. */
+ int *loops = MEM_malloc_arrayN(j, sizeof(*loops), "loops in solidify");
+ /* The #mat_nr is from consensus. */
+ short most_mat_nr = 0;
+ uint most_mat_nr_face = 0;
+ uint most_mat_nr_count = 0;
+ for (short l = 0; l < mat_nrs; l++) {
+ uint count = 0;
+ uint face = 0;
+ uint k = 0;
+ for (EdgeGroup *g3 = g2; g3->valid && k < j; g3++) {
+ if ((do_rim && !g3->is_orig_closed) || (do_shell && g3->split)) {
+ /* Check both far ends in terms of faces of an edge group. */
+ if (g3->edges[0]->faces[0]->face->mat_nr == l) {
+ face = g3->edges[0]->faces[0]->index;
+ count++;
+ }
+ NewEdgeRef *le = g3->edges[g3->edges_len - 1];
+ if (le->faces[1] && le->faces[1]->face->mat_nr == l) {
+ face = le->faces[1]->index;
+ count++;
+ }
+ else if (!le->faces[1] && le->faces[0]->face->mat_nr == l) {
+ face = le->faces[0]->index;
+ count++;
+ }
+ k++;
+ }
+ }
+ if (count > most_mat_nr_count) {
+ most_mat_nr = l;
+ most_mat_nr_face = face;
+ most_mat_nr_count = count;
+ }
+ }
+ CustomData_copy_data(
+ &mesh->pdata, &result->pdata, (int)most_mat_nr_face, (int)poly_index, 1);
+ if (origindex_poly) {
+ origindex_poly[poly_index] = ORIGINDEX_NONE;
+ }
+ mpoly[poly_index].loopstart = (int)loop_index;
+ mpoly[poly_index].totloop = (int)j;
+ mpoly[poly_index].mat_nr = most_mat_nr +
+ (g->is_orig_closed || !do_rim ? 0 : mat_ofs_rim);
+ CLAMP(mpoly[poly_index].mat_nr, 0, mat_nr_max);
+ mpoly[poly_index].flag = orig_mpoly[most_mat_nr_face].flag;
+ poly_index++;
+
+ for (uint k = 0; g2->valid && k < j; g2++) {
+ if ((do_rim && !g2->is_orig_closed) || (do_shell && g2->split)) {
+ MPoly *face = g2->edges[0]->faces[0]->face;
+ ml = orig_mloop + face->loopstart;
+ for (int l = 0; l < face->totloop; l++, ml++) {
+ if (vm[ml->v] == i) {
+ loops[k] = face->loopstart + l;
+ break;
+ }
+ }
+ k++;
+ }
+ }
+
+ if (!do_flip) {
+ for (uint k = 0; k < j; k++) {
+ CustomData_copy_data(&mesh->ldata, &result->ldata, loops[k], (int)loop_index, 1);
+ mloop[loop_index].v = medge[edge_index - j + k].v1;
+ mloop[loop_index++].e = edge_index - j + k;
+ }
+ }
+ else {
+ for (uint k = 1; k <= j; k++) {
+ CustomData_copy_data(
+ &mesh->ldata, &result->ldata, loops[j - k], (int)loop_index, 1);
+ mloop[loop_index].v = medge[edge_index - k].v2;
+ mloop[loop_index++].e = edge_index - k;
+ }
+ }
+ MEM_freeN(loops);
+ }
+ /* Reset everything for the next poly. */
+ j = 0;
+ last_g = NULL;
+ first_g = NULL;
+ last_max_crease = 0;
+ first_max_crease = 0;
+ last_max_bweight = 0;
+ first_max_bweight = 0;
+ last_flag = 0;
+ first_flag = 0;
+ }
+ }
+ }
+ }
+ }
+
+ /* Make boundary faces. */
+ if (do_rim) {
+ for (uint i = 0; i < numEdges; i++) {
+ if (edge_adj_faces_len[i] == 1 && orig_edge_data_arr[i] &&
+ (*orig_edge_data_arr[i])->old_edge == i) {
+ NewEdgeRef **new_edges = orig_edge_data_arr[i];
+
+ NewEdgeRef *edge1 = new_edges[0];
+ NewEdgeRef *edge2 = new_edges[1];
+ const bool v1_singularity = edge1->link_edge_groups[0]->is_singularity;
+ const bool v2_singularity = edge1->link_edge_groups[1]->is_singularity;
+ if (v1_singularity && v2_singularity) {
+ continue;
+ }
+
+ MPoly *face = (*new_edges)->faces[0]->face;
+ CustomData_copy_data(
+ &mesh->pdata, &result->pdata, (int)(*new_edges)->faces[0]->index, (int)poly_index, 1);
+ mpoly[poly_index].loopstart = (int)loop_index;
+ mpoly[poly_index].totloop = 4 - (int)(v1_singularity || v2_singularity);
+ mpoly[poly_index].mat_nr = face->mat_nr + mat_ofs_rim;
+ CLAMP(mpoly[poly_index].mat_nr, 0, mat_nr_max);
+ mpoly[poly_index].flag = face->flag;
+ poly_index++;
+
+ int loop1 = -1;
+ int loop2 = -1;
+ ml = orig_mloop + face->loopstart;
+ const uint old_v1 = vm[orig_medge[edge1->old_edge].v1];
+ const uint old_v2 = vm[orig_medge[edge1->old_edge].v2];
+ for (uint j = 0; j < face->totloop; j++, ml++) {
+ if (vm[ml->v] == old_v1) {
+ loop1 = face->loopstart + (int)j;
+ }
+ else if (vm[ml->v] == old_v2) {
+ loop2 = face->loopstart + (int)j;
+ }
+ }
+ BLI_assert(loop1 != -1 && loop2 != -1);
+ MEdge *open_face_edge;
+ uint open_face_edge_index;
+ if (!do_flip) {
+ CustomData_copy_data(&mesh->ldata, &result->ldata, loop1, (int)loop_index, 1);
+ mloop[loop_index].v = medge[edge1->new_edge].v1;
+ mloop[loop_index++].e = edge1->new_edge;
+
+ if (!v2_singularity) {
+ open_face_edge_index = edge1->link_edge_groups[1]->open_face_edge;
+ CustomData_copy_data(&mesh->ldata, &result->ldata, loop2, (int)loop_index, 1);
+ mloop[loop_index].v = medge[edge1->new_edge].v2;
+ open_face_edge = medge + open_face_edge_index;
+ if (ELEM(medge[edge2->new_edge].v2, open_face_edge->v1, open_face_edge->v2)) {
+ mloop[loop_index++].e = open_face_edge_index;
+ }
+ else {
+ mloop[loop_index++].e = edge2->link_edge_groups[1]->open_face_edge;
+ }
+ }
+
+ CustomData_copy_data(&mesh->ldata, &result->ldata, loop2, (int)loop_index, 1);
+ mloop[loop_index].v = medge[edge2->new_edge].v2;
+ mloop[loop_index++].e = edge2->new_edge;
+
+ if (!v1_singularity) {
+ open_face_edge_index = edge2->link_edge_groups[0]->open_face_edge;
+ CustomData_copy_data(&mesh->ldata, &result->ldata, loop1, (int)loop_index, 1);
+ mloop[loop_index].v = medge[edge2->new_edge].v1;
+ open_face_edge = medge + open_face_edge_index;
+ if (ELEM(medge[edge1->new_edge].v1, open_face_edge->v1, open_face_edge->v2)) {
+ mloop[loop_index++].e = open_face_edge_index;
+ }
+ else {
+ mloop[loop_index++].e = edge1->link_edge_groups[0]->open_face_edge;
+ }
+ }
+ }
+ else {
+ if (!v1_singularity) {
+ open_face_edge_index = edge1->link_edge_groups[0]->open_face_edge;
+ CustomData_copy_data(&mesh->ldata, &result->ldata, loop1, (int)loop_index, 1);
+ mloop[loop_index].v = medge[edge1->new_edge].v1;
+ open_face_edge = medge + open_face_edge_index;
+ if (ELEM(medge[edge2->new_edge].v1, open_face_edge->v1, open_face_edge->v2)) {
+ mloop[loop_index++].e = open_face_edge_index;
+ }
+ else {
+ mloop[loop_index++].e = edge2->link_edge_groups[0]->open_face_edge;
+ }
+ }
+
+ CustomData_copy_data(&mesh->ldata, &result->ldata, loop1, (int)loop_index, 1);
+ mloop[loop_index].v = medge[edge2->new_edge].v1;
+ mloop[loop_index++].e = edge2->new_edge;
+
+ if (!v2_singularity) {
+ open_face_edge_index = edge2->link_edge_groups[1]->open_face_edge;
+ CustomData_copy_data(&mesh->ldata, &result->ldata, loop2, (int)loop_index, 1);
+ mloop[loop_index].v = medge[edge2->new_edge].v2;
+ open_face_edge = medge + open_face_edge_index;
+ if (ELEM(medge[edge1->new_edge].v2, open_face_edge->v1, open_face_edge->v2)) {
+ mloop[loop_index++].e = open_face_edge_index;
+ }
+ else {
+ mloop[loop_index++].e = edge1->link_edge_groups[1]->open_face_edge;
+ }
+ }
+
+ CustomData_copy_data(&mesh->ldata, &result->ldata, loop2, (int)loop_index, 1);
+ mloop[loop_index].v = medge[edge1->new_edge].v2;
+ mloop[loop_index++].e = edge1->new_edge;
+ }
+ }
+ }
+ }
+
+ /* Make faces. */
+ if (do_shell) {
+ NewFaceRef *fr = face_sides_arr;
+ uint *face_loops = MEM_malloc_arrayN(
+ largest_ngon * 2, sizeof(*face_loops), "face_loops in solidify");
+ uint *face_verts = MEM_malloc_arrayN(
+ largest_ngon * 2, sizeof(*face_verts), "face_verts in solidify");
+ uint *face_edges = MEM_malloc_arrayN(
+ largest_ngon * 2, sizeof(*face_edges), "face_edges in solidify");
+ for (uint i = 0; i < numPolys * 2; i++, fr++) {
+ const uint loopstart = (uint)fr->face->loopstart;
+ uint totloop = (uint)fr->face->totloop;
+ uint valid_edges = 0;
+ uint k = 0;
+ while (totloop > 0 && (!fr->link_edges[totloop - 1] ||
+ fr->link_edges[totloop - 1]->new_edge == MOD_SOLIDIFY_EMPTY_TAG)) {
+ totloop--;
+ }
+ if (totloop > 0) {
+ NewEdgeRef *prior_edge = fr->link_edges[totloop - 1];
+ uint prior_flip = (uint)(vm[orig_medge[prior_edge->old_edge].v1] ==
+ vm[orig_mloop[loopstart + (totloop - 1)].v]);
+ for (uint j = 0; j < totloop; j++) {
+ NewEdgeRef *new_edge = fr->link_edges[j];
+ if (new_edge && new_edge->new_edge != MOD_SOLIDIFY_EMPTY_TAG) {
+ valid_edges++;
+ const uint flip = (uint)(vm[orig_medge[new_edge->old_edge].v2] ==
+ vm[orig_mloop[loopstart + j].v]);
+ BLI_assert(flip ||
+ vm[orig_medge[new_edge->old_edge].v1] == vm[orig_mloop[loopstart + j].v]);
+ /* The vert thats in the current loop. */
+ const uint new_v1 = new_edge->link_edge_groups[flip]->new_vert;
+ /* The vert thats in the next loop. */
+ const uint new_v2 = new_edge->link_edge_groups[1 - flip]->new_vert;
+ if (k == 0 || face_verts[k - 1] != new_v1) {
+ face_loops[k] = loopstart + j;
+ if (fr->reversed) {
+ face_edges[k] = prior_edge->link_edge_groups[prior_flip]->open_face_edge;
+ }
+ else {
+ face_edges[k] = new_edge->link_edge_groups[flip]->open_face_edge;
+ }
+ BLI_assert(k == 0 || medge[face_edges[k]].v2 == face_verts[k - 1] ||
+ medge[face_edges[k]].v1 == face_verts[k - 1]);
+ BLI_assert(face_edges[k] == MOD_SOLIDIFY_EMPTY_TAG ||
+ medge[face_edges[k]].v2 == new_v1 || medge[face_edges[k]].v1 == new_v1);
+ face_verts[k++] = new_v1;
+ }
+ prior_edge = new_edge;
+ prior_flip = 1 - flip;
+ if (j < totloop - 1 || face_verts[0] != new_v2) {
+ face_loops[k] = loopstart + (j + 1) % totloop;
+ face_edges[k] = new_edge->new_edge;
+ face_verts[k++] = new_v2;
+ }
+ else {
+ face_edges[0] = new_edge->new_edge;
+ }
+ }
+ }
+ if (k > 2 && valid_edges > 2) {
+ CustomData_copy_data(&mesh->pdata, &result->pdata, (int)(i / 2), (int)poly_index, 1);
+ mpoly[poly_index].loopstart = (int)loop_index;
+ mpoly[poly_index].totloop = (int)k;
+ mpoly[poly_index].mat_nr = fr->face->mat_nr + mat_ofs;
+ CLAMP(mpoly[poly_index].mat_nr, 0, mat_nr_max);
+ mpoly[poly_index].flag = fr->face->flag;
+ if (fr->reversed != do_flip) {
+ for (int l = (int)k - 1; l >= 0; l--) {
+ CustomData_copy_data(
+ &mesh->ldata, &result->ldata, (int)face_loops[l], (int)loop_index, 1);
+ mloop[loop_index].v = face_verts[l];
+ mloop[loop_index++].e = face_edges[l];
+ }
+ }
+ else {
+ uint l = k - 1;
+ for (uint next_l = 0; next_l < k; next_l++) {
+ CustomData_copy_data(
+ &mesh->ldata, &result->ldata, (int)face_loops[l], (int)loop_index, 1);
+ mloop[loop_index].v = face_verts[l];
+ mloop[loop_index++].e = face_edges[next_l];
+ l = next_l;
+ }
+ }
+ poly_index++;
+ }
+ }
+ }
+ MEM_freeN(face_loops);
+ MEM_freeN(face_verts);
+ MEM_freeN(face_edges);
+ }
+ if (edge_index != numNewEdges) {
+ modifier_setError(
+ md, "Internal Error: edges array wrong size: %u instead of %u", numNewEdges, edge_index);
+ }
+ if (poly_index != numNewPolys) {
+ modifier_setError(
+ md, "Internal Error: polys array wrong size: %u instead of %u", numNewPolys, poly_index);
+ }
+ if (loop_index != numNewLoops) {
+ modifier_setError(
+ md, "Internal Error: loops array wrong size: %u instead of %u", numNewLoops, loop_index);
+ }
+ BLI_assert(edge_index == numNewEdges);
+ BLI_assert(poly_index == numNewPolys);
+ BLI_assert(loop_index == numNewLoops);
+
+ /* Free remaining memory */
+ {
+ MEM_freeN(vm);
+ MEM_freeN(edge_adj_faces_len);
+ uint i = 0;
+ for (EdgeGroup **p = orig_vert_groups_arr; i < numVerts; i++, p++) {
+ if (*p) {
+ for (EdgeGroup *eg = *p; eg->valid; eg++) {
+ MEM_freeN(eg->edges);
+ }
+ MEM_freeN(*p);
+ }
+ }
+ MEM_freeN(orig_vert_groups_arr);
+ i = numEdges;
+ for (NewEdgeRef ***p = orig_edge_data_arr + (numEdges - 1); i > 0; i--, p--) {
+ if (*p && (**p)->old_edge == i - 1) {
+ for (NewEdgeRef **l = *p; *l; l++) {
+ MEM_freeN(*l);
+ }
+ MEM_freeN(*p);
+ }
+ }
+ MEM_freeN(orig_edge_data_arr);
+ MEM_freeN(orig_edge_lengths);
+ i = 0;
+ for (NewFaceRef *p = face_sides_arr; i < numPolys * 2; i++, p++) {
+ MEM_freeN(p->link_edges);
+ }
+ MEM_freeN(face_sides_arr);
+ MEM_freeN(poly_nors);
+ }
+
+#undef MOD_SOLIDIFY_EMPTY_TAG
+
+ return result;
+}
+
+/** \} */
diff --git a/source/blender/modifiers/intern/MOD_solidify_util.h b/source/blender/modifiers/intern/MOD_solidify_util.h
new file mode 100644
index 00000000000..dba360dc1ce
--- /dev/null
+++ b/source/blender/modifiers/intern/MOD_solidify_util.h
@@ -0,0 +1,34 @@
+/*
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+/** \file
+ * \ingroup modifiers
+ */
+
+#ifndef __MOD_MESHCACHE_UTIL_H__
+#define __MOD_MESHCACHE_UTIL_H__
+
+/* MOD_solidify_extrude.c */
+Mesh *MOD_solidify_extrude_applyModifier(ModifierData *md,
+ const ModifierEvalContext *ctx,
+ Mesh *mesh);
+
+/* MOD_solidify_nonmanifold.c */
+Mesh *MOD_solidify_nonmanifold_applyModifier(ModifierData *md,
+ const ModifierEvalContext *ctx,
+ Mesh *mesh);
+
+#endif /* __MOD_MESHCACHE_UTIL_H__ */
diff --git a/source/blender/modifiers/intern/MOD_subsurf.c b/source/blender/modifiers/intern/MOD_subsurf.c
index 55df1b5ddda..4a5887c3122 100644
--- a/source/blender/modifiers/intern/MOD_subsurf.c
+++ b/source/blender/modifiers/intern/MOD_subsurf.c
@@ -241,16 +241,21 @@ static Mesh *applyModifier(ModifierData *md, const ModifierEvalContext *ctx, Mes
return result;
}
-static void deformVerts(ModifierData *md,
- const ModifierEvalContext *UNUSED(ctx),
- Mesh *mesh,
- float (*vertex_cos)[3],
- int num_verts)
+static void deformMatrices(ModifierData *md,
+ const ModifierEvalContext *UNUSED(ctx),
+ Mesh *mesh,
+ float (*vertex_cos)[3],
+ float (*deform_matrices)[3][3],
+ int num_verts)
{
#if !defined(WITH_OPENSUBDIV)
modifier_setError(md, "Disabled, built without OpenSubdiv");
return;
#endif
+
+ /* Subsurf does not require extra space mapping, keep matrices as is. */
+ (void)deform_matrices;
+
SubsurfModifierData *smd = (SubsurfModifierData *)md;
SubdivSettings subdiv_settings;
subdiv_settings_init(&subdiv_settings, smd);
@@ -281,8 +286,8 @@ ModifierTypeInfo modifierType_Subsurf = {
/* copyData */ copyData,
- /* deformVerts */ deformVerts,
- /* deformMatrices */ NULL,
+ /* deformVerts */ NULL,
+ /* deformMatrices */ deformMatrices,
/* deformVertsEM */ NULL,
/* deformMatricesEM */ NULL,
/* applyModifier */ applyModifier,
diff --git a/source/blender/nodes/CMakeLists.txt b/source/blender/nodes/CMakeLists.txt
index 57a4ace997c..f618f964b22 100644
--- a/source/blender/nodes/CMakeLists.txt
+++ b/source/blender/nodes/CMakeLists.txt
@@ -206,9 +206,9 @@ set(SRC
shader/nodes/node_shader_valToRgb.c
shader/nodes/node_shader_value.c
shader/nodes/node_shader_vectTransform.c
- shader/nodes/node_shader_vertex_color.c
shader/nodes/node_shader_vector_displacement.c
shader/nodes/node_shader_vector_math.c
+ shader/nodes/node_shader_vertex_color.c
shader/nodes/node_shader_volume_absorption.c
shader/nodes/node_shader_volume_info.c
shader/nodes/node_shader_volume_principled.c
diff --git a/source/blender/nodes/composite/nodes/node_composite_denoise.c b/source/blender/nodes/composite/nodes/node_composite_denoise.c
index bb62869f470..ac30ed9576d 100644
--- a/source/blender/nodes/composite/nodes/node_composite_denoise.c
+++ b/source/blender/nodes/composite/nodes/node_composite_denoise.c
@@ -33,8 +33,18 @@
static bNodeSocketTemplate cmp_node_denoise_in[] = {
{SOCK_RGBA, 1, N_("Image"), 1.0f, 1.0f, 1.0f, 1.0f, 0.0f, 1.0f},
- {SOCK_VECTOR, 0, N_("Normal"), 0.0f, 0.0f, 0.0f, 0.0f, -1.0f, 1.0f},
- {SOCK_RGBA, 1, N_("Albedo"), 1.0f, 1.0f, 1.0f, 1.0f, 0.0f, 1.0f},
+ {SOCK_VECTOR,
+ 1,
+ N_("Normal"),
+ 0.0f,
+ 0.0f,
+ 0.0f,
+ 0.0f,
+ -1.0f,
+ 1.0f,
+ PROP_NONE,
+ SOCK_HIDE_VALUE},
+ {SOCK_RGBA, 1, N_("Albedo"), 1.0f, 1.0f, 1.0f, 1.0f, 0.0f, 1.0f, PROP_NONE, SOCK_HIDE_VALUE},
{-1, 0, ""}};
static bNodeSocketTemplate cmp_node_denoise_out[] = {{SOCK_RGBA, 0, N_("Image")}, {-1, 0, ""}};
diff --git a/source/blender/nodes/intern/node_util.c b/source/blender/nodes/intern/node_util.c
index 455da4b3881..b16c814ade9 100644
--- a/source/blender/nodes/intern/node_util.c
+++ b/source/blender/nodes/intern/node_util.c
@@ -82,7 +82,10 @@ void *node_initexec_curves(bNodeExecContext *UNUSED(context),
void node_blend_label(bNodeTree *UNUSED(ntree), bNode *node, char *label, int maxlen)
{
const char *name;
- RNA_enum_name(rna_enum_ramp_blend_items, node->custom1, &name);
+ bool enum_label = RNA_enum_name(rna_enum_ramp_blend_items, node->custom1, &name);
+ if (!enum_label) {
+ name = "Unknown";
+ }
BLI_strncpy(label, IFACE_(name), maxlen);
}
@@ -96,21 +99,30 @@ void node_image_label(bNodeTree *UNUSED(ntree), bNode *node, char *label, int ma
void node_math_label(bNodeTree *UNUSED(ntree), bNode *node, char *label, int maxlen)
{
const char *name;
- RNA_enum_name(rna_enum_node_math_items, node->custom1, &name);
+ bool enum_label = RNA_enum_name(rna_enum_node_math_items, node->custom1, &name);
+ if (!enum_label) {
+ name = "Unknown";
+ }
BLI_strncpy(label, IFACE_(name), maxlen);
}
void node_vector_math_label(bNodeTree *UNUSED(ntree), bNode *node, char *label, int maxlen)
{
const char *name;
- RNA_enum_name(rna_enum_node_vec_math_items, node->custom1, &name);
+ bool enum_label = RNA_enum_name(rna_enum_node_vec_math_items, node->custom1, &name);
+ if (!enum_label) {
+ name = "Unknown";
+ }
BLI_strncpy(label, IFACE_(name), maxlen);
}
void node_filter_label(bNodeTree *UNUSED(ntree), bNode *node, char *label, int maxlen)
{
const char *name;
- RNA_enum_name(rna_enum_node_filter_items, node->custom1, &name);
+ bool enum_label = RNA_enum_name(rna_enum_node_filter_items, node->custom1, &name);
+ if (!enum_label) {
+ name = "Unknown";
+ }
BLI_strncpy(label, IFACE_(name), maxlen);
}
diff --git a/source/blender/nodes/shader/node_shader_tree.c b/source/blender/nodes/shader/node_shader_tree.c
index 1693a6888c3..4bcd77496c1 100644
--- a/source/blender/nodes/shader/node_shader_tree.c
+++ b/source/blender/nodes/shader/node_shader_tree.c
@@ -412,7 +412,8 @@ static void flatten_group_do(bNodeTree *ntree, bNode *gnode)
BLI_remlink(&ngroup->nodes, node);
BLI_addtail(&ntree->nodes, node);
/* ensure unique node name in the node tree */
- nodeUniqueName(ntree, node);
+ /* This is very slow and it has no use for GPU nodetree. (see T70609) */
+ // nodeUniqueName(ntree, node);
}
/* Save first and last link to iterate over flattened group links. */
@@ -441,6 +442,8 @@ static void flatten_group_do(bNodeTree *ntree, bNode *gnode)
}
}
}
+ /* Also iterate over the new links to cover passthrough links. */
+ glinks_last = ntree->links.last;
/* output links */
for (tlink = ntree->links.first; tlink != glinks_first->next; tlink = tlink->next) {
if (tlink->fromnode == gnode) {
@@ -469,7 +472,7 @@ static void flatten_group_do(bNodeTree *ntree, bNode *gnode)
/* Flatten group to only have a simple single tree */
static void ntree_shader_groups_flatten(bNodeTree *localtree)
{
- /* This is effectively recusive as the flattened groups will add
+ /* This is effectively recursive as the flattened groups will add
* nodes at the end of the list, which will also get evaluated. */
for (bNode *node = localtree->nodes.first, *node_next; node; node = node_next) {
if (ELEM(node->type, NODE_GROUP, NODE_CUSTOM_GROUP) && node->id != NULL) {
@@ -597,10 +600,7 @@ static void ntree_shader_bypass_tagged_bump_nodes(bNodeTree *ntree)
ntreeUpdateTree(G.main, ntree);
}
-static bool ntree_branch_count_and_tag_nodes(bNode *fromnode,
- bNode *tonode,
- void *userdata,
- const bool UNUSED(reversed))
+static bool ntree_branch_count_and_tag_nodes(bNode *fromnode, bNode *tonode, void *userdata)
{
int *node_count = (int *)userdata;
if (fromnode->tmp_flag == -1) {
@@ -629,7 +629,7 @@ static bNode *ntree_shader_copy_branch(bNodeTree *ntree,
/* Count and tag all nodes inside the displacement branch of the tree. */
start_node->tmp_flag = 0;
int node_count = 1;
- nodeChainIter(ntree, start_node, ntree_branch_count_and_tag_nodes, &node_count, true);
+ nodeChainIterBackwards(ntree, start_node, ntree_branch_count_and_tag_nodes, &node_count, 1);
/* Make a full copy of the branch */
bNode **nodes_copy = MEM_mallocN(sizeof(bNode *) * node_count, __func__);
LISTBASE_FOREACH (bNode *, node, &ntree->nodes) {
@@ -763,16 +763,13 @@ static void node_tag_branch_as_derivative(bNode *node, int dx)
}
}
-static bool ntree_shader_bump_branches(bNode *UNUSED(fromnode),
- bNode *tonode,
- void *userdata,
- const bool UNUSED(reversed))
+static bool ntree_shader_bump_branches(bNode *fromnode, bNode *UNUSED(tonode), void *userdata)
{
bNodeTree *ntree = (bNodeTree *)userdata;
- if (tonode->type == SH_NODE_BUMP) {
+ if (fromnode->type == SH_NODE_BUMP) {
bNodeSocket *height_dx_sock, *height_dy_sock, *bump_socket, *bump_dx_socket, *bump_dy_socket;
- bNode *bump = tonode;
+ bNode *bump = fromnode;
bump_socket = ntree_shader_node_find_input(bump, "Height");
bump_dx_socket = ntree_shader_node_find_input(bump, "Height_dx");
bump_dy_socket = ntree_shader_node_find_input(bump, "Height_dy");
@@ -794,17 +791,8 @@ static bool ntree_shader_bump_branches(bNode *UNUSED(fromnode),
return true;
}
-static bool ntree_tag_bsdf_cb(bNode *fromnode,
- bNode *UNUSED(tonode),
- void *userdata,
- const bool UNUSED(reversed))
+static bool ntree_tag_bsdf_cb(bNode *fromnode, bNode *UNUSED(tonode), void *userdata)
{
- /* Don't evaluate nodes more than once. */
- if (fromnode->tmp_flag) {
- return true;
- }
- fromnode->tmp_flag = 1;
-
switch (fromnode->type) {
case SH_NODE_BSDF_ANISOTROPIC:
case SH_NODE_EEVEE_SPECULAR:
@@ -844,12 +832,7 @@ void ntree_shader_tag_nodes(bNodeTree *ntree, bNode *output_node, nTreeTags *tag
/* Make sure sockets links pointers are correct. */
ntreeUpdateTree(G.main, ntree);
- /* Reset visit flag. */
- for (bNode *node = ntree->nodes.first; node; node = node->next) {
- node->tmp_flag = 0;
- }
-
- nodeChainIter(ntree, output_node, ntree_tag_bsdf_cb, tags, true);
+ nodeChainIterBackwards(ntree, output_node, ntree_tag_bsdf_cb, tags, 0);
}
/* This one needs to work on a local tree. */
@@ -878,7 +861,7 @@ void ntreeGPUMaterialNodes(bNodeTree *localtree,
/* Duplicate bump height branches for manual derivatives.
*/
- nodeChainIter(localtree, output, ntree_shader_bump_branches, localtree, true);
+ nodeChainIterBackwards(localtree, output, ntree_shader_bump_branches, localtree, 0);
/* TODO(fclem): consider moving this to the gpu shader tree evaluation. */
nTreeTags tags = {
diff --git a/source/blender/nodes/shader/nodes/node_shader_bsdf_principled.c b/source/blender/nodes/shader/nodes/node_shader_bsdf_principled.c
index 595ddf27d0a..3340054396d 100644
--- a/source/blender/nodes/shader/nodes/node_shader_bsdf_principled.c
+++ b/source/blender/nodes/shader/nodes/node_shader_bsdf_principled.c
@@ -120,6 +120,7 @@ static int node_shader_gpu_bsdf_principled(GPUMaterial *mat,
GPU_link(mat, "world_normals_get", &in[20].link);
}
+#if 0 /* Not used at the moment. */
/* Tangents */
if (!in[21].link) {
GPUNodeLink *orco = GPU_attribute(CD_ORCO, "");
@@ -131,6 +132,7 @@ static int node_shader_gpu_bsdf_principled(GPUMaterial *mat,
GPU_builtin(GPU_OBJECT_MATRIX),
&in[21].link);
}
+#endif
bool use_diffuse = socket_not_one(4) && socket_not_one(15);
bool use_subsurf = socket_not_zero(1) && use_diffuse && node->sss_id > 0;
diff --git a/source/blender/nodes/shader/nodes/node_shader_geometry.c b/source/blender/nodes/shader/nodes/node_shader_geometry.c
index df9a8ac8318..3798cfbbfac 100644
--- a/source/blender/nodes/shader/nodes/node_shader_geometry.c
+++ b/source/blender/nodes/shader/nodes/node_shader_geometry.c
@@ -41,21 +41,38 @@ static int node_shader_gpu_geometry(GPUMaterial *mat,
{
/* HACK: Don't request GPU_BARYCENTRIC_TEXCO if not used because it will
* trigger the use of geometry shader (and the performance penalty it implies). */
- float val[2] = {0.0f, 0.0f};
+ float val[4] = {0.0f, 0.0f, 0.0f, 0.0f};
GPUNodeLink *bary_link = (!out[5].hasoutput) ? GPU_constant(val) :
GPU_builtin(GPU_BARYCENTRIC_TEXCO);
+ /* Opti: don't request orco if not needed. */
+ GPUNodeLink *orco_link = (!out[2].hasoutput) ? GPU_constant(val) : GPU_attribute(CD_ORCO, "");
- return GPU_stack_link(mat,
- node,
- "node_geometry",
- in,
- out,
- GPU_builtin(GPU_VIEW_POSITION),
- GPU_builtin(GPU_WORLD_NORMAL),
- GPU_attribute(CD_ORCO, ""),
- GPU_builtin(GPU_OBJECT_MATRIX),
- GPU_builtin(GPU_INVERSE_VIEW_MATRIX),
- bary_link);
+ const bool success = GPU_stack_link(mat,
+ node,
+ "node_geometry",
+ in,
+ out,
+ GPU_builtin(GPU_VIEW_POSITION),
+ GPU_builtin(GPU_WORLD_NORMAL),
+ orco_link,
+ GPU_builtin(GPU_OBJECT_MATRIX),
+ GPU_builtin(GPU_INVERSE_VIEW_MATRIX),
+ bary_link);
+
+ /* for each output */
+ for (int i = 0; sh_node_geometry_out[i].type != -1; i++) {
+ node_shader_gpu_bump_tex_coord(mat, node, &out[i].link);
+ /* Normalize some vectors after dFdx/dFdy offsets.
+ * This is the case for interpolated, non linear functions.
+ * The resulting vector can still be a bit wrong but not as much.
+ * (see T70644) */
+ if (node->branch_tag != 0 && ELEM(i, 1, 2, 4)) {
+ GPU_link(
+ mat, "vector_math_normalize", out[i].link, out[i].link, out[i].link, &out[i].link, NULL);
+ }
+ }
+
+ return success;
}
/* node type definition */
diff --git a/source/blender/nodes/shader/nodes/node_shader_mapping.c b/source/blender/nodes/shader/nodes/node_shader_mapping.c
index d607fcdc7a1..7905cabab9f 100644
--- a/source/blender/nodes/shader/nodes/node_shader_mapping.c
+++ b/source/blender/nodes/shader/nodes/node_shader_mapping.c
@@ -50,7 +50,12 @@ static int gpu_shader_mapping(GPUMaterial *mat,
[NODE_MAPPING_TYPE_NORMAL] = "mapping_normal",
};
- return GPU_stack_link(mat, node, names[node->custom1], in, out);
+ if (node->custom1 < ARRAY_SIZE(names) && names[node->custom1]) {
+ return GPU_stack_link(mat, node, names[node->custom1], in, out);
+ }
+ else {
+ return 0;
+ }
}
static void node_shader_update_mapping(bNodeTree *UNUSED(ntree), bNode *node)
diff --git a/source/blender/nodes/shader/nodes/node_shader_math.c b/source/blender/nodes/shader/nodes/node_shader_math.c
index aaedc4aa1b7..0f1113920c9 100644
--- a/source/blender/nodes/shader/nodes/node_shader_math.c
+++ b/source/blender/nodes/shader/nodes/node_shader_math.c
@@ -68,14 +68,20 @@ static int gpu_shader_math(GPUMaterial *mat,
[NODE_MATH_ARCTAN2] = "math_arctan2",
};
- GPU_stack_link(mat, node, names[node->custom1], in, out);
+ if (node->custom1 < ARRAY_SIZE(names) && names[node->custom1]) {
+ int ret = GPU_stack_link(mat, node, names[node->custom1], in, out);
- if (node->custom2 & SHD_MATH_CLAMP) {
- float min[3] = {0.0f, 0.0f, 0.0f};
- float max[3] = {1.0f, 1.0f, 1.0f};
- GPU_link(mat, "clamp_value", out[0].link, GPU_constant(min), GPU_constant(max), &out[0].link);
+ if (ret && node->custom2 & SHD_MATH_CLAMP) {
+ float min[3] = {0.0f, 0.0f, 0.0f};
+ float max[3] = {1.0f, 1.0f, 1.0f};
+ GPU_link(
+ mat, "clamp_value", out[0].link, GPU_constant(min), GPU_constant(max), &out[0].link);
+ }
+ return ret;
+ }
+ else {
+ return 0;
}
- return 1;
}
static void node_shader_update_math(bNodeTree *UNUSED(ntree), bNode *node)
diff --git a/source/blender/nodes/shader/nodes/node_shader_mixRgb.c b/source/blender/nodes/shader/nodes/node_shader_mixRgb.c
index ae2184d8237..2ffaf9bf4c5 100644
--- a/source/blender/nodes/shader/nodes/node_shader_mixRgb.c
+++ b/source/blender/nodes/shader/nodes/node_shader_mixRgb.c
@@ -88,13 +88,19 @@ static int gpu_shader_mix_rgb(GPUMaterial *mat,
"mix_linear",
};
- int ret = GPU_stack_link(mat, node, names[node->custom1], in, out);
- if (ret && node->custom2 & SHD_MIXRGB_CLAMP) {
- float min[3] = {0.0f, 0.0f, 0.0f};
- float max[3] = {1.0f, 1.0f, 1.0f};
- GPU_link(mat, "clamp_color", out[0].link, GPU_constant(min), GPU_constant(max), &out[0].link);
+ if (node->custom1 < ARRAY_SIZE(names) && names[node->custom1]) {
+ int ret = GPU_stack_link(mat, node, names[node->custom1], in, out);
+ if (ret && node->custom2 & SHD_MIXRGB_CLAMP) {
+ float min[3] = {0.0f, 0.0f, 0.0f};
+ float max[3] = {1.0f, 1.0f, 1.0f};
+ GPU_link(
+ mat, "clamp_color", out[0].link, GPU_constant(min), GPU_constant(max), &out[0].link);
+ }
+ return ret;
+ }
+ else {
+ return 0;
}
- return ret;
}
void register_node_type_sh_mix_rgb(void)
diff --git a/source/blender/nodes/shader/nodes/node_shader_tex_coord.c b/source/blender/nodes/shader/nodes/node_shader_tex_coord.c
index 637aeb3c182..8bb17acc4d3 100644
--- a/source/blender/nodes/shader/nodes/node_shader_tex_coord.c
+++ b/source/blender/nodes/shader/nodes/node_shader_tex_coord.c
@@ -45,14 +45,17 @@ static int node_shader_gpu_tex_coord(GPUMaterial *mat,
GPUNodeLink *inv_obmat = (ob != NULL) ? GPU_uniform(&ob->imat[0][0]) :
GPU_builtin(GPU_INVERSE_OBJECT_MATRIX);
- /* TODO only request orco if needed. */
- GPUNodeLink *orco = GPU_attribute(CD_ORCO, "");
+ /* Opti: don't request orco if not needed. */
+ GPUNodeLink *orco = (!out[0].hasoutput) ? GPU_constant((float[4]){0.0f, 0.0f, 0.0f, 0.0f}) :
+ GPU_attribute(CD_ORCO, "");
GPUNodeLink *mtface = GPU_attribute(CD_MTFACE, "");
GPUNodeLink *viewpos = GPU_builtin(GPU_VIEW_POSITION);
GPUNodeLink *worldnor = GPU_builtin(GPU_WORLD_NORMAL);
GPUNodeLink *texcofacs = GPU_builtin(GPU_CAMERA_TEXCO_FACTORS);
- GPU_link(mat, "generated_from_orco", orco, &orco);
+ if (out[0].hasoutput) {
+ GPU_link(mat, "generated_from_orco", orco, &orco);
+ }
GPU_stack_link(
mat, node, "node_tex_coord", in, out, viewpos, worldnor, inv_obmat, texcofacs, orco, mtface);
@@ -60,6 +63,14 @@ static int node_shader_gpu_tex_coord(GPUMaterial *mat,
/* for each output. */
for (int i = 0; sh_node_tex_coord_out[i].type != -1; i++) {
node_shader_gpu_bump_tex_coord(mat, node, &out[i].link);
+ /* Normalize some vectors after dFdx/dFdy offsets.
+ * This is the case for interpolated, non linear functions.
+ * The resulting vector can still be a bit wrong but not as much.
+ * (see T70644) */
+ if (node->branch_tag != 0 && ELEM(i, 1, 6)) {
+ GPU_link(
+ mat, "vector_math_normalize", out[i].link, out[i].link, out[i].link, &out[i].link, NULL);
+ }
}
return 1;
diff --git a/source/blender/nodes/shader/nodes/node_shader_tex_musgrave.c b/source/blender/nodes/shader/nodes/node_shader_tex_musgrave.c
index daf4053f182..56e102a118d 100644
--- a/source/blender/nodes/shader/nodes/node_shader_tex_musgrave.c
+++ b/source/blender/nodes/shader/nodes/node_shader_tex_musgrave.c
@@ -136,8 +136,8 @@ static void node_shader_update_tex_musgrave(bNodeTree *UNUSED(ntree), bNode *nod
tex->musgrave_type != SHD_MUSGRAVE_MULTIFRACTAL &&
tex->musgrave_type != SHD_MUSGRAVE_FBM);
nodeSetSocketAvailability(inGainSock,
- tex->musgrave_type == SHD_MUSGRAVE_HYBRID_MULTIFRACTAL &&
- tex->musgrave_type != SHD_MUSGRAVE_RIDGED_MULTIFRACTAL);
+ tex->musgrave_type == SHD_MUSGRAVE_HYBRID_MULTIFRACTAL ||
+ tex->musgrave_type == SHD_MUSGRAVE_RIDGED_MULTIFRACTAL);
}
void register_node_type_sh_tex_musgrave(void)
diff --git a/source/blender/nodes/shader/nodes/node_shader_tex_white_noise.c b/source/blender/nodes/shader/nodes/node_shader_tex_white_noise.c
index c0f9a033476..ec4fedec27c 100644
--- a/source/blender/nodes/shader/nodes/node_shader_tex_white_noise.c
+++ b/source/blender/nodes/shader/nodes/node_shader_tex_white_noise.c
@@ -50,7 +50,12 @@ static int gpu_shader_tex_white_noise(GPUMaterial *mat,
"node_white_noise_4d",
};
- return GPU_stack_link(mat, node, names[node->custom1], in, out);
+ if (node->custom1 < ARRAY_SIZE(names) && names[node->custom1]) {
+ return GPU_stack_link(mat, node, names[node->custom1], in, out);
+ }
+ else {
+ return 0;
+ }
}
static void node_shader_update_tex_white_noise(bNodeTree *UNUSED(ntree), bNode *node)
diff --git a/source/blender/nodes/shader/nodes/node_shader_vector_math.c b/source/blender/nodes/shader/nodes/node_shader_vector_math.c
index 03de83655b5..ba53cfd1799 100644
--- a/source/blender/nodes/shader/nodes/node_shader_vector_math.c
+++ b/source/blender/nodes/shader/nodes/node_shader_vector_math.c
@@ -65,8 +65,12 @@ static int gpu_shader_vector_math(GPUMaterial *mat,
[NODE_VECTOR_MATH_MAXIMUM] = "vector_math_maximum",
};
- GPU_stack_link(mat, node, names[node->custom1], in, out);
- return true;
+ if (node->custom1 < ARRAY_SIZE(names) && names[node->custom1]) {
+ return GPU_stack_link(mat, node, names[node->custom1], in, out);
+ }
+ else {
+ return 0;
+ }
}
static void node_shader_update_vector_math(bNodeTree *UNUSED(ntree), bNode *node)
diff --git a/source/blender/python/bmesh/bmesh_py_ops.c b/source/blender/python/bmesh/bmesh_py_ops.c
index fd37c8521c1..b6ba119f695 100644
--- a/source/blender/python/bmesh/bmesh_py_ops.c
+++ b/source/blender/python/bmesh/bmesh_py_ops.c
@@ -166,10 +166,10 @@ static PyTypeObject bmesh_op_Type = {
sizeof(BPy_BMeshOpFunc), /* tp_basicsize */
0, /* tp_itemsize */
/* methods */
- NULL, /* tp_dealloc */
- NULL, /* printfunc tp_print; */
- NULL, /* getattrfunc tp_getattr; */
- NULL, /* setattrfunc tp_setattr; */
+ NULL, /* tp_dealloc */
+ (printfunc)NULL, /* printfunc tp_print; */
+ NULL, /* getattrfunc tp_getattr; */
+ NULL, /* setattrfunc tp_setattr; */
NULL,
/* tp_compare */ /* DEPRECATED in python 3.0! */
(reprfunc)bpy_bmesh_op_repr, /* tp_repr */
@@ -282,10 +282,10 @@ static PyTypeObject bmesh_ops_fakemod_Type = {
0, /* tp_basicsize */
0, /* tp_itemsize */
/* methods */
- NULL, /* tp_dealloc */
- NULL, /* printfunc tp_print; */
- NULL, /* getattrfunc tp_getattr; */
- NULL, /* setattrfunc tp_setattr; */
+ NULL, /* tp_dealloc */
+ (printfunc)NULL, /* printfunc tp_print; */
+ NULL, /* getattrfunc tp_getattr; */
+ NULL, /* setattrfunc tp_setattr; */
NULL,
/* tp_compare */ /* DEPRECATED in python 3.0! */
NULL, /* tp_repr */
diff --git a/source/blender/python/generic/blf_py_api.c b/source/blender/python/generic/blf_py_api.c
index b90483e89b9..62f5a568ee1 100644
--- a/source/blender/python/generic/blf_py_api.c
+++ b/source/blender/python/generic/blf_py_api.c
@@ -20,6 +20,9 @@
* This file defines the 'bgl' module, used for drawing text in OpenGL.
*/
+/* Future-proof, See https://docs.python.org/3/c-api/arg.html#strings-and-buffers */
+#define PY_SSIZE_T_CLEAN
+
#include <Python.h>
#include "blf_py_api.h"
@@ -176,7 +179,7 @@ PyDoc_STRVAR(py_blf_draw_doc,
static PyObject *py_blf_draw(PyObject *UNUSED(self), PyObject *args)
{
const char *text;
- int text_length;
+ Py_ssize_t text_length;
int fontid;
if (!PyArg_ParseTuple(args, "is#:blf.draw", &fontid, &text, &text_length)) {
diff --git a/source/blender/python/generic/idprop_py_api.c b/source/blender/python/generic/idprop_py_api.c
index 16b2f2dba6d..1ea7795a0e3 100644
--- a/source/blender/python/generic/idprop_py_api.c
+++ b/source/blender/python/generic/idprop_py_api.c
@@ -897,7 +897,7 @@ static PyObject *BPy_IDGroup_pop(BPy_IDProperty *self, PyObject *args)
pyform = BPy_IDGroup_MapDataToPy(idprop);
if (pyform == NULL) {
- /* ok something bad happened with the pyobject,
+ /* ok something bad happened with the #PyObject,
* so don't remove the prop from the group. if pyform is
* NULL, then it already should have raised an exception.*/
return NULL;
@@ -1172,7 +1172,7 @@ PyTypeObject BPy_IDGroup_Type = {
/* Methods to implement standard operations */
NULL, /* destructor tp_dealloc; */
- NULL, /* printfunc tp_print; */
+ (printfunc)NULL, /* printfunc tp_print; */
NULL, /* getattrfunc tp_getattr; */
NULL, /* setattrfunc tp_setattr; */
NULL, /* cmpfunc tp_compare; */
@@ -1577,7 +1577,7 @@ PyTypeObject BPy_IDArray_Type = {
/* Methods to implement standard operations */
NULL, /* destructor tp_dealloc; */
- NULL, /* printfunc tp_print; */
+ (printfunc)NULL, /* printfunc tp_print; */
NULL, /* getattrfunc tp_getattr; */
NULL, /* setattrfunc tp_setattr; */
NULL, /* cmpfunc tp_compare; */
@@ -1692,7 +1692,7 @@ PyTypeObject BPy_IDGroup_Iter_Type = {
/* Methods to implement standard operations */
NULL, /* destructor tp_dealloc; */
- NULL, /* printfunc tp_print; */
+ (printfunc)NULL, /* printfunc tp_print; */
NULL, /* getattrfunc tp_getattr; */
NULL, /* setattrfunc tp_setattr; */
NULL, /* cmpfunc tp_compare; */
diff --git a/source/blender/python/generic/imbuf_py_api.c b/source/blender/python/generic/imbuf_py_api.c
index 593145476ad..d35fc027f43 100644
--- a/source/blender/python/generic/imbuf_py_api.c
+++ b/source/blender/python/generic/imbuf_py_api.c
@@ -88,21 +88,37 @@ PyDoc_STRVAR(py_imbuf_resize_doc,
"\n"
" :arg size: New size.\n"
" :type size: pair of ints\n"
- " :arg method: Method of resizing (TODO)\n"
+ " :arg method: Method of resizing ('FAST', 'BILINEAR')\n"
" :type method: str\n");
static PyObject *py_imbuf_resize(Py_ImBuf *self, PyObject *args, PyObject *kw)
{
PY_IMBUF_CHECK_OBJ(self);
uint size[2];
- char *method = NULL;
+
+ enum { FAST, BILINEAR };
+ const struct PyC_StringEnumItems method_items[] = {
+ {FAST, "FAST"},
+ {BILINEAR, "BILINEAR"},
+ {0, NULL},
+ };
+ struct PyC_StringEnum method = {method_items, FAST};
static const char *_keywords[] = {"size", "method", NULL};
- static _PyArg_Parser _parser = {"(II)|s:resize", _keywords, 0};
- if (!_PyArg_ParseTupleAndKeywordsFast(args, kw, &_parser, &size[0], &size[1], &method)) {
+ static _PyArg_Parser _parser = {"(II)|O&:resize", _keywords, 0};
+ if (!_PyArg_ParseTupleAndKeywordsFast(
+ args, kw, &_parser, &size[0], &size[1], PyC_ParseStringEnum, &method)) {
return NULL;
}
- IMB_scaleImBuf(self->ibuf, UNPACK2(size));
+ if (method.value_found == FAST) {
+ IMB_scalefastImBuf(self->ibuf, UNPACK2(size));
+ }
+ else if (method.value_found == BILINEAR) {
+ IMB_scaleImBuf(self->ibuf, UNPACK2(size));
+ }
+ else {
+ BLI_assert(0);
+ }
Py_RETURN_NONE;
}
@@ -332,7 +348,7 @@ PyTypeObject Py_ImBuf_Type = {
/* Methods to implement standard operations */
(destructor)py_imbuf_dealloc, /* destructor tp_dealloc; */
- NULL, /* printfunc tp_print; */
+ (printfunc)NULL, /* printfunc tp_print; */
NULL, /* getattrfunc tp_getattr; */
NULL, /* setattrfunc tp_setattr; */
NULL, /* cmpfunc tp_compare; */
@@ -447,7 +463,7 @@ static PyObject *M_imbuf_load(PyObject *UNUSED(self), PyObject *args, PyObject *
const int file = BLI_open(filepath, O_BINARY | O_RDONLY, 0);
if (file == -1) {
- PyErr_Format(PyExc_IOError, "load: %s, failed to open file '%s'", strerror(errno));
+ PyErr_Format(PyExc_IOError, "load: %s, failed to open file '%s'", strerror(errno), filepath);
return NULL;
}
diff --git a/source/blender/python/generic/py_capi_utils.c b/source/blender/python/generic/py_capi_utils.c
index ca9f15ed01a..8470d1ccdf3 100644
--- a/source/blender/python/generic/py_capi_utils.c
+++ b/source/blender/python/generic/py_capi_utils.c
@@ -25,6 +25,9 @@
* BLI_string_utf8() for unicode conversion.
*/
+/* Future-proof, See https://docs.python.org/3/c-api/arg.html#strings-and-buffers */
+#define PY_SSIZE_T_CLEAN
+
#include <Python.h>
#include <frameobject.h>
@@ -34,9 +37,11 @@
#include "python_utildefines.h"
-#include "BLI_string.h"
-
#ifndef MATH_STANDALONE
+# include "MEM_guardedalloc.h"
+
+# include "BLI_string.h"
+
/* Only for BLI_strncpy_wchar_from_utf8,
* should replace with py funcs but too late in release now. */
# include "BLI_string_utf8.h"
@@ -231,6 +236,37 @@ int PyC_ParseBool(PyObject *o, void *p)
return 1;
}
+/**
+ * Use with PyArg_ParseTuple's "O&" formatting.
+ */
+int PyC_ParseStringEnum(PyObject *o, void *p)
+{
+ struct PyC_StringEnum *e = p;
+ const char *value = _PyUnicode_AsString(o);
+ if (value == NULL) {
+ PyErr_Format(PyExc_ValueError, "expected a string, got %s", Py_TYPE(o)->tp_name);
+ return 0;
+ }
+ int i;
+ for (i = 0; e->items[i].id; i++) {
+ if (STREQ(e->items[i].id, value)) {
+ e->value_found = e->items[i].value;
+ return 1;
+ }
+ }
+
+ /* Set as a precaution. */
+ e->value_found = -1;
+
+ PyObject *enum_items = PyTuple_New(i);
+ for (i = 0; e->items[i].id; i++) {
+ PyTuple_SET_ITEM(enum_items, i, PyUnicode_FromString(e->items[i].id));
+ }
+ PyErr_Format(PyExc_ValueError, "expected a string in %S, got '%s'", enum_items, value);
+ Py_DECREF(enum_items);
+ return 0;
+}
+
/* silly function, we dont use arg. just check its compatible with __deepcopy__ */
int PyC_CheckArgs_DeepCopy(PyObject *args)
{
@@ -717,9 +753,10 @@ PyObject *PyC_UnicodeFromByte(const char *str)
****************************************************************************/
PyObject *PyC_DefaultNameSpace(const char *filename)
{
- PyInterpreterState *interp = PyThreadState_GET()->interp;
+ PyObject *modules = PyImport_GetModuleDict();
+ PyObject *builtins = PyEval_GetBuiltins();
PyObject *mod_main = PyModule_New("__main__");
- PyDict_SetItemString(interp->modules, "__main__", mod_main);
+ PyDict_SetItemString(modules, "__main__", mod_main);
Py_DECREF(mod_main); /* sys.modules owns now */
PyModule_AddStringConstant(mod_main, "__name__", "__main__");
if (filename) {
@@ -727,8 +764,8 @@ PyObject *PyC_DefaultNameSpace(const char *filename)
* note: this wont map to a real file when executing text-blocks and buttons. */
PyModule_AddObject(mod_main, "__file__", PyC_UnicodeFromByte(filename));
}
- PyModule_AddObject(mod_main, "__builtins__", interp->builtins);
- Py_INCREF(interp->builtins); /* AddObject steals a reference */
+ PyModule_AddObject(mod_main, "__builtins__", builtins);
+ Py_INCREF(builtins); /* AddObject steals a reference */
return PyModule_GetDict(mod_main);
}
@@ -755,15 +792,15 @@ bool PyC_NameSpace_ImportArray(PyObject *py_dict, const char *imports[])
/* restore MUST be called after this */
void PyC_MainModule_Backup(PyObject **main_mod)
{
- PyInterpreterState *interp = PyThreadState_GET()->interp;
- *main_mod = PyDict_GetItemString(interp->modules, "__main__");
+ PyObject *modules = PyImport_GetModuleDict();
+ *main_mod = PyDict_GetItemString(modules, "__main__");
Py_XINCREF(*main_mod); /* don't free */
}
void PyC_MainModule_Restore(PyObject *main_mod)
{
- PyInterpreterState *interp = PyThreadState_GET()->interp;
- PyDict_SetItemString(interp->modules, "__main__", main_mod);
+ PyObject *modules = PyImport_GetModuleDict();
+ PyDict_SetItemString(modules, "__main__", main_mod);
Py_XDECREF(main_mod);
}
@@ -836,7 +873,7 @@ void PyC_RunQuicky(const char *filepath, int n, ...)
va_list vargs;
- int *sizes = PyMem_MALLOC(sizeof(int) * (n / 2));
+ Py_ssize_t *sizes = PyMem_MALLOC(sizeof(*sizes) * (n / 2));
int i;
PyObject *py_dict = PyC_DefaultNameSpace(filepath);
@@ -1009,23 +1046,15 @@ void *PyC_RNA_AsPointer(PyObject *value, const char *type_name)
}
}
-/* PyC_FlagSet_* functions - so flags/sets can be interchanged in a generic way */
-# include "BLI_dynstr.h"
-# include "MEM_guardedalloc.h"
-
-char *PyC_FlagSet_AsString(PyC_FlagSet *item)
+PyObject *PyC_FlagSet_AsString(PyC_FlagSet *item)
{
- DynStr *dynstr = BLI_dynstr_new();
- PyC_FlagSet *e;
- char *cstring;
-
- for (e = item; item->identifier; item++) {
- BLI_dynstr_appendf(dynstr, (e == item) ? "'%s'" : ", '%s'", item->identifier);
+ PyObject *py_items = PyList_New(0);
+ for (; item->identifier; item++) {
+ PyList_APPEND(py_items, PyUnicode_FromString(item->identifier));
}
-
- cstring = BLI_dynstr_get_cstring(dynstr);
- BLI_dynstr_free(dynstr);
- return cstring;
+ PyObject *py_string = PyObject_Repr(py_items);
+ Py_DECREF(py_items);
+ return py_string;
}
int PyC_FlagSet_ValueFromID_int(PyC_FlagSet *item, const char *identifier, int *r_value)
@@ -1046,10 +1075,10 @@ int PyC_FlagSet_ValueFromID(PyC_FlagSet *item,
const char *error_prefix)
{
if (PyC_FlagSet_ValueFromID_int(item, identifier, r_value) == 0) {
- const char *enum_str = PyC_FlagSet_AsString(item);
+ PyObject *enum_str = PyC_FlagSet_AsString(item);
PyErr_Format(
- PyExc_ValueError, "%s: '%.200s' not found in (%s)", error_prefix, identifier, enum_str);
- MEM_freeN((void *)enum_str);
+ PyExc_ValueError, "%s: '%.200s' not found in (%U)", error_prefix, identifier, enum_str);
+ Py_DECREF(enum_str);
return -1;
}
diff --git a/source/blender/python/generic/py_capi_utils.h b/source/blender/python/generic/py_capi_utils.h
index 4454aa11d77..5be44ad1af6 100644
--- a/source/blender/python/generic/py_capi_utils.h
+++ b/source/blender/python/generic/py_capi_utils.h
@@ -99,7 +99,7 @@ typedef struct PyC_FlagSet {
const char *identifier;
} PyC_FlagSet;
-char *PyC_FlagSet_AsString(PyC_FlagSet *item);
+PyObject *PyC_FlagSet_AsString(PyC_FlagSet *item);
int PyC_FlagSet_ValueFromID_int(PyC_FlagSet *item, const char *identifier, int *r_value);
int PyC_FlagSet_ValueFromID(PyC_FlagSet *item,
const char *identifier,
@@ -126,6 +126,17 @@ bool PyC_RunString_AsString(const char **imports,
int PyC_ParseBool(PyObject *o, void *p);
+struct PyC_StringEnumItems {
+ int value;
+ const char *id;
+};
+struct PyC_StringEnum {
+ const struct PyC_StringEnumItems *items;
+ int value_found;
+};
+
+int PyC_ParseStringEnum(PyObject *o, void *p);
+
int PyC_CheckArgs_DeepCopy(PyObject *args);
/* Integer parsing (with overflow checks), -1 on error. */
diff --git a/source/blender/python/gpu/gpu_py_offscreen.c b/source/blender/python/gpu/gpu_py_offscreen.c
index 70f76896898..6505e59624b 100644
--- a/source/blender/python/gpu/gpu_py_offscreen.c
+++ b/source/blender/python/gpu/gpu_py_offscreen.c
@@ -183,7 +183,7 @@ static PyObject *bpygpu_offscreen_unbind(BPyGPUOffScreen *self, PyObject *args,
PyDoc_STRVAR(
bpygpu_offscreen_draw_view3d_doc,
- ".. method:: draw_view3d(scene, view3d, region, view_matrix, projection_matrix)\n"
+ ".. method:: draw_view3d(scene, view_layer, view3d, region, view_matrix, projection_matrix)\n"
"\n"
" Draw the 3d viewport in the offscreen object.\n"
"\n"
diff --git a/source/blender/python/intern/bpy.c b/source/blender/python/intern/bpy.c
index 8c34699b598..52b35478dd0 100644
--- a/source/blender/python/intern/bpy.c
+++ b/source/blender/python/intern/bpy.c
@@ -147,39 +147,28 @@ static PyObject *bpy_blend_paths(PyObject *UNUSED(self), PyObject *args, PyObjec
// PyDoc_STRVAR(bpy_user_resource_doc[] = // now in bpy/utils.py
static PyObject *bpy_user_resource(PyObject *UNUSED(self), PyObject *args, PyObject *kw)
{
- const char *type;
+ const struct PyC_StringEnumItems type_items[] = {
+ {BLENDER_USER_DATAFILES, "DATAFILES"},
+ {BLENDER_USER_CONFIG, "CONFIG"},
+ {BLENDER_USER_SCRIPTS, "SCRIPTS"},
+ {BLENDER_USER_AUTOSAVE, "AUTOSAVE"},
+ {0, NULL},
+ };
+ struct PyC_StringEnum type = {type_items};
+
const char *subdir = NULL;
- int folder_id;
const char *path;
static const char *_keywords[] = {"type", "subdir", NULL};
- static _PyArg_Parser _parser = {"s|s:user_resource", _keywords, 0};
- if (!_PyArg_ParseTupleAndKeywordsFast(args, kw, &_parser, &type, &subdir)) {
- return NULL;
- }
-
- /* stupid string compare */
- if (STREQ(type, "DATAFILES")) {
- folder_id = BLENDER_USER_DATAFILES;
- }
- else if (STREQ(type, "CONFIG")) {
- folder_id = BLENDER_USER_CONFIG;
- }
- else if (STREQ(type, "SCRIPTS")) {
- folder_id = BLENDER_USER_SCRIPTS;
- }
- else if (STREQ(type, "AUTOSAVE")) {
- folder_id = BLENDER_USER_AUTOSAVE;
- }
- else {
- PyErr_SetString(PyExc_ValueError, "invalid resource argument");
+ static _PyArg_Parser _parser = {"O&|s:user_resource", _keywords, 0};
+ if (!_PyArg_ParseTupleAndKeywordsFast(args, kw, &_parser, PyC_ParseStringEnum, &type, &subdir)) {
return NULL;
}
/* same logic as BKE_appdir_folder_id_create(),
* but best leave it up to the script author to create */
- path = BKE_appdir_folder_id_user_notest(folder_id, subdir);
+ path = BKE_appdir_folder_id_user_notest(type.value_found, subdir);
return PyC_UnicodeFromByte(path ? path : "");
}
@@ -195,34 +184,25 @@ PyDoc_STRVAR(bpy_system_resource_doc,
" :type path: string\n");
static PyObject *bpy_system_resource(PyObject *UNUSED(self), PyObject *args, PyObject *kw)
{
- const char *type;
+ const struct PyC_StringEnumItems type_items[] = {
+ {BLENDER_SYSTEM_DATAFILES, "DATAFILES"},
+ {BLENDER_SYSTEM_SCRIPTS, "SCRIPTS"},
+ {BLENDER_SYSTEM_PYTHON, "PYTHON"},
+ {0, NULL},
+ };
+ struct PyC_StringEnum type = {type_items};
+
const char *subdir = NULL;
- int folder_id;
const char *path;
static const char *_keywords[] = {"type", "path", NULL};
- static _PyArg_Parser _parser = {"s|s:system_resource", _keywords, 0};
- if (!_PyArg_ParseTupleAndKeywordsFast(args, kw, &_parser, &type, &subdir)) {
+ static _PyArg_Parser _parser = {"O&|s:system_resource", _keywords, 0};
+ if (!_PyArg_ParseTupleAndKeywordsFast(args, kw, &_parser, PyC_ParseStringEnum, &type, &subdir)) {
return NULL;
}
- /* stupid string compare */
- if (STREQ(type, "DATAFILES")) {
- folder_id = BLENDER_SYSTEM_DATAFILES;
- }
- else if (STREQ(type, "SCRIPTS")) {
- folder_id = BLENDER_SYSTEM_SCRIPTS;
- }
- else if (STREQ(type, "PYTHON")) {
- folder_id = BLENDER_SYSTEM_PYTHON;
- }
- else {
- PyErr_SetString(PyExc_ValueError, "invalid resource argument");
- return NULL;
- }
-
- path = BKE_appdir_folder_id(folder_id, subdir);
+ path = BKE_appdir_folder_id(type.value_found, subdir);
return PyC_UnicodeFromByte(path ? path : "");
}
@@ -243,33 +223,25 @@ PyDoc_STRVAR(
" :rtype: string\n");
static PyObject *bpy_resource_path(PyObject *UNUSED(self), PyObject *args, PyObject *kw)
{
- const char *type;
+ const struct PyC_StringEnumItems type_items[] = {
+ {BLENDER_RESOURCE_PATH_USER, "USER"},
+ {BLENDER_RESOURCE_PATH_LOCAL, "LOCAL"},
+ {BLENDER_RESOURCE_PATH_SYSTEM, "SYSTEM"},
+ {0, NULL},
+ };
+ struct PyC_StringEnum type = {type_items};
+
int major = BLENDER_VERSION / 100, minor = BLENDER_VERSION % 100;
- int folder_id;
const char *path;
static const char *_keywords[] = {"type", "major", "minor", NULL};
- static _PyArg_Parser _parser = {"s|ii:resource_path", _keywords, 0};
- if (!_PyArg_ParseTupleAndKeywordsFast(args, kw, &_parser, &type, &major, &minor)) {
- return NULL;
- }
-
- /* stupid string compare */
- if (STREQ(type, "USER")) {
- folder_id = BLENDER_RESOURCE_PATH_USER;
- }
- else if (STREQ(type, "LOCAL")) {
- folder_id = BLENDER_RESOURCE_PATH_LOCAL;
- }
- else if (STREQ(type, "SYSTEM")) {
- folder_id = BLENDER_RESOURCE_PATH_SYSTEM;
- }
- else {
- PyErr_SetString(PyExc_ValueError, "invalid resource argument");
+ static _PyArg_Parser _parser = {"O&|ii:resource_path", _keywords, 0};
+ if (!_PyArg_ParseTupleAndKeywordsFast(
+ args, kw, &_parser, PyC_ParseStringEnum, &type, &major, &minor)) {
return NULL;
}
- path = BKE_appdir_folder_id_version(folder_id, (major * 100) + minor, false);
+ path = BKE_appdir_folder_id_version(type.value_found, (major * 100) + minor, false);
return PyC_UnicodeFromByte(path ? path : "");
}
diff --git a/source/blender/python/intern/bpy_app_translations.c b/source/blender/python/intern/bpy_app_translations.c
index 3c1dbfba72e..fffa43c1dcd 100644
--- a/source/blender/python/intern/bpy_app_translations.c
+++ b/source/blender/python/intern/bpy_app_translations.c
@@ -780,10 +780,10 @@ static PyTypeObject BlenderAppTranslationsType = {
0, /* tp_itemsize */
/* methods */
/* No destructor, this is a singleton! */
- NULL, /* tp_dealloc */
- NULL, /* printfunc tp_print; */
- NULL, /* getattrfunc tp_getattr; */
- NULL, /* setattrfunc tp_setattr; */
+ NULL, /* tp_dealloc */
+ (printfunc)NULL, /* printfunc tp_print; */
+ NULL, /* getattrfunc tp_getattr; */
+ NULL, /* setattrfunc tp_setattr; */
NULL,
/* tp_compare */ /* DEPRECATED in python 3.0! */
NULL, /* tp_repr */
diff --git a/source/blender/python/intern/bpy_library_load.c b/source/blender/python/intern/bpy_library_load.c
index 5ea16c8c197..b797624f23c 100644
--- a/source/blender/python/intern/bpy_library_load.c
+++ b/source/blender/python/intern/bpy_library_load.c
@@ -92,7 +92,7 @@ static PyTypeObject bpy_lib_Type = {
0, /* tp_itemsize */
/* methods */
(destructor)bpy_lib_dealloc, /* tp_dealloc */
- NULL, /* printfunc tp_print; */
+ (printfunc)NULL, /* printfunc tp_print; */
NULL, /* getattrfunc tp_getattr; */
NULL, /* setattrfunc tp_setattr; */
NULL,
diff --git a/source/blender/python/intern/bpy_msgbus.c b/source/blender/python/intern/bpy_msgbus.c
index 630a0392dbd..db410fc10b1 100644
--- a/source/blender/python/intern/bpy_msgbus.c
+++ b/source/blender/python/intern/bpy_msgbus.c
@@ -307,7 +307,9 @@ static PyObject *bpy_msgbus_subscribe_rna(PyObject *UNUSED(self), PyObject *args
WM_msg_subscribe_rna_params(mbus, &msg_key_params, &msg_val_params, __func__);
- WM_msg_dump(mbus, __func__);
+ if (0) { /* For debugging. */
+ WM_msg_dump(mbus, __func__);
+ }
Py_RETURN_NONE;
}
diff --git a/source/blender/python/intern/bpy_props.c b/source/blender/python/intern/bpy_props.c
index 6b63d1ef2c3..4fd81a707fb 100644
--- a/source/blender/python/intern/bpy_props.c
+++ b/source/blender/python/intern/bpy_props.c
@@ -22,6 +22,9 @@
* existing blender types.
*/
+/* Future-proof, See https://docs.python.org/3/c-api/arg.html#strings-and-buffers */
+#define PY_SSIZE_T_CLEAN
+
#include <Python.h>
#include "RNA_types.h"
@@ -2101,7 +2104,7 @@ static PyObject *BPy_BoolProperty(PyObject *self, PyObject *args, PyObject *kw)
if (srna) {
const char *id = NULL, *name = NULL, *description = "";
- int id_len;
+ Py_ssize_t id_len;
bool def = false;
PropertyRNA *prop;
PyObject *pyopts = NULL;
@@ -2204,7 +2207,7 @@ static PyObject *BPy_BoolVectorProperty(PyObject *self, PyObject *args, PyObject
if (srna) {
const char *id = NULL, *name = NULL, *description = "";
- int id_len;
+ Py_ssize_t id_len;
bool def[PYRNA_STACK_ARRAY] = {0};
int size = 3;
PropertyRNA *prop;
@@ -2336,7 +2339,7 @@ static PyObject *BPy_IntProperty(PyObject *self, PyObject *args, PyObject *kw)
if (srna) {
const char *id = NULL, *name = NULL, *description = "";
- int id_len;
+ Py_ssize_t id_len;
int min = INT_MIN, max = INT_MAX, soft_min = INT_MIN, soft_max = INT_MAX, step = 1, def = 0;
PropertyRNA *prop;
PyObject *pyopts = NULL;
@@ -2456,7 +2459,7 @@ static PyObject *BPy_IntVectorProperty(PyObject *self, PyObject *args, PyObject
if (srna) {
const char *id = NULL, *name = NULL, *description = "";
- int id_len;
+ Py_ssize_t id_len;
int min = INT_MIN, max = INT_MAX, soft_min = INT_MIN, soft_max = INT_MAX, step = 1;
int def[PYRNA_STACK_ARRAY] = {0};
int size = 3;
@@ -2599,7 +2602,7 @@ static PyObject *BPy_FloatProperty(PyObject *self, PyObject *args, PyObject *kw)
if (srna) {
const char *id = NULL, *name = NULL, *description = "";
- int id_len;
+ Py_ssize_t id_len;
float min = -FLT_MAX, max = FLT_MAX, soft_min = -FLT_MAX, soft_max = FLT_MAX, step = 3,
def = 0.0f;
int precision = 2;
@@ -2735,7 +2738,7 @@ static PyObject *BPy_FloatVectorProperty(PyObject *self, PyObject *args, PyObjec
if (srna) {
const char *id = NULL, *name = NULL, *description = "";
- int id_len;
+ Py_ssize_t id_len;
float min = -FLT_MAX, max = FLT_MAX, soft_min = -FLT_MAX, soft_max = FLT_MAX, step = 3;
float def[PYRNA_STACK_ARRAY] = {0.0f};
int precision = 2, size = 3;
@@ -2869,7 +2872,7 @@ static PyObject *BPy_StringProperty(PyObject *self, PyObject *args, PyObject *kw
if (srna) {
const char *id = NULL, *name = NULL, *description = "", *def = "";
- int id_len;
+ Py_ssize_t id_len;
int maxlen = 0;
PropertyRNA *prop;
PyObject *pyopts = NULL;
@@ -3015,7 +3018,7 @@ static PyObject *BPy_EnumProperty(PyObject *self, PyObject *args, PyObject *kw)
if (srna) {
const char *id = NULL, *name = NULL, *description = "";
PyObject *def = NULL;
- int id_len;
+ Py_ssize_t id_len;
int defvalue = 0;
PyObject *items, *items_fast;
const EnumPropertyItem *eitems;
@@ -3191,7 +3194,7 @@ PyObject *BPy_PointerProperty(PyObject *self, PyObject *args, PyObject *kw)
if (srna) {
const char *id = NULL, *name = NULL, *description = "";
- int id_len;
+ Py_ssize_t id_len;
PropertyRNA *prop;
StructRNA *ptype;
PyObject *type = Py_None;
@@ -3286,7 +3289,7 @@ PyObject *BPy_CollectionProperty(PyObject *self, PyObject *args, PyObject *kw)
BPY_PROPDEF_HEAD(CollectionProperty);
if (srna) {
- int id_len;
+ Py_ssize_t id_len;
const char *id = NULL, *name = NULL, *description = "";
PropertyRNA *prop;
StructRNA *ptype;
diff --git a/source/blender/python/intern/bpy_rna.c b/source/blender/python/intern/bpy_rna.c
index 9b5a9a160ba..570c5012ed8 100644
--- a/source/blender/python/intern/bpy_rna.c
+++ b/source/blender/python/intern/bpy_rna.c
@@ -70,6 +70,8 @@
/* Only for types. */
#include "BKE_node.h"
+#include "DEG_depsgraph_query.h"
+
#include "../generic/idprop_py_api.h" /* For IDprop lookups. */
#include "../generic/py_capi_utils.h"
#include "../generic/python_utildefines.h"
@@ -918,7 +920,10 @@ static PyObject *pyrna_struct_repr(BPy_StructRNA *self)
tmp_str = PyUnicode_FromString(id->name + 2);
- if (RNA_struct_is_ID(self->ptr.type) && (id->flag & LIB_PRIVATE_DATA) == 0) {
+ if (DEG_get_original_id(id) != id) {
+ ret = PyUnicode_FromFormat("Evaluated %s %R", BKE_idcode_to_name(GS(id->name)), tmp_str);
+ }
+ else if (RNA_struct_is_ID(self->ptr.type) && (id->flag & LIB_PRIVATE_DATA) == 0) {
ret = PyUnicode_FromFormat(
"bpy.data.%s[%R]", BKE_idcode_to_name_plural(GS(id->name)), tmp_str);
}
@@ -926,14 +931,25 @@ static PyObject *pyrna_struct_repr(BPy_StructRNA *self)
const char *path;
ID *real_id = NULL;
path = RNA_path_from_real_ID_to_struct(G_MAIN, &self->ptr, &real_id);
- if (path) {
- if (real_id != id) {
+ if (path != NULL) {
+ /* 'real_id' may be NULL in some cases, although the only valid one is evaluated data,
+ * which should have already been caught above.
+ * So assert, but handle it without crashing for release builds. */
+ BLI_assert(real_id != NULL);
+
+ if (real_id != NULL) {
Py_DECREF(tmp_str);
tmp_str = PyUnicode_FromString(real_id->name + 2);
+ ret = PyUnicode_FromFormat(
+ "bpy.data.%s[%R].%s", BKE_idcode_to_name_plural(GS(real_id->name)), tmp_str, path);
+ }
+ else {
+ /* Can't find the path, print something useful as a fallback. */
+ ret = PyUnicode_FromFormat("bpy.data.%s[%R]...%s",
+ BKE_idcode_to_name_plural(GS(id->name)),
+ tmp_str,
+ RNA_struct_identifier(self->ptr.type));
}
- ret = PyUnicode_FromFormat(
- "bpy.data.%s[%R].%s", BKE_idcode_to_name_plural(GS(real_id->name)), tmp_str, path);
-
MEM_freeN((void *)path);
}
else {
@@ -1928,7 +1944,7 @@ static int pyrna_py_to_prop(
* layout.prop(self.properties, "filepath")
*
* we need to do this trick.
- * if the prop is not an operator type and the pyobject is an operator,
+ * if the prop is not an operator type and the PyObject is an operator,
* use its properties in place of itself.
*
* This is so bad that it is almost a good reason to do away with fake
@@ -3985,7 +4001,7 @@ static PyObject *pyrna_struct_type_recast(BPy_StructRNA *self)
}
/**
- * \note Return value is borrowed, caller must incref.
+ * \note Return value is borrowed, caller must #Py_INCREF.
*/
static PyObject *pyrna_struct_bl_rna_find_subclass_recursive(PyObject *cls, const char *id)
{
@@ -6221,10 +6237,10 @@ PyTypeObject pyrna_struct_meta_idprop_Type = {
0, /* tp_itemsize */
/* methods */
- NULL, /* tp_dealloc */
- NULL, /* printfunc tp_print; */
- NULL, /* getattrfunc tp_getattr; */
- NULL, /* setattrfunc tp_setattr; */
+ NULL, /* tp_dealloc */
+ (printfunc)NULL, /* printfunc tp_print; */
+ NULL, /* getattrfunc tp_getattr; */
+ NULL, /* setattrfunc tp_setattr; */
NULL,
/* tp_compare */ /* deprecated in Python 3.0! */
NULL, /* tp_repr */
@@ -6303,7 +6319,7 @@ PyTypeObject pyrna_struct_Type = {
0, /* tp_itemsize */
/* methods */
(destructor)pyrna_struct_dealloc, /* tp_dealloc */
- NULL, /* printfunc tp_print; */
+ (printfunc)NULL, /* printfunc tp_print; */
NULL, /* getattrfunc tp_getattr; */
NULL, /* setattrfunc tp_setattr; */
NULL,
@@ -6392,7 +6408,7 @@ PyTypeObject pyrna_prop_Type = {
0, /* tp_itemsize */
/* methods */
(destructor)pyrna_prop_dealloc, /* tp_dealloc */
- NULL, /* printfunc tp_print; */
+ (printfunc)NULL, /* printfunc tp_print; */
NULL, /* getattrfunc tp_getattr; */
NULL, /* setattrfunc tp_setattr; */
NULL,
@@ -6476,7 +6492,7 @@ PyTypeObject pyrna_prop_array_Type = {
0, /* tp_itemsize */
/* methods */
(destructor)pyrna_prop_array_dealloc, /* tp_dealloc */
- NULL, /* printfunc tp_print; */
+ (printfunc)NULL, /* printfunc tp_print; */
NULL, /* getattrfunc tp_getattr; */
NULL, /* setattrfunc tp_setattr; */
NULL,
@@ -6559,7 +6575,7 @@ PyTypeObject pyrna_prop_collection_Type = {
0, /* tp_itemsize */
/* methods */
(destructor)pyrna_prop_dealloc, /* tp_dealloc */
- NULL, /* printfunc tp_print; */
+ (printfunc)NULL, /* printfunc tp_print; */
NULL, /* getattrfunc tp_getattr; */
NULL, /* setattrfunc tp_setattr; */
NULL,
@@ -6645,7 +6661,7 @@ static PyTypeObject pyrna_prop_collection_idprop_Type = {
0, /* tp_itemsize */
/* methods */
(destructor)pyrna_prop_dealloc, /* tp_dealloc */
- NULL, /* printfunc tp_print; */
+ (printfunc)NULL, /* printfunc tp_print; */
NULL, /* getattrfunc tp_getattr; */
NULL, /* setattrfunc tp_setattr; */
NULL,
@@ -6730,10 +6746,10 @@ PyTypeObject pyrna_func_Type = {
sizeof(BPy_FunctionRNA), /* tp_basicsize */
0, /* tp_itemsize */
/* methods */
- NULL, /* tp_dealloc */
- NULL, /* printfunc tp_print; */
- NULL, /* getattrfunc tp_getattr; */
- NULL, /* setattrfunc tp_setattr; */
+ NULL, /* tp_dealloc */
+ (printfunc)NULL, /* printfunc tp_print; */
+ NULL, /* getattrfunc tp_getattr; */
+ NULL, /* setattrfunc tp_setattr; */
NULL,
/* tp_compare */ /* DEPRECATED in Python 3.0! */
(reprfunc)pyrna_func_repr, /* tp_repr */
@@ -6827,7 +6843,7 @@ static PyTypeObject pyrna_prop_collection_iter_Type = {
0, /* tp_itemsize */
/* methods */
(destructor)pyrna_prop_collection_iter_dealloc, /* tp_dealloc */
- NULL, /* printfunc tp_print; */
+ (printfunc)NULL, /* printfunc tp_print; */
NULL, /* getattrfunc tp_getattr; */
NULL, /* setattrfunc tp_setattr; */
NULL,
@@ -7192,7 +7208,7 @@ static PyObject *pyrna_srna_Subtype(StructRNA *srna)
#endif
/* Newclass will now have 2 ref's, ???,
- * probably 1 is internal since decrefing here segfaults. */
+ * probably 1 is internal since #Py_DECREF here segfaults. */
/* PyC_ObSpit("new class ref", newclass); */
diff --git a/source/blender/python/mathutils/mathutils_Color.c b/source/blender/python/mathutils/mathutils_Color.c
index 4e21a8e0389..b587738c8d7 100644
--- a/source/blender/python/mathutils/mathutils_Color.c
+++ b/source/blender/python/mathutils/mathutils_Color.c
@@ -921,7 +921,7 @@ PyTypeObject color_Type = {
sizeof(ColorObject), /* tp_basicsize */
0, /* tp_itemsize */
(destructor)BaseMathObject_dealloc, /* tp_dealloc */
- NULL, /* tp_print */
+ (printfunc)NULL, /* tp_print */
NULL, /* tp_getattr */
NULL, /* tp_setattr */
NULL, /* tp_compare */
diff --git a/source/blender/python/mathutils/mathutils_Euler.c b/source/blender/python/mathutils/mathutils_Euler.c
index 56662465b52..3fd9bf666e2 100644
--- a/source/blender/python/mathutils/mathutils_Euler.c
+++ b/source/blender/python/mathutils/mathutils_Euler.c
@@ -750,7 +750,7 @@ PyTypeObject euler_Type = {
sizeof(EulerObject), /* tp_basicsize */
0, /* tp_itemsize */
(destructor)BaseMathObject_dealloc, /* tp_dealloc */
- NULL, /* tp_print */
+ (printfunc)NULL, /* tp_print */
NULL, /* tp_getattr */
NULL, /* tp_setattr */
NULL, /* tp_compare */
diff --git a/source/blender/python/mathutils/mathutils_Matrix.c b/source/blender/python/mathutils/mathutils_Matrix.c
index 6fd0fab2cdd..c6e6d395b6b 100644
--- a/source/blender/python/mathutils/mathutils_Matrix.c
+++ b/source/blender/python/mathutils/mathutils_Matrix.c
@@ -3141,7 +3141,7 @@ PyTypeObject matrix_Type = {
sizeof(MatrixObject), /*tp_basicsize*/
0, /*tp_itemsize*/
(destructor)BaseMathObject_dealloc, /*tp_dealloc*/
- NULL, /*tp_print*/
+ (printfunc)NULL, /*tp_print*/
NULL, /*tp_getattr*/
NULL, /*tp_setattr*/
NULL, /*tp_compare*/
@@ -3532,7 +3532,7 @@ PyTypeObject matrix_access_Type = {
sizeof(MatrixAccessObject), /*tp_basicsize*/
0, /*tp_itemsize*/
(destructor)MatrixAccess_dealloc, /*tp_dealloc*/
- NULL, /*tp_print*/
+ (printfunc)NULL, /*tp_print*/
NULL, /*tp_getattr*/
NULL, /*tp_setattr*/
NULL, /*tp_compare*/
diff --git a/source/blender/python/mathutils/mathutils_Quaternion.c b/source/blender/python/mathutils/mathutils_Quaternion.c
index 2b3aa29a366..0de1ffb9879 100644
--- a/source/blender/python/mathutils/mathutils_Quaternion.c
+++ b/source/blender/python/mathutils/mathutils_Quaternion.c
@@ -1527,7 +1527,7 @@ PyTypeObject quaternion_Type = {
sizeof(QuaternionObject), /* tp_basicsize */
0, /* tp_itemsize */
(destructor)BaseMathObject_dealloc, /* tp_dealloc */
- NULL, /* tp_print */
+ (printfunc)NULL, /* tp_print */
NULL, /* tp_getattr */
NULL, /* tp_setattr */
NULL, /* tp_compare */
diff --git a/source/blender/python/mathutils/mathutils_Vector.c b/source/blender/python/mathutils/mathutils_Vector.c
index 87de0ff546e..387e560d946 100644
--- a/source/blender/python/mathutils/mathutils_Vector.c
+++ b/source/blender/python/mathutils/mathutils_Vector.c
@@ -2351,26 +2351,26 @@ static PyObject *Vector_length_squared_get(VectorObject *self, void *UNUSED(clos
*
* axis_dict = {}
* axis_pos = {'x': 0, 'y': 1, 'z': 2, 'w': 3}
- * axises = 'xyzw'
- * while len(axises) >= 2:
- * for axis_0 in axises:
+ * axis_chars = 'xyzw'
+ * while len(axis_chars) >= 2:
+ * for axis_0 in axis_chars:
* axis_0_pos = axis_pos[axis_0]
- * for axis_1 in axises:
+ * for axis_1 in axis_chars:
* axis_1_pos = axis_pos[axis_1]
* axis_dict[axis_0 + axis_1] = (
* '((%s | SWIZZLE_VALID_AXIS) | '
* '((%s | SWIZZLE_VALID_AXIS) << SWIZZLE_BITS_PER_AXIS))' %
* (axis_0_pos, axis_1_pos))
- * if len(axises) > 2:
- * for axis_2 in axises:
+ * if len(axis_chars) > 2:
+ * for axis_2 in axis_chars:
* axis_2_pos = axis_pos[axis_2]
* axis_dict[axis_0 + axis_1 + axis_2] = (
* '((%s | SWIZZLE_VALID_AXIS) | '
* '((%s | SWIZZLE_VALID_AXIS) << SWIZZLE_BITS_PER_AXIS) | '
* '((%s | SWIZZLE_VALID_AXIS) << (SWIZZLE_BITS_PER_AXIS * 2)))' %
* (axis_0_pos, axis_1_pos, axis_2_pos))
- * if len(axises) > 3:
- * for axis_3 in axises:
+ * if len(axis_chars) > 3:
+ * for axis_3 in axis_chars:
* axis_3_pos = axis_pos[axis_3]
* axis_dict[axis_0 + axis_1 + axis_2 + axis_3] = (
* '((%s | SWIZZLE_VALID_AXIS) | '
@@ -2380,7 +2380,7 @@ static PyObject *Vector_length_squared_get(VectorObject *self, void *UNUSED(clos
* %
* (axis_0_pos, axis_1_pos, axis_2_pos, axis_3_pos))
*
- * axises = axises[:-1]
+ * axis_chars = axis_chars[:-1]
* items = list(axis_dict.items())
* items.sort(
* key=lambda a: a[0].replace('x', '0').replace('y', '1').replace('z', '2').replace('w', '3')
@@ -3055,7 +3055,7 @@ PyTypeObject vector_Type = {
/* Methods to implement standard operations */
(destructor)BaseMathObject_dealloc, /* destructor tp_dealloc; */
- NULL, /* printfunc tp_print; */
+ (printfunc)NULL, /* printfunc tp_print; */
NULL, /* getattrfunc tp_getattr; */
NULL, /* setattrfunc tp_setattr; */
NULL, /* cmpfunc tp_compare; */
diff --git a/source/blender/python/mathutils/mathutils_bvhtree.c b/source/blender/python/mathutils/mathutils_bvhtree.c
index 254177b14fe..d28b9a0de8f 100644
--- a/source/blender/python/mathutils/mathutils_bvhtree.c
+++ b/source/blender/python/mathutils/mathutils_bvhtree.c
@@ -1267,7 +1267,7 @@ PyTypeObject PyBVHTree_Type = {
0, /* tp_itemsize */
/* methods */
(destructor)py_bvhtree__tp_dealloc, /* tp_dealloc */
- NULL, /* tp_print */
+ (printfunc)NULL, /* tp_print */
NULL, /* tp_getattr */
NULL, /* tp_setattr */
NULL, /* tp_compare */
diff --git a/source/blender/python/mathutils/mathutils_geometry.c b/source/blender/python/mathutils/mathutils_geometry.c
index 13d36e5af91..fcb6a77bf36 100644
--- a/source/blender/python/mathutils/mathutils_geometry.c
+++ b/source/blender/python/mathutils/mathutils_geometry.c
@@ -810,7 +810,8 @@ static PyObject *M_Geometry_intersect_point_line(PyObject *UNUSED(self), PyObjec
PyDoc_STRVAR(M_Geometry_intersect_point_tri_doc,
".. function:: intersect_point_tri(pt, tri_p1, tri_p2, tri_p3)\n"
"\n"
- " Takes 4 vectors: one is the point and the next 3 define the triangle.\n"
+ " Takes 4 vectors: one is the point and the next 3 define the triangle. Projects "
+ "the point onto the triangle plane and checks if it is within the triangle.\n"
"\n"
" :arg pt: Point\n"
" :type pt: :class:`mathutils.Vector`\n"
@@ -853,6 +854,49 @@ static PyObject *M_Geometry_intersect_point_tri(PyObject *UNUSED(self), PyObject
}
}
+PyDoc_STRVAR(M_Geometry_closest_point_on_tri_doc,
+ ".. function:: closest_point_on_tri(pt, tri_p1, tri_p2, tri_p3)\n"
+ "\n"
+ " Takes 4 vectors: one is the point and the next 3 define the triangle.\n"
+ "\n"
+ " :arg pt: Point\n"
+ " :type pt: :class:`mathutils.Vector`\n"
+ " :arg tri_p1: First point of the triangle\n"
+ " :type tri_p1: :class:`mathutils.Vector`\n"
+ " :arg tri_p2: Second point of the triangle\n"
+ " :type tri_p2: :class:`mathutils.Vector`\n"
+ " :arg tri_p3: Third point of the triangle\n"
+ " :type tri_p3: :class:`mathutils.Vector`\n"
+ " :return: The closest point of the triangle.\n"
+ " :rtype: :class:`mathutils.Vector`\n");
+static PyObject *M_Geometry_closest_point_on_tri(PyObject *UNUSED(self), PyObject *args)
+{
+ const char *error_prefix = "closest_point_on_tri";
+ PyObject *py_pt, *py_tri[3];
+ float pt[3], tri[3][3];
+ float vi[3];
+ int i;
+
+ if (!PyArg_ParseTuple(args, "OOOO:closest_point_on_tri", &py_pt, UNPACK3_EX(&, py_tri, ))) {
+ return NULL;
+ }
+
+ if (mathutils_array_parse(pt, 2, 3 | MU_ARRAY_SPILL | MU_ARRAY_ZERO, py_pt, error_prefix) ==
+ -1) {
+ return NULL;
+ }
+ for (i = 0; i < ARRAY_SIZE(tri); i++) {
+ if (mathutils_array_parse(
+ tri[i], 2, 3 | MU_ARRAY_SPILL | MU_ARRAY_ZERO, py_tri[i], error_prefix) == -1) {
+ return NULL;
+ }
+ }
+
+ closest_on_tri_to_point_v3(vi, pt, UNPACK3(tri));
+
+ return Vector_CreatePyObject(vi, 3, NULL);
+}
+
PyDoc_STRVAR(
M_Geometry_intersect_point_tri_2d_doc,
".. function:: intersect_point_tri_2d(pt, tri_p1, tri_p2, tri_p3)\n"
@@ -1201,8 +1245,8 @@ static PyObject *M_Geometry_interpolate_bezier(PyObject *UNUSED(self), PyObject
PyDoc_STRVAR(M_Geometry_tessellate_polygon_doc,
".. function:: tessellate_polygon(veclist_list)\n"
"\n"
- " Takes a list of polylines (each point a vector) and returns the point indices "
- "for a polyline filled with triangles.\n"
+ " Takes a list of polylines (each point a pair or triplet of numbers) and returns "
+ "the point indices for a polyline filled with triangles.\n"
"\n"
" :arg veclist_list: list of polylines\n"
" :rtype: list\n");
@@ -1211,13 +1255,15 @@ static PyObject *M_Geometry_tessellate_polygon(PyObject *UNUSED(self), PyObject
{
PyObject *tri_list; /*return this list of tri's */
PyObject *polyLine, *polyVec;
- int i, len_polylines, len_polypoints, ls_error = 0;
+ int i, len_polylines, len_polypoints;
+ bool list_parse_error = false;
+ bool is_2d = true;
/* Display #ListBase. */
ListBase dispbase = {NULL, NULL};
DispList *dl;
float *fp; /*pointer to the array of malloced dl->verts to set the points from the vectors */
- int index, *dl_face, totpoints = 0;
+ int totpoints = 0;
if (!PySequence_Check(polyLineSeq)) {
PyErr_SetString(PyExc_TypeError, "expected a sequence of poly lines");
@@ -1238,15 +1284,6 @@ static PyObject *M_Geometry_tessellate_polygon(PyObject *UNUSED(self), PyObject
len_polypoints = PySequence_Size(polyLine);
if (len_polypoints > 0) { /* don't bother adding edges as polylines */
-# if 0
- if (EXPP_check_sequence_consistency(polyLine, &vector_Type) != 1) {
- freedisplist(&dispbase);
- Py_DECREF(polyLine);
- PyErr_SetString(PyExc_TypeError,
- "A point in one of the polylines is not a mathutils.Vector type");
- return NULL;
- }
-# endif
dl = MEM_callocN(sizeof(DispList), "poly disp");
BLI_addtail(&dispbase, dl);
dl->type = DL_INDEX3;
@@ -1254,49 +1291,38 @@ static PyObject *M_Geometry_tessellate_polygon(PyObject *UNUSED(self), PyObject
dl->type = DL_POLY;
dl->parts = 1; /* no faces, 1 edge loop */
dl->col = 0; /* no material */
- dl->verts = fp = MEM_callocN(sizeof(float) * 3 * len_polypoints, "dl verts");
- dl->index = MEM_callocN(sizeof(int) * 3 * len_polypoints, "dl index");
+ dl->verts = fp = MEM_mallocN(sizeof(float[3]) * len_polypoints, "dl verts");
+ dl->index = MEM_callocN(sizeof(int[3]) * len_polypoints, "dl index");
- for (index = 0; index < len_polypoints; index++, fp += 3) {
+ for (int index = 0; index < len_polypoints; index++, fp += 3) {
polyVec = PySequence_GetItem(polyLine, index);
- if (VectorObject_Check(polyVec)) {
-
- if (BaseMath_ReadCallback((VectorObject *)polyVec) == -1) {
- ls_error = 1;
- }
+ const int polyVec_len = mathutils_array_parse(
+ fp, 2, 3 | MU_ARRAY_SPILL, polyVec, "tessellate_polygon: parse coord");
+ Py_DECREF(polyVec);
- fp[0] = ((VectorObject *)polyVec)->vec[0];
- fp[1] = ((VectorObject *)polyVec)->vec[1];
- if (((VectorObject *)polyVec)->size > 2) {
- fp[2] = ((VectorObject *)polyVec)->vec[2];
- }
- else {
- /* if its a 2d vector then set the z to be zero */
- fp[2] = 0.0f;
- }
+ if (UNLIKELY(polyVec_len == -1)) {
+ list_parse_error = true;
+ }
+ else if (polyVec_len == 2) {
+ fp[2] = 0.0f;
}
- else {
- ls_error = 1;
+ else if (polyVec_len == 3) {
+ is_2d = false;
}
totpoints++;
- Py_DECREF(polyVec);
}
}
Py_DECREF(polyLine);
}
- if (ls_error) {
+ if (list_parse_error) {
BKE_displist_free(&dispbase); /* possible some dl was allocated */
- PyErr_SetString(PyExc_TypeError,
- "A point in one of the polylines "
- "is not a mathutils.Vector type");
return NULL;
}
else if (totpoints) {
/* now make the list to return */
- /* TODO, add normal arg */
- BKE_displist_fill(&dispbase, &dispbase, NULL, false);
+ BKE_displist_fill(&dispbase, &dispbase, is_2d ? ((const float[3]){0, 0, -1}) : NULL, false);
/* The faces are stored in a new DisplayList
* that's added to the head of the #ListBase. */
@@ -1309,12 +1335,10 @@ static PyObject *M_Geometry_tessellate_polygon(PyObject *UNUSED(self), PyObject
return NULL;
}
- index = 0;
- dl_face = dl->index;
- while (index < dl->parts) {
+ int *dl_face = dl->index;
+ for (int index = 0; index < dl->parts; index++) {
PyList_SET_ITEM(tri_list, index, PyC_Tuple_Pack_I32(dl_face[0], dl_face[1], dl_face[2]));
dl_face += 3;
- index++;
}
BKE_displist_free(&dispbase);
}
@@ -1703,6 +1727,10 @@ static PyMethodDef M_Geometry_methods[] = {
(PyCFunction)M_Geometry_intersect_point_tri,
METH_VARARGS,
M_Geometry_intersect_point_tri_doc},
+ {"closest_point_on_tri",
+ (PyCFunction)M_Geometry_closest_point_on_tri,
+ METH_VARARGS,
+ M_Geometry_closest_point_on_tri_doc},
{"intersect_point_tri_2d",
(PyCFunction)M_Geometry_intersect_point_tri_2d,
METH_VARARGS,
diff --git a/source/blender/python/mathutils/mathutils_kdtree.c b/source/blender/python/mathutils/mathutils_kdtree.c
index b8a7f4d8708..e3f2cd9bd14 100644
--- a/source/blender/python/mathutils/mathutils_kdtree.c
+++ b/source/blender/python/mathutils/mathutils_kdtree.c
@@ -393,7 +393,7 @@ PyTypeObject PyKDTree_Type = {
0, /* tp_itemsize */
/* methods */
(destructor)PyKDTree__tp_dealloc, /* tp_dealloc */
- NULL, /* tp_print */
+ (printfunc)NULL, /* tp_print */
NULL, /* tp_getattr */
NULL, /* tp_setattr */
NULL, /* tp_compare */
@@ -436,7 +436,7 @@ PyTypeObject PyKDTree_Type = {
(destructor)NULL, /* tp_del */
};
-PyDoc_STRVAR(py_kdtree_doc, "Generic 3-dimentional kd-tree to perform spatial searches.");
+PyDoc_STRVAR(py_kdtree_doc, "Generic 3-dimensional kd-tree to perform spatial searches.");
static struct PyModuleDef kdtree_moduledef = {
PyModuleDef_HEAD_INIT,
"mathutils.kdtree", /* m_name */
diff --git a/source/blender/windowmanager/CMakeLists.txt b/source/blender/windowmanager/CMakeLists.txt
index ddd0ddb46da..12ab2f20ba1 100644
--- a/source/blender/windowmanager/CMakeLists.txt
+++ b/source/blender/windowmanager/CMakeLists.txt
@@ -68,6 +68,7 @@ set(SRC
intern/wm_operator_type.c
intern/wm_operators.c
intern/wm_panel_type.c
+ intern/wm_platform_support.c
intern/wm_playanim.c
intern/wm_splash_screen.c
intern/wm_stereo.c
@@ -99,6 +100,8 @@ set(SRC
wm_event_types.h
wm_files.h
wm_window.h
+ intern/wm_platform_support.h
+ intern/wm_window_private.h
gizmo/WM_gizmo_api.h
gizmo/WM_gizmo_types.h
gizmo/wm_gizmo_fn.h
diff --git a/source/blender/windowmanager/WM_api.h b/source/blender/windowmanager/WM_api.h
index f43fa031744..df5097238ed 100644
--- a/source/blender/windowmanager/WM_api.h
+++ b/source/blender/windowmanager/WM_api.h
@@ -102,6 +102,8 @@ void WM_init_opengl(struct Main *bmain);
void WM_check(struct bContext *C);
void WM_reinit_gizmomap_all(struct Main *bmain);
+void WM_script_tag_reload(void);
+
uint *WM_window_pixels_read(struct wmWindowManager *wm, struct wmWindow *win, int r_size[2]);
int WM_window_pixels_x(const struct wmWindow *win);
@@ -154,8 +156,14 @@ void WM_opengl_context_activate(void *context);
void WM_opengl_context_release(void *context);
struct wmWindow *WM_window_open(struct bContext *C, const struct rcti *rect);
-struct wmWindow *WM_window_open_temp(
- struct bContext *C, const char *title, int x, int y, int sizex, int sizey, int space_type);
+struct wmWindow *WM_window_open_temp(struct bContext *C,
+ const char *title,
+ int x,
+ int y,
+ int sizex,
+ int sizey,
+ int space_type,
+ bool dialog);
void WM_window_set_dpi(wmWindow *win);
bool WM_stereo3d_enabled(struct wmWindow *win, bool only_fullscreen_test);
@@ -235,6 +243,10 @@ void WM_event_set_keymap_handler_post_callback(struct wmEventHandler_Keymap *han
wmKeyMap *WM_event_get_keymap_from_handler(wmWindowManager *wm,
struct wmEventHandler_Keymap *handler);
+wmKeyMapItem *WM_event_match_keymap_item(struct bContext *C,
+ wmKeyMap *keymap,
+ const struct wmEvent *event);
+
typedef int (*wmUIHandlerFunc)(struct bContext *C, const struct wmEvent *event, void *userdata);
typedef void (*wmUIHandlerRemoveFunc)(struct bContext *C, void *userdata);
@@ -327,6 +339,12 @@ void WM_event_timer_sleep(struct wmWindowManager *wm,
/* operator api, default callbacks */
/* invoke callback, uses enum property named "type" */
+int WM_generic_select_modal(struct bContext *C,
+ struct wmOperator *op,
+ const struct wmEvent *event);
+int WM_generic_select_invoke(struct bContext *C,
+ struct wmOperator *op,
+ const struct wmEvent *event);
void WM_operator_view3d_unit_defaults(struct bContext *C, struct wmOperator *op);
int WM_operator_smooth_viewtx_get(const struct wmOperator *op);
int WM_menu_invoke_ex(struct bContext *C, struct wmOperator *op, int opcontext);
@@ -466,6 +484,7 @@ void WM_operator_properties_select_random(struct wmOperatorType *ot);
int WM_operator_properties_select_random_seed_increment_get(wmOperator *op);
void WM_operator_properties_select_operation(struct wmOperatorType *ot);
void WM_operator_properties_select_operation_simple(struct wmOperatorType *ot);
+void WM_operator_properties_generic_select(struct wmOperatorType *ot);
struct CheckerIntervalParams {
int nth; /* bypass when set to zero */
int skip;
diff --git a/source/blender/windowmanager/intern/wm_cursors.c b/source/blender/windowmanager/intern/wm_cursors.c
index 2313383fe6e..8e796a7981a 100644
--- a/source/blender/windowmanager/intern/wm_cursors.c
+++ b/source/blender/windowmanager/intern/wm_cursors.c
@@ -45,35 +45,90 @@
#include "wm_cursors.h"
#include "wm_window.h"
-/* XXX this still is mess from old code */
+/* Blender custom cursor. */
+typedef struct BCursor {
+ char *small_bm;
+ char *small_mask;
-/* Some simple ghost <-> blender conversions */
-static GHOST_TStandardCursor convert_cursor(int curs)
+ char small_sizex;
+ char small_sizey;
+ char small_hotx;
+ char small_hoty;
+
+ char *big_bm;
+ char *big_mask;
+
+ char big_sizex;
+ char big_sizey;
+ char big_hotx;
+ char big_hoty;
+
+ bool can_invert_color;
+} BCursor;
+
+static BCursor *BlenderCursor[WM_CURSOR_NUM] = {0};
+
+/* Blender cursor to GHOST standard cursor conversion. */
+static GHOST_TStandardCursor convert_to_ghost_standard_cursor(WMCursorType curs)
{
switch (curs) {
- default:
- case CURSOR_STD:
+ case WM_CURSOR_DEFAULT:
return GHOST_kStandardCursorDefault;
- case CURSOR_FACESEL:
- return GHOST_kStandardCursorRightArrow;
- case CURSOR_WAIT:
+ case WM_CURSOR_WAIT:
return GHOST_kStandardCursorWait;
- case CURSOR_EDIT:
+ case WM_CURSOR_EDIT:
+ case WM_CURSOR_CROSS:
return GHOST_kStandardCursorCrosshair;
- case CURSOR_HELP:
-#ifdef __APPLE__
- return GHOST_kStandardCursorLeftRight;
-#else
- return GHOST_kStandardCursorHelp;
-#endif
- case CURSOR_X_MOVE:
+ case WM_CURSOR_X_MOVE:
return GHOST_kStandardCursorLeftRight;
- case CURSOR_Y_MOVE:
+ case WM_CURSOR_Y_MOVE:
return GHOST_kStandardCursorUpDown;
- case CURSOR_PENCIL:
- return GHOST_kStandardCursorPencil;
- case CURSOR_COPY:
+ case WM_CURSOR_COPY:
return GHOST_kStandardCursorCopy;
+ case WM_CURSOR_HAND:
+ return GHOST_kStandardCursorMove;
+ case WM_CURSOR_H_SPLIT:
+ return GHOST_kStandardCursorHorizontalSplit;
+ case WM_CURSOR_V_SPLIT:
+ return GHOST_kStandardCursorVerticalSplit;
+ case WM_CURSOR_STOP:
+ return GHOST_kStandardCursorStop;
+ case WM_CURSOR_KNIFE:
+ return GHOST_kStandardCursorKnife;
+ case WM_CURSOR_NSEW_SCROLL:
+ return GHOST_kStandardCursorNSEWScroll;
+ case WM_CURSOR_NS_SCROLL:
+ return GHOST_kStandardCursorNSScroll;
+ case WM_CURSOR_EW_SCROLL:
+ return GHOST_kStandardCursorEWScroll;
+ case WM_CURSOR_EYEDROPPER:
+ return GHOST_kStandardCursorEyedropper;
+ case WM_CURSOR_N_ARROW:
+ return GHOST_kStandardCursorUpArrow;
+ case WM_CURSOR_S_ARROW:
+ return GHOST_kStandardCursorDownArrow;
+ case WM_CURSOR_PAINT:
+ return GHOST_kStandardCursorCrosshairA;
+ case WM_CURSOR_DOT:
+ return GHOST_kStandardCursorCrosshairB;
+ case WM_CURSOR_CROSSC:
+ return GHOST_kStandardCursorCrosshairC;
+ case WM_CURSOR_ERASER:
+ return GHOST_kStandardCursorEraser;
+ case WM_CURSOR_ZOOM_IN:
+ return GHOST_kStandardCursorZoomIn;
+ case WM_CURSOR_ZOOM_OUT:
+ return GHOST_kStandardCursorZoomOut;
+ case WM_CURSOR_TEXT_EDIT:
+ return GHOST_kStandardCursorText;
+ case WM_CURSOR_PAINT_BRUSH:
+ return GHOST_kStandardCursorPencil;
+ case WM_CURSOR_E_ARROW:
+ return GHOST_kStandardCursorRightArrow;
+ case WM_CURSOR_W_ARROW:
+ return GHOST_kStandardCursorLeftArrow;
+ default:
+ return GHOST_kStandardCursorCustom;
}
}
@@ -87,9 +142,9 @@ static void window_set_custom_cursor(wmWindow *win,
win->ghostwin, (GHOST_TUns8 *)bitmap, (GHOST_TUns8 *)mask, 16, 16, hotx, hoty, true);
}
-static void window_set_custom_cursor_ex(wmWindow *win, BCursor *cursor, int useBig)
+static void window_set_custom_cursor_ex(wmWindow *win, BCursor *cursor)
{
- if (useBig) {
+ if (U.curssize && cursor->big_bm) {
GHOST_SetCustomCursorShape(win->ghostwin,
(GHOST_TUns8 *)cursor->big_bm,
(GHOST_TUns8 *)cursor->big_mask,
@@ -111,60 +166,55 @@ static void window_set_custom_cursor_ex(wmWindow *win, BCursor *cursor, int useB
}
}
-/* Cursor Globals */
-static BCursor *BlenderCursor[BC_NUMCURSORS]; /*Points to static BCursor Structs */
-
void WM_cursor_set(wmWindow *win, int curs)
{
-
if (win == NULL || G.background) {
return; /* Can't set custom cursor before Window init */
}
- if (curs == CURSOR_NONE) {
+ if (curs == WM_CURSOR_NONE) {
GHOST_SetCursorVisibility(win->ghostwin, 0);
return;
}
-#ifdef _WIN32
- /* the default win32 cross cursor is barely visible,
- * only 1 pixel thick, use another one instead */
- if (curs == CURSOR_EDIT) {
- curs = BC_CROSSCURSOR;
- }
-#else
- /* in case of large cursor, also use custom cursor because
- * large cursors don't work for system cursors */
- if (U.curssize && curs == CURSOR_EDIT) {
- curs = BC_CROSSCURSOR;
- }
-#endif
-
GHOST_SetCursorVisibility(win->ghostwin, 1);
- if (curs == CURSOR_STD && win->modalcursor) {
+ if (curs == WM_CURSOR_DEFAULT && win->modalcursor) {
curs = win->modalcursor;
}
win->cursor = curs;
- /* detect if we use system cursor or Blender cursor */
- if (curs >= BC_GHOST_CURSORS) {
- GHOST_SetCursorShape(win->ghostwin, convert_cursor(curs));
+ if (curs < 0 || curs >= WM_CURSOR_NUM) {
+ BLI_assert(!"Invalid cursor number");
+ return;
}
- else {
- if ((curs < SYSCURSOR) || (curs >= BC_NUMCURSORS)) {
- return;
- }
- if (curs == SYSCURSOR) { /* System default Cursor */
- GHOST_SetCursorShape(win->ghostwin, convert_cursor(CURSOR_STD));
- }
- else if ((U.curssize == 0) || (BlenderCursor[curs]->big_bm == NULL)) {
- window_set_custom_cursor_ex(win, BlenderCursor[curs], 0);
+ GHOST_TStandardCursor ghost_cursor = convert_to_ghost_standard_cursor(curs);
+
+#if !defined(_WIN32) && !defined(__APPLE__)
+ /* Workaround crosshair cursors with bad visibility in some cursor themes.
+ * Better solution would be to always use custom cursors and support DPI
+ * properly so that the cursors look as good as the native ones. */
+ if (U.curssize && ghost_cursor == GHOST_kStandardCursorCrosshair) {
+ ghost_cursor = GHOST_kStandardCursorCustom;
+ }
+#endif
+
+ if (ghost_cursor != GHOST_kStandardCursorCustom &&
+ GHOST_HasCursorShape(win->ghostwin, ghost_cursor)) {
+ /* Use native GHOST cursor when available. */
+ GHOST_SetCursorShape(win->ghostwin, ghost_cursor);
+ }
+ else {
+ BCursor *bcursor = BlenderCursor[curs];
+ if (bcursor) {
+ /* Use custom bitmap cursor. */
+ window_set_custom_cursor_ex(win, bcursor);
}
else {
- window_set_custom_cursor_ex(win, BlenderCursor[curs], 1);
+ /* Fallback to default cursor if no bitmap found. */
+ GHOST_SetCursorShape(win->ghostwin, GHOST_kStandardCursorDefault);
}
}
}
@@ -176,7 +226,7 @@ bool WM_cursor_set_from_tool(struct wmWindow *win, const ScrArea *sa, const AReg
}
bToolRef_Runtime *tref_rt = (sa && sa->runtime.tool) ? sa->runtime.tool->runtime : NULL;
- if (tref_rt && tref_rt->cursor != CURSOR_STD) {
+ if (tref_rt && tref_rt->cursor != WM_CURSOR_DEFAULT) {
if (win->modalcursor == 0) {
WM_cursor_set(win, tref_rt->cursor);
win->cursor = tref_rt->cursor;
@@ -213,7 +263,7 @@ void WM_cursor_wait(bool val)
for (; win; win = win->next) {
if (val) {
- WM_cursor_modal_set(win, BC_WAITCURSOR);
+ WM_cursor_modal_set(win, WM_CURSOR_WAIT);
}
else {
WM_cursor_modal_restore(win);
@@ -410,15 +460,39 @@ void wm_init_cursor_data(void)
/********************** NW_ARROW Cursor **************************/
BEGIN_CURSOR_BLOCK;
static char nw_sbm[] = {
- 0x03, 0x00, 0x05, 0x00, 0x09, 0x00, 0x11, 0x00, 0x21, 0x00, 0x41,
- 0x00, 0x81, 0x00, 0x01, 0x01, 0x01, 0x02, 0xc1, 0x03, 0x49, 0x00,
- 0x8d, 0x00, 0x8b, 0x00, 0x10, 0x01, 0x90, 0x01, 0x60, 0x00,
+ 0x00, 0x00, 0x02, 0x00, 0x06, 0x00, 0x0e, 0x00, 0x1e, 0x00, 0x3e,
+ 0x00, 0x7e, 0x00, 0xfe, 0x00, 0xfe, 0x01, 0xfe, 0x03, 0xfe, 0x07,
+ 0x7e, 0x00, 0x6e, 0x00, 0xc6, 0x00, 0xc2, 0x00, 0x00, 0x00,
};
static char nw_smsk[] = {
0x03, 0x00, 0x07, 0x00, 0x0f, 0x00, 0x1f, 0x00, 0x3f, 0x00, 0x7f,
- 0x00, 0xff, 0x00, 0xff, 0x01, 0xff, 0x03, 0xff, 0x03, 0x7f, 0x00,
- 0xff, 0x00, 0xfb, 0x00, 0xf0, 0x01, 0xf0, 0x01, 0x60, 0x00,
+ 0x00, 0xff, 0x00, 0xff, 0x01, 0xff, 0x03, 0xff, 0x07, 0xff, 0x0f,
+ 0xff, 0x0f, 0xff, 0x00, 0xef, 0x01, 0xe7, 0x01, 0xc3, 0x00,
+ };
+
+ static char nw_lbm[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00,
+ 0x00, 0x1e, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x00, 0x00, 0x7e, 0x00, 0x00, 0x00, 0xfe, 0x00,
+ 0x00, 0x00, 0xfe, 0x01, 0x00, 0x00, 0xfe, 0x03, 0x00, 0x00, 0xfe, 0x07, 0x00, 0x00, 0xfe,
+ 0x0f, 0x00, 0x00, 0xfe, 0x1f, 0x00, 0x00, 0xfe, 0x3f, 0x00, 0x00, 0xfe, 0x7f, 0x00, 0x00,
+ 0xfe, 0xff, 0x00, 0x00, 0xfe, 0xff, 0x01, 0x00, 0xfe, 0xff, 0x03, 0x00, 0xfe, 0xff, 0x07,
+ 0x00, 0xfe, 0xff, 0x0f, 0x00, 0xfe, 0xff, 0x1f, 0x00, 0xfe, 0x1f, 0x00, 0x00, 0xfe, 0x3f,
+ 0x00, 0x00, 0xfe, 0x3e, 0x00, 0x00, 0x7e, 0x7c, 0x00, 0x00, 0x3e, 0x7c, 0x00, 0x00, 0x1e,
+ 0xf8, 0x00, 0x00, 0x0e, 0xf8, 0x00, 0x00, 0x06, 0xf0, 0x01, 0x00, 0x02, 0xf0, 0x01, 0x00,
+ 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ };
+
+ static char nw_lmsk[] = {
+ 0x03, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00,
+ 0x00, 0x3f, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x01,
+ 0x00, 0x00, 0xff, 0x03, 0x00, 0x00, 0xff, 0x07, 0x00, 0x00, 0xff, 0x0f, 0x00, 0x00, 0xff,
+ 0x1f, 0x00, 0x00, 0xff, 0x3f, 0x00, 0x00, 0xff, 0x7f, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00,
+ 0xff, 0xff, 0x01, 0x00, 0xff, 0xff, 0x03, 0x00, 0xff, 0xff, 0x07, 0x00, 0xff, 0xff, 0x0f,
+ 0x00, 0xff, 0xff, 0x1f, 0x00, 0xff, 0xff, 0x3f, 0x00, 0xff, 0xff, 0x7f, 0x00, 0xff, 0x7f,
+ 0x00, 0x00, 0xff, 0x7f, 0x00, 0x00, 0xff, 0xfe, 0x00, 0x00, 0x7f, 0xfe, 0x00, 0x00, 0x3f,
+ 0xfc, 0x01, 0x00, 0x1f, 0xfc, 0x01, 0x00, 0x0f, 0xf8, 0x03, 0x00, 0x07, 0xf8, 0x03, 0x00,
+ 0x03, 0xf0, 0x01, 0x00, 0x00, 0x70, 0x00, 0x00,
};
static BCursor NWArrowCursor = {
@@ -427,34 +501,60 @@ void wm_init_cursor_data(void)
nw_smsk,
16,
16,
- 6,
- 7,
+ 0,
+ 0,
/* big */
- NULL,
- NULL,
+ nw_lbm,
+ nw_lmsk,
32,
32,
- 15,
- 15,
+ 0,
+ 0,
/* can invert color */
true,
};
- BlenderCursor[BC_NW_ARROWCURSOR] = &NWArrowCursor;
+ BlenderCursor[WM_CURSOR_DEFAULT] = &NWArrowCursor;
+ BlenderCursor[WM_CURSOR_COPY] = &NWArrowCursor;
+ BlenderCursor[WM_CURSOR_NW_ARROW] = &NWArrowCursor;
END_CURSOR_BLOCK;
///********************** NS_ARROW Cursor *************************/
BEGIN_CURSOR_BLOCK;
static char ns_sbm[] = {
- 0x40, 0x01, 0x20, 0x02, 0x10, 0x04, 0x08, 0x08, 0x04, 0x10, 0x3c,
- 0x1e, 0x20, 0x02, 0x20, 0x02, 0x20, 0x02, 0x20, 0x02, 0x3c, 0x1e,
- 0x04, 0x10, 0x08, 0x08, 0x10, 0x04, 0x20, 0x02, 0x40, 0x01,
+ 0x00, 0x00, 0x80, 0x00, 0xc0, 0x01, 0xe0, 0x03, 0xf0, 0x07, 0x80,
+ 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00,
+ 0xf0, 0x07, 0xe0, 0x03, 0xc0, 0x01, 0x80, 0x00, 0x00, 0x00,
};
static char ns_smsk[] = {
- 0xc0, 0x01, 0xe0, 0x03, 0xf0, 0x07, 0xf8, 0x0f, 0xfc, 0x1f, 0xfc,
- 0x1f, 0xe0, 0x03, 0xe0, 0x03, 0xe0, 0x03, 0xe0, 0x03, 0xfc, 0x1f,
- 0xfc, 0x1f, 0xf8, 0x0f, 0xf0, 0x07, 0xe0, 0x03, 0xc0, 0x01,
+ 0x80, 0x00, 0xc0, 0x01, 0xe0, 0x03, 0xf0, 0x07, 0xf8, 0x0f, 0xfc,
+ 0x1f, 0xc0, 0x01, 0xc0, 0x01, 0xc0, 0x01, 0xc0, 0x01, 0xfc, 0x1f,
+ 0xf8, 0x0f, 0xf0, 0x07, 0xe0, 0x03, 0xc0, 0x01, 0x80, 0x00,
+ };
+
+ static char ns_lbm[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0xe0, 0x01, 0x00, 0x00, 0xf0, 0x03,
+ 0x00, 0x00, 0xf8, 0x07, 0x00, 0x00, 0xfc, 0x0f, 0x00, 0x00, 0xfe, 0x1f, 0x00, 0x00, 0xff,
+ 0x3f, 0x00, 0x80, 0xff, 0x7f, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00,
+ 0xc0, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00,
+ 0x00, 0xc0, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0xc0, 0x00,
+ 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0xc0,
+ 0x00, 0x00, 0x80, 0xff, 0x7f, 0x00, 0x00, 0xff, 0x3f, 0x00, 0x00, 0xfe, 0x1f, 0x00, 0x00,
+ 0xfc, 0x0f, 0x00, 0x00, 0xf8, 0x07, 0x00, 0x00, 0xf0, 0x03, 0x00, 0x00, 0xe0, 0x01, 0x00,
+ 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ };
+
+ static char ns_lmsk[] = {
+ 0x00, 0xc0, 0x00, 0x00, 0x00, 0xe0, 0x01, 0x00, 0x00, 0xf0, 0x03, 0x00, 0x00, 0xf8, 0x07,
+ 0x00, 0x00, 0xfc, 0x0f, 0x00, 0x00, 0xfe, 0x1f, 0x00, 0x00, 0xff, 0x3f, 0x00, 0x80, 0xff,
+ 0x7f, 0x00, 0xc0, 0xff, 0xff, 0x00, 0xe0, 0xff, 0xff, 0x01, 0x00, 0xe0, 0x01, 0x00, 0x00,
+ 0xe0, 0x01, 0x00, 0x00, 0xe0, 0x01, 0x00, 0x00, 0xe0, 0x01, 0x00, 0x00, 0xe0, 0x01, 0x00,
+ 0x00, 0xe0, 0x01, 0x00, 0x00, 0xe0, 0x01, 0x00, 0x00, 0xe0, 0x01, 0x00, 0x00, 0xe0, 0x01,
+ 0x00, 0x00, 0xe0, 0x01, 0x00, 0x00, 0xe0, 0x01, 0x00, 0x00, 0xe0, 0x01, 0x00, 0xe0, 0xff,
+ 0xff, 0x01, 0xc0, 0xff, 0xff, 0x00, 0x80, 0xff, 0x7f, 0x00, 0x00, 0xff, 0x3f, 0x00, 0x00,
+ 0xfe, 0x1f, 0x00, 0x00, 0xfc, 0x0f, 0x00, 0x00, 0xf8, 0x07, 0x00, 0x00, 0xf0, 0x03, 0x00,
+ 0x00, 0xe0, 0x01, 0x00, 0x00, 0xc0, 0x00, 0x00,
};
static BCursor NSArrowCursor = {
@@ -463,11 +563,11 @@ void wm_init_cursor_data(void)
ns_smsk,
16,
16,
- 6,
+ 7,
7,
/* big */
- NULL,
- NULL,
+ ns_lbm,
+ ns_lmsk,
32,
32,
15,
@@ -476,21 +576,46 @@ void wm_init_cursor_data(void)
true,
};
- BlenderCursor[BC_NS_ARROWCURSOR] = &NSArrowCursor;
+ BlenderCursor[WM_CURSOR_Y_MOVE] = &NSArrowCursor;
+ BlenderCursor[WM_CURSOR_NS_ARROW] = &NSArrowCursor;
END_CURSOR_BLOCK;
/********************** EW_ARROW Cursor *************************/
BEGIN_CURSOR_BLOCK;
static char ew_sbm[] = {
- 0x00, 0x00, 0x00, 0x00, 0x10, 0x08, 0x38, 0x1c, 0x2c, 0x34, 0xe6,
- 0x67, 0x03, 0xc0, 0x01, 0x80, 0x03, 0xc0, 0xe6, 0x67, 0x2c, 0x34,
- 0x38, 0x1c, 0x10, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x08, 0x18,
+ 0x18, 0x1c, 0x38, 0xfe, 0x7f, 0x1c, 0x38, 0x18, 0x18, 0x10, 0x08,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
static char ew_smsk[] = {
- 0x00, 0x00, 0x00, 0x00, 0x10, 0x08, 0x38, 0x1c, 0x3c, 0x3c, 0xfe,
- 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x7f, 0x3c, 0x3c,
- 0x38, 0x1c, 0x10, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x20, 0x04, 0x30, 0x0c, 0x38, 0x1c, 0x3c,
+ 0x3c, 0xfe, 0x7f, 0xff, 0xff, 0xfe, 0x7f, 0x3c, 0x3c, 0x38, 0x1c,
+ 0x30, 0x0c, 0x20, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ };
+
+ static char ew_lbm[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x80, 0x00, 0x80, 0x01, 0x80, 0x01, 0xc0, 0x01, 0x80, 0x03, 0xe0, 0x01, 0x80, 0x07, 0xf0,
+ 0x01, 0x80, 0x0f, 0xf8, 0x01, 0x80, 0x1f, 0xfc, 0x01, 0x80, 0x3f, 0xfe, 0xff, 0xff, 0x7f,
+ 0xfe, 0xff, 0xff, 0x7f, 0xfc, 0x01, 0x80, 0x3f, 0xf8, 0x01, 0x80, 0x1f, 0xf0, 0x01, 0x80,
+ 0x0f, 0xe0, 0x01, 0x80, 0x07, 0xc0, 0x01, 0x80, 0x03, 0x80, 0x01, 0x80, 0x01, 0x00, 0x01,
+ 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ };
+
+ static char ew_lmsk[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x03, 0xc0, 0x00, 0x80, 0x03,
+ 0xc0, 0x01, 0xc0, 0x03, 0xc0, 0x03, 0xe0, 0x03, 0xc0, 0x07, 0xf0, 0x03, 0xc0, 0x0f, 0xf8,
+ 0x03, 0xc0, 0x1f, 0xfc, 0x03, 0xc0, 0x3f, 0xfe, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0x7f, 0xfc, 0x03, 0xc0, 0x3f, 0xf8, 0x03, 0xc0,
+ 0x1f, 0xf0, 0x03, 0xc0, 0x0f, 0xe0, 0x03, 0xc0, 0x07, 0xc0, 0x03, 0xc0, 0x03, 0x80, 0x03,
+ 0xc0, 0x01, 0x00, 0x03, 0xc0, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
static BCursor EWArrowCursor = {
@@ -500,10 +625,10 @@ void wm_init_cursor_data(void)
16,
16,
7,
- 6,
+ 7,
/* big */
- NULL,
- NULL,
+ ew_lbm,
+ ew_lmsk,
32,
32,
15,
@@ -512,45 +637,46 @@ void wm_init_cursor_data(void)
true,
};
- BlenderCursor[BC_EW_ARROWCURSOR] = &EWArrowCursor;
+ BlenderCursor[WM_CURSOR_X_MOVE] = &EWArrowCursor;
+ BlenderCursor[WM_CURSOR_EW_ARROW] = &EWArrowCursor;
END_CURSOR_BLOCK;
/********************** Wait Cursor *****************************/
BEGIN_CURSOR_BLOCK;
static char wait_sbm[] = {
- 0xfe, 0x7f, 0x02, 0x40, 0x02, 0x40, 0x84, 0x21, 0xc8, 0x13, 0xd0,
- 0x0b, 0xa0, 0x04, 0x20, 0x05, 0xa0, 0x04, 0x10, 0x09, 0x88, 0x11,
- 0xc4, 0x23, 0xe2, 0x47, 0xfa, 0x5f, 0x02, 0x40, 0xfe, 0x7f,
+ 0x00, 0x00, 0x00, 0x00, 0xf0, 0x07, 0xf0, 0x07, 0xb0, 0x06, 0x60,
+ 0x03, 0xc0, 0x01, 0x80, 0x00, 0x80, 0x00, 0xc0, 0x01, 0x60, 0x03,
+ 0x30, 0x06, 0x10, 0x04, 0xf0, 0x07, 0x00, 0x00, 0x00, 0x00,
};
static char wait_smsk[] = {
- 0xfe, 0x7f, 0xfe, 0x7f, 0x06, 0x60, 0x8c, 0x31, 0xd8, 0x1b, 0xf0,
- 0x0f, 0xe0, 0x06, 0x60, 0x07, 0xe0, 0x06, 0x30, 0x0d, 0x98, 0x19,
- 0xcc, 0x33, 0xe6, 0x67, 0xfe, 0x7f, 0xfe, 0x7f, 0xfe, 0x7f,
+ 0xfc, 0x1f, 0xfc, 0x1f, 0xf8, 0x0f, 0xf8, 0x0f, 0xf8, 0x0f, 0xf0,
+ 0x07, 0xe0, 0x03, 0xc0, 0x01, 0xc0, 0x01, 0xe0, 0x03, 0xf0, 0x07,
+ 0xf8, 0x0f, 0xf8, 0x0f, 0xf8, 0x0f, 0xfc, 0x1f, 0xfc, 0x1f,
};
static char wait_lbm[] = {
- 0xfc, 0xff, 0xff, 0x3f, 0xfc, 0xff, 0xff, 0x3f, 0x0c, 0x00, 0x00, 0x30, 0x0c, 0x00, 0x00,
- 0x30, 0x0c, 0x00, 0x00, 0x30, 0x0c, 0x00, 0x00, 0x18, 0x18, 0xc0, 0x03, 0x0c, 0x30, 0x20,
- 0x07, 0x06, 0x60, 0xf0, 0x0f, 0x03, 0xc0, 0xd0, 0x8d, 0x01, 0x80, 0x79, 0xcf, 0x00, 0x00,
- 0xf3, 0x67, 0x00, 0x00, 0x66, 0x37, 0x00, 0x00, 0x8c, 0x33, 0x00, 0x00, 0x0c, 0x32, 0x00,
- 0x00, 0xcc, 0x33, 0x00, 0x00, 0x8c, 0x30, 0x00, 0x00, 0x46, 0x61, 0x00, 0x00, 0x03, 0xc3,
- 0x00, 0x80, 0x01, 0x83, 0x01, 0xc0, 0xc0, 0x03, 0x03, 0x60, 0xa0, 0x05, 0x06, 0x30, 0xf0,
- 0x0f, 0x0c, 0x18, 0xf8, 0x1d, 0x18, 0x0c, 0x5c, 0x3f, 0x30, 0x0c, 0xff, 0x5f, 0x30, 0x0c,
- 0xf7, 0xfe, 0x31, 0xcc, 0xfb, 0x9f, 0x33, 0x0c, 0x00, 0x00, 0x30, 0x0c, 0x00, 0x00, 0x30,
- 0xfc, 0xff, 0xff, 0x3f, 0xfc, 0xff, 0xff, 0x3f,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xff, 0x7f, 0x00, 0x80, 0xff, 0x7f,
+ 0x00, 0x80, 0xff, 0x7f, 0x00, 0x80, 0xff, 0x7f, 0x00, 0x80, 0xff, 0x7f, 0x00, 0x80, 0xff,
+ 0x7f, 0x00, 0x80, 0x07, 0x78, 0x00, 0x00, 0x0f, 0x3c, 0x00, 0x00, 0x1e, 0x1e, 0x00, 0x00,
+ 0x3c, 0x0f, 0x00, 0x00, 0x38, 0x07, 0x00, 0x00, 0xf0, 0x03, 0x00, 0x00, 0xe0, 0x01, 0x00,
+ 0x00, 0xc0, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0xe0, 0x01, 0x00, 0x00, 0x30, 0x03,
+ 0x00, 0x00, 0x38, 0x07, 0x00, 0x00, 0xfc, 0x0f, 0x00, 0x00, 0x3e, 0x1f, 0x00, 0x00, 0x1f,
+ 0x3e, 0x00, 0x80, 0x0f, 0x7c, 0x00, 0x80, 0x07, 0x78, 0x00, 0x80, 0x03, 0x70, 0x00, 0x80,
+ 0x01, 0x60, 0x00, 0x80, 0x01, 0x60, 0x00, 0x80, 0xff, 0x7f, 0x00, 0x80, 0xff, 0x7f, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
static char wait_lmsk[] = {
- 0xfc, 0xff, 0xff, 0x3f, 0xfc, 0xff, 0xff, 0x3f, 0xfc, 0xff, 0xff, 0x3f, 0xfc, 0xff, 0xff,
- 0x3f, 0x3c, 0x00, 0x00, 0x3c, 0x3c, 0x00, 0x00, 0x1e, 0x78, 0xc0, 0x03, 0x0f, 0xf0, 0xa0,
- 0x87, 0x07, 0xe0, 0xf1, 0xcf, 0x03, 0xc0, 0xf3, 0xef, 0x01, 0x80, 0xff, 0xff, 0x00, 0x00,
- 0xff, 0x7f, 0x00, 0x00, 0xfe, 0x3f, 0x00, 0x00, 0xfc, 0x3f, 0x00, 0x00, 0x3c, 0x3f, 0x00,
- 0x00, 0xfc, 0x3f, 0x00, 0x00, 0xbc, 0x3c, 0x00, 0x00, 0xde, 0x79, 0x00, 0x00, 0x0f, 0xf3,
- 0x00, 0x80, 0x07, 0xe3, 0x01, 0xc0, 0xc3, 0xc3, 0x03, 0xe0, 0xe1, 0x87, 0x07, 0xf0, 0xf0,
- 0x0f, 0x0f, 0x78, 0xf8, 0x1f, 0x1e, 0x3c, 0x7c, 0x3f, 0x3c, 0x3c, 0xff, 0x7f, 0x3c, 0xbc,
- 0xff, 0xff, 0x3d, 0xfc, 0xfb, 0xbf, 0x3f, 0xfc, 0xff, 0xff, 0x3f, 0xfc, 0xff, 0xff, 0x3f,
- 0xfc, 0xff, 0xff, 0x3f, 0xfc, 0xff, 0xff, 0x3f,
+ 0xf0, 0xff, 0xff, 0x03, 0xf0, 0xff, 0xff, 0x03, 0xf0, 0xff, 0xff, 0x03, 0xc0, 0xff, 0xff,
+ 0x00, 0xc0, 0xff, 0xff, 0x00, 0xc0, 0xff, 0xff, 0x00, 0xc0, 0xff, 0xff, 0x00, 0xc0, 0xff,
+ 0xff, 0x00, 0xc0, 0xff, 0xff, 0x00, 0x80, 0xff, 0x7f, 0x00, 0x00, 0xff, 0x3f, 0x00, 0x00,
+ 0xfe, 0x1f, 0x00, 0x00, 0xfc, 0x0f, 0x00, 0x00, 0xf8, 0x07, 0x00, 0x00, 0xf0, 0x03, 0x00,
+ 0x00, 0xe0, 0x01, 0x00, 0x00, 0xe0, 0x01, 0x00, 0x00, 0xf0, 0x03, 0x00, 0x00, 0xf8, 0x07,
+ 0x00, 0x00, 0xfc, 0x0f, 0x00, 0x00, 0xfe, 0x1f, 0x00, 0x00, 0xff, 0x3f, 0x00, 0x80, 0xff,
+ 0x7f, 0x00, 0xc0, 0xff, 0xff, 0x00, 0xc0, 0xff, 0xff, 0x00, 0xc0, 0xff, 0xff, 0x00, 0xc0,
+ 0xff, 0xff, 0x00, 0xc0, 0xff, 0xff, 0x00, 0xc0, 0xff, 0xff, 0x00, 0xf0, 0xff, 0xff, 0x03,
+ 0xf0, 0xff, 0xff, 0x03, 0xf0, 0xff, 0xff, 0x03,
};
static BCursor WaitCursor = {
@@ -568,48 +694,50 @@ void wm_init_cursor_data(void)
32,
15,
15,
- /* can invert color */
- true,
+ /* don't invert color */
+ false,
};
- BlenderCursor[BC_WAITCURSOR] = &WaitCursor;
+ BlenderCursor[WM_CURSOR_WAIT] = &WaitCursor;
END_CURSOR_BLOCK;
- /********************** Cross Cursor ***************************/
+ /****************** Normal Cross Cursor ************************/
BEGIN_CURSOR_BLOCK;
static char cross_sbm[] = {
0x00, 0x00, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80,
- 0x01, 0x80, 0x01, 0x7e, 0x7e, 0x7e, 0x7e, 0x80, 0x01, 0x80, 0x01,
+ 0x01, 0x00, 0x00, 0x3e, 0x7c, 0x3e, 0x7c, 0x00, 0x00, 0x80, 0x01,
0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x00, 0x00,
+
};
static char cross_smsk[] = {
- 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80,
- 0x01, 0xc0, 0x03, 0x7f, 0xfe, 0x7f, 0xfe, 0xc0, 0x03, 0x80, 0x01,
- 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01,
+ 0xc0, 0x03, 0xc0, 0x03, 0xc0, 0x03, 0xc0, 0x03, 0xc0, 0x03, 0xc0,
+ 0x03, 0x7f, 0xfe, 0x7f, 0xfe, 0x7f, 0xfe, 0xff, 0xff, 0xc0, 0x03,
+ 0xc0, 0x03, 0xc0, 0x03, 0xc0, 0x03, 0xc0, 0x03, 0xc0, 0x03,
};
static char cross_lbm[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x80, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x80, 0x01,
0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x80,
0x01, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00,
- 0xc0, 0x03, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x40, 0x02, 0x00, 0x00, 0x78, 0x1e, 0x00,
- 0xfc, 0x1f, 0xf8, 0x3f, 0xfc, 0x1f, 0xf8, 0x3f, 0x00, 0x78, 0x1e, 0x00, 0x00, 0x40, 0x02,
- 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x80,
+ 0x80, 0x01, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xfe, 0x3f, 0xfc, 0x7f, 0xfe, 0x3f, 0xfc, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x01,
+ 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x80,
0x01, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00,
0x80, 0x01, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x80, 0x01, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x80, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+
};
static char cross_lmsk[] = {
- 0x00, 0x80, 0x01, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x80, 0x01,
- 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x80,
- 0x01, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00,
- 0xc0, 0x03, 0x00, 0x00, 0xe0, 0x07, 0x00, 0x00, 0x70, 0x0e, 0x00, 0x00, 0x78, 0x1e, 0x00,
- 0xff, 0x1f, 0xf8, 0xff, 0xff, 0x1f, 0xf8, 0xff, 0x00, 0x78, 0x1e, 0x00, 0x00, 0x70, 0x0e,
- 0x00, 0x00, 0xe0, 0x07, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x80,
- 0x01, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00,
- 0x80, 0x01, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x80, 0x01, 0x00,
- 0x00, 0x80, 0x01, 0x00, 0x00, 0x80, 0x01, 0x00,
+ 0x00, 0xc0, 0x03, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0xc0, 0x03,
+ 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0xc0,
+ 0x03, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00,
+ 0xc0, 0x03, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0xc0, 0x03, 0x00, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0x7f, 0xfe, 0xff, 0xff, 0x7f, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xc0, 0x03,
+ 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0xc0,
+ 0x03, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00,
+ 0xc0, 0x03, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0xc0, 0x03, 0x00,
+ 0x00, 0xc0, 0x03, 0x00, 0x00, 0xc0, 0x03, 0x00,
};
static BCursor CrossCursor = {
@@ -627,121 +755,227 @@ void wm_init_cursor_data(void)
32,
15,
15,
- /* can invert color */
- true,
+ /* don't invert color */
+ false,
};
- BlenderCursor[BC_CROSSCURSOR] = &CrossCursor;
+ BlenderCursor[WM_CURSOR_EDIT] = &CrossCursor;
+ BlenderCursor[WM_CURSOR_CROSS] = &CrossCursor;
END_CURSOR_BLOCK;
- /********************** EditCross Cursor ***********************/
+ /****************** Painting Cursor ************************/
BEGIN_CURSOR_BLOCK;
- static char editcross_sbm[] = {
- 0x0e, 0x00, 0x11, 0x00, 0x1d, 0x00, 0x19, 0x03, 0x1d, 0x03, 0x11,
- 0x03, 0x0e, 0x03, 0x00, 0x03, 0xf8, 0x7c, 0xf8, 0x7c, 0x00, 0x03,
- 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x00,
+ static char paint_sbm[] = {
+ 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x8f, 0x78, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x00, 0x00,
+ };
+
+ static char paint_smsk[] = {
+ 0xc0, 0x01, 0xc0, 0x01, 0xc0, 0x01, 0xc0, 0x01, 0x00, 0x00, 0x00,
+ 0x00, 0x8f, 0x78, 0xcf, 0x79, 0x8f, 0x78, 0x00, 0x00, 0x00, 0x00,
+ 0xc0, 0x01, 0xc0, 0x01, 0xc0, 0x01, 0xc0, 0x01, 0x00, 0x00,
+ };
+ static char paint_lbm[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x80, 0x01,
+ 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x80,
+ 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xfe, 0x80, 0x01, 0x7f, 0xfe, 0x80, 0x01, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00,
+ 0x80, 0x01, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x80, 0x01, 0x00,
+ 0x00, 0x80, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
};
- static char editcross_smsk[] = {
- 0x0e, 0x00, 0x1f, 0x00, 0x1f, 0x03, 0x1f, 0x03, 0x1f, 0x03, 0x1f,
- 0x03, 0x0e, 0x03, 0x80, 0x07, 0xfc, 0xfc, 0xfc, 0xfc, 0x80, 0x07,
- 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03,
+ static char paint_lmsk[] = {
+ 0x00, 0x80, 0x01, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0xc0, 0x03,
+ 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0xc0,
+ 0x03, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x80, 0x01, 0x7f,
+ 0xff, 0xc1, 0x83, 0xff, 0xff, 0xc1, 0x83, 0xff, 0xfe, 0x80, 0x01, 0x7f, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00,
+ 0xc0, 0x03, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0xc0, 0x03, 0x00,
+ 0x00, 0xc0, 0x03, 0x00, 0x00, 0x80, 0x01, 0x00,
};
- static BCursor EditCrossCursor = {
+ static BCursor PaintCursor = {
/* small */
- editcross_sbm,
- editcross_smsk,
+ paint_sbm,
+ paint_smsk,
16,
16,
- 9,
- 8,
+ 7,
+ 7,
/* big */
- NULL,
- NULL,
+ paint_lbm,
+ paint_lmsk,
32,
32,
15,
15,
- /* can invert color */
- true,
+ /* don't invert color */
+ false,
};
- BlenderCursor[BC_EDITCROSSCURSOR] = &EditCrossCursor;
+ BlenderCursor[WM_CURSOR_PAINT] = &PaintCursor;
END_CURSOR_BLOCK;
- /********************** Box Select *************************/
+ /********************** Dot Cursor ***********************/
BEGIN_CURSOR_BLOCK;
- static char box_sbm[32] = {
- 0x7f, 0x00, 0x41, 0x00, 0x41, 0x00, 0x41, 0x06, 0x41, 0x06, 0x41,
- 0x06, 0x7f, 0x06, 0x00, 0x06, 0xe0, 0x79, 0xe0, 0x79, 0x00, 0x06,
- 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x00,
+ static char dot_sbm[] = {
+ 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x8f, 0x78, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x00, 0x00,
};
- static char box_smsk[32] = {
- 0x7f, 0x00, 0x7f, 0x00, 0x63, 0x06, 0x63, 0x06, 0x63, 0x06, 0x7f,
- 0x06, 0x7f, 0x06, 0x00, 0x0f, 0xf0, 0xf9, 0xf0, 0xf9, 0x00, 0x0f,
- 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06,
+ static char dot_smsk[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x80, 0x00, 0xc0, 0x01, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ };
+ static char dot_lbm[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00,
+ 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
- static BCursor BoxSelCursor = {
+ static char dot_lmsk[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0xe0, 0x01, 0x00,
+ 0x00, 0xe0, 0x01, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ };
+
+ static BCursor DotCursor = {
/* small */
- box_sbm,
- box_smsk,
+ dot_sbm,
+ dot_smsk,
16,
16,
- 9,
- 8,
+ 7,
+ 7,
+ /* big */
+ dot_lbm,
+ dot_lmsk,
+ 32,
+ 32,
+ 14,
+ 14,
+ /* don't invert color */
+ false,
+ };
+
+ BlenderCursor[WM_CURSOR_DOT] = &DotCursor;
+ END_CURSOR_BLOCK;
+
+ /************* Minimal Crosshair Cursor ***************/
+ BEGIN_CURSOR_BLOCK;
+ static char crossc_sbm[] = {
+ 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,
+ 0x00, 0x80, 0x00, 0x55, 0x55, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00,
+ 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
+ };
+
+ static char crossc_smsk[] = {
+ 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80,
+ 0x00, 0x80, 0x00, 0x7f, 0x7f, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00,
+ 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x00, 0x00,
+ };
+ static char crossc_lbm[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x80, 0x01, 0x00,
+ 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x00, 0x80, 0x01, 0x00, 0x00, 0x80, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x80,
+ 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00,
+ 0x80, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x01, 0x00,
+ 0x00, 0x80, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+ };
+
+ static char crossc_lmsk[] = {
+ 0x00, 0x80, 0x01, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x80, 0x01,
+ 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x80,
+ 0x01, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00,
+ 0xc0, 0x03, 0x00, 0x00, 0xe0, 0x07, 0x00, 0x00, 0x70, 0x0e, 0x00, 0x00, 0x78, 0x1e, 0x00,
+ 0xff, 0x1f, 0xf8, 0xff, 0xff, 0x1f, 0xf8, 0xff, 0x00, 0x78, 0x1e, 0x00, 0x00, 0x70, 0x0e,
+ 0x00, 0x00, 0xe0, 0x07, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x80,
+ 0x01, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00,
+ 0x80, 0x01, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x80, 0x01, 0x00,
+ 0x00, 0x80, 0x01, 0x00, 0x00, 0x80, 0x01, 0x00,
+ };
+
+ static BCursor CrossCursorC = {
+ /* small */
+ crossc_sbm,
+ crossc_smsk,
+ 16,
+ 16,
+ 7,
+ 7,
/* big */
- NULL,
- NULL,
+ crossc_lbm,
+ crossc_lmsk,
32,
32,
15,
15,
- /* can invert color */
- true,
+ /* don't invert color */
+ false,
};
- BlenderCursor[BC_BOXSELCURSOR] = &BoxSelCursor;
-
+ BlenderCursor[WM_CURSOR_CROSSC] = &CrossCursorC;
END_CURSOR_BLOCK;
+
/********************** Knife Cursor ***********************/
BEGIN_CURSOR_BLOCK;
static char knife_sbm[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x2c, 0x00, 0x5a, 0x00,
- 0x34, 0x00, 0x2a, 0x00, 0x17, 0x80, 0x06, 0x40, 0x03, 0xa0, 0x03,
- 0xd0, 0x01, 0x68, 0x00, 0x1c, 0x00, 0x06, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x40, 0x00, 0x60, 0x00, 0x30, 0x00, 0x18, 0x00,
+ 0x0c, 0x00, 0x06, 0x00, 0x0f, 0x80, 0x07, 0xc0, 0x03, 0xe0, 0x01,
+ 0xf0, 0x00, 0x78, 0x00, 0x3c, 0x00, 0x0e, 0x00, 0x00, 0x00,
};
static char knife_smsk[] = {
- 0x00, 0x60, 0x00, 0xf0, 0x00, 0xfc, 0x00, 0xfe, 0x00, 0xfe, 0x00,
- 0x7e, 0x00, 0x7f, 0x80, 0x3f, 0xc0, 0x0e, 0x60, 0x07, 0xb0, 0x07,
- 0xd8, 0x03, 0xec, 0x01, 0x7e, 0x00, 0x1f, 0x00, 0x07, 0x00,
+ 0x00, 0x40, 0x00, 0xe0, 0x00, 0xf0, 0x00, 0x78, 0x00, 0x3c, 0x00,
+ 0x1e, 0x00, 0x0f, 0x80, 0x1f, 0xc0, 0x0f, 0xe0, 0x07, 0xf0, 0x03,
+ 0xf8, 0x01, 0xfc, 0x00, 0x7e, 0x00, 0x3f, 0x00, 0x0f, 0x00,
};
static char knife_lbm[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x00,
- 0x00, 0x7f, 0x00, 0x00, 0x80, 0xbf, 0x00, 0x00, 0xc0, 0x5f, 0x00, 0x00, 0xc0, 0x6f, 0x00,
- 0x00, 0xc0, 0x37, 0x00, 0x00, 0xa8, 0x1b, 0x00, 0x00, 0x54, 0x0d, 0x00, 0x00, 0xa8, 0x00,
- 0x00, 0x00, 0x54, 0x00, 0x00, 0x00, 0xa8, 0x00, 0x00, 0x00, 0x53, 0x00, 0x00, 0xc0, 0x07,
- 0x00, 0x00, 0xe0, 0x0f, 0x00, 0x00, 0xd0, 0x0f, 0x00, 0x00, 0xe8, 0x07, 0x00, 0x00, 0xf4,
- 0x07, 0x00, 0x00, 0xfa, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x80, 0x0e, 0x00, 0x00, 0xc0,
- 0x03, 0x00, 0x00, 0xe0, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x10, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00,
+ 0x00, 0x07, 0x00, 0x00, 0x80, 0x03, 0x00, 0x00, 0xc0, 0x01, 0x00, 0x00, 0xe0, 0x00, 0x00,
+ 0x00, 0x70, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x7c, 0x00, 0x00, 0x00, 0xfe, 0x00,
+ 0x00, 0x00, 0xff, 0x00, 0x00, 0x80, 0x7f, 0x00, 0x00, 0xc0, 0x3f, 0x00, 0x00, 0xe0, 0x1f,
+ 0x00, 0x00, 0xf0, 0x0f, 0x00, 0x00, 0xf8, 0x07, 0x00, 0x00, 0xfc, 0x03, 0x00, 0x00, 0xfe,
+ 0x01, 0x00, 0x00, 0xff, 0x00, 0x00, 0x80, 0x7f, 0x00, 0x00, 0xc0, 0x3f, 0x00, 0x00, 0xe0,
+ 0x1f, 0x00, 0x00, 0xf0, 0x0f, 0x00, 0x00, 0xf8, 0x07, 0x00, 0x00, 0xfc, 0x01, 0x00, 0x00,
+ 0x7e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
static char knife_lmsk[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x18, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00, 0x7e, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00,
- 0x80, 0xff, 0x00, 0x00, 0xc0, 0xbf, 0x00, 0x00, 0xe0, 0xdf, 0x00, 0x00, 0xe0, 0xef, 0x00,
- 0x00, 0xf8, 0x77, 0x00, 0x00, 0xfc, 0x3b, 0x00, 0x00, 0xfe, 0x1d, 0x00, 0x00, 0xfe, 0x0f,
- 0x00, 0x00, 0xfe, 0x01, 0x00, 0x00, 0xff, 0x01, 0x00, 0xc0, 0xff, 0x00, 0x00, 0xe0, 0x7f,
- 0x00, 0x00, 0xf0, 0x1f, 0x00, 0x00, 0xd8, 0x1f, 0x00, 0x00, 0xec, 0x0f, 0x00, 0x00, 0xf6,
- 0x0f, 0x00, 0x00, 0xfb, 0x06, 0x00, 0x80, 0xbd, 0x01, 0x00, 0xc0, 0x6e, 0x00, 0x00, 0xe0,
- 0x1b, 0x00, 0x00, 0xf0, 0x06, 0x00, 0x00, 0xb8, 0x01, 0x00, 0x00, 0x6c, 0x00, 0x00, 0x00,
- 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00,
+ 0x7c, 0x00, 0x00, 0x00, 0xfe, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x00, 0x80, 0x3f, 0x00, 0x00,
+ 0xc0, 0x1f, 0x00, 0x00, 0xe0, 0x0f, 0x00, 0x00, 0xf0, 0x07, 0x00, 0x00, 0xf8, 0x03, 0x00,
+ 0x00, 0xfc, 0x01, 0x00, 0x00, 0xfe, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x80, 0xff, 0x01,
+ 0x00, 0xc0, 0xff, 0x03, 0x00, 0xe0, 0xff, 0x01, 0x00, 0xf0, 0xff, 0x00, 0x00, 0xf8, 0x7f,
+ 0x00, 0x00, 0xfc, 0x3f, 0x00, 0x00, 0xfe, 0x1f, 0x00, 0x00, 0xff, 0x0f, 0x00, 0x80, 0xff,
+ 0x07, 0x00, 0xc0, 0xff, 0x03, 0x00, 0xe0, 0xff, 0x01, 0x00, 0xf0, 0xff, 0x00, 0x00, 0xf8,
+ 0x7f, 0x00, 0x00, 0xfc, 0x3f, 0x00, 0x00, 0xfe, 0x1f, 0x00, 0x00, 0xff, 0x07, 0x00, 0x00,
+ 0xff, 0x03, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00,
};
static BCursor KnifeCursor = {
@@ -759,11 +993,11 @@ void wm_init_cursor_data(void)
32,
0,
31,
- /* can invert color */
- true,
+ /* don't invert color */
+ false,
};
- BlenderCursor[BC_KNIFECURSOR] = &KnifeCursor;
+ BlenderCursor[WM_CURSOR_KNIFE] = &KnifeCursor;
END_CURSOR_BLOCK;
@@ -771,9 +1005,9 @@ void wm_init_cursor_data(void)
BEGIN_CURSOR_BLOCK;
static char vloop_sbm[] = {
- 0x00, 0x00, 0x7e, 0x00, 0x3e, 0x00, 0x1e, 0x00, 0x0e, 0x00, 0x66,
- 0x60, 0x62, 0x6f, 0x00, 0x00, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
- 0x20, 0x20, 0x00, 0x00, 0x60, 0x60, 0x60, 0x6f, 0x00, 0x00,
+ 0x00, 0x00, 0x7e, 0x00, 0x3e, 0x00, 0x1e, 0x00, 0xfe, 0xf0, 0x96,
+ 0x9f, 0x92, 0x90, 0xf0, 0xf0, 0x20, 0x40, 0x20, 0x40, 0x20, 0x40,
+ 0x20, 0x40, 0xf0, 0xf0, 0x90, 0x90, 0x90, 0x9f, 0xf0, 0xf0,
};
static char vloop_smsk[] = {
@@ -783,27 +1017,27 @@ void wm_init_cursor_data(void)
};
static char vloop_lbm[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x3f, 0x00, 0x00, 0xfc, 0x3f, 0x00,
- 0x00, 0xfc, 0x0f, 0x00, 0x00, 0xfc, 0x0f, 0x00, 0x00, 0xfc, 0x03, 0x00, 0x00, 0xfc, 0x03,
- 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00, 0x3c, 0x3c, 0x00, 0x3c, 0x3c,
- 0x3c, 0x00, 0x3c, 0x0c, 0x3c, 0xff, 0x3c, 0x0c, 0x3c, 0xff, 0x3c, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00,
- 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c,
- 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x3c, 0x00, 0x3c, 0x00, 0x3c, 0x00, 0x3c, 0x00, 0x3c, 0xff, 0x3c, 0x00, 0x3c, 0xff, 0x3c,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xfe, 0x7f, 0x00, 0x00, 0xfe, 0x3f, 0x00, 0x00, 0xfe, 0x1f, 0x00,
+ 0x00, 0xfe, 0x0f, 0x00, 0x00, 0xfe, 0x07, 0x00, 0x00, 0xfe, 0x03, 0x00, 0x00, 0xfe, 0x01,
+ 0x00, 0x00, 0xfe, 0x7e, 0x00, 0x7e, 0x7e, 0xff, 0x00, 0xff, 0x3e, 0xc3, 0x00, 0xc3, 0x1e,
+ 0xc3, 0xff, 0xc3, 0x0e, 0xc3, 0xff, 0xc3, 0x06, 0xc3, 0x00, 0xc3, 0x02, 0xff, 0x00, 0xff,
+ 0x00, 0x7e, 0x00, 0x7e, 0x00, 0x18, 0x00, 0x18, 0x00, 0x18, 0x00, 0x18, 0x00, 0x18, 0x00,
+ 0x18, 0x00, 0x18, 0x00, 0x18, 0x00, 0x18, 0x00, 0x18, 0x00, 0x18, 0x00, 0x18, 0x00, 0x18,
+ 0x00, 0x18, 0x00, 0x18, 0x00, 0x18, 0x00, 0x7e, 0x00, 0x7e, 0x00, 0xff, 0x00, 0xff, 0x00,
+ 0xc3, 0x00, 0xc3, 0x00, 0xc3, 0xff, 0xc3, 0x00, 0xc3, 0xff, 0xc3, 0x00, 0xc3, 0x00, 0xc3,
+ 0x00, 0xff, 0x00, 0xff, 0x00, 0x7e, 0x00, 0x7e,
};
static char vloop_lmsk[] = {
- 0xff, 0xff, 0x03, 0x00, 0xff, 0xff, 0x03, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00,
- 0x00, 0xff, 0x3f, 0x00, 0x00, 0xff, 0x3f, 0x00, 0x00, 0xff, 0x0f, 0x00, 0x00, 0xff, 0x0f,
- 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0x3f, 0xff, 0xff, 0xff, 0x3f, 0xff, 0xff, 0xff, 0x0f, 0xff, 0x00, 0xff,
- 0x0f, 0xff, 0x00, 0xff, 0x03, 0x3c, 0x00, 0x3c, 0x03, 0x3c, 0x00, 0x3c, 0x00, 0x3c, 0x00,
- 0x3c, 0x00, 0x3c, 0x00, 0x3c, 0x00, 0x3c, 0x00, 0x3c, 0x00, 0x3c, 0x00, 0x3c, 0x00, 0x3c,
- 0x00, 0x3c, 0x00, 0x3c, 0x00, 0x3c, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00,
- 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff,
- 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff,
+ 0xff, 0xff, 0x03, 0x00, 0xff, 0xff, 0x01, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x7f, 0x00,
+ 0x00, 0xff, 0x3f, 0x00, 0x00, 0xff, 0x1f, 0x00, 0x00, 0xff, 0x0f, 0x00, 0x00, 0xff, 0x07,
+ 0x00, 0x00, 0xff, 0x7f, 0x00, 0x7e, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0x7f,
+ 0xe7, 0xff, 0xe7, 0x3f, 0xe7, 0xff, 0xe7, 0x1f, 0xff, 0xff, 0xff, 0x0f, 0xff, 0x00, 0xff,
+ 0x07, 0x7e, 0x00, 0x7e, 0x03, 0x38, 0x00, 0x38, 0x01, 0x38, 0x00, 0x38, 0x00, 0x38, 0x00,
+ 0x38, 0x00, 0x38, 0x00, 0x38, 0x00, 0x38, 0x00, 0x38, 0x00, 0x38, 0x00, 0x38, 0x00, 0x38,
+ 0x00, 0x38, 0x00, 0x38, 0x00, 0x38, 0x00, 0x7e, 0x00, 0x7e, 0x00, 0xff, 0x00, 0xff, 0x00,
+ 0xff, 0xff, 0xff, 0x00, 0xe7, 0xff, 0xe7, 0x00, 0xe7, 0xff, 0xe7, 0x00, 0xff, 0x00, 0xff,
+ 0x00, 0xff, 0x00, 0xff, 0x00, 0x7e, 0x00, 0x7e,
};
static BCursor VLoopCursor = {
@@ -821,26 +1055,50 @@ void wm_init_cursor_data(void)
32,
0,
0,
- /* can invert color */
- true,
+ /* don't invert color */
+ false,
};
- BlenderCursor[BC_VLOOPCURSOR] = &VLoopCursor;
+ BlenderCursor[WM_CURSOR_VERTEX_LOOP] = &VLoopCursor;
END_CURSOR_BLOCK;
/********************** TextEdit Cursor ***********************/
BEGIN_CURSOR_BLOCK;
static char textedit_sbm[] = {
- 0xe0, 0x03, 0x10, 0x04, 0x60, 0x03, 0x40, 0x01, 0x40, 0x01, 0x40,
- 0x01, 0x40, 0x01, 0x40, 0x01, 0x40, 0x01, 0x40, 0x01, 0x40, 0x01,
- 0x40, 0x01, 0x40, 0x01, 0x60, 0x03, 0x10, 0x04, 0xe0, 0x03,
+ 0x00, 0x00, 0x70, 0x07, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80,
+ 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00,
+ 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x70, 0x07, 0x00, 0x00,
};
static char textedit_smsk[] = {
- 0xe0, 0x03, 0xf0, 0x07, 0xe0, 0x03, 0xc0, 0x01, 0xc0, 0x01, 0xc0,
+ 0x70, 0x07, 0xf8, 0x0f, 0xf0, 0x07, 0xc0, 0x01, 0xc0, 0x01, 0xc0,
0x01, 0xc0, 0x01, 0xc0, 0x01, 0xc0, 0x01, 0xc0, 0x01, 0xc0, 0x01,
- 0xc0, 0x01, 0xc0, 0x01, 0xe0, 0x03, 0xf0, 0x07, 0xe0, 0x03,
+ 0xc0, 0x01, 0xc0, 0x01, 0xf0, 0x07, 0xf8, 0x0f, 0x70, 0x07,
+ };
+
+ static char textedit_lbm[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x3f, 0x00, 0x00, 0xff, 0x3f, 0x00, 0x00, 0xe0, 0x01,
+ 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0xc0,
+ 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00,
+ 0xc0, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00,
+ 0x00, 0xc0, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0xc0, 0x00,
+ 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0xc0,
+ 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00,
+ 0xc0, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0xe0, 0x01, 0x00, 0x00, 0xff, 0x3f, 0x00,
+ 0x00, 0x3f, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00,
+ };
+
+ static char textedit_lmsk[] = {
+ 0x00, 0x3f, 0x3f, 0x00, 0x80, 0xff, 0x7f, 0x00, 0x80, 0xff, 0x7f, 0x00, 0x00, 0xff, 0x3f,
+ 0x00, 0x00, 0xf0, 0x03, 0x00, 0x00, 0xe0, 0x01, 0x00, 0x00, 0xe0, 0x01, 0x00, 0x00, 0xe0,
+ 0x01, 0x00, 0x00, 0xe0, 0x01, 0x00, 0x00, 0xe0, 0x01, 0x00, 0x00, 0xe0, 0x01, 0x00, 0x00,
+ 0xe0, 0x01, 0x00, 0x00, 0xe0, 0x01, 0x00, 0x00, 0xe0, 0x01, 0x00, 0x00, 0xe0, 0x01, 0x00,
+ 0x00, 0xe0, 0x01, 0x00, 0x00, 0xe0, 0x01, 0x00, 0x00, 0xe0, 0x01, 0x00, 0x00, 0xe0, 0x01,
+ 0x00, 0x00, 0xe0, 0x01, 0x00, 0x00, 0xe0, 0x01, 0x00, 0x00, 0xe0, 0x01, 0x00, 0x00, 0xe0,
+ 0x01, 0x00, 0x00, 0xe0, 0x01, 0x00, 0x00, 0xe0, 0x01, 0x00, 0x00, 0xe0, 0x01, 0x00, 0x00,
+ 0xe0, 0x01, 0x00, 0x00, 0xf0, 0x03, 0x00, 0x00, 0xff, 0x3f, 0x00, 0x80, 0xff, 0x7f, 0x00,
+ 0x80, 0xff, 0x7f, 0x00, 0x00, 0x3f, 0x3f, 0x00,
};
static BCursor TextEditCursor = {
@@ -849,35 +1107,58 @@ void wm_init_cursor_data(void)
textedit_smsk,
16,
16,
- 9,
- 8,
+ 7,
+ 7,
/* big */
- NULL,
- NULL,
+ textedit_lbm,
+ textedit_lmsk,
32,
32,
15,
15,
- /* can invert color */
- true,
+ /* don't invert color */
+ false,
};
- BlenderCursor[BC_TEXTEDITCURSOR] = &TextEditCursor;
+ BlenderCursor[WM_CURSOR_TEXT_EDIT] = &TextEditCursor;
END_CURSOR_BLOCK;
/********************** Paintbrush Cursor ***********************/
BEGIN_CURSOR_BLOCK;
static char paintbrush_sbm[] = {
-
- 0x00, 0xe0, 0x00, 0x98, 0x00, 0x44, 0x00, 0x42, 0x00, 0x21, 0x80,
- 0x20, 0x40, 0x13, 0x40, 0x17, 0xa0, 0x0b, 0x98, 0x05, 0x04, 0x02,
- 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x81, 0x00, 0x7f, 0x00,
+ 0x00, 0x00, 0x00, 0x30, 0x00, 0x78, 0x00, 0x74, 0x00, 0x2e, 0x00,
+ 0x1f, 0x80, 0x0f, 0xc0, 0x07, 0xe0, 0x03, 0xf0, 0x01, 0xf8, 0x00,
+ 0x7c, 0x00, 0x3e, 0x00, 0x1e, 0x00, 0x0e, 0x00, 0x00, 0x00,
};
static char paintbrush_smsk[] = {
- 0x00, 0xe0, 0x00, 0xf8, 0x00, 0x7c, 0x00, 0x7e, 0x00, 0x3f, 0x80,
- 0x3f, 0xc0, 0x1f, 0xc0, 0x1f, 0xe0, 0x0f, 0xf8, 0x07, 0xfc, 0x03,
- 0xfe, 0x01, 0xfe, 0x01, 0xfe, 0x01, 0xff, 0x00, 0x7f, 0x00,
+ 0x00, 0x30, 0x00, 0x78, 0x00, 0xfc, 0x00, 0xfe, 0x00, 0x7f, 0x80,
+ 0x3f, 0xc0, 0x1f, 0xe0, 0x0f, 0xf0, 0x07, 0xf8, 0x03, 0xfc, 0x01,
+ 0xfe, 0x00, 0x7f, 0x00, 0x3f, 0x00, 0x1f, 0x00, 0x0f, 0x00,
+ };
+
+ static char paintbrush_lbm[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00,
+ 0x0f, 0x00, 0x00, 0x80, 0x1f, 0x00, 0x00, 0xc0, 0x3f, 0x00, 0x00, 0x80, 0x3f, 0x00, 0x00,
+ 0x10, 0x1f, 0x00, 0x00, 0x38, 0x0e, 0x00, 0x00, 0x7c, 0x04, 0x00, 0x00, 0xfe, 0x00, 0x00,
+ 0x00, 0xff, 0x01, 0x00, 0x80, 0xff, 0x00, 0x00, 0xc0, 0x7f, 0x00, 0x00, 0xe0, 0x3f, 0x00,
+ 0x00, 0xf0, 0x1f, 0x00, 0x00, 0xf8, 0x0f, 0x00, 0x00, 0xfc, 0x07, 0x00, 0x00, 0xfe, 0x03,
+ 0x00, 0x00, 0xff, 0x01, 0x00, 0x80, 0xff, 0x00, 0x00, 0xc0, 0x7f, 0x00, 0x00, 0xe0, 0x3f,
+ 0x00, 0x00, 0xf0, 0x1f, 0x00, 0x00, 0xf8, 0x0f, 0x00, 0x00, 0xfc, 0x07, 0x00, 0x00, 0xfe,
+ 0x03, 0x00, 0x00, 0xfe, 0x01, 0x00, 0x00, 0xfe, 0x00, 0x00, 0x00, 0x7e, 0x00, 0x00, 0x00,
+ 0x3e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ };
+
+ static char paintbrush_lmsk[] = {
+ 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x80, 0x1f, 0x00, 0x00, 0xc0,
+ 0x3f, 0x00, 0x00, 0xe0, 0x7f, 0x00, 0x00, 0xf0, 0xff, 0x00, 0x00, 0xf8, 0xff, 0x00, 0x00,
+ 0xfc, 0x7f, 0x00, 0x00, 0xfe, 0x3f, 0x00, 0x00, 0xff, 0x1f, 0x00, 0x80, 0xff, 0x0f, 0x00,
+ 0xc0, 0xff, 0x07, 0x00, 0xe0, 0xff, 0x03, 0x00, 0xf0, 0xff, 0x01, 0x00, 0xf8, 0xff, 0x00,
+ 0x00, 0xfc, 0x7f, 0x00, 0x00, 0xfe, 0x3f, 0x00, 0x00, 0xff, 0x1f, 0x00, 0x80, 0xff, 0x0f,
+ 0x00, 0xc0, 0xff, 0x07, 0x00, 0xe0, 0xff, 0x03, 0x00, 0xf0, 0xff, 0x01, 0x00, 0xf8, 0xff,
+ 0x00, 0x00, 0xfc, 0x7f, 0x00, 0x00, 0xfe, 0x3f, 0x00, 0x00, 0xff, 0x1f, 0x00, 0x00, 0xff,
+ 0x0f, 0x00, 0x00, 0xff, 0x07, 0x00, 0x00, 0xff, 0x03, 0x00, 0x00, 0xff, 0x01, 0x00, 0x00,
+ 0xff, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x00, 0x00,
};
static BCursor PaintBrushCursor = {
@@ -889,32 +1170,116 @@ void wm_init_cursor_data(void)
0,
15,
/* big */
- NULL,
- NULL,
+ paintbrush_lbm,
+ paintbrush_lmsk,
32,
32,
- 15,
- 15,
- /* can invert color */
- true,
+ 0,
+ 31,
+ /* don't invert color */
+ false,
};
- BlenderCursor[BC_PAINTBRUSHCURSOR] = &PaintBrushCursor;
+ BlenderCursor[WM_CURSOR_PAINT_BRUSH] = &PaintBrushCursor;
+ END_CURSOR_BLOCK;
+
+ /********************** Eraser Cursor ***********************/
+ BEGIN_CURSOR_BLOCK;
+ static char eraser_sbm[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80,
+ 0x00, 0xc0, 0x01, 0xe0, 0x03, 0xf0, 0x07, 0xf8, 0x0f, 0xfc, 0x07,
+ 0xfe, 0x03, 0xfe, 0x01, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00,
+ };
+
+ static char eraser_smsk[] = {
+ 0x00, 0x00, 0x00, 0x04, 0x00, 0x0e, 0x00, 0x1f, 0x80, 0x3f, 0xc0,
+ 0x7f, 0xe0, 0xff, 0xf0, 0x7f, 0xf8, 0x3f, 0xfc, 0x1f, 0xfe, 0x0f,
+ 0xff, 0x07, 0xff, 0x03, 0xff, 0x01, 0xff, 0x00, 0x00, 0x00,
+ };
+
+ static char eraser_lbm[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x78,
+ 0x00, 0x00, 0x00, 0xcc, 0x00, 0x00, 0x00, 0x86, 0x01, 0x00, 0x00, 0x03, 0x03, 0x00, 0x80,
+ 0x01, 0x06, 0x00, 0xc0, 0x00, 0x0c, 0x00, 0x60, 0x00, 0x18, 0x00, 0x30, 0x00, 0x30, 0x00,
+ 0x18, 0x00, 0x60, 0x00, 0x4c, 0x00, 0xc0, 0x00, 0xe6, 0x00, 0xc0, 0x00, 0xf3, 0x01, 0x60,
+ 0x80, 0xf9, 0x03, 0x30, 0xc0, 0xfc, 0x07, 0x18, 0x60, 0xfe, 0x0f, 0x0c, 0x30, 0xff, 0x1f,
+ 0x06, 0x98, 0xff, 0x3f, 0x03, 0xcc, 0xff, 0x9f, 0x01, 0xe6, 0xff, 0xcf, 0x00, 0xf3, 0xff,
+ 0x67, 0x00, 0xf9, 0xff, 0x33, 0x00, 0xfd, 0xff, 0x19, 0x00, 0xfd, 0xff, 0x0c, 0x00, 0xfd,
+ 0x7f, 0x06, 0x00, 0xfd, 0x3f, 0x03, 0x00, 0x01, 0x80, 0x01, 0x00, 0xff, 0xff, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ };
+
+ static char eraser_lmsk[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x78,
+ 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00, 0xfe, 0x01, 0x00, 0x00, 0xff, 0x03, 0x00, 0x80,
+ 0xff, 0x07, 0x00, 0xc0, 0xff, 0x0f, 0x00, 0xe0, 0xff, 0x1f, 0x00, 0xf0, 0xff, 0x3f, 0x00,
+ 0xf8, 0xff, 0x7f, 0x00, 0xfc, 0xff, 0xff, 0x00, 0xfe, 0xff, 0xff, 0x00, 0xff, 0xff, 0x7f,
+ 0x80, 0xff, 0xff, 0x3f, 0xc0, 0xff, 0xff, 0x1f, 0xe0, 0xff, 0xff, 0x0f, 0xf0, 0xff, 0xff,
+ 0x07, 0xf8, 0xff, 0xff, 0x03, 0xfc, 0xff, 0xff, 0x01, 0xfe, 0xff, 0xff, 0x00, 0xff, 0xff,
+ 0x7f, 0x00, 0xff, 0xff, 0x3f, 0x00, 0xff, 0xff, 0x1f, 0x00, 0xff, 0xff, 0x0f, 0x00, 0xff,
+ 0xff, 0x07, 0x00, 0xff, 0xff, 0x03, 0x00, 0xff, 0xff, 0x01, 0x00, 0xff, 0xff, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ };
+
+ static BCursor EraserCursor = {
+ /* small */
+ eraser_sbm,
+ eraser_smsk,
+ 16,
+ 16,
+ 0,
+ 14,
+ /* big */
+ eraser_lbm,
+ eraser_lmsk,
+ 32,
+ 32,
+ 0,
+ 28,
+ /* don't invert color */
+ false,
+ };
+
+ BlenderCursor[WM_CURSOR_ERASER] = &EraserCursor;
END_CURSOR_BLOCK;
/********************** Hand Cursor ***********************/
BEGIN_CURSOR_BLOCK;
static char hand_sbm[] = {
- 0x00, 0x00, 0x00, 0x00, 0x80, 0x01, 0x80, 0x0d, 0x98, 0x6d, 0x98,
- 0x6d, 0xb0, 0x6d, 0xb0, 0x6d, 0xe0, 0x6f, 0xe6, 0x7f, 0xee, 0x7f,
- 0xfc, 0x3f, 0xf8, 0x3f, 0xf0, 0x1f, 0xc0, 0x1f, 0xc0, 0x1f,
+ 0x00, 0x00, 0x80, 0x01, 0x80, 0x0d, 0x98, 0x6d, 0xb8, 0x6d, 0xb0,
+ 0x6d, 0xb0, 0x6d, 0xe0, 0x6f, 0xe6, 0x7f, 0xee, 0x7f, 0x7c, 0x35,
+ 0x78, 0x35, 0x70, 0x15, 0x60, 0x15, 0xc0, 0x1f, 0xc0, 0x1f,
};
static char hand_smsk[] = {
- 0x00, 0x00, 0x80, 0x01, 0xc0, 0x0f, 0xd8, 0x7f, 0xfc, 0xff, 0xfc,
- 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf6, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xfe, 0x7f, 0xfc, 0x7f, 0xf8, 0x3f, 0xf0, 0x3f, 0xe0, 0x3f,
+ 0x80, 0x01, 0xc0, 0x0f, 0xd8, 0x7f, 0xfc, 0xff, 0xfc, 0xff, 0xf8,
+ 0xff, 0xf8, 0xff, 0xf6, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x7f,
+ 0xfc, 0x7f, 0xf8, 0x3f, 0xf0, 0x3f, 0xe0, 0x3f, 0xe0, 0x3f,
+ };
+
+ static char hand_lbm[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x30, 0x0f,
+ 0x00, 0x00, 0x78, 0xcf, 0x00, 0x00, 0x78, 0xef, 0x01, 0x00, 0x78, 0xef, 0x01, 0x00, 0x78,
+ 0xef, 0x01, 0x00, 0x78, 0xef, 0x1d, 0x00, 0x78, 0xef, 0x3d, 0x00, 0x78, 0xef, 0x3d, 0x00,
+ 0x78, 0xef, 0x3d, 0x00, 0x78, 0xef, 0x3d, 0x00, 0x78, 0xef, 0x3d, 0x70, 0x78, 0xef, 0x3d,
+ 0xf0, 0x78, 0xef, 0x3d, 0xf0, 0xf8, 0xff, 0x3d, 0xf0, 0xf8, 0xff, 0x3d, 0xf0, 0xf8, 0xff,
+ 0x3f, 0xf0, 0xb9, 0xf7, 0x3f, 0xe0, 0xbb, 0xf7, 0x3f, 0xe0, 0xbf, 0xf7, 0x3e, 0xe0, 0xbf,
+ 0xf7, 0x3e, 0xc0, 0xbf, 0xf7, 0x3e, 0x80, 0xbf, 0xf7, 0x3e, 0x80, 0xbf, 0xf7, 0x3e, 0x00,
+ 0xbf, 0xf7, 0x1e, 0x00, 0xbe, 0xf7, 0x1e, 0x00, 0xfc, 0xff, 0x0f, 0x00, 0xfc, 0xff, 0x0f,
+ 0x00, 0xf8, 0xff, 0x07, 0x00, 0xf8, 0xff, 0x07,
+ };
+
+ static char hand_lmsk[] = {
+ 0x00, 0x00, 0x0f, 0x00, 0x00, 0x80, 0x1f, 0x00, 0x00, 0xf8, 0x3f, 0x00, 0x00, 0xfc, 0xff,
+ 0x01, 0x00, 0xfc, 0xff, 0x03, 0x00, 0xfc, 0xff, 0x03, 0x00, 0xfc, 0xff, 0x03, 0x00, 0xfc,
+ 0xff, 0x3f, 0x00, 0xfc, 0xff, 0x7f, 0x00, 0xfc, 0xff, 0x7f, 0x00, 0xfc, 0xff, 0x7f, 0x00,
+ 0xfc, 0xff, 0x7f, 0x60, 0xfc, 0xff, 0x7f, 0xf8, 0xfc, 0xff, 0x7f, 0xf8, 0xfd, 0xff, 0x7f,
+ 0xfc, 0xfd, 0xff, 0x7f, 0xfc, 0xfd, 0xff, 0x7f, 0xfc, 0xff, 0xff, 0x7f, 0xf8, 0xff, 0xff,
+ 0x7f, 0xf8, 0xff, 0xff, 0x7f, 0xf8, 0xff, 0xff, 0x7f, 0xf8, 0xff, 0xff, 0x7f, 0xf0, 0xff,
+ 0xff, 0x7f, 0xe0, 0xff, 0xff, 0x7f, 0xe0, 0xff, 0xff, 0x7f, 0xc0, 0xff, 0xff, 0x7f, 0x80,
+ 0xff, 0xff, 0x7f, 0x80, 0xff, 0xff, 0x3f, 0x00, 0xff, 0xff, 0x3f, 0x00, 0xfe, 0xff, 0x1f,
+ 0x00, 0xfe, 0xff, 0x1f, 0x00, 0xfc, 0xff, 0x1f,
};
static BCursor HandCursor = {
@@ -926,17 +1291,17 @@ void wm_init_cursor_data(void)
8,
8,
/* big */
- NULL,
- NULL,
+ hand_lbm,
+ hand_lmsk,
32,
32,
- 15,
- 15,
- /* can invert color */
- true,
+ 17,
+ 17,
+ /* don't invert color */
+ false,
};
- BlenderCursor[BC_HANDCURSOR] = &HandCursor;
+ BlenderCursor[WM_CURSOR_HAND] = &HandCursor;
END_CURSOR_BLOCK;
@@ -944,15 +1309,39 @@ void wm_init_cursor_data(void)
BEGIN_CURSOR_BLOCK;
static char nsewscroll_sbm[] = {
- 0x00, 0x00, 0x80, 0x01, 0xc0, 0x03, 0xc0, 0x03, 0x00, 0x00, 0x00,
- 0x00, 0x0c, 0x30, 0x0e, 0x70, 0x0e, 0x70, 0x0c, 0x30, 0x00, 0x00,
- 0x00, 0x00, 0xc0, 0x03, 0xc0, 0x03, 0x80, 0x01, 0x00, 0x00,
+ 0x00, 0x00, 0x80, 0x01, 0xc0, 0x03, 0x40, 0x02, 0x00, 0x00, 0x00,
+ 0x00, 0x0c, 0x30, 0x06, 0x60, 0x06, 0x60, 0x0c, 0x30, 0x00, 0x00,
+ 0x00, 0x00, 0x40, 0x02, 0xc0, 0x03, 0x80, 0x01, 0x00, 0x00,
};
static char nsewscroll_smsk[] = {
- 0x80, 0x01, 0xc0, 0x03, 0xe0, 0x07, 0xe0, 0x07, 0xc0, 0x03, 0x0c,
- 0x30, 0x1e, 0x78, 0x1f, 0xf8, 0x1f, 0xf8, 0x1e, 0x78, 0x0c, 0x30,
- 0xc0, 0x03, 0xe0, 0x07, 0xe0, 0x07, 0xc0, 0x03, 0x80, 0x01,
+ 0x80, 0x01, 0xc0, 0x03, 0xe0, 0x07, 0xe0, 0x07, 0x40, 0x02, 0x0c,
+ 0x30, 0x1e, 0x78, 0x0f, 0xf0, 0x0f, 0xf8, 0x1e, 0x78, 0x0c, 0x30,
+ 0x40, 0x02, 0xe0, 0x07, 0xe0, 0x07, 0xc0, 0x03, 0x80, 0x01,
+ };
+
+ static char nsewscroll_lbm[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0xe0, 0x07,
+ 0x00, 0x00, 0xf0, 0x0f, 0x00, 0x00, 0xf8, 0x1f, 0x00, 0x00, 0x7c, 0x3e, 0x00, 0x00, 0x38,
+ 0x1c, 0x00, 0x00, 0x10, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x02, 0xe0,
+ 0x00, 0x00, 0x07, 0xf0, 0x01, 0x80, 0x0f, 0xf8, 0x00, 0x00, 0x1f, 0x7c, 0x00, 0x00, 0x3e,
+ 0x3e, 0x00, 0x00, 0x7c, 0x3e, 0x00, 0x00, 0x7c, 0x7c, 0x00, 0x00, 0x3e, 0xf8, 0x00, 0x00,
+ 0x1f, 0xf0, 0x01, 0x80, 0x0f, 0xe0, 0x00, 0x00, 0x07, 0x40, 0x00, 0x00, 0x02, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x10, 0x08, 0x00, 0x00, 0x38, 0x1c, 0x00, 0x00, 0x7c, 0x3e, 0x00, 0x00,
+ 0xf8, 0x1f, 0x00, 0x00, 0xf0, 0x0f, 0x00, 0x00, 0xe0, 0x07, 0x00, 0x00, 0xc0, 0x03, 0x00,
+ 0x00, 0x80, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+ };
+
+ static char nsewscroll_lmsk[] = {
+ 0x00, 0x80, 0x01, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0xe0, 0x07, 0x00, 0x00, 0xf0, 0x0f,
+ 0x00, 0x00, 0xf8, 0x1f, 0x00, 0x00, 0xfc, 0x3f, 0x00, 0x00, 0xfe, 0x7f, 0x00, 0x00, 0x7c,
+ 0x3e, 0x00, 0x00, 0x38, 0x1c, 0x00, 0x40, 0x10, 0x08, 0x02, 0xe0, 0x00, 0x00, 0x07, 0xf0,
+ 0x01, 0x80, 0x0f, 0xf8, 0x03, 0xc0, 0x1f, 0xfc, 0x01, 0x80, 0x3f, 0xfe, 0x00, 0x00, 0x7f,
+ 0x7f, 0x00, 0x00, 0xfe, 0x7f, 0x00, 0x00, 0xfe, 0xfe, 0x00, 0x00, 0x7f, 0xfc, 0x01, 0x80,
+ 0x3f, 0xf8, 0x03, 0xc0, 0x1f, 0xf0, 0x01, 0x80, 0x0f, 0xe0, 0x00, 0x00, 0x07, 0x40, 0x10,
+ 0x08, 0x02, 0x00, 0x38, 0x1c, 0x00, 0x00, 0x7c, 0x3e, 0x00, 0x00, 0xfe, 0x7f, 0x00, 0x00,
+ 0xfc, 0x3f, 0x00, 0x00, 0xf8, 0x1f, 0x00, 0x00, 0xf0, 0x0f, 0x00, 0x00, 0xe0, 0x07, 0x00,
+ 0x00, 0xc0, 0x03, 0x00, 0x00, 0x80, 0x01, 0x00,
};
static BCursor NSEWScrollCursor = {
@@ -961,11 +1350,11 @@ void wm_init_cursor_data(void)
nsewscroll_smsk,
16,
16,
- 8,
- 8,
+ 7,
+ 7,
/* big */
- NULL,
- NULL,
+ nsewscroll_lbm,
+ nsewscroll_lmsk,
32,
32,
15,
@@ -974,7 +1363,7 @@ void wm_init_cursor_data(void)
true,
};
- BlenderCursor[BC_NSEW_SCROLLCURSOR] = &NSEWScrollCursor;
+ BlenderCursor[WM_CURSOR_NSEW_SCROLL] = &NSEWScrollCursor;
END_CURSOR_BLOCK;
@@ -982,15 +1371,39 @@ void wm_init_cursor_data(void)
BEGIN_CURSOR_BLOCK;
static char nsscroll_sbm[] = {
- 0x00, 0x00, 0x80, 0x01, 0xc0, 0x03, 0xc0, 0x03, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0xc0, 0x03, 0xc0, 0x03, 0x80, 0x01, 0x00, 0x00,
+ 0x00, 0x00, 0x80, 0x00, 0xc0, 0x01, 0xe0, 0x03, 0x70, 0x07, 0x20,
+ 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x02,
+ 0x70, 0x07, 0xe0, 0x03, 0xc0, 0x01, 0x80, 0x00, 0x00, 0x00,
};
static char nsscroll_smsk[] = {
- 0x80, 0x01, 0xc0, 0x03, 0xe0, 0x07, 0xe0, 0x07, 0xc0, 0x03, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0xc0, 0x03, 0xe0, 0x07, 0xe0, 0x07, 0xc0, 0x03, 0x80, 0x01,
+ 0x80, 0x00, 0xc0, 0x01, 0xe0, 0x03, 0xf0, 0x07, 0xf8, 0x0f, 0x70,
+ 0x07, 0x20, 0x02, 0x00, 0x00, 0x00, 0x00, 0x20, 0x02, 0x70, 0x07,
+ 0xf8, 0x0f, 0xf0, 0x07, 0xe0, 0x03, 0xc0, 0x01, 0x80, 0x00,
+ };
+
+ static char nsscroll_lbm[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0xe0, 0x01, 0x00, 0x00, 0xf0, 0x03,
+ 0x00, 0x00, 0xf8, 0x07, 0x00, 0x00, 0xfc, 0x0f, 0x00, 0x00, 0xfe, 0x1f, 0x00, 0x00, 0xff,
+ 0x3f, 0x00, 0x00, 0x3e, 0x1f, 0x00, 0x00, 0x1c, 0x0e, 0x00, 0x00, 0x08, 0x04, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x04, 0x00, 0x00, 0x1c,
+ 0x0e, 0x00, 0x00, 0x3e, 0x1f, 0x00, 0x00, 0xff, 0x3f, 0x00, 0x00, 0xfe, 0x1f, 0x00, 0x00,
+ 0xfc, 0x0f, 0x00, 0x00, 0xf8, 0x07, 0x00, 0x00, 0xf0, 0x03, 0x00, 0x00, 0xe0, 0x01, 0x00,
+ 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ };
+
+ static char nsscroll_lmsk[] = {
+ 0x00, 0xc0, 0x00, 0x00, 0x00, 0xe0, 0x01, 0x00, 0x00, 0xf0, 0x03, 0x00, 0x00, 0xf8, 0x07,
+ 0x00, 0x00, 0xfc, 0x0f, 0x00, 0x00, 0xfe, 0x1f, 0x00, 0x00, 0xff, 0x3f, 0x00, 0x80, 0xff,
+ 0x7f, 0x00, 0x00, 0xff, 0x3f, 0x00, 0x00, 0x3e, 0x1f, 0x00, 0x00, 0x1c, 0x0e, 0x00, 0x00,
+ 0x08, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x04, 0x00, 0x00, 0x1c, 0x0e, 0x00, 0x00, 0x3e,
+ 0x1f, 0x00, 0x00, 0xff, 0x3f, 0x00, 0x80, 0xff, 0x7f, 0x00, 0x00, 0xff, 0x3f, 0x00, 0x00,
+ 0xfe, 0x1f, 0x00, 0x00, 0xfc, 0x0f, 0x00, 0x00, 0xf8, 0x07, 0x00, 0x00, 0xf0, 0x03, 0x00,
+ 0x00, 0xe0, 0x01, 0x00, 0x00, 0xc0, 0x00, 0x00,
};
static BCursor NSScrollCursor = {
@@ -999,11 +1412,11 @@ void wm_init_cursor_data(void)
nsscroll_smsk,
16,
16,
- 8,
- 8,
+ 7,
+ 7,
/* big */
- NULL,
- NULL,
+ nsscroll_lbm,
+ nsscroll_lmsk,
32,
32,
15,
@@ -1012,7 +1425,7 @@ void wm_init_cursor_data(void)
true,
};
- BlenderCursor[BC_NS_SCROLLCURSOR] = &NSScrollCursor;
+ BlenderCursor[WM_CURSOR_NS_SCROLL] = &NSScrollCursor;
END_CURSOR_BLOCK;
@@ -1020,15 +1433,39 @@ void wm_init_cursor_data(void)
BEGIN_CURSOR_BLOCK;
static char ewscroll_sbm[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x0c, 0x30, 0x0e, 0x70, 0x0e, 0x70, 0x0c, 0x30, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x08, 0x38,
+ 0x1c, 0x1c, 0x38, 0x0e, 0x70, 0x1c, 0x38, 0x38, 0x1c, 0x10, 0x08,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
static char ewscroll_smsk[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c,
- 0x30, 0x1e, 0x78, 0x1f, 0xf8, 0x1f, 0xf8, 0x1e, 0x78, 0x0c, 0x30,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x08, 0x38, 0x1c, 0x7c,
+ 0x3e, 0x3e, 0x7c, 0x1f, 0xf8, 0x3e, 0x7c, 0x7c, 0x3e, 0x38, 0x1c,
+ 0x10, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ };
+
+ static char ewscroll_lbm[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x80, 0x00, 0x00, 0x01, 0xc0, 0x01, 0x80, 0x03, 0xe0, 0x03, 0xc0, 0x07, 0xf0,
+ 0x07, 0xe0, 0x0f, 0xf8, 0x03, 0xc0, 0x1f, 0xfc, 0x01, 0x80, 0x3f, 0xfe, 0x00, 0x00, 0x7f,
+ 0xfe, 0x00, 0x00, 0x7f, 0xfc, 0x01, 0x80, 0x3f, 0xf8, 0x03, 0xc0, 0x1f, 0xf0, 0x07, 0xe0,
+ 0x0f, 0xe0, 0x03, 0xc0, 0x07, 0xc0, 0x01, 0x80, 0x03, 0x80, 0x00, 0x00, 0x01, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ };
+
+ static char ewscroll_lmsk[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00,
+ 0x00, 0x01, 0xc0, 0x01, 0x80, 0x03, 0xe0, 0x03, 0xc0, 0x07, 0xf0, 0x07, 0xe0, 0x0f, 0xf8,
+ 0x0f, 0xf0, 0x1f, 0xfc, 0x07, 0xe0, 0x3f, 0xfe, 0x03, 0xc0, 0x7f, 0xff, 0x01, 0x80, 0xff,
+ 0xff, 0x01, 0x80, 0xff, 0xfe, 0x03, 0xc0, 0x7f, 0xfc, 0x07, 0xe0, 0x3f, 0xf8, 0x0f, 0xf0,
+ 0x1f, 0xf0, 0x07, 0xe0, 0x0f, 0xe0, 0x03, 0xc0, 0x07, 0xc0, 0x01, 0x80, 0x03, 0x80, 0x00,
+ 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
static BCursor EWScrollCursor = {
@@ -1037,11 +1474,11 @@ void wm_init_cursor_data(void)
ewscroll_smsk,
16,
16,
- 8,
- 8,
+ 7,
+ 7,
/* big */
- NULL,
- NULL,
+ ewscroll_lbm,
+ ewscroll_lmsk,
32,
32,
15,
@@ -1050,7 +1487,7 @@ void wm_init_cursor_data(void)
true,
};
- BlenderCursor[BC_EW_SCROLLCURSOR] = &EWScrollCursor;
+ BlenderCursor[WM_CURSOR_EW_SCROLL] = &EWScrollCursor;
END_CURSOR_BLOCK;
@@ -1058,15 +1495,39 @@ void wm_init_cursor_data(void)
BEGIN_CURSOR_BLOCK;
static char eyedropper_sbm[] = {
- 0x00, 0x30, 0x00, 0x48, 0x00, 0x85, 0x80, 0x82, 0x40, 0x40, 0x80,
- 0x20, 0x40, 0x11, 0xa0, 0x23, 0xd0, 0x15, 0xe8, 0x0a, 0x74, 0x01,
- 0xb4, 0x00, 0x4a, 0x00, 0x35, 0x00, 0x08, 0x00, 0x04, 0x00,
+ 0x00, 0x00, 0x00, 0x60, 0x00, 0x70, 0x00, 0x3a, 0x00, 0x17, 0x00,
+ 0x0e, 0x00, 0x1d, 0x80, 0x0b, 0xc0, 0x01, 0xe0, 0x00, 0x70, 0x00,
+ 0x38, 0x00, 0x1c, 0x00, 0x0c, 0x00, 0x02, 0x00, 0x00, 0x00,
};
static char eyedropper_smsk[] = {
- 0x00, 0x30, 0x00, 0x78, 0x00, 0xfd, 0x80, 0xff, 0xc0, 0x7f, 0x80,
- 0x3f, 0xc0, 0x1f, 0xe0, 0x3f, 0xf0, 0x1f, 0xf8, 0x0b, 0xfc, 0x01,
- 0xfc, 0x00, 0x7e, 0x00, 0x3f, 0x00, 0x0c, 0x00, 0x04, 0x00,
+ 0x00, 0x60, 0x00, 0xf0, 0x00, 0xfa, 0x00, 0x7f, 0x80, 0x3f, 0x00,
+ 0x1f, 0x80, 0x3f, 0xc0, 0x1f, 0xe0, 0x0b, 0xf0, 0x01, 0xf8, 0x00,
+ 0x7c, 0x00, 0x3e, 0x00, 0x1e, 0x00, 0x0f, 0x00, 0x03, 0x00,
+ };
+
+ static char eyedropper_lbm[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x00, 0x00,
+ 0x7f, 0x00, 0x00, 0x80, 0x7f, 0x00, 0x00, 0xc0, 0x7f, 0x00, 0x00, 0xe4, 0x3f, 0x00, 0x00,
+ 0xee, 0x1f, 0x00, 0x00, 0xdf, 0x0f, 0x00, 0x00, 0xbf, 0x07, 0x00, 0x00, 0x7e, 0x03, 0x00,
+ 0x00, 0xfc, 0x00, 0x00, 0x00, 0xfb, 0x01, 0x00, 0x80, 0xf7, 0x03, 0x00, 0xc0, 0xef, 0x01,
+ 0x00, 0xe0, 0xcf, 0x00, 0x00, 0xf0, 0x07, 0x00, 0x00, 0xb8, 0x03, 0x00, 0x00, 0xdc, 0x01,
+ 0x00, 0x00, 0xee, 0x00, 0x00, 0x00, 0x77, 0x00, 0x00, 0x80, 0x3b, 0x00, 0x00, 0xc0, 0x1d,
+ 0x00, 0x00, 0xe0, 0x0e, 0x00, 0x00, 0x70, 0x07, 0x00, 0x00, 0xf8, 0x03, 0x00, 0x00, 0xf8,
+ 0x01, 0x00, 0x00, 0xf8, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00,
+ 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ };
+
+ static char eyedropper_lmsk[] = {
+ 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x00, 0x80,
+ 0xff, 0x00, 0x00, 0xc0, 0xff, 0x00, 0x00, 0xe4, 0xff, 0x00, 0x00, 0xfe, 0x7f, 0x00, 0x00,
+ 0xff, 0x3f, 0x00, 0x80, 0xff, 0x1f, 0x00, 0x80, 0xff, 0x0f, 0x00, 0x00, 0xff, 0x07, 0x00,
+ 0x00, 0xff, 0x03, 0x00, 0x80, 0xff, 0x03, 0x00, 0xc0, 0xff, 0x07, 0x00, 0xe0, 0xff, 0x03,
+ 0x00, 0xf0, 0xff, 0x01, 0x00, 0xf8, 0xcf, 0x00, 0x00, 0xfc, 0x07, 0x00, 0x00, 0xfe, 0x03,
+ 0x00, 0x00, 0xff, 0x01, 0x00, 0x80, 0xff, 0x00, 0x00, 0xc0, 0x7f, 0x00, 0x00, 0xe0, 0x3f,
+ 0x00, 0x00, 0xf0, 0x1f, 0x00, 0x00, 0xf8, 0x0f, 0x00, 0x00, 0xfc, 0x07, 0x00, 0x00, 0xfc,
+ 0x03, 0x00, 0x00, 0xfc, 0x01, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x00, 0x00,
+ 0x0f, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00,
};
static BCursor EyedropperCursor = {
@@ -1075,108 +1536,134 @@ void wm_init_cursor_data(void)
eyedropper_smsk,
16,
16,
- 1,
+ 0,
15,
/* big */
- NULL,
- NULL,
+ eyedropper_lbm,
+ eyedropper_lmsk,
32,
32,
- 15,
- 15,
- /* can invert color */
- true,
+ 1,
+ 30,
+ /* don't invert color */
+ false,
};
- BlenderCursor[BC_EYEDROPPER_CURSOR] = &EyedropperCursor;
+ BlenderCursor[WM_CURSOR_EYEDROPPER] = &EyedropperCursor;
END_CURSOR_BLOCK;
/********************** Swap Area Cursor ***********************/
BEGIN_CURSOR_BLOCK;
static char swap_sbm[] = {
- 0xc0, 0xff, 0x40, 0x80, 0x40, 0x80, 0x40, 0x9c, 0x40, 0x98, 0x40,
- 0x94, 0x00, 0x82, 0xfe, 0x80, 0x7e, 0xfd, 0xbe, 0x01, 0xda, 0x01,
+ 0xc0, 0xff, 0x40, 0x80, 0x40, 0xbc, 0x40, 0xb8, 0x40, 0xb8, 0x40,
+ 0xa4, 0x00, 0x82, 0xfe, 0x81, 0x7e, 0x81, 0xbe, 0xfd, 0xda, 0x01,
0xe2, 0x01, 0xe2, 0x01, 0xc2, 0x01, 0xfe, 0x01, 0x00, 0x00,
};
static char swap_smsk[] = {
0xc0, 0xff, 0xc0, 0xff, 0xc0, 0xff, 0xc0, 0xff, 0xc0, 0xff, 0xc0,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x03, 0xff, 0x03,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x03,
0xff, 0x03, 0xff, 0x03, 0xff, 0x03, 0xff, 0x03, 0xff, 0x03,
};
+ static char swap_lbm[] = {
+ 0x00, 0xe0, 0xff, 0xff, 0x00, 0x20, 0x00, 0x80, 0x00, 0x20, 0x00, 0x80, 0x00, 0x20, 0xf8,
+ 0x9f, 0x00, 0x20, 0xf0, 0x9f, 0x00, 0x20, 0xe0, 0x9f, 0x00, 0x20, 0xc0, 0x9f, 0x00, 0x20,
+ 0x80, 0x9f, 0x00, 0x20, 0xc0, 0x9f, 0x00, 0x20, 0xe0, 0x9e, 0x00, 0x20, 0x70, 0x9c, 0x00,
+ 0x20, 0x38, 0x98, 0x00, 0x20, 0x1c, 0x90, 0x00, 0x00, 0x0e, 0x80, 0xfe, 0xff, 0x07, 0x80,
+ 0xfe, 0x7f, 0x03, 0x80, 0xfe, 0x3f, 0x02, 0x80, 0xfe, 0x1f, 0x03, 0x80, 0xfe, 0x8f, 0xfb,
+ 0xff, 0xf6, 0xc7, 0x03, 0x00, 0xe6, 0xe3, 0x03, 0x00, 0xc6, 0xf1, 0x03, 0x00, 0x86, 0xf8,
+ 0x03, 0x00, 0x06, 0xfc, 0x03, 0x00, 0x06, 0xfe, 0x03, 0x00, 0x06, 0xfc, 0x03, 0x00, 0x06,
+ 0xf8, 0x03, 0x00, 0x06, 0xf0, 0x03, 0x00, 0x06, 0xe0, 0x03, 0x00, 0xfe, 0xff, 0x03, 0x00,
+ 0xfe, 0xff, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00,
+ };
+
+ static char swap_lmsk[] = {
+ 0x00, 0xe0, 0xff, 0xff, 0x00, 0xe0, 0xff, 0xff, 0x00, 0xe0, 0xff, 0xff, 0x00, 0xe0, 0xff,
+ 0xff, 0x00, 0xe0, 0xff, 0xff, 0x00, 0xe0, 0xff, 0xff, 0x00, 0xe0, 0xff, 0xff, 0x00, 0xe0,
+ 0xff, 0xff, 0x00, 0xe0, 0xff, 0xff, 0x00, 0xe0, 0xff, 0xff, 0x00, 0xe0, 0xff, 0xff, 0x00,
+ 0xe0, 0xff, 0xff, 0x00, 0xe0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0x07, 0x00, 0xff, 0xff, 0x07, 0x00, 0xff, 0xff, 0x07, 0x00, 0xff, 0xff,
+ 0x07, 0x00, 0xff, 0xff, 0x07, 0x00, 0xff, 0xff, 0x07, 0x00, 0xff, 0xff, 0x07, 0x00, 0xff,
+ 0xff, 0x07, 0x00, 0xff, 0xff, 0x07, 0x00, 0xff, 0xff, 0x07, 0x00, 0xff, 0xff, 0x07, 0x00,
+ 0xff, 0xff, 0x07, 0x00, 0xff, 0xff, 0x07, 0x00,
+ };
+
static BCursor SwapCursor = {
/* small */
swap_sbm,
swap_smsk,
16,
16,
- 8,
- 8,
+ 7,
+ 7,
/* big */
- NULL,
- NULL,
+ swap_lbm,
+ swap_lmsk,
32,
32,
15,
15,
- /* can invert color */
- true,
+ /* don't invert color */
+ false,
};
- BlenderCursor[BC_SWAPAREA_CURSOR] = &SwapCursor;
+ BlenderCursor[WM_CURSOR_SWAP_AREA] = &SwapCursor;
END_CURSOR_BLOCK;
- /********************** Horizontal Split Cursor ***********************/
+ /********************** Vertical Split Cursor ***********************/
BEGIN_CURSOR_BLOCK;
- static char hsplit_sbm[] = {
- 0x00, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x88,
- 0x08, 0x8C, 0x18, 0x8E, 0x38, 0x8C, 0x18, 0x88, 0x08, 0x80, 0x00,
- 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
+ static char vsplit_sbm[] = {
+ 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x88,
+ 0x11, 0x8c, 0x31, 0x86, 0x61, 0x86, 0x61, 0x8c, 0x31, 0x88, 0x11,
+ 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01,
};
- static char hsplit_smsk[] = {
- 0xC0, 0x01, 0xC0, 0x01, 0xC0, 0x01, 0xD0, 0x05, 0xD8, 0x0D, 0xDC,
- 0x1D, 0xDE, 0x3D, 0xDF, 0x7D, 0xDE, 0x3D, 0xDC, 0x1D, 0xD8, 0x0D,
- 0xD0, 0x05, 0xC0, 0x01, 0xC0, 0x01, 0xC0, 0x01, 0x00, 0x00,
+ static char vsplit_smsk[] = {
+ 0xe0, 0x07, 0xc0, 0x03, 0xc0, 0x03, 0xc0, 0x03, 0xc8, 0x13, 0xdc,
+ 0x3b, 0xde, 0x7b, 0xcf, 0xf3, 0xcf, 0xf3, 0xde, 0x7b, 0xdc, 0x3b,
+ 0xc8, 0x13, 0xc0, 0x03, 0xc0, 0x03, 0xc0, 0x03, 0xe0, 0x07,
};
- static char hsplit_lbm[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x80, 0x01,
- 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x80,
- 0x01, 0x00, 0x00, 0x84, 0x21, 0x00, 0x00, 0x86, 0x61, 0x00, 0x00, 0x87, 0xE1, 0x00, 0x80,
- 0x87, 0xE1, 0x01, 0xC0, 0x87, 0xE1, 0x03, 0xE0, 0x87, 0xE1, 0x07, 0xF0, 0x87, 0xE1, 0x0F,
- 0xF8, 0x87, 0xE1, 0x1F, 0xF0, 0x87, 0xE1, 0x0F, 0xE0, 0x87, 0xE1, 0x07, 0xC0, 0x87, 0xE1,
- 0x03, 0x80, 0x87, 0xE1, 0x01, 0x00, 0x87, 0xE1, 0x00, 0x00, 0x86, 0x61, 0x00, 0x00, 0x84,
- 0x21, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00,
- 0x80, 0x01, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x80, 0x01, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
+ static char vsplit_lbm[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00, 0x38, 0x1c, 0x00, 0x00, 0x38, 0x1c,
+ 0x00, 0x00, 0x38, 0x1c, 0x00, 0x00, 0x38, 0x1c, 0x00, 0x00, 0x38, 0x1c, 0x00, 0x00, 0x38,
+ 0x1c, 0x00, 0x00, 0x38, 0x1c, 0x00, 0x80, 0x38, 0x1c, 0x01, 0xc0, 0x39, 0x9c, 0x03, 0xe0,
+ 0x3b, 0xdc, 0x07, 0xf0, 0x39, 0x9c, 0x0f, 0xf8, 0x38, 0x1c, 0x1f, 0x7c, 0x38, 0x1c, 0x3e,
+ 0x3e, 0x38, 0x1c, 0x7c, 0x3e, 0x38, 0x1c, 0x7c, 0x7c, 0x38, 0x1c, 0x3e, 0xf8, 0x38, 0x1c,
+ 0x1f, 0xf0, 0x39, 0x9c, 0x0f, 0xe0, 0x3b, 0xdc, 0x07, 0xc0, 0x39, 0x9c, 0x03, 0x80, 0x38,
+ 0x1c, 0x01, 0x00, 0x38, 0x1c, 0x00, 0x00, 0x38, 0x1c, 0x00, 0x00, 0x38, 0x1c, 0x00, 0x00,
+ 0x38, 0x1c, 0x00, 0x00, 0x38, 0x1c, 0x00, 0x00, 0x38, 0x1c, 0x00, 0x00, 0x38, 0x1c, 0x00,
+ 0x00, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00,
+ };
- static char hsplit_lmsk[] = {
- 0x00, 0xC0, 0x03, 0x00, 0x00, 0xC0, 0x03, 0x00, 0x00, 0xC0, 0x03, 0x00, 0x00, 0xC0, 0x03,
- 0x00, 0x00, 0xC0, 0x03, 0x00, 0x00, 0xC8, 0x13, 0x00, 0x00, 0xCC, 0x33, 0x00, 0x00, 0xCE,
- 0x73, 0x00, 0x00, 0xCF, 0xF3, 0x00, 0x80, 0xCF, 0xF3, 0x01, 0xC0, 0xCF, 0xF3, 0x03, 0xE0,
- 0xCF, 0xF3, 0x07, 0xF0, 0xCF, 0xF3, 0x0F, 0xF8, 0xCF, 0xF3, 0x1F, 0xFC, 0xCF, 0xF3, 0x3F,
- 0xFE, 0xCF, 0xF3, 0x7F, 0xFC, 0xCF, 0xF3, 0x3F, 0xF8, 0xCF, 0xF3, 0x1F, 0xF0, 0xCF, 0xF3,
- 0x0F, 0xE0, 0xCF, 0xF3, 0x07, 0xC0, 0xCF, 0xF3, 0x03, 0x80, 0xCF, 0xF3, 0x01, 0x00, 0xCF,
- 0xF3, 0x00, 0x00, 0xCE, 0x73, 0x00, 0x00, 0xCC, 0x33, 0x00, 0x00, 0xC8, 0x13, 0x00, 0x00,
- 0xC8, 0x03, 0x00, 0x00, 0xC0, 0x03, 0x00, 0x00, 0xC0, 0x03, 0x00, 0x00, 0xC0, 0x03, 0x00,
- 0x00, 0xC0, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00};
+ static char vsplit_lmsk[] = {
+ 0x00, 0x18, 0x18, 0x00, 0x00, 0x38, 0x1c, 0x00, 0x00, 0x78, 0x1e, 0x00, 0x00, 0x78, 0x1e,
+ 0x00, 0x00, 0x78, 0x1e, 0x00, 0x00, 0x78, 0x1e, 0x00, 0x00, 0x78, 0x1e, 0x00, 0x00, 0x78,
+ 0x1e, 0x00, 0x80, 0x78, 0x1e, 0x01, 0xc0, 0x79, 0x9e, 0x03, 0xe0, 0x7b, 0xde, 0x07, 0xf0,
+ 0x7f, 0xfe, 0x0f, 0xf8, 0x7b, 0xde, 0x1f, 0xfc, 0x79, 0x9e, 0x3f, 0xfe, 0x78, 0x1e, 0x7f,
+ 0x7f, 0x78, 0x1e, 0xfe, 0x7f, 0x78, 0x1e, 0xfe, 0xfe, 0x78, 0x1e, 0x7f, 0xfc, 0x79, 0x9e,
+ 0x3f, 0xf8, 0x7b, 0xde, 0x1f, 0xf0, 0x7f, 0xfe, 0x0f, 0xe0, 0x7b, 0xde, 0x07, 0xc0, 0x79,
+ 0x9e, 0x03, 0x80, 0x78, 0x1e, 0x01, 0x00, 0x78, 0x1e, 0x00, 0x00, 0x78, 0x1e, 0x00, 0x00,
+ 0x78, 0x1e, 0x00, 0x00, 0x78, 0x1e, 0x00, 0x00, 0x78, 0x1e, 0x00, 0x00, 0x78, 0x1e, 0x00,
+ 0x00, 0x38, 0x1c, 0x00, 0x00, 0x18, 0x18, 0x00,
+ };
- static BCursor HSplitCursor = {
+ static BCursor VSplitCursor = {
/* small */
- hsplit_sbm,
- hsplit_smsk,
+ vsplit_sbm,
+ vsplit_smsk,
16,
16,
7,
7,
/* big */
- hsplit_lbm,
- hsplit_lmsk,
+ vsplit_lbm,
+ vsplit_lmsk,
32,
32,
15,
@@ -1185,58 +1672,60 @@ void wm_init_cursor_data(void)
true,
};
- BlenderCursor[BC_H_SPLITCURSOR] = &HSplitCursor;
+ BlenderCursor[WM_CURSOR_V_SPLIT] = &VSplitCursor;
END_CURSOR_BLOCK;
- /********************** Vertical Split Cursor ***********************/
+ /********************** Horizontal Split Cursor ***********************/
BEGIN_CURSOR_BLOCK;
- static char vsplit_sbm[] = {
- 0x00, 0x00, 0x80, 0x00, 0xC0, 0x01, 0xE0, 0x03, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0xFE, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0xE0, 0x03, 0xC0, 0x01, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
+ static char hsplit_sbm[] = {
+ 0x00, 0x00, 0x80, 0x01, 0xc0, 0x03, 0x60, 0x06, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x60, 0x06, 0xc0, 0x03, 0x80, 0x01, 0x00, 0x00,
};
- static char vsplit_smsk[] = {
- 0x80, 0x00, 0xC0, 0x01, 0xE0, 0x03, 0xF0, 0x07, 0xF8, 0x0F, 0x00,
- 0x00, 0xFF, 0x7F, 0xFF, 0x7F, 0xFF, 0x7F, 0x00, 0x00, 0xF8, 0x0F,
- 0xF0, 0x07, 0xE0, 0x03, 0xC0, 0x01, 0x80, 0x00, 0x00, 0x00,
+ static char hsplit_smsk[] = {
+ 0x80, 0x01, 0xc0, 0x03, 0xe0, 0x07, 0xf0, 0x0f, 0x60, 0x06, 0x01,
+ 0x80, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x01, 0x80,
+ 0x60, 0x06, 0xf0, 0x0f, 0xe0, 0x07, 0xc0, 0x03, 0x80, 0x01,
};
- static char vsplit_lbm[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00,
- 0x00, 0x00, 0xC0, 0x01, 0x00, 0x00, 0xE0, 0x03, 0x00, 0x00, 0xF0, 0x07, 0x00, 0x00, 0xF8,
- 0x0F, 0x00, 0x00, 0xFC, 0x1F, 0x00, 0x00, 0xFE, 0x3F, 0x00, 0x00, 0xFF, 0x7F, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0xFE, 0xFF, 0xFF, 0x3F, 0xFE, 0xFF, 0xFF, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x7F, 0x00, 0x00, 0xFE,
- 0x3F, 0x00, 0x00, 0xFC, 0x1F, 0x00, 0x00, 0xF8, 0x0F, 0x00, 0x00, 0xF0, 0x07, 0x00, 0x00,
- 0xE0, 0x03, 0x00, 0x00, 0xC0, 0x01, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
+ static char hsplit_lbm[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0xe0, 0x07,
+ 0x00, 0x00, 0xf0, 0x0f, 0x00, 0x00, 0xf8, 0x1f, 0x00, 0x00, 0x7c, 0x3e, 0x00, 0x00, 0x3e,
+ 0x7c, 0x00, 0x00, 0x1c, 0x38, 0x00, 0x00, 0x08, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe,
+ 0xff, 0xff, 0x7f, 0xfe, 0xff, 0xff, 0x7f, 0xfc, 0xff, 0xff, 0x3f, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xff, 0xff,
+ 0x3f, 0xfe, 0xff, 0xff, 0x7f, 0xfe, 0xff, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08,
+ 0x10, 0x00, 0x00, 0x1c, 0x38, 0x00, 0x00, 0x3e, 0x7c, 0x00, 0x00, 0x7c, 0x3e, 0x00, 0x00,
+ 0xf8, 0x1f, 0x00, 0x00, 0xf0, 0x0f, 0x00, 0x00, 0xe0, 0x07, 0x00, 0x00, 0xc0, 0x03, 0x00,
+ 0x00, 0x80, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+ };
- static char vsplit_lmsk[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0xC0, 0x01, 0x00, 0x00, 0xE0, 0x03,
- 0x00, 0x00, 0xF0, 0x07, 0x00, 0x00, 0xF8, 0x0F, 0x00, 0x00, 0xFC, 0x1F, 0x00, 0x00, 0xFE,
- 0x3F, 0x00, 0x00, 0xFF, 0x7F, 0x00, 0x80, 0xFF, 0xFF, 0x00, 0xC0, 0xFF, 0xFF, 0x01, 0xE0,
- 0xFF, 0xFF, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x7F,
- 0xFF, 0xFF, 0xFF, 0x7F, 0xFF, 0xFF, 0xFF, 0x7F, 0xFF, 0xFF, 0xFF, 0x7F, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0xFF, 0xFF, 0x03, 0xC0, 0xFF, 0xFF, 0x01, 0x80, 0xFF,
- 0xFF, 0x00, 0x00, 0xFF, 0x7F, 0x00, 0x00, 0xFE, 0x3F, 0x00, 0x00, 0xFC, 0x1F, 0x00, 0x00,
- 0xF8, 0x0F, 0x00, 0x00, 0xF0, 0x07, 0x00, 0x00, 0xE0, 0x03, 0x00, 0x00, 0xC0, 0x01, 0x00,
- 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
+ static char hsplit_lmsk[] = {
+ 0x00, 0x80, 0x01, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0xe0, 0x07, 0x00, 0x00, 0xf0, 0x0f,
+ 0x00, 0x00, 0xf8, 0x1f, 0x00, 0x00, 0xfc, 0x3f, 0x00, 0x00, 0xfe, 0x7f, 0x00, 0x00, 0x7f,
+ 0xfe, 0x00, 0x00, 0x3e, 0x7c, 0x00, 0x00, 0x1c, 0x38, 0x00, 0x00, 0x08, 0x10, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0x7f, 0xfc, 0xff, 0xff, 0x3f,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xff, 0xff, 0x3f, 0xfe, 0xff, 0xff,
+ 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x08, 0x10, 0x00, 0x00, 0x1c,
+ 0x38, 0x00, 0x00, 0x3e, 0x7c, 0x00, 0x00, 0x7f, 0xfe, 0x00, 0x00, 0xfe, 0x7f, 0x00, 0x00,
+ 0xfc, 0x3f, 0x00, 0x00, 0xf8, 0x1f, 0x00, 0x00, 0xf0, 0x0f, 0x00, 0x00, 0xe0, 0x07, 0x00,
+ 0x00, 0xc0, 0x03, 0x00, 0x00, 0x80, 0x01, 0x00,
+ };
- static BCursor VSplitCursor = {
+ static BCursor HSplitCursor = {
/* small */
- vsplit_sbm,
- vsplit_smsk,
+ hsplit_sbm,
+ hsplit_smsk,
16,
16,
7,
7,
/* big */
- vsplit_lbm,
- vsplit_lmsk,
+ hsplit_lbm,
+ hsplit_lmsk,
32,
32,
15,
@@ -1245,7 +1734,7 @@ void wm_init_cursor_data(void)
true,
};
- BlenderCursor[BC_V_SPLITCURSOR] = &VSplitCursor;
+ BlenderCursor[WM_CURSOR_H_SPLIT] = &HSplitCursor;
END_CURSOR_BLOCK;
@@ -1253,38 +1742,40 @@ void wm_init_cursor_data(void)
BEGIN_CURSOR_BLOCK;
static char narrow_sbm[] = {
- 0x00, 0x00, 0x80, 0x00, 0xC0, 0x01, 0xE0, 0x03, 0xF0, 0x07, 0xF8,
- 0x0F, 0xFC, 0x1F, 0xE0, 0x03, 0xE0, 0x03, 0xE0, 0x03, 0xE0, 0x03,
+ 0x00, 0x00, 0x80, 0x00, 0xc0, 0x01, 0xe0, 0x03, 0xf0, 0x07, 0xf8,
+ 0x0f, 0x7c, 0x1f, 0x3e, 0x3e, 0x1c, 0x1c, 0x08, 0x08, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
static char narrow_smsk[] = {
- 0x80, 0x00, 0xC0, 0x01, 0xE0, 0x03, 0xF0, 0x07, 0xF8, 0x0F, 0xFC,
- 0x1F, 0xFE, 0x3F, 0xFF, 0x7F, 0xF0, 0x07, 0xF0, 0x07, 0xF0, 0x07,
- 0xF0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x80, 0x00, 0xc0, 0x01, 0xe0, 0x03, 0xf0, 0x07, 0xf8, 0x0f, 0xfc,
+ 0x1f, 0xfe, 0x3f, 0x7f, 0x7f, 0x3e, 0x3e, 0x1c, 0x1c, 0x08, 0x08,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
static char narrow_lbm[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0xC0, 0x01,
- 0x00, 0x00, 0xE0, 0x03, 0x00, 0x00, 0xF0, 0x07, 0x00, 0x00, 0xF8, 0x0F, 0x00, 0x00, 0xFC,
- 0x1F, 0x00, 0x00, 0xFE, 0x3F, 0x00, 0x00, 0xFF, 0x7F, 0x00, 0x80, 0xFF, 0xFF, 0x00, 0xC0,
- 0xFF, 0xFF, 0x01, 0xE0, 0xFF, 0xFF, 0x03, 0xF0, 0xFF, 0xFF, 0x07, 0xF8, 0xFF, 0xFF, 0x0F,
- 0x00, 0xFC, 0x1F, 0x00, 0x00, 0xFC, 0x1F, 0x00, 0x00, 0xFC, 0x1F, 0x00, 0x00, 0xFC, 0x1F,
- 0x00, 0x00, 0xFC, 0x1F, 0x00, 0x00, 0xFC, 0x1F, 0x00, 0x00, 0xFC, 0x1F, 0x00, 0x00, 0xFC,
- 0x1F, 0x00, 0x00, 0xFC, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x80, 0x03, 0x00, 0x00, 0xc0, 0x07,
+ 0x00, 0x00, 0xe0, 0x0f, 0x00, 0x00, 0xf0, 0x1f, 0x00, 0x00, 0xf8, 0x3f, 0x00, 0x00, 0xfc,
+ 0x7f, 0x00, 0x00, 0xfe, 0xff, 0x00, 0x00, 0xff, 0xff, 0x01, 0x80, 0xff, 0xfe, 0x03, 0xc0,
+ 0x7f, 0xfc, 0x07, 0xe0, 0x3f, 0xf8, 0x0f, 0xf0, 0x1f, 0xf0, 0x1f, 0xf8, 0x0f, 0xe0, 0x3f,
+ 0xfc, 0x07, 0xc0, 0x7f, 0xf8, 0x03, 0x80, 0x3f, 0xf0, 0x01, 0x00, 0x1f, 0xe0, 0x00, 0x00,
+ 0x0e, 0x40, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ };
static char narrow_lmsk[] = {
- 0x00, 0x80, 0x00, 0x00, 0x00, 0xC0, 0x01, 0x00, 0x00, 0xE0, 0x03, 0x00, 0x00, 0xF0, 0x07,
- 0x00, 0x00, 0xF8, 0x0F, 0x00, 0x00, 0xFC, 0x1F, 0x00, 0x00, 0xFE, 0x3F, 0x00, 0x00, 0xFF,
- 0x7F, 0x00, 0x80, 0xFF, 0xFF, 0x00, 0xC0, 0xFF, 0xFF, 0x01, 0xE0, 0xFF, 0xFF, 0x03, 0xF0,
- 0xFF, 0xFF, 0x07, 0xF8, 0xFF, 0xFF, 0x0F, 0xFC, 0xFF, 0xFF, 0x1F, 0xFE, 0xFF, 0xFF, 0x3F,
- 0xFF, 0xFF, 0xFF, 0x7F, 0x00, 0xFE, 0x3F, 0x00, 0x00, 0xFE, 0x3F, 0x00, 0x00, 0xFE, 0x3F,
- 0x00, 0x00, 0xFE, 0x3F, 0x00, 0x00, 0xFE, 0x3F, 0x00, 0x00, 0xFE, 0x3F, 0x00, 0x00, 0xFE,
- 0x3F, 0x00, 0x00, 0xFE, 0x3F, 0x00, 0x00, 0xFE, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x01, 0x00, 0x00, 0x80, 0x03, 0x00, 0x00, 0xc0, 0x07, 0x00, 0x00, 0xe0, 0x0f,
+ 0x00, 0x00, 0xf0, 0x1f, 0x00, 0x00, 0xf8, 0x3f, 0x00, 0x00, 0xfc, 0x7f, 0x00, 0x00, 0xfe,
+ 0xff, 0x00, 0x00, 0xff, 0xff, 0x01, 0x80, 0xff, 0xff, 0x03, 0xc0, 0xff, 0xff, 0x07, 0xe0,
+ 0xff, 0xfe, 0x0f, 0xf0, 0x7f, 0xfc, 0x1f, 0xf8, 0x3f, 0xf8, 0x3f, 0xfc, 0x1f, 0xf0, 0x7f,
+ 0xfe, 0x0f, 0xe0, 0xff, 0xfc, 0x07, 0xc0, 0x7f, 0xf8, 0x03, 0x80, 0x3f, 0xf0, 0x01, 0x00,
+ 0x1f, 0xe0, 0x00, 0x00, 0x0e, 0x40, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ };
static BCursor NArrowCursor = {
/* small */
@@ -1293,19 +1784,19 @@ void wm_init_cursor_data(void)
16,
16,
7,
- 4,
+ 5,
/* big */
narrow_lbm,
narrow_lmsk,
32,
32,
- 15,
- 10,
+ 16,
+ 12,
/* can invert color */
true,
};
- BlenderCursor[BC_N_ARROWCURSOR] = &NArrowCursor;
+ BlenderCursor[WM_CURSOR_N_ARROW] = &NArrowCursor;
END_CURSOR_BLOCK;
@@ -1313,38 +1804,40 @@ void wm_init_cursor_data(void)
BEGIN_CURSOR_BLOCK;
static char sarrow_sbm[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0,
- 0x03, 0xE0, 0x03, 0xE0, 0x03, 0xE0, 0x03, 0xFC, 0x1F, 0xF8, 0x0F,
- 0xF0, 0x07, 0xE0, 0x03, 0xC0, 0x01, 0x80, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x08, 0x08, 0x1c, 0x1c, 0x3e, 0x3e, 0x7c, 0x1f, 0xf8, 0x0f,
+ 0xf0, 0x07, 0xe0, 0x03, 0xc0, 0x01, 0x80, 0x00, 0x00, 0x00,
};
static char sarrow_smsk[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x07, 0xF0,
- 0x07, 0xF0, 0x07, 0xF0, 0x07, 0xFF, 0x7F, 0xFE, 0x3F, 0xFC, 0x1F,
- 0xF8, 0x0F, 0xF0, 0x07, 0xE0, 0x03, 0xC0, 0x01, 0x80, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08,
+ 0x08, 0x1c, 0x1c, 0x3e, 0x3e, 0x7f, 0x7f, 0xfe, 0x3f, 0xfc, 0x1f,
+ 0xf8, 0x0f, 0xf0, 0x07, 0xe0, 0x03, 0xc0, 0x01, 0x80, 0x00,
};
static char sarrow_lbm[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0xFC, 0x1F, 0x00, 0x00, 0xFC, 0x1F, 0x00, 0x00, 0xFC, 0x1F, 0x00, 0x00,
- 0xFC, 0x1F, 0x00, 0x00, 0xFC, 0x1F, 0x00, 0x00, 0xFC, 0x1F, 0x00, 0x00, 0xFC, 0x1F, 0x00,
- 0x00, 0xFC, 0x1F, 0x00, 0x00, 0xFC, 0x1F, 0x00, 0xF8, 0xFF, 0xFF, 0x0F, 0xF0, 0xFF, 0xFF,
- 0x07, 0xE0, 0xFF, 0xFF, 0x03, 0xC0, 0xFF, 0xFF, 0x01, 0x80, 0xFF, 0xFF, 0x00, 0x00, 0xFF,
- 0x7F, 0x00, 0x00, 0xFE, 0x3F, 0x00, 0x00, 0xFC, 0x1F, 0x00, 0x00, 0xF8, 0x0F, 0x00, 0x00,
- 0xF0, 0x07, 0x00, 0x00, 0xE0, 0x03, 0x00, 0x00, 0xC0, 0x01, 0x00, 0x00, 0x80, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x02, 0x70, 0x00, 0x00, 0x07, 0xf8, 0x00, 0x80, 0x0f,
+ 0xfc, 0x01, 0xc0, 0x1f, 0xfe, 0x03, 0xe0, 0x3f, 0xfc, 0x07, 0xf0, 0x1f, 0xf8, 0x0f, 0xf8,
+ 0x0f, 0xf0, 0x1f, 0xfc, 0x07, 0xe0, 0x3f, 0xfe, 0x03, 0xc0, 0x7f, 0xff, 0x01, 0x80, 0xff,
+ 0xff, 0x00, 0x00, 0xff, 0x7f, 0x00, 0x00, 0xfe, 0x3f, 0x00, 0x00, 0xfc, 0x1f, 0x00, 0x00,
+ 0xf8, 0x0f, 0x00, 0x00, 0xf0, 0x07, 0x00, 0x00, 0xe0, 0x03, 0x00, 0x00, 0xc0, 0x01, 0x00,
+ 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ };
static char sarrow_lmsk[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE,
- 0x3F, 0x00, 0x00, 0xFE, 0x3F, 0x00, 0x00, 0xFE, 0x3F, 0x00, 0x00, 0xFE, 0x3F, 0x00, 0x00,
- 0xFE, 0x3F, 0x00, 0x00, 0xFE, 0x3F, 0x00, 0x00, 0xFE, 0x3F, 0x00, 0x00, 0xFE, 0x3F, 0x00,
- 0x00, 0xFE, 0x3F, 0x00, 0xFF, 0xFF, 0xFF, 0x7F, 0xFE, 0xFF, 0xFF, 0x3F, 0xFC, 0xFF, 0xFF,
- 0x1F, 0xF8, 0xFF, 0xFF, 0x0F, 0xF0, 0xFF, 0xFF, 0x07, 0xE0, 0xFF, 0xFF, 0x03, 0xC0, 0xFF,
- 0xFF, 0x01, 0x80, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x7F, 0x00, 0x00, 0xFE, 0x3F, 0x00, 0x00,
- 0xFC, 0x1F, 0x00, 0x00, 0xF8, 0x0F, 0x00, 0x00, 0xF0, 0x07, 0x00, 0x00, 0xE0, 0x03, 0x00,
- 0x00, 0xC0, 0x01, 0x00, 0x00, 0x80, 0x00, 0x00};
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20,
+ 0x00, 0x00, 0x02, 0x70, 0x00, 0x00, 0x07, 0xf8, 0x00, 0x80, 0x0f, 0xfc, 0x01, 0xc0, 0x1f,
+ 0xfe, 0x03, 0xe0, 0x3f, 0xff, 0x07, 0xf0, 0x7f, 0xfe, 0x0f, 0xf8, 0x3f, 0xfc, 0x1f, 0xfc,
+ 0x1f, 0xf8, 0x3f, 0xfe, 0x0f, 0xf0, 0x7f, 0xff, 0x07, 0xe0, 0xff, 0xff, 0x03, 0xc0, 0xff,
+ 0xff, 0x01, 0x80, 0xff, 0xff, 0x00, 0x00, 0xff, 0x7f, 0x00, 0x00, 0xfe, 0x3f, 0x00, 0x00,
+ 0xfc, 0x1f, 0x00, 0x00, 0xf8, 0x0f, 0x00, 0x00, 0xf0, 0x07, 0x00, 0x00, 0xe0, 0x03, 0x00,
+ 0x00, 0xc0, 0x01, 0x00, 0x00, 0x80, 0x00, 0x00,
+ };
static BCursor SArrowCursor = {
/* small */
@@ -1353,19 +1846,19 @@ void wm_init_cursor_data(void)
16,
16,
7,
- 11,
+ 10,
/* big */
sarrow_lbm,
sarrow_lmsk,
32,
32,
15,
- 21,
+ 18,
/* can invert color */
true,
};
- BlenderCursor[BC_S_ARROWCURSOR] = &SArrowCursor;
+ BlenderCursor[WM_CURSOR_S_ARROW] = &SArrowCursor;
END_CURSOR_BLOCK;
@@ -1373,38 +1866,40 @@ void wm_init_cursor_data(void)
BEGIN_CURSOR_BLOCK;
static char earrow_sbm[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x06, 0x00, 0x0E, 0xE0,
- 0x1F, 0xE0, 0x3F, 0xE0, 0x7F, 0xE0, 0x3F, 0xE0, 0x1F, 0x00, 0x0E,
- 0x00, 0x06, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x80, 0x03, 0xc0, 0x07, 0x80, 0x0f, 0x00,
+ 0x1f, 0x00, 0x3e, 0x00, 0x7c, 0x00, 0x3e, 0x00, 0x1f, 0x80, 0x0f,
+ 0xc0, 0x07, 0x80, 0x03, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
};
static char earrow_smsk[] = {
- 0x00, 0x01, 0x00, 0x03, 0x00, 0x07, 0x00, 0x0F, 0xF0, 0x1F, 0xF0,
- 0x3F, 0xF0, 0x7F, 0xF0, 0xFF, 0xF0, 0x7F, 0xF0, 0x3F, 0xF0, 0x1F,
- 0x00, 0x0F, 0x00, 0x07, 0x00, 0x03, 0x00, 0x01, 0x00, 0x00,
+ 0x00, 0x01, 0x80, 0x03, 0xc0, 0x07, 0xe0, 0x0f, 0xc0, 0x1f, 0x80,
+ 0x3f, 0x00, 0x7f, 0x00, 0xfe, 0x00, 0x7f, 0x80, 0x3f, 0xc0, 0x1f,
+ 0xe0, 0x0f, 0xc0, 0x07, 0x80, 0x03, 0x00, 0x01, 0x00, 0x00,
};
static char earrow_lbm[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
- 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00,
- 0x3E, 0x00, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x00, 0xFF, 0xFF, 0x01, 0x00,
- 0xFF, 0xFF, 0x03, 0x00, 0xFF, 0xFF, 0x07, 0x00, 0xFF, 0xFF, 0x0F, 0x00, 0xFF, 0xFF, 0x1F,
- 0x00, 0xFF, 0xFF, 0x3F, 0x00, 0xFF, 0xFF, 0x1F, 0x00, 0xFF, 0xFF, 0x0F, 0x00, 0xFF, 0xFF,
- 0x07, 0x00, 0xFF, 0xFF, 0x03, 0x00, 0xFF, 0xFF, 0x01, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x00,
- 0x7E, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00,
- 0x00, 0x06, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x80, 0x03, 0x00, 0x00, 0xc0, 0x07,
+ 0x00, 0x00, 0xe0, 0x0f, 0x00, 0x00, 0xf0, 0x1f, 0x00, 0x00, 0xe0, 0x3f, 0x00, 0x00, 0xc0,
+ 0x7f, 0x00, 0x00, 0x80, 0xff, 0x00, 0x00, 0x00, 0xff, 0x01, 0x00, 0x00, 0xfe, 0x03, 0x00,
+ 0x00, 0xfc, 0x07, 0x00, 0x00, 0xf8, 0x0f, 0x00, 0x00, 0xf0, 0x1f, 0x00, 0x00, 0xe0, 0x3f,
+ 0x00, 0x00, 0xc0, 0x7f, 0x00, 0x00, 0xe0, 0x3f, 0x00, 0x00, 0xf0, 0x1f, 0x00, 0x00, 0xf8,
+ 0x0f, 0x00, 0x00, 0xfc, 0x07, 0x00, 0x00, 0xfe, 0x03, 0x00, 0x00, 0xff, 0x01, 0x00, 0x80,
+ 0xff, 0x00, 0x00, 0xc0, 0x7f, 0x00, 0x00, 0xe0, 0x3f, 0x00, 0x00, 0xf0, 0x1f, 0x00, 0x00,
+ 0xe0, 0x0f, 0x00, 0x00, 0xc0, 0x07, 0x00, 0x00, 0x80, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ };
static char earrow_lmsk[] = {
- 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x0F,
- 0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x00,
- 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x01, 0x80, 0xFF, 0xFF, 0x03, 0x80, 0xFF, 0xFF, 0x07, 0x80,
- 0xFF, 0xFF, 0x0F, 0x80, 0xFF, 0xFF, 0x1F, 0x80, 0xFF, 0xFF, 0x3F, 0x80, 0xFF, 0xFF, 0x7F,
- 0x80, 0xFF, 0xFF, 0xFF, 0x80, 0xFF, 0xFF, 0x7F, 0x80, 0xFF, 0xFF, 0x3F, 0x80, 0xFF, 0xFF,
- 0x1F, 0x80, 0xFF, 0xFF, 0x0F, 0x80, 0xFF, 0xFF, 0x07, 0x80, 0xFF, 0xFF, 0x03, 0x00, 0x00,
- 0xFF, 0x01, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x00, 0x3F, 0x00, 0x00,
- 0x00, 0x1F, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x03, 0x00,
- 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00};
+ 0x00, 0x00, 0x01, 0x00, 0x00, 0x80, 0x03, 0x00, 0x00, 0xc0, 0x07, 0x00, 0x00, 0xe0, 0x0f,
+ 0x00, 0x00, 0xf0, 0x1f, 0x00, 0x00, 0xf8, 0x3f, 0x00, 0x00, 0xf0, 0x7f, 0x00, 0x00, 0xe0,
+ 0xff, 0x00, 0x00, 0xc0, 0xff, 0x01, 0x00, 0x80, 0xff, 0x03, 0x00, 0x00, 0xff, 0x07, 0x00,
+ 0x00, 0xfe, 0x0f, 0x00, 0x00, 0xfc, 0x1f, 0x00, 0x00, 0xf8, 0x3f, 0x00, 0x00, 0xf0, 0x7f,
+ 0x00, 0x00, 0xe0, 0xff, 0x00, 0x00, 0xf0, 0x7f, 0x00, 0x00, 0xf8, 0x3f, 0x00, 0x00, 0xfc,
+ 0x1f, 0x00, 0x00, 0xfe, 0x0f, 0x00, 0x00, 0xff, 0x07, 0x00, 0x80, 0xff, 0x03, 0x00, 0xc0,
+ 0xff, 0x01, 0x00, 0xe0, 0xff, 0x00, 0x00, 0xf0, 0x7f, 0x00, 0x00, 0xf8, 0x3f, 0x00, 0x00,
+ 0xf0, 0x1f, 0x00, 0x00, 0xe0, 0x0f, 0x00, 0x00, 0xc0, 0x07, 0x00, 0x00, 0x80, 0x03, 0x00,
+ 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+ };
static BCursor EArrowCursor = {
/* small */
@@ -1412,20 +1907,20 @@ void wm_init_cursor_data(void)
earrow_smsk,
16,
16,
- 11,
+ 10,
7,
/* big */
earrow_lbm,
earrow_lmsk,
32,
32,
+ 18,
15,
- 22,
/* can invert color */
true,
};
- BlenderCursor[BC_E_ARROWCURSOR] = &EArrowCursor;
+ BlenderCursor[WM_CURSOR_E_ARROW] = &EArrowCursor;
END_CURSOR_BLOCK;
@@ -1433,38 +1928,40 @@ void wm_init_cursor_data(void)
BEGIN_CURSOR_BLOCK;
static char warrow_sbm[] = {
- 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x60, 0x00, 0x70, 0x00, 0xF8,
- 0x07, 0xFC, 0x07, 0xFE, 0x07, 0xFC, 0x07, 0xF8, 0x07, 0x70, 0x00,
- 0x60, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x80, 0x00, 0xc0, 0x01, 0xe0, 0x03, 0xf0, 0x01, 0xf8,
+ 0x00, 0x7c, 0x00, 0x3e, 0x00, 0x7c, 0x00, 0xf8, 0x00, 0xf0, 0x01,
+ 0xe0, 0x03, 0xc0, 0x01, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
};
static char warrow_smsk[] = {
- 0x80, 0x00, 0xC0, 0x00, 0xE0, 0x00, 0xF0, 0x00, 0xF8, 0x0F, 0xFC,
- 0x0F, 0xFE, 0x0F, 0xFF, 0x0F, 0xFE, 0x0F, 0xFC, 0x0F, 0xF8, 0x0F,
- 0xF0, 0x00, 0xE0, 0x00, 0xC0, 0x00, 0x80, 0x00, 0x00, 0x00,
+ 0x80, 0x00, 0xc0, 0x01, 0xe0, 0x03, 0xf0, 0x07, 0xf8, 0x03, 0xfc,
+ 0x01, 0xfe, 0x00, 0x7f, 0x00, 0xfe, 0x00, 0xfc, 0x01, 0xf8, 0x03,
+ 0xf0, 0x07, 0xe0, 0x03, 0xc0, 0x01, 0x80, 0x00, 0x00, 0x00,
};
static char warrow_lbm[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00,
- 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00, 0x7C,
- 0x00, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x80, 0xFF, 0xFF, 0x00, 0xC0,
- 0xFF, 0xFF, 0x00, 0xE0, 0xFF, 0xFF, 0x00, 0xF0, 0xFF, 0xFF, 0x00, 0xF8, 0xFF, 0xFF, 0x00,
- 0xFC, 0xFF, 0xFF, 0x00, 0xF8, 0xFF, 0xFF, 0x00, 0xF0, 0xFF, 0xFF, 0x00, 0xE0, 0xFF, 0xFF,
- 0x00, 0xC0, 0xFF, 0xFF, 0x00, 0x80, 0xFF, 0xFF, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x00, 0x7E,
- 0x00, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00,
- 0x60, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0xc0, 0x01, 0x00, 0x00, 0xe0, 0x03,
+ 0x00, 0x00, 0xf0, 0x07, 0x00, 0x00, 0xf8, 0x0f, 0x00, 0x00, 0xfc, 0x07, 0x00, 0x00, 0xfe,
+ 0x03, 0x00, 0x00, 0xff, 0x01, 0x00, 0x80, 0xff, 0x00, 0x00, 0xc0, 0x7f, 0x00, 0x00, 0xe0,
+ 0x3f, 0x00, 0x00, 0xf0, 0x1f, 0x00, 0x00, 0xf8, 0x0f, 0x00, 0x00, 0xfc, 0x07, 0x00, 0x00,
+ 0xfe, 0x03, 0x00, 0x00, 0xfc, 0x07, 0x00, 0x00, 0xf8, 0x0f, 0x00, 0x00, 0xf0, 0x1f, 0x00,
+ 0x00, 0xe0, 0x3f, 0x00, 0x00, 0xc0, 0x7f, 0x00, 0x00, 0x80, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x01, 0x00, 0x00, 0xfe, 0x03, 0x00, 0x00, 0xfc, 0x07, 0x00, 0x00, 0xf8, 0x0f, 0x00, 0x00,
+ 0xf0, 0x07, 0x00, 0x00, 0xe0, 0x03, 0x00, 0x00, 0xc0, 0x01, 0x00, 0x00, 0x80, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ };
static char warrow_lmsk[] = {
- 0x00, 0x80, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0xF0, 0x00,
- 0x00, 0x00, 0xF8, 0x00, 0x00, 0x00, 0xFC, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x00, 0xFF,
- 0x00, 0x00, 0x80, 0xFF, 0x00, 0x00, 0xC0, 0xFF, 0xFF, 0x01, 0xE0, 0xFF, 0xFF, 0x01, 0xF0,
- 0xFF, 0xFF, 0x01, 0xF8, 0xFF, 0xFF, 0x01, 0xFC, 0xFF, 0xFF, 0x01, 0xFE, 0xFF, 0xFF, 0x01,
- 0xFF, 0xFF, 0xFF, 0x01, 0xFE, 0xFF, 0xFF, 0x01, 0xFC, 0xFF, 0xFF, 0x01, 0xF8, 0xFF, 0xFF,
- 0x01, 0xF0, 0xFF, 0xFF, 0x01, 0xE0, 0xFF, 0xFF, 0x01, 0xC0, 0xFF, 0xFF, 0x01, 0x80, 0xFF,
- 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x00, 0xFC, 0x00, 0x00, 0x00,
- 0xF8, 0x00, 0x00, 0x00, 0xF0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x00,
- 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
+ 0x00, 0x80, 0x00, 0x00, 0x00, 0xc0, 0x01, 0x00, 0x00, 0xe0, 0x03, 0x00, 0x00, 0xf0, 0x07,
+ 0x00, 0x00, 0xf8, 0x0f, 0x00, 0x00, 0xfc, 0x1f, 0x00, 0x00, 0xfe, 0x0f, 0x00, 0x00, 0xff,
+ 0x07, 0x00, 0x80, 0xff, 0x03, 0x00, 0xc0, 0xff, 0x01, 0x00, 0xe0, 0xff, 0x00, 0x00, 0xf0,
+ 0x7f, 0x00, 0x00, 0xf8, 0x3f, 0x00, 0x00, 0xfc, 0x1f, 0x00, 0x00, 0xfe, 0x0f, 0x00, 0x00,
+ 0xff, 0x07, 0x00, 0x00, 0xfe, 0x0f, 0x00, 0x00, 0xfc, 0x1f, 0x00, 0x00, 0xf8, 0x3f, 0x00,
+ 0x00, 0xf0, 0x7f, 0x00, 0x00, 0xe0, 0xff, 0x00, 0x00, 0xc0, 0xff, 0x01, 0x00, 0x80, 0xff,
+ 0x03, 0x00, 0x00, 0xff, 0x07, 0x00, 0x00, 0xfe, 0x0f, 0x00, 0x00, 0xfc, 0x1f, 0x00, 0x00,
+ 0xf8, 0x0f, 0x00, 0x00, 0xf0, 0x07, 0x00, 0x00, 0xe0, 0x03, 0x00, 0x00, 0xc0, 0x01, 0x00,
+ 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ };
static BCursor WArrowCursor = {
/* small */
@@ -1472,20 +1969,20 @@ void wm_init_cursor_data(void)
warrow_smsk,
16,
16,
- 4,
+ 5,
7,
/* big */
warrow_lbm,
warrow_lmsk,
32,
32,
- 15,
+ 18,
15,
/* can invert color */
true,
};
- BlenderCursor[BC_W_ARROWCURSOR] = &WArrowCursor;
+ BlenderCursor[WM_CURSOR_W_ARROW] = &WArrowCursor;
END_CURSOR_BLOCK;
@@ -1493,38 +1990,40 @@ void wm_init_cursor_data(void)
BEGIN_CURSOR_BLOCK;
static char stop_sbm[] = {
- 0x00, 0x00, 0xE0, 0x07, 0x38, 0x1C, 0x1C, 0x30, 0x3C, 0x20, 0x76,
- 0x60, 0xE2, 0x40, 0xC2, 0x41, 0x82, 0x43, 0x02, 0x47, 0x06, 0x6E,
- 0x04, 0x3C, 0x0C, 0x38, 0x38, 0x1C, 0xE0, 0x07, 0x00, 0x00,
+ 0x00, 0x00, 0xe0, 0x07, 0xf8, 0x1f, 0x1c, 0x3c, 0x3c, 0x30, 0x76,
+ 0x70, 0xe6, 0x60, 0xc6, 0x61, 0x86, 0x63, 0x06, 0x67, 0x0e, 0x6e,
+ 0x0c, 0x3c, 0x3c, 0x38, 0xf8, 0x1f, 0xe0, 0x07, 0x00, 0x00,
};
static char stop_smsk[] = {
- 0xE0, 0x07, 0xF8, 0x1F, 0xFC, 0x3F, 0x3E, 0x7C, 0x7E, 0x70, 0xFF,
- 0xF0, 0xF7, 0xE1, 0xE7, 0xE3, 0xC7, 0xE7, 0x87, 0xEF, 0x0F, 0xFF,
- 0x0E, 0x7E, 0x3E, 0x7C, 0xFC, 0x3F, 0xF8, 0x1F, 0xE0, 0x07,
+ 0xe0, 0x07, 0xf8, 0x1f, 0xfc, 0x3f, 0xfe, 0x7f, 0x7e, 0x7c, 0xff,
+ 0xf8, 0xff, 0xf1, 0xef, 0xf3, 0xcf, 0xf7, 0x8f, 0xff, 0x1f, 0xff,
+ 0x3e, 0x7e, 0xfe, 0x7f, 0xfc, 0x3f, 0xf8, 0x1f, 0xe0, 0x07,
};
static char stop_lbm[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x0F, 0x00, 0x00, 0xFE, 0x7F, 0x00, 0x00, 0x0F, 0xF0,
- 0x00, 0xC0, 0x03, 0xC0, 0x03, 0xE0, 0x01, 0x00, 0x07, 0xF0, 0x01, 0x00, 0x0E, 0xF0, 0x01,
- 0x00, 0x0C, 0xF8, 0x03, 0x00, 0x18, 0x1C, 0x07, 0x00, 0x38, 0x0C, 0x0E, 0x00, 0x30, 0x0C,
- 0x1C, 0x00, 0x30, 0x06, 0x38, 0x00, 0x60, 0x06, 0x70, 0x00, 0x60, 0x06, 0xE0, 0x00, 0x60,
- 0x06, 0xC0, 0x01, 0x60, 0x06, 0x80, 0x03, 0x60, 0x06, 0x00, 0x07, 0x60, 0x06, 0x00, 0x0E,
- 0x60, 0x06, 0x00, 0x1C, 0x60, 0x0C, 0x00, 0x38, 0x30, 0x0C, 0x00, 0x70, 0x30, 0x1C, 0x00,
- 0xE0, 0x38, 0x18, 0x00, 0xC0, 0x1F, 0x30, 0x00, 0x80, 0x0F, 0x70, 0x00, 0x80, 0x0F, 0xE0,
- 0x00, 0x80, 0x07, 0xC0, 0x03, 0xC0, 0x03, 0x00, 0x0F, 0xF0, 0x00, 0x00, 0xFE, 0x7F, 0x00,
- 0x00, 0xF0, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00};
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x0f, 0x00, 0x00, 0xfe, 0x7f, 0x00, 0x00, 0xff, 0xff,
+ 0x00, 0xc0, 0x1f, 0xf8, 0x03, 0xe0, 0x03, 0xc0, 0x07, 0xf0, 0x01, 0x80, 0x0f, 0xf0, 0x03,
+ 0x00, 0x0f, 0xf8, 0x07, 0x00, 0x1e, 0xbc, 0x0f, 0x00, 0x3c, 0x1c, 0x1f, 0x00, 0x38, 0x1c,
+ 0x3e, 0x00, 0x38, 0x1e, 0x7c, 0x00, 0x78, 0x0e, 0xf8, 0x00, 0x70, 0x0e, 0xf0, 0x01, 0x70,
+ 0x0e, 0xe0, 0x03, 0x70, 0x0e, 0xc0, 0x07, 0x70, 0x0e, 0x80, 0x0f, 0x70, 0x0e, 0x00, 0x1f,
+ 0x70, 0x1e, 0x00, 0x3e, 0x78, 0x1c, 0x00, 0x7c, 0x38, 0x1c, 0x00, 0xf8, 0x38, 0x3c, 0x00,
+ 0xf0, 0x3d, 0x78, 0x00, 0xe0, 0x1f, 0xf0, 0x00, 0xc0, 0x0f, 0xf0, 0x01, 0x80, 0x0f, 0xe0,
+ 0x03, 0xc0, 0x07, 0xc0, 0x1f, 0xf8, 0x03, 0x00, 0xff, 0xff, 0x00, 0x00, 0xfe, 0x7f, 0x00,
+ 0x00, 0xf0, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00,
+ };
static char stop_lmsk[] = {
- 0x00, 0xF0, 0x0F, 0x00, 0x00, 0xFE, 0x7F, 0x00, 0x80, 0xFF, 0xFF, 0x01, 0xC0, 0xFF, 0xFF,
- 0x03, 0xE0, 0x1F, 0xF8, 0x07, 0xF0, 0x03, 0xC0, 0x0F, 0xF8, 0x03, 0x80, 0x1F, 0xFC, 0x07,
- 0x00, 0x3F, 0xFC, 0x0F, 0x00, 0x3E, 0xFE, 0x1F, 0x00, 0x7C, 0x9E, 0x3F, 0x00, 0x78, 0x1E,
- 0x7F, 0x00, 0x78, 0x1F, 0xFE, 0x00, 0xF8, 0x0F, 0xFC, 0x01, 0xF0, 0x0F, 0xF8, 0x03, 0xF0,
- 0x0F, 0xF0, 0x07, 0xF0, 0x0F, 0xE0, 0x0F, 0xF0, 0x0F, 0xC0, 0x1F, 0xF0, 0x0F, 0x80, 0x3F,
- 0xF0, 0x1F, 0x00, 0x7F, 0xF8, 0x1E, 0x00, 0xFE, 0x78, 0x1E, 0x00, 0xFC, 0x79, 0x3E, 0x00,
- 0xF8, 0x7F, 0x7C, 0x00, 0xF0, 0x3F, 0xFC, 0x00, 0xE0, 0x3F, 0xF8, 0x01, 0xC0, 0x1F, 0xF0,
- 0x03, 0xC0, 0x0F, 0xE0, 0x1F, 0xF8, 0x07, 0xC0, 0xFF, 0xFF, 0x03, 0x80, 0xFF, 0xFF, 0x01,
- 0x00, 0xFE, 0x7F, 0x00, 0x00, 0xF0, 0x0F, 0x00};
+ 0x00, 0xf8, 0x1f, 0x00, 0x00, 0xff, 0xff, 0x00, 0x80, 0xff, 0xff, 0x01, 0xe0, 0xff, 0xff,
+ 0x07, 0xf0, 0xff, 0xff, 0x0f, 0xf8, 0x3f, 0xfc, 0x1f, 0xf8, 0x07, 0xe0, 0x1f, 0xfc, 0x0f,
+ 0xc0, 0x3f, 0xfe, 0x1f, 0x80, 0x7f, 0xfe, 0x3f, 0x00, 0x7f, 0xfe, 0x7f, 0x00, 0x7e, 0xbf,
+ 0xff, 0x00, 0xfc, 0x3f, 0xff, 0x01, 0xfc, 0x3f, 0xfe, 0x03, 0xfc, 0x1f, 0xfc, 0x07, 0xf8,
+ 0x1f, 0xf8, 0x0f, 0xf8, 0x1f, 0xf0, 0x1f, 0xf8, 0x1f, 0xe0, 0x3f, 0xf8, 0x3f, 0xc0, 0x7f,
+ 0xfc, 0x3f, 0x80, 0xff, 0xfc, 0x3f, 0x00, 0xff, 0xfd, 0x7e, 0x00, 0xfe, 0x7f, 0xfe, 0x00,
+ 0xfc, 0x7f, 0xfe, 0x01, 0xf8, 0x7f, 0xfc, 0x03, 0xf0, 0x3f, 0xf8, 0x07, 0xe0, 0x1f, 0xf8,
+ 0x3f, 0xfc, 0x1f, 0xf0, 0xff, 0xff, 0x0f, 0xe0, 0xff, 0xff, 0x07, 0x80, 0xff, 0xff, 0x01,
+ 0x00, 0xff, 0xff, 0x00, 0x00, 0xf8, 0x1f, 0x00,
+ };
static BCursor StopCursor = {
/* small */
@@ -1541,11 +2040,135 @@ void wm_init_cursor_data(void)
32,
15,
15,
- /* can invert color */
- true,
+ /* don't invert color */
+ false,
+ };
+
+ BlenderCursor[WM_CURSOR_STOP] = &StopCursor;
+
+ END_CURSOR_BLOCK;
+
+ /********************** Zoom In Cursor ***********************/
+ BEGIN_CURSOR_BLOCK;
+
+ static char zoomin_sbm[] = {
+ 0x00, 0x00, 0x00, 0x00, 0xe0, 0x00, 0xf8, 0x03, 0xb8, 0x03, 0xbc,
+ 0x07, 0x0c, 0x06, 0xbc, 0x07, 0xb8, 0x03, 0xf8, 0x0b, 0xe0, 0x14,
+ 0x00, 0x22, 0x00, 0x44, 0x00, 0x88, 0x00, 0x90, 0x00, 0x60,
+ };
+
+ static char zoomin_smsk[] = {
+ 0x00, 0x00, 0xe0, 0x00, 0xf8, 0x03, 0xfc, 0x07, 0xfc, 0x07, 0xfe,
+ 0x0f, 0xfe, 0x0f, 0xfe, 0x0f, 0xfc, 0x07, 0xfc, 0x0f, 0xf8, 0x1f,
+ 0xe0, 0x3e, 0x00, 0x7c, 0x00, 0xf8, 0x00, 0xf0, 0x00, 0x60,
+ };
+
+ static char zoomin_lbm[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x7e, 0x00, 0x00, 0xc0, 0xff, 0x03, 0x00, 0xf0, 0xff, 0x0f,
+ 0x00, 0xf8, 0xff, 0x1f, 0x00, 0xf8, 0xff, 0x1f, 0x00, 0xfc, 0xff, 0x3f, 0x00, 0xfc, 0xe7,
+ 0x3f, 0x00, 0xfc, 0xe7, 0x3f, 0x00, 0xfe, 0xe7, 0x7f, 0x00, 0xfe, 0xe7, 0x7f, 0x00, 0x7e,
+ 0x00, 0x7e, 0x00, 0x7e, 0x00, 0x7e, 0x00, 0xfe, 0xe7, 0x7f, 0x00, 0xfe, 0xe7, 0x7f, 0x00,
+ 0xfc, 0xe7, 0x3f, 0x00, 0xfc, 0xe7, 0x3f, 0x00, 0xfc, 0xff, 0x3f, 0x00, 0xf8, 0xff, 0x5f,
+ 0x00, 0xf8, 0xff, 0x9f, 0x00, 0xf0, 0xff, 0x0f, 0x01, 0xc0, 0xff, 0x03, 0x02, 0x00, 0x7e,
+ 0x04, 0x04, 0x00, 0x00, 0x08, 0x08, 0x00, 0x00, 0x10, 0x10, 0x00, 0x00, 0x20, 0x20, 0x00,
+ 0x00, 0x40, 0x40, 0x00, 0x00, 0x80, 0x80, 0x00, 0x00, 0x00, 0x81, 0x00, 0x00, 0x00, 0x82,
+ 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00, 0x38,
+ };
+
+ static char zoomin_lmsk[] = {
+ 0x00, 0x7e, 0x00, 0x00, 0xc0, 0xff, 0x03, 0x00, 0xf0, 0xff, 0x0f, 0x00, 0xf8, 0xff, 0x1f,
+ 0x00, 0xfc, 0xff, 0x3f, 0x00, 0xfc, 0xff, 0x3f, 0x00, 0xfe, 0xff, 0x7f, 0x00, 0xfe, 0xff,
+ 0x7f, 0x00, 0xfe, 0xff, 0x7f, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff,
+ 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00,
+ 0xfe, 0xff, 0x7f, 0x00, 0xfe, 0xff, 0x7f, 0x00, 0xfe, 0xff, 0x7f, 0x00, 0xfc, 0xff, 0x7f,
+ 0x00, 0xfc, 0xff, 0xff, 0x00, 0xf8, 0xff, 0xff, 0x01, 0xf0, 0xff, 0xff, 0x03, 0xc0, 0xff,
+ 0xff, 0x07, 0x00, 0x7e, 0xf8, 0x0f, 0x00, 0x00, 0xf0, 0x1f, 0x00, 0x00, 0xe0, 0x3f, 0x00,
+ 0x00, 0xc0, 0x7f, 0x00, 0x00, 0x80, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xfe,
+ 0x00, 0x00, 0x00, 0x7c, 0x00, 0x00, 0x00, 0x38,
+ };
+
+ static BCursor ZoomInCursor = {
+ /* small */
+ zoomin_sbm,
+ zoomin_smsk,
+ 16,
+ 16,
+ 6,
+ 6,
+ /* big */
+ zoomin_lbm,
+ zoomin_lmsk,
+ 32,
+ 32,
+ 11,
+ 11,
+ /* don't invert color */
+ false,
+ };
+
+ BlenderCursor[WM_CURSOR_ZOOM_IN] = &ZoomInCursor;
+
+ END_CURSOR_BLOCK;
+
+ /********************** Zoom Out Cursor ***********************/
+ BEGIN_CURSOR_BLOCK;
+
+ static char zoomout_sbm[] = {
+ 0x00, 0x00, 0x00, 0x00, 0xe0, 0x00, 0xf8, 0x03, 0xf8, 0x03, 0xfc,
+ 0x07, 0x0c, 0x06, 0xfc, 0x07, 0xf8, 0x03, 0xf8, 0x0b, 0xe0, 0x14,
+ 0x00, 0x22, 0x00, 0x44, 0x00, 0x88, 0x00, 0x90, 0x00, 0x60,
+ };
+
+ static char zoomout_smsk[] = {
+ 0x00, 0x00, 0xe0, 0x00, 0xf8, 0x03, 0xfc, 0x07, 0xfc, 0x07, 0xfe,
+ 0x0f, 0xfe, 0x0f, 0xfe, 0x0f, 0xfc, 0x07, 0xfc, 0x0f, 0xf8, 0x1f,
+ 0xe0, 0x3e, 0x00, 0x7c, 0x00, 0xf8, 0x00, 0xf0, 0x00, 0x60,
+ };
+
+ static char zoomout_lbm[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x7e, 0x00, 0x00, 0xc0, 0xff, 0x03, 0x00, 0xf0, 0xff, 0x0f,
+ 0x00, 0xf8, 0xff, 0x1f, 0x00, 0xf8, 0xff, 0x1f, 0x00, 0xfc, 0xff, 0x3f, 0x00, 0xfc, 0xff,
+ 0x3f, 0x00, 0xfc, 0xff, 0x3f, 0x00, 0xfe, 0xff, 0x7f, 0x00, 0xfe, 0xff, 0x7f, 0x00, 0x7e,
+ 0x00, 0x7e, 0x00, 0x7e, 0x00, 0x7e, 0x00, 0xfe, 0xff, 0x7f, 0x00, 0xfe, 0xff, 0x7f, 0x00,
+ 0xfc, 0xff, 0x3f, 0x00, 0xfc, 0xff, 0x3f, 0x00, 0xfc, 0xff, 0x3f, 0x00, 0xf8, 0xff, 0x5f,
+ 0x00, 0xf8, 0xff, 0x9f, 0x00, 0xf0, 0xff, 0x0f, 0x01, 0xc0, 0xff, 0x03, 0x02, 0x00, 0x7e,
+ 0x04, 0x04, 0x00, 0x00, 0x08, 0x08, 0x00, 0x00, 0x10, 0x10, 0x00, 0x00, 0x20, 0x20, 0x00,
+ 0x00, 0x40, 0x40, 0x00, 0x00, 0x80, 0x80, 0x00, 0x00, 0x00, 0x81, 0x00, 0x00, 0x00, 0x82,
+ 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00, 0x38,
+ };
+
+ static char zoomout_lmsk[] = {
+ 0x00, 0x7e, 0x00, 0x00, 0xc0, 0xff, 0x03, 0x00, 0xf0, 0xff, 0x0f, 0x00, 0xf8, 0xff, 0x1f,
+ 0x00, 0xfc, 0xff, 0x3f, 0x00, 0xfc, 0xff, 0x3f, 0x00, 0xfe, 0xff, 0x7f, 0x00, 0xfe, 0xff,
+ 0x7f, 0x00, 0xfe, 0xff, 0x7f, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff,
+ 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00,
+ 0xfe, 0xff, 0x7f, 0x00, 0xfe, 0xff, 0x7f, 0x00, 0xfe, 0xff, 0x7f, 0x00, 0xfc, 0xff, 0x7f,
+ 0x00, 0xfc, 0xff, 0xff, 0x00, 0xf8, 0xff, 0xff, 0x01, 0xf0, 0xff, 0xff, 0x03, 0xc0, 0xff,
+ 0xff, 0x07, 0x00, 0x7e, 0xf8, 0x0f, 0x00, 0x00, 0xf0, 0x1f, 0x00, 0x00, 0xe0, 0x3f, 0x00,
+ 0x00, 0xc0, 0x7f, 0x00, 0x00, 0x80, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xfe,
+ 0x00, 0x00, 0x00, 0x7c, 0x00, 0x00, 0x00, 0x38,
+ };
+
+ static BCursor ZoomOutCursor = {
+ /* small */
+ zoomout_sbm,
+ zoomout_smsk,
+ 16,
+ 16,
+ 6,
+ 6,
+ /* big */
+ zoomout_lbm,
+ zoomout_lmsk,
+ 32,
+ 32,
+ 11,
+ 11,
+ /* don't invert color */
+ false,
};
- BlenderCursor[BC_STOPCURSOR] = &StopCursor;
+ BlenderCursor[WM_CURSOR_ZOOM_OUT] = &ZoomOutCursor;
END_CURSOR_BLOCK;
diff --git a/source/blender/windowmanager/intern/wm_dragdrop.c b/source/blender/windowmanager/intern/wm_dragdrop.c
index ba6a0c4ebe1..901594850dd 100644
--- a/source/blender/windowmanager/intern/wm_dragdrop.c
+++ b/source/blender/windowmanager/intern/wm_dragdrop.c
@@ -265,7 +265,7 @@ static void wm_drop_operator_options(bContext *C, wmDrag *drag, const wmEvent *e
if (opname) {
BLI_strncpy(drag->opname, opname, sizeof(drag->opname));
- // WM_cursor_modal_set(win, CURSOR_COPY);
+ // WM_cursor_modal_set(win, WM_CURSOR_COPY);
}
// else
// WM_cursor_modal_restore(win);
diff --git a/source/blender/windowmanager/intern/wm_event_system.c b/source/blender/windowmanager/intern/wm_event_system.c
index fb91a65a7cc..f52e958c4ca 100644
--- a/source/blender/windowmanager/intern/wm_event_system.c
+++ b/source/blender/windowmanager/intern/wm_event_system.c
@@ -2338,24 +2338,22 @@ static int wm_handler_fileselect_do(bContext *C,
int val)
{
wmWindowManager *wm = CTX_wm_manager(C);
- SpaceFile *sfile;
int action = WM_HANDLER_CONTINUE;
switch (val) {
case EVT_FILESELECT_FULL_OPEN: {
wmWindow *win = CTX_wm_window(C);
- const int sizex = 1020 * UI_DPI_FAC;
- const int sizey = 600 * UI_DPI_FAC;
ScrArea *area;
if ((area = ED_screen_temp_space_open(C,
IFACE_("Blender File View"),
WM_window_pixels_x(win) / 2,
WM_window_pixels_y(win) / 2,
- sizex,
- sizey,
+ U.file_space_data.temp_win_sizex * UI_DPI_FAC,
+ U.file_space_data.temp_win_sizey * UI_DPI_FAC,
SPACE_FILE,
- U.filebrowser_display_type))) {
+ U.filebrowser_display_type,
+ true))) {
ARegion *region_header = BKE_area_find_region_type(area, RGN_TYPE_HEADER);
BLI_assert(area->spacetype == SPACE_FILE);
@@ -2365,10 +2363,10 @@ static int wm_handler_fileselect_do(bContext *C,
region_header->alignment = RGN_ALIGN_BOTTOM;
/* settings for filebrowser, sfile is not operator owner but sends events */
- sfile = (SpaceFile *)area->spacedata.first;
+ SpaceFile *sfile = (SpaceFile *)area->spacedata.first;
sfile->op = handler->op;
- ED_fileselect_set_params(sfile);
+ ED_fileselect_set_params_from_userdef(sfile);
}
else {
BKE_report(&wm->reports, RPT_ERROR, "Failed to open window!");
@@ -2402,6 +2400,15 @@ static int wm_handler_fileselect_do(bContext *C,
ScrArea *file_sa = screen->areabase.first;
if (screen->temp && (file_sa->spacetype == SPACE_FILE)) {
+ int win_size[2];
+
+ /* Get DPI/pixelsize independent size to be stored in preferences. */
+ WM_window_set_dpi(temp_win); /* Ensure the DPI is taken from the right window. */
+ win_size[0] = WM_window_pixels_x(temp_win) / UI_DPI_FAC;
+ win_size[1] = WM_window_pixels_y(temp_win) / UI_DPI_FAC;
+
+ ED_fileselect_params_to_userdef(file_sa->spacedata.first, win_size);
+
if (BLI_listbase_is_single(&file_sa->spacedata)) {
BLI_assert(ctx_win != temp_win);
@@ -2430,6 +2437,7 @@ static int wm_handler_fileselect_do(bContext *C,
}
if (!temp_win && ctx_sa->full) {
+ ED_fileselect_params_to_userdef(ctx_sa->spacedata.first, NULL);
ED_screen_full_prevspace(C, ctx_sa);
}
}
@@ -2730,7 +2738,10 @@ static int wm_handlers_do_intern(bContext *C, wmEvent *event, ListBase *handlers
/* Clear the tool-tip whenever a key binding is handled, without this tool-tips
* are kept when a modal operators starts (annoying but otherwise harmless). */
if (action & WM_HANDLER_BREAK) {
- WM_tooltip_clear(C, CTX_wm_window(C));
+ /* Window may be gone after file read. */
+ if (CTX_wm_window(C) != NULL) {
+ WM_tooltip_clear(C, CTX_wm_window(C));
+ }
}
}
else if (handler_base->type == WM_HANDLER_TYPE_UI) {
@@ -3714,7 +3725,7 @@ wmEventHandler_Keymap *WM_event_add_keymap_handler(ListBase *handlers, wmKeyMap
return handler;
}
-/** Follow #wmEventHandler_KeymapDynamicFn signiture. */
+/** Follow #wmEventHandler_KeymapDynamicFn signature. */
wmKeyMap *WM_event_get_keymap_from_toolsystem(wmWindowManager *wm, wmEventHandler_Keymap *handler)
{
ScrArea *sa = handler->dynamic.user_data;
@@ -4203,19 +4214,31 @@ static void wm_eventemulation(wmEvent *event, bool test_only)
if (U.flag & USER_TWOBUTTONMOUSE) {
if (event->type == LEFTMOUSE) {
- if (event->val == KM_PRESS && event->alt) {
- event->type = MIDDLEMOUSE;
- event->alt = 0;
+ short *mod = (
+#if !defined(WIN32)
+ (U.mouse_emulate_3_button_modifier == USER_EMU_MMB_MOD_OSKEY) ? &event->oskey :
+ &event->alt
+#else
+ /* Disable for WIN32 for now because it accesses the start menu. */
+ &event->alt
+#endif
+ );
- if (!test_only) {
- emulating_event = MIDDLEMOUSE;
+ if (event->val == KM_PRESS) {
+ if (*mod) {
+ *mod = 0;
+ event->type = MIDDLEMOUSE;
+
+ if (!test_only) {
+ emulating_event = MIDDLEMOUSE;
+ }
}
}
else if (event->val == KM_RELEASE) {
/* only send middle-mouse release if emulated */
if (emulating_event == MIDDLEMOUSE) {
event->type = MIDDLEMOUSE;
- event->alt = 0;
+ *mod = 0;
}
if (!test_only) {
@@ -4979,6 +5002,19 @@ wmKeyMap *WM_event_get_keymap_from_handler(wmWindowManager *wm, wmEventHandler_K
return keymap;
}
+wmKeyMapItem *WM_event_match_keymap_item(bContext *C, wmKeyMap *keymap, const wmEvent *event)
+{
+ for (wmKeyMapItem *kmi = keymap->items.first; kmi; kmi = kmi->next) {
+ if (wm_eventmatch(event, kmi)) {
+ wmOperatorType *ot = WM_operatortype_find(kmi->idname, 0);
+ if (WM_operator_poll_context(C, ot, WM_OP_INVOKE_DEFAULT)) {
+ return kmi;
+ }
+ }
+ }
+ return NULL;
+}
+
static wmKeyMapItem *wm_kmi_from_event(bContext *C,
wmWindowManager *wm,
ListBase *handlers,
@@ -4994,13 +5030,9 @@ static wmKeyMapItem *wm_kmi_from_event(bContext *C,
wmEventHandler_Keymap *handler = (wmEventHandler_Keymap *)handler_base;
wmKeyMap *keymap = WM_event_get_keymap_from_handler(wm, handler);
if (keymap && WM_keymap_poll(C, keymap)) {
- for (wmKeyMapItem *kmi = keymap->items.first; kmi; kmi = kmi->next) {
- if (wm_eventmatch(event, kmi)) {
- wmOperatorType *ot = WM_operatortype_find(kmi->idname, 0);
- if (WM_operator_poll_context(C, ot, WM_OP_INVOKE_DEFAULT)) {
- return kmi;
- }
- }
+ wmKeyMapItem *kmi = WM_event_match_keymap_item(C, keymap, event);
+ if (kmi != NULL) {
+ return kmi;
}
}
}
@@ -5295,17 +5327,7 @@ bool WM_window_modal_keymap_status_draw(bContext *UNUSED(C), wmWindow *win, uiLa
/* Assume release events just disable something which was toggled on. */
continue;
}
- int icon_mod[4];
-#ifdef WITH_HEADLESS
- int icon = 0;
-#else
- int icon = UI_icon_from_keymap_item(kmi, icon_mod);
-#endif
- if (icon != 0) {
- for (int j = 0; j < ARRAY_SIZE(icon_mod) && icon_mod[j]; j++) {
- uiItemL(row, "", icon_mod[j]);
- }
- uiItemL(row, items[i].name, icon);
+ if (uiTemplateEventFromKeymapItem(row, items[i].name, kmi, false)) {
show_text = false;
}
}
diff --git a/source/blender/windowmanager/intern/wm_init_exit.c b/source/blender/windowmanager/intern/wm_init_exit.c
index 6a6861ae697..c8c35ba1bfc 100644
--- a/source/blender/windowmanager/intern/wm_init_exit.c
+++ b/source/blender/windowmanager/intern/wm_init_exit.c
@@ -99,6 +99,7 @@
#include "wm.h"
#include "wm_files.h"
#include "wm_window.h"
+#include "wm_platform_support.h"
#include "ED_anim_api.h"
#include "ED_armature.h"
@@ -314,6 +315,10 @@ void WM_init(bContext *C, int argc, const char **argv)
#endif
WM_init_opengl(G_MAIN);
+ if (!WM_platform_support_perform_checks()) {
+ exit(-1);
+ }
+
UI_init();
}
@@ -681,3 +686,12 @@ void WM_exit(bContext *C)
exit(G.is_break == true);
}
+
+/**
+ * Needed for cases when operators are re-registered
+ * (when operator type pointers are stored).
+ */
+void WM_script_tag_reload(void)
+{
+ UI_interface_tag_script_reload();
+}
diff --git a/source/blender/windowmanager/intern/wm_operator_props.c b/source/blender/windowmanager/intern/wm_operator_props.c
index a8feb22cbf8..21636153904 100644
--- a/source/blender/windowmanager/intern/wm_operator_props.c
+++ b/source/blender/windowmanager/intern/wm_operator_props.c
@@ -396,6 +396,16 @@ void WM_operator_properties_select_operation_simple(wmOperatorType *ot)
RNA_def_property_flag(prop, PROP_SKIP_SAVE);
}
+void WM_operator_properties_generic_select(wmOperatorType *ot)
+{
+ PropertyRNA *prop = RNA_def_boolean(
+ ot->srna, "wait_to_deselect_others", false, "Wait to Deselect Others", "");
+ RNA_def_property_flag(prop, PROP_HIDDEN | PROP_SKIP_SAVE);
+
+ RNA_def_int(ot->srna, "mouse_x", 0, INT_MIN, INT_MAX, "Mouse X", "", INT_MIN, INT_MAX);
+ RNA_def_int(ot->srna, "mouse_y", 0, INT_MIN, INT_MAX, "Mouse Y", "", INT_MIN, INT_MAX);
+}
+
void WM_operator_properties_gesture_box_zoom(wmOperatorType *ot)
{
WM_operator_properties_border(ot);
diff --git a/source/blender/windowmanager/intern/wm_operators.c b/source/blender/windowmanager/intern/wm_operators.c
index 6da9c13d1cf..43bf5039825 100644
--- a/source/blender/windowmanager/intern/wm_operators.c
+++ b/source/blender/windowmanager/intern/wm_operators.c
@@ -41,6 +41,7 @@
#include "CLG_log.h"
#include "DNA_ID.h"
+#include "DNA_brush_types.h"
#include "DNA_object_types.h"
#include "DNA_screen_types.h"
#include "DNA_scene_types.h"
@@ -58,6 +59,7 @@
#include "BLI_utildefines.h"
#include "BKE_brush.h"
+#include "BKE_colortools.h"
#include "BKE_context.h"
#include "BKE_global.h"
#include "BKE_icons.h"
@@ -427,26 +429,16 @@ static const char *wm_context_member_from_ptr(bContext *C, const PointerRNA *ptr
} \
(void)0
-# define CTX_TEST_PTR_DATA_TYPE(C, member, rna_type, rna_ptr, dataptr_cmp) \
+# define TEST_PTR_DATA_TYPE(member, rna_type, rna_ptr, dataptr_cmp) \
{ \
const char *ctx_member = member; \
- if (RNA_struct_is_a((ptr)->type, &(rna_type)) && (ptr)->data == (dataptr_cmp)) { \
+ if (RNA_struct_is_a((rna_ptr)->type, &(rna_type)) && (rna_ptr)->data == (dataptr_cmp)) { \
member_id = ctx_member; \
break; \
} \
} \
(void)0
-# define CTX_TEST_SPACE_TYPE(space_data_type, member_full, dataptr_cmp) \
- { \
- const char *ctx_member_full = member_full; \
- if (space_data->spacetype == space_data_type && ptr->data == dataptr_cmp) { \
- member_id = ctx_member_full; \
- break; \
- } \
- } \
- (void)0
-
switch (GS(ptr->owner_id->name)) {
case ID_SCE: {
CTX_TEST_PTR_ID(C, "scene", ptr->owner_id);
@@ -482,19 +474,50 @@ static const char *wm_context_member_from_ptr(bContext *C, const PointerRNA *ptr
SpaceLink *space_data = CTX_wm_space_data(C);
- CTX_TEST_PTR_DATA_TYPE(C, "space_data", RNA_Space, ptr, space_data);
- CTX_TEST_PTR_DATA_TYPE(C, "space_data", RNA_View3DOverlay, ptr, space_data);
- CTX_TEST_PTR_DATA_TYPE(C, "space_data", RNA_View3DShading, ptr, space_data);
- CTX_TEST_PTR_DATA_TYPE(C, "area", RNA_Area, ptr, CTX_wm_area(C));
- CTX_TEST_PTR_DATA_TYPE(C, "region", RNA_Region, ptr, CTX_wm_region(C));
-
- CTX_TEST_SPACE_TYPE(SPACE_IMAGE, "space_data.uv_editor", space_data);
- CTX_TEST_SPACE_TYPE(
- SPACE_VIEW3D, "space_data.fx_settings", &(CTX_wm_view3d(C)->fx_settings));
- CTX_TEST_SPACE_TYPE(SPACE_NLA, "space_data.dopesheet", CTX_wm_space_nla(C)->ads);
- CTX_TEST_SPACE_TYPE(SPACE_GRAPH, "space_data.dopesheet", CTX_wm_space_graph(C)->ads);
- CTX_TEST_SPACE_TYPE(SPACE_ACTION, "space_data.dopesheet", &(CTX_wm_space_action(C)->ads));
- CTX_TEST_SPACE_TYPE(SPACE_FILE, "space_data.params", CTX_wm_space_file(C)->params);
+ TEST_PTR_DATA_TYPE("space_data", RNA_Space, ptr, space_data);
+ TEST_PTR_DATA_TYPE("area", RNA_Area, ptr, CTX_wm_area(C));
+ TEST_PTR_DATA_TYPE("region", RNA_Region, ptr, CTX_wm_region(C));
+
+ switch (space_data->spacetype) {
+ case SPACE_VIEW3D: {
+ const View3D *v3d = (View3D *)space_data;
+ const View3DShading *shading = &v3d->shading;
+
+ TEST_PTR_DATA_TYPE("space_data", RNA_View3DOverlay, ptr, v3d);
+ TEST_PTR_DATA_TYPE("space_data", RNA_View3DShading, ptr, shading);
+ break;
+ }
+ case SPACE_GRAPH: {
+ const SpaceGraph *sipo = (SpaceGraph *)space_data;
+ const bDopeSheet *ads = sipo->ads;
+ TEST_PTR_DATA_TYPE("space_data", RNA_DopeSheet, ptr, ads);
+ break;
+ }
+ case SPACE_FILE: {
+ const SpaceFile *sfile = (SpaceFile *)space_data;
+ const FileSelectParams *params = sfile->params;
+ TEST_PTR_DATA_TYPE("space_data", RNA_FileSelectParams, ptr, params);
+ break;
+ }
+ case SPACE_IMAGE: {
+ const SpaceImage *sima = (SpaceImage *)space_data;
+ TEST_PTR_DATA_TYPE("space_data", RNA_SpaceUVEditor, ptr, sima);
+ break;
+ }
+ case SPACE_NLA: {
+ const SpaceNla *snla = (SpaceNla *)space_data;
+ const bDopeSheet *ads = snla->ads;
+ TEST_PTR_DATA_TYPE("space_data", RNA_DopeSheet, ptr, ads);
+ break;
+ }
+ case SPACE_ACTION: {
+ const SpaceAction *sact = (SpaceAction *)space_data;
+ const bDopeSheet *ads = &sact->ads;
+ TEST_PTR_DATA_TYPE("space_data", RNA_DopeSheet, ptr, ads);
+ break;
+ }
+ }
+
break;
}
default:
@@ -502,7 +525,7 @@ static const char *wm_context_member_from_ptr(bContext *C, const PointerRNA *ptr
}
# undef CTX_TEST_PTR_ID
# undef CTX_TEST_PTR_ID_CAST
-# undef CTX_TEST_SPACE_TYPE
+# undef TEST_PTR_DATA_TYPE
}
return member_id;
@@ -698,6 +721,82 @@ void WM_operator_properties_free(PointerRNA *ptr)
/** \name Default Operator Callbacks
* \{ */
+int WM_generic_select_modal(bContext *C, wmOperator *op, const wmEvent *event)
+{
+ PropertyRNA *wait_to_deselect_prop = RNA_struct_find_property(op->ptr,
+ "wait_to_deselect_others");
+ const short init_event_type = (short)POINTER_AS_INT(op->customdata);
+ int ret_value = 0;
+
+ /* get settings from RNA properties for operator */
+ int mval[2];
+ mval[0] = RNA_int_get(op->ptr, "mouse_x");
+ mval[1] = RNA_int_get(op->ptr, "mouse_y");
+
+ if (init_event_type == 0) {
+ if (event->val == KM_PRESS) {
+ RNA_property_boolean_set(op->ptr, wait_to_deselect_prop, true);
+
+ ret_value = op->type->exec(C, op);
+ OPERATOR_RETVAL_CHECK(ret_value);
+
+ op->customdata = POINTER_FROM_INT((int)event->type);
+ if (ret_value & OPERATOR_RUNNING_MODAL) {
+ WM_event_add_modal_handler(C, op);
+ }
+ return ret_value | OPERATOR_PASS_THROUGH;
+ }
+ else {
+ /* If we are in init phase, and cannot validate init of modal operations,
+ * just fall back to basic exec.
+ */
+ RNA_property_boolean_set(op->ptr, wait_to_deselect_prop, false);
+
+ ret_value = op->type->exec(C, op);
+ OPERATOR_RETVAL_CHECK(ret_value);
+
+ return ret_value | OPERATOR_PASS_THROUGH;
+ }
+ }
+ else if (event->type == init_event_type && event->val == KM_RELEASE) {
+ RNA_property_boolean_set(op->ptr, wait_to_deselect_prop, false);
+
+ ret_value = op->type->exec(C, op);
+ OPERATOR_RETVAL_CHECK(ret_value);
+
+ return ret_value | OPERATOR_PASS_THROUGH;
+ }
+ else if (ELEM(event->type, MOUSEMOVE, INBETWEEN_MOUSEMOVE)) {
+ const int drag_delta[2] = {
+ mval[0] - event->mval[0],
+ mval[1] - event->mval[1],
+ };
+ /* If user moves mouse more than defined threshold, we consider select operator as
+ * finished. Otherwise, it is still running until we get an 'release' event. In any
+ * case, we pass through event, but select op is not finished yet. */
+ if (WM_event_drag_test_with_delta(event, drag_delta)) {
+ return OPERATOR_FINISHED | OPERATOR_PASS_THROUGH;
+ }
+ else {
+ /* Important not to return anything other than PASS_THROUGH here,
+ * otherwise it prevents underlying tweak detection code to work properly. */
+ return OPERATOR_PASS_THROUGH;
+ }
+ }
+
+ return OPERATOR_RUNNING_MODAL | OPERATOR_PASS_THROUGH;
+}
+
+int WM_generic_select_invoke(bContext *C, wmOperator *op, const wmEvent *event)
+{
+ RNA_int_set(op->ptr, "mouse_x", event->mval[0]);
+ RNA_int_set(op->ptr, "mouse_y", event->mval[1]);
+
+ op->customdata = POINTER_FROM_INT(0);
+
+ return op->type->modal(C, op, event);
+}
+
void WM_operator_view3d_unit_defaults(struct bContext *C, struct wmOperator *op)
{
if (op->flag & OP_IS_INVOKE) {
@@ -1862,6 +1961,7 @@ typedef struct {
StructRNA *image_id_srna;
float initial_value, current_value, min_value, max_value;
int initial_mouse[2];
+ int initial_co[2];
int slow_mouse[2];
bool slow_mode;
Dial *dial;
@@ -1924,6 +2024,9 @@ static void radial_control_set_initial_mouse(RadialControl *rc, const wmEvent *e
rc->initial_mouse[0] = event->x;
rc->initial_mouse[1] = event->y;
+ rc->initial_co[0] = event->x;
+ rc->initial_co[1] = event->y;
+
switch (rc->subtype) {
case PROP_NONE:
case PROP_DISTANCE:
@@ -1935,7 +2038,7 @@ static void radial_control_set_initial_mouse(RadialControl *rc, const wmEvent *e
WM_RADIAL_CONTROL_DISPLAY_MIN_SIZE;
break;
case PROP_FACTOR:
- d[0] = (1 - rc->initial_value) * WM_RADIAL_CONTROL_DISPLAY_WIDTH +
+ d[0] = rc->initial_value * WM_RADIAL_CONTROL_DISPLAY_WIDTH +
WM_RADIAL_CONTROL_DISPLAY_MIN_SIZE;
break;
case PROP_ANGLE:
@@ -1962,8 +2065,10 @@ static void radial_control_set_tex(RadialControl *rc)
switch (RNA_type_to_ID_code(rc->image_id_ptr.type)) {
case ID_BR:
- if ((ibuf = BKE_brush_gen_radial_control_imbuf(rc->image_id_ptr.data,
- rc->use_secondary_tex))) {
+ if ((ibuf = BKE_brush_gen_radial_control_imbuf(
+ rc->image_id_ptr.data,
+ rc->use_secondary_tex,
+ !ELEM(rc->subtype, PROP_NONE, PROP_PIXEL, PROP_DISTANCE)))) {
glGenTextures(1, &rc->gltex);
glBindTexture(GL_TEXTURE_2D, rc->gltex);
glTexImage2D(
@@ -2061,6 +2166,22 @@ static void radial_control_paint_tex(RadialControl *rc, float radius, float alph
immUnbindProgram();
}
+static void radial_control_paint_curve(uint pos, Brush *br, float radius, int line_segments)
+{
+ GPU_line_width(2.0f);
+ immUniformColor4f(0.8f, 0.8f, 0.8f, 0.85f);
+ float step = (radius * 2.0f) / (float)line_segments;
+ BKE_curvemapping_initialize(br->curve);
+ immBegin(GPU_PRIM_LINES, line_segments * 2);
+ for (int i = 0; i < line_segments; i++) {
+ float h1 = BKE_brush_curve_strength_clamped(br, fabsf((i * step) - radius), radius);
+ immVertex2f(pos, -radius + (i * step), h1 * radius);
+ float h2 = BKE_brush_curve_strength_clamped(br, fabsf(((i + 1) * step) - radius), radius);
+ immVertex2f(pos, -radius + ((i + 1) * step), h2 * radius);
+ }
+ immEnd();
+}
+
static void radial_control_paint_cursor(bContext *UNUSED(C), int x, int y, void *customdata)
{
RadialControl *rc = customdata;
@@ -2094,7 +2215,7 @@ static void radial_control_paint_cursor(bContext *UNUSED(C), int x, int y, void
alpha = 0.75;
break;
case PROP_FACTOR:
- r1 = (1 - rc->current_value) * WM_RADIAL_CONTROL_DISPLAY_WIDTH +
+ r1 = rc->current_value * WM_RADIAL_CONTROL_DISPLAY_WIDTH +
WM_RADIAL_CONTROL_DISPLAY_MIN_SIZE;
r2 = tex_radius = WM_RADIAL_CONTROL_DISPLAY_SIZE;
rmin = WM_RADIAL_CONTROL_DISPLAY_MIN_SIZE;
@@ -2115,9 +2236,17 @@ static void radial_control_paint_cursor(bContext *UNUSED(C), int x, int y, void
break;
}
- /* Keep cursor in the original place */
- x = rc->initial_mouse[0];
- y = rc->initial_mouse[1];
+ if (rc->subtype == PROP_ANGLE) {
+ /* Use the initial mouse position to draw the rotation preview. This avoids starting the
+ * rotation in a random direction */
+ x = rc->initial_mouse[0];
+ y = rc->initial_mouse[1];
+ }
+ else {
+ /* Keep cursor in the original place */
+ x = rc->initial_co[0];
+ y = rc->initial_co[1];
+ }
GPU_matrix_translate_2f((float)x, (float)y);
GPU_blend(true);
@@ -2141,7 +2270,6 @@ static void radial_control_paint_cursor(bContext *UNUSED(C), int x, int y, void
uint pos = GPU_vertformat_attr_add(format, "pos", GPU_COMP_F32, 2, GPU_FETCH_FLOAT);
immBindBuiltinProgram(GPU_SHADER_2D_UNIFORM_COLOR);
- immUniformColor3fvAlpha(col, 0.5f);
if (rc->subtype == PROP_ANGLE) {
GPU_matrix_push();
@@ -2164,25 +2292,40 @@ static void radial_control_paint_cursor(bContext *UNUSED(C), int x, int y, void
}
/* draw circles on top */
- imm_draw_circle_wire_2d(pos, 0.0f, 0.0f, r1, 40);
- imm_draw_circle_wire_2d(pos, 0.0f, 0.0f, r2, 40);
+ GPU_line_width(2.0f);
+ immUniformColor3fvAlpha(col, 0.8f);
+ imm_draw_circle_wire_2d(pos, 0.0f, 0.0f, r1, 80);
+
+ GPU_line_width(1.0f);
+ immUniformColor3fvAlpha(col, 0.5f);
+ imm_draw_circle_wire_2d(pos, 0.0f, 0.0f, r2, 80);
if (rmin > 0.0f) {
- imm_draw_circle_wire_2d(pos, 0.0, 0.0f, rmin, 40);
+ /* Inner fill circle to increase the contrast of the value */
+ float black[3] = {0.0f};
+ immUniformColor3fvAlpha(black, 0.2f);
+ imm_draw_circle_fill_2d(pos, 0.0, 0.0f, rmin, 80);
+
+ immUniformColor3fvAlpha(col, 0.5f);
+ imm_draw_circle_wire_2d(pos, 0.0, 0.0f, rmin, 80);
}
+
+ /* draw curve falloff preview */
+ if (RNA_type_to_ID_code(rc->image_id_ptr.type) == ID_BR && rc->subtype == PROP_FACTOR) {
+ Brush *br = rc->image_id_ptr.data;
+ if (br) {
+ radial_control_paint_curve(pos, br, r2, 120);
+ }
+ }
+
immUnbindProgram();
- BLF_size(fontid, 1.5 * fstyle_points * U.pixelsize, U.dpi);
- BLF_enable(fontid, BLF_SHADOW);
- BLF_shadow(fontid, 3, (const float[4]){0.0f, 0.0f, 0.0f, 0.5f});
- BLF_shadow_offset(fontid, 1, -1);
+ BLF_size(fontid, 1.75f * fstyle_points * U.pixelsize, U.dpi);
/* draw value */
BLF_width_and_height(fontid, str, strdrawlen, &strwidth, &strheight);
BLF_position(fontid, -0.5f * strwidth, -0.5f * strheight, 0.0f);
BLF_draw(fontid, str, strdrawlen);
- BLF_disable(fontid, BLF_SHADOW);
-
GPU_blend(false);
GPU_line_smooth(false);
}
@@ -2575,38 +2718,38 @@ static int radial_control_modal(bContext *C, wmOperator *op, const wmEvent *even
}
else {
delta[0] = rc->initial_mouse[0] - rc->slow_mouse[0];
- delta[1] = rc->initial_mouse[1] - rc->slow_mouse[1];
+ delta[1] = 0.0f;
if (rc->zoom_prop) {
RNA_property_float_get_array(&rc->zoom_ptr, rc->zoom_prop, zoom);
delta[0] /= zoom[0];
- delta[1] /= zoom[1];
}
dist = len_v2(delta);
delta[0] = event->x - rc->slow_mouse[0];
- delta[1] = event->y - rc->slow_mouse[1];
if (rc->zoom_prop) {
delta[0] /= zoom[0];
- delta[1] /= zoom[1];
}
- dist = dist + 0.1f * (delta[0] + delta[1]);
+ dist = dist + 0.1f * (delta[0]);
}
}
else {
delta[0] = rc->initial_mouse[0] - event->x;
delta[1] = rc->initial_mouse[1] - event->y;
-
if (rc->zoom_prop) {
RNA_property_float_get_array(&rc->zoom_ptr, rc->zoom_prop, zoom);
delta[0] /= zoom[0];
delta[1] /= zoom[1];
}
-
- dist = len_v2(delta);
+ if (rc->subtype == PROP_ANGLE) {
+ dist = len_v2(delta);
+ }
+ else {
+ dist = clamp_f(-delta[0], 0.0f, FLT_MAX);
+ }
}
/* calculate new value and apply snapping */
@@ -2633,6 +2776,8 @@ static int radial_control_modal(bContext *C, wmOperator *op, const wmEvent *even
if (snap) {
new_value = ((int)ceil(new_value * 10.f) * 10.0f) / 100.f;
}
+ /* Invert new value to increase the factor moving the mouse to the right */
+ new_value = 1 - new_value;
break;
case PROP_ANGLE:
new_value = atan2f(delta[1], delta[0]) + (float)M_PI + angle_precision;
diff --git a/source/blender/windowmanager/intern/wm_platform_support.c b/source/blender/windowmanager/intern/wm_platform_support.c
new file mode 100644
index 00000000000..94eceafc59b
--- /dev/null
+++ b/source/blender/windowmanager/intern/wm_platform_support.c
@@ -0,0 +1,219 @@
+/*
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * The Original Code is Copyright (C) 2019 Blender Foundation.
+ * All rights reserved.
+ */
+
+/** \file
+ * \ingroup wm
+ */
+#include "wm_platform_support.h"
+#include "wm_window_private.h"
+
+#include <string.h>
+
+#include "BLI_sys_types.h"
+#include "BLI_dynstr.h"
+#include "BLI_path_util.h"
+#include "BLI_fileops.h"
+#include "BLI_string.h"
+#include "BLI_linklist.h"
+
+#include "BLT_translation.h"
+
+#include "BKE_appdir.h"
+#include "BKE_global.h"
+
+#include "GPU_platform.h"
+
+#include "GHOST_C-api.h"
+
+#define WM_PLATFORM_SUPPORT_TEXT_SIZE 1024
+
+/* Check if user has already approved the given platform_support_key. */
+static bool wm_platform_support_check_approval(const char *platform_support_key, bool update)
+{
+ const char *const cfgdir = BKE_appdir_folder_id(BLENDER_USER_CONFIG, NULL);
+ bool result = false;
+
+ if (G.factory_startup) {
+ return result;
+ }
+
+ if (cfgdir) {
+ char filepath[FILE_MAX];
+ BLI_make_file_string("/", filepath, cfgdir, BLENDER_PLATFORM_SUPPORT_FILE);
+ LinkNode *lines = BLI_file_read_as_lines(filepath);
+ for (LinkNode *line_node = lines; line_node; line_node = line_node->next) {
+ char *line = line_node->link;
+ if (STREQ(line, platform_support_key)) {
+ result = true;
+ break;
+ }
+ }
+
+ if (!result && update) {
+ FILE *fp = BLI_fopen(filepath, "a");
+ if (fp) {
+ fprintf(fp, "%s\n", platform_support_key);
+ fclose(fp);
+ }
+ }
+
+ BLI_file_free_lines(lines);
+ }
+ return result;
+}
+
+static void wm_platform_support_create_link(char *link)
+{
+ DynStr *ds = BLI_dynstr_new();
+
+ BLI_dynstr_append(ds, "https://docs.blender.org/manual/en/dev/troubleshooting/gpu/");
+#if defined(_WIN32)
+ BLI_dynstr_append(ds, "windows/");
+#elif defined(__APPLE__)
+ BLI_dynstr_append(ds, "apple/");
+#else /* UNIX */
+ BLI_dynstr_append(ds, "linux/");
+#endif
+
+ if (GPU_type_matches(GPU_DEVICE_INTEL, GPU_OS_ANY, GPU_DRIVER_ANY)) {
+ BLI_dynstr_append(ds, "intel.html");
+ }
+ else if (GPU_type_matches(GPU_DEVICE_NVIDIA, GPU_OS_ANY, GPU_DRIVER_ANY)) {
+ BLI_dynstr_append(ds, "nvidia.html");
+ }
+ else if (GPU_type_matches(GPU_DEVICE_ATI, GPU_OS_ANY, GPU_DRIVER_ANY)) {
+ BLI_dynstr_append(ds, "amd.html");
+ }
+ else {
+ BLI_dynstr_append(ds, "unknown.html");
+ }
+
+ BLI_assert(BLI_dynstr_get_len(ds) < WM_PLATFORM_SUPPORT_TEXT_SIZE);
+ BLI_dynstr_get_cstring_ex(ds, link);
+ BLI_dynstr_free(ds);
+}
+
+bool WM_platform_support_perform_checks()
+{
+ char title[WM_PLATFORM_SUPPORT_TEXT_SIZE];
+ char message[WM_PLATFORM_SUPPORT_TEXT_SIZE];
+ char link[WM_PLATFORM_SUPPORT_TEXT_SIZE];
+
+ bool result = true;
+
+ eGPUSupportLevel support_level = GPU_platform_support_level();
+ const char *platform_key = GPU_platform_support_level_key();
+
+ /* check if previous check matches the current check. Don't update the approval when running in
+ * `background`. this could have been triggered by installing addons via installers. */
+ if (support_level != GPU_SUPPORT_LEVEL_UNSUPPORTED && !G.factory_startup &&
+ wm_platform_support_check_approval(platform_key, !G.background)) {
+ /* if it matches the user has confirmed and whishes to use it */
+ return result;
+ }
+
+ /* update the message and link based on the found support level */
+ GHOST_DialogOptions dialog_options = 0;
+
+ switch (support_level) {
+ default:
+ case GPU_SUPPORT_LEVEL_SUPPORTED:
+ break;
+
+ case GPU_SUPPORT_LEVEL_LIMITED: {
+ size_t slen = 0;
+ STR_CONCAT(title, slen, "Blender - ");
+ STR_CONCAT(
+ title, slen, CTX_IFACE_(BLT_I18NCONTEXT_ID_WINDOWMANAGER, "Limited Platform Support"));
+ slen = 0;
+ STR_CONCAT(
+ message,
+ slen,
+ CTX_IFACE_(BLT_I18NCONTEXT_ID_WINDOWMANAGER,
+ "Your graphics card or driver has limited support. It may work, but with "
+ "issues."));
+
+ /* TODO: Extra space is needed for the split function in GHOST_SystemX11. We should change
+ * the behavior in GHOST_SystemX11. */
+ STR_CONCAT(message, slen, "\n \n");
+ STR_CONCAT(
+ message,
+ slen,
+ CTX_IFACE_(BLT_I18NCONTEXT_ID_WINDOWMANAGER,
+ "Newer graphics drivers may be available to improve Blender support."));
+ STR_CONCAT(message, slen, "\n \n");
+ STR_CONCAT(message, slen, CTX_IFACE_(BLT_I18NCONTEXT_ID_WINDOWMANAGER, "Graphics card:\n"));
+ STR_CONCAT(message, slen, GPU_platform_gpu_name());
+
+ dialog_options = GHOST_DialogWarning;
+ break;
+ }
+
+ case GPU_SUPPORT_LEVEL_UNSUPPORTED: {
+ size_t slen = 0;
+ STR_CONCAT(title, slen, "Blender - ");
+ STR_CONCAT(
+ title, slen, CTX_IFACE_(BLT_I18NCONTEXT_ID_WINDOWMANAGER, "Platform Unsupported"));
+ slen = 0;
+ STR_CONCAT(message,
+ slen,
+ CTX_IFACE_(BLT_I18NCONTEXT_ID_WINDOWMANAGER,
+ "Your graphics card or driver is not supported."));
+
+ STR_CONCAT(message, slen, "\n \n");
+ STR_CONCAT(
+ message,
+ slen,
+ CTX_IFACE_(BLT_I18NCONTEXT_ID_WINDOWMANAGER,
+ "Newer graphics drivers may be available to improve Blender support."));
+
+ STR_CONCAT(message, slen, "\n \n");
+ STR_CONCAT(message, slen, CTX_IFACE_(BLT_I18NCONTEXT_ID_WINDOWMANAGER, "Graphics card:\n"));
+ STR_CONCAT(message, slen, GPU_platform_gpu_name());
+ STR_CONCAT(message, slen, "\n \n");
+
+ STR_CONCAT(message,
+ slen,
+ CTX_IFACE_(BLT_I18NCONTEXT_ID_WINDOWMANAGER, "The program will now close."));
+ dialog_options = GHOST_DialogError;
+ result = false;
+ break;
+ }
+ }
+ wm_platform_support_create_link(link);
+
+ bool show_message = ELEM(
+ support_level, GPU_SUPPORT_LEVEL_LIMITED, GPU_SUPPORT_LEVEL_UNSUPPORTED);
+
+ /* We are running in the background print the message in the console. */
+ if ((G.background || G.debug & G_DEBUG) && show_message) {
+ printf("%s\n\n%s\n%s\n", title, message, link);
+ }
+ if (G.background) {
+ /* Don't show the message-box when running in background mode.
+ * Printing to console is enough. */
+ result = true;
+ }
+ else if (show_message) {
+ WM_ghost_show_message_box(
+ title, message, "Find Latest Drivers", "Continue Anyway", link, dialog_options);
+ }
+
+ return result;
+}
diff --git a/source/blender/windowmanager/intern/wm_platform_support.h b/source/blender/windowmanager/intern/wm_platform_support.h
new file mode 100644
index 00000000000..a8e20f6bcdf
--- /dev/null
+++ b/source/blender/windowmanager/intern/wm_platform_support.h
@@ -0,0 +1,30 @@
+/*
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * The Original Code is Copyright (C) 2019 Blender Foundation.
+ * All rights reserved.
+ */
+
+/** \file
+ * \ingroup wm
+ */
+#ifndef __WM_PLATFORM_SUPPORT_H__
+#define __WM_PLATFORM_SUPPORT_H__
+
+#include "BLI_sys_types.h"
+
+bool WM_platform_support_perform_checks(void);
+
+#endif
diff --git a/source/blender/windowmanager/intern/wm_splash_screen.c b/source/blender/windowmanager/intern/wm_splash_screen.c
index d3f7661a008..3603ce81654 100644
--- a/source/blender/windowmanager/intern/wm_splash_screen.c
+++ b/source/blender/windowmanager/intern/wm_splash_screen.c
@@ -178,68 +178,79 @@ static void wm_block_splash_add_labels(uiBlock *block, int x, int y)
#endif /* WITH_BUILDINFO */
}
-static ImBuf *wm_block_splash_image(void)
+static ImBuf *wm_block_splash_image(int r_unit_size[2])
{
#ifndef WITH_HEADLESS
extern char datatoc_splash_png[];
extern int datatoc_splash_png_size;
extern char datatoc_splash_2x_png[];
extern int datatoc_splash_2x_png_size;
+ const bool is_2x = U.dpi_fac > 1.0;
+ const int imb_scale = is_2x ? 2 : 1;
- ImBuf *ibuf = NULL;
+ /* We could allow this to be variable,
+ * for now don't since allowing it might create layout issues.
+ *
+ * Only check width because splashes sometimes change height
+ * and we don't want to break app-templates. */
+ const int x_expect = 501 * imb_scale;
- if (U.dpi_fac > 1.0) {
- ibuf = IMB_ibImageFromMemory((const uchar *)datatoc_splash_2x_png,
- datatoc_splash_2x_png_size,
- IB_rect,
- NULL,
- "<splash screen>");
- }
- else {
- ibuf = IMB_ibImageFromMemory((const uchar *)datatoc_splash_png,
- datatoc_splash_png_size,
- IB_rect,
- NULL,
- "<splash screen>");
- }
+ ImBuf *ibuf = NULL;
- /* overwrite splash with template image */
if (U.app_template[0] != '\0') {
- ImBuf *ibuf_template = NULL;
char splash_filepath[FILE_MAX];
char template_directory[FILE_MAX];
-
if (BKE_appdir_app_template_id_search(
U.app_template, template_directory, sizeof(template_directory))) {
BLI_join_dirfile(splash_filepath,
sizeof(splash_filepath),
template_directory,
- (U.dpi_fac > 1.0) ? "splash_2x.png" : "splash.png");
- ibuf_template = IMB_loadiffname(splash_filepath, IB_rect, NULL);
- if (ibuf_template) {
- const int x_expect = ibuf->x;
- const int y_expect = 250 * (int)U.dpi_fac;
- /* don't cover the header text */
- if (ibuf_template->x == x_expect && ibuf_template->y == y_expect) {
- memcpy(ibuf->rect,
- ibuf_template->rect,
- ibuf_template->x * ibuf_template->y * sizeof(char[4]));
- }
- else {
- CLOG_ERROR(WM_LOG_OPERATORS,
- "Splash expected %dx%d found %dx%d, ignoring: %s\n",
- x_expect,
- y_expect,
- ibuf_template->x,
- ibuf_template->y,
- splash_filepath);
- }
- IMB_freeImBuf(ibuf_template);
+ is_2x ? "splash_2x.png" : "splash.png");
+ ibuf = IMB_loadiffname(splash_filepath, IB_rect, NULL);
+
+ /* We could skip this check, see comment about 'x_expect' above. */
+ if (ibuf && ibuf->x != x_expect) {
+ CLOG_ERROR(WM_LOG_OPERATORS,
+ "Splash expected %d width found %d, ignoring: %s\n",
+ x_expect,
+ ibuf->x,
+ splash_filepath);
+ IMB_freeImBuf(ibuf);
+ ibuf = NULL;
}
}
}
+
+ if (ibuf == NULL) {
+ const uchar *splash_data;
+ size_t splash_data_size;
+
+ if (is_2x) {
+ splash_data = (const uchar *)datatoc_splash_2x_png;
+ splash_data_size = datatoc_splash_2x_png_size;
+ }
+ else {
+ splash_data = (const uchar *)datatoc_splash_png;
+ splash_data_size = datatoc_splash_png_size;
+ }
+
+ ibuf = IMB_ibImageFromMemory(splash_data, splash_data_size, IB_rect, NULL, "<splash screen>");
+
+ BLI_assert(ibuf->x == x_expect);
+ }
+
+ if (is_2x) {
+ r_unit_size[0] = ibuf->x / 2;
+ r_unit_size[1] = ibuf->y / 2;
+ }
+ else {
+ r_unit_size[0] = ibuf->x;
+ r_unit_size[1] = ibuf->y;
+ }
+
return ibuf;
#else
+ UNUSED_VARS(r_unit_size);
return NULL;
#endif
}
@@ -258,15 +269,17 @@ static uiBlock *wm_block_create_splash(bContext *C, ARegion *ar, void *UNUSED(ar
UI_block_flag_enable(block, UI_BLOCK_LOOP | UI_BLOCK_KEEP_OPEN | UI_BLOCK_NO_WIN_CLIP);
UI_block_theme_style_set(block, UI_BLOCK_THEME_STYLE_POPUP);
- ImBuf *ibuf = wm_block_splash_image();
+ /* Size before dpi scaling (halved for hi-dpi image). */
+ int ibuf_unit_size[2];
+ ImBuf *ibuf = wm_block_splash_image(ibuf_unit_size);
but = uiDefBut(block,
UI_BTYPE_IMAGE,
0,
"",
0,
0.5f * U.widget_unit,
- U.dpi_fac * 501,
- U.dpi_fac * 250,
+ U.dpi_fac * ibuf_unit_size[0],
+ U.dpi_fac * ibuf_unit_size[1],
/* Button owns the imbuf now. */
ibuf,
0.0,
@@ -277,17 +290,18 @@ static uiBlock *wm_block_create_splash(bContext *C, ARegion *ar, void *UNUSED(ar
UI_but_func_set(but, wm_block_splash_close, block, NULL);
UI_block_func_set(block, wm_block_splash_refreshmenu, block, NULL);
- int x = U.dpi_fac * 502;
- int y = U.dpi_fac * 237;
+ int x = U.dpi_fac * (ibuf_unit_size[0] + 1);
+ int y = U.dpi_fac * (ibuf_unit_size[1] - 13);
wm_block_splash_add_labels(block, x, y);
+ const int layout_margin_x = U.dpi_fac * 26;
uiLayout *layout = UI_block_layout(block,
UI_LAYOUT_VERTICAL,
UI_LAYOUT_PANEL,
- U.dpi_fac * 26,
+ layout_margin_x,
0,
- U.dpi_fac * 450,
+ (U.dpi_fac * ibuf_unit_size[0]) - (layout_margin_x * 2),
U.dpi_fac * 110,
0,
style);
diff --git a/source/blender/windowmanager/intern/wm_window.c b/source/blender/windowmanager/intern/wm_window.c
index 081797542f2..fa2320585d7 100644
--- a/source/blender/windowmanager/intern/wm_window.c
+++ b/source/blender/windowmanager/intern/wm_window.c
@@ -61,7 +61,9 @@
#include "wm.h"
#include "wm_draw.h"
#include "wm_files.h"
+#include "wm_platform_support.h"
#include "wm_window.h"
+#include "wm_window_private.h"
#include "wm_event_system.h"
#include "ED_anim_api.h"
@@ -78,7 +80,7 @@
#include "GPU_batch.h"
#include "GPU_batch_presets.h"
#include "GPU_draw.h"
-#include "GPU_extensions.h"
+#include "GPU_platform.h"
#include "GPU_framebuffer.h"
#include "GPU_init_exit.h"
#include "GPU_immediate.h"
@@ -409,8 +411,10 @@ void wm_quit_with_optional_confirmation_prompt(bContext *C, wmWindow *win)
/* this is event from ghost, or exit-blender op */
void wm_window_close(bContext *C, wmWindowManager *wm, wmWindow *win)
{
- /* First check if there is another main window remaining. */
wmWindow *win_other;
+ const bool is_dialog = GHOST_IsDialogWindow(win->ghostwin);
+
+ /* First check if there is another main window remaining. */
for (win_other = wm->windows.first; win_other; win_other = win_other->next) {
if (win_other != win && win_other->parent == NULL && !WM_window_is_temp_screen(win_other)) {
break;
@@ -422,10 +426,15 @@ void wm_window_close(bContext *C, wmWindowManager *wm, wmWindow *win)
return;
}
- /* close child windows */
- for (wmWindow *win_child = wm->windows.first; win_child; win_child = win_child->next) {
- if (win_child->parent == win) {
- wm_window_close(C, wm, win_child);
+ /* Close child windows and bring windows back to front that dialogs have pushed behind the main
+ * window. */
+ for (wmWindow *iter_win = wm->windows.first; iter_win; iter_win = iter_win->next) {
+ if (iter_win->parent == win) {
+ wm_window_close(C, wm, iter_win);
+ }
+ else if (is_dialog && iter_win != win && iter_win->parent &&
+ (GHOST_GetWindowState(iter_win->ghostwin) != GHOST_kWindowStateMinimized)) {
+ wm_window_raise(iter_win);
}
}
@@ -547,7 +556,10 @@ static void wm_window_ensure_eventstate(wmWindow *win)
}
/* belongs to below */
-static void wm_window_ghostwindow_add(wmWindowManager *wm, const char *title, wmWindow *win)
+static void wm_window_ghostwindow_add(wmWindowManager *wm,
+ const char *title,
+ wmWindow *win,
+ bool is_dialog)
{
GHOST_WindowHandle ghostwin;
GHOST_GLSettings glSettings = {0};
@@ -569,15 +581,29 @@ static void wm_window_ghostwindow_add(wmWindowManager *wm, const char *title, wm
wmWindow *prev_windrawable = wm->windrawable;
wm_window_clear_drawable(wm);
- ghostwin = GHOST_CreateWindow(g_system,
- title,
- win->posx,
- posy,
- win->sizex,
- win->sizey,
- (GHOST_TWindowState)win->windowstate,
- GHOST_kDrawingContextTypeOpenGL,
- glSettings);
+ if (is_dialog && win->parent) {
+ ghostwin = GHOST_CreateDialogWindow(g_system,
+ win->parent->ghostwin,
+ title,
+ win->posx,
+ posy,
+ win->sizex,
+ win->sizey,
+ (GHOST_TWindowState)win->windowstate,
+ GHOST_kDrawingContextTypeOpenGL,
+ glSettings);
+ }
+ else {
+ ghostwin = GHOST_CreateWindow(g_system,
+ title,
+ win->posx,
+ posy,
+ win->sizex,
+ win->sizey,
+ (GHOST_TWindowState)win->windowstate,
+ GHOST_kDrawingContextTypeOpenGL,
+ glSettings);
+ }
if (ghostwin) {
GHOST_RectangleHandle bounds;
@@ -635,6 +661,68 @@ static void wm_window_ghostwindow_add(wmWindowManager *wm, const char *title, wm
}
}
+static void wm_window_ghostwindow_ensure(wmWindowManager *wm, wmWindow *win, bool is_dialog)
+{
+ wmKeyMap *keymap;
+
+ if (win->ghostwin == NULL) {
+ if ((win->sizex == 0) || (wm_init_state.override_flag & WIN_OVERRIDE_GEOM)) {
+ win->posx = wm_init_state.start_x;
+ win->posy = wm_init_state.start_y;
+ win->sizex = wm_init_state.size_x;
+ win->sizey = wm_init_state.size_y;
+
+ if (wm_init_state.override_flag & WIN_OVERRIDE_GEOM) {
+ win->windowstate = GHOST_kWindowStateNormal;
+ wm_init_state.override_flag &= ~WIN_OVERRIDE_GEOM;
+ }
+ else {
+ win->windowstate = GHOST_WINDOW_STATE_DEFAULT;
+ }
+ }
+
+ if (wm_init_state.override_flag & WIN_OVERRIDE_WINSTATE) {
+ win->windowstate = wm_init_state.windowstate;
+ wm_init_state.override_flag &= ~WIN_OVERRIDE_WINSTATE;
+ }
+
+ /* without this, cursor restore may fail, T45456 */
+ if (win->cursor == 0) {
+ win->cursor = WM_CURSOR_DEFAULT;
+ }
+
+ wm_window_ghostwindow_add(wm, "Blender", win, is_dialog);
+ }
+
+ if (win->ghostwin != NULL) {
+ /* If we have no ghostwin this is a buggy window that should be removed.
+ * However we still need to initialize it correctly so the screen doesn't hang. */
+
+ /* happens after fileread */
+ wm_window_ensure_eventstate(win);
+ }
+
+ /* add keymap handlers (1 handler for all keys in map!) */
+ keymap = WM_keymap_ensure(wm->defaultconf, "Window", 0, 0);
+ WM_event_add_keymap_handler(&win->handlers, keymap);
+
+ keymap = WM_keymap_ensure(wm->defaultconf, "Screen", 0, 0);
+ WM_event_add_keymap_handler(&win->handlers, keymap);
+
+ keymap = WM_keymap_ensure(wm->defaultconf, "Screen Editing", 0, 0);
+ WM_event_add_keymap_handler(&win->modalhandlers, keymap);
+
+ /* add drop boxes */
+ {
+ ListBase *lb = WM_dropboxmap_find("Window", 0, 0);
+ WM_event_add_dropbox_handler(&win->handlers, lb);
+ }
+ wm_window_title(wm, win);
+
+ /* add topbar */
+ ED_screen_global_areas_refresh(win);
+}
+
/**
* Initialize #wmWindow without ghostwin, open these and clear.
*
@@ -650,9 +738,6 @@ static void wm_window_ghostwindow_add(wmWindowManager *wm, const char *title, wm
*/
void wm_window_ghostwindows_ensure(wmWindowManager *wm)
{
- wmKeyMap *keymap;
- wmWindow *win;
-
BLI_assert(G.background == false);
/* No command-line prefsize? then we set this.
@@ -682,63 +767,8 @@ void wm_window_ghostwindows_ensure(wmWindowManager *wm)
#endif
}
- for (win = wm->windows.first; win; win = win->next) {
- if (win->ghostwin == NULL) {
- if ((win->sizex == 0) || (wm_init_state.override_flag & WIN_OVERRIDE_GEOM)) {
- win->posx = wm_init_state.start_x;
- win->posy = wm_init_state.start_y;
- win->sizex = wm_init_state.size_x;
- win->sizey = wm_init_state.size_y;
-
- if (wm_init_state.override_flag & WIN_OVERRIDE_GEOM) {
- win->windowstate = GHOST_kWindowStateNormal;
- wm_init_state.override_flag &= ~WIN_OVERRIDE_GEOM;
- }
- else {
- win->windowstate = GHOST_WINDOW_STATE_DEFAULT;
- }
- }
-
- if (wm_init_state.override_flag & WIN_OVERRIDE_WINSTATE) {
- win->windowstate = wm_init_state.windowstate;
- wm_init_state.override_flag &= ~WIN_OVERRIDE_WINSTATE;
- }
-
- /* without this, cursor restore may fail, T45456 */
- if (win->cursor == 0) {
- win->cursor = CURSOR_STD;
- }
-
- wm_window_ghostwindow_add(wm, "Blender", win);
- }
-
- if (win->ghostwin != NULL) {
- /* If we have no ghostwin this is a buggy window that should be removed.
- * However we still need to initialize it correctly so the screen doesn't hang. */
-
- /* happens after fileread */
- wm_window_ensure_eventstate(win);
- }
-
- /* add keymap handlers (1 handler for all keys in map!) */
- keymap = WM_keymap_ensure(wm->defaultconf, "Window", 0, 0);
- WM_event_add_keymap_handler(&win->handlers, keymap);
-
- keymap = WM_keymap_ensure(wm->defaultconf, "Screen", 0, 0);
- WM_event_add_keymap_handler(&win->handlers, keymap);
-
- keymap = WM_keymap_ensure(wm->defaultconf, "Screen Editing", 0, 0);
- WM_event_add_keymap_handler(&win->modalhandlers, keymap);
-
- /* add drop boxes */
- {
- ListBase *lb = WM_dropboxmap_find("Window", 0, 0);
- WM_event_add_dropbox_handler(&win->handlers, lb);
- }
- wm_window_title(wm, win);
-
- /* add topbar */
- ED_screen_global_areas_refresh(win);
+ for (wmWindow *win = wm->windows.first; win; win = win->next) {
+ wm_window_ghostwindow_ensure(wm, win, false);
}
}
@@ -795,10 +825,17 @@ wmWindow *WM_window_open(bContext *C, const rcti *rect)
* \param space_type: SPACE_VIEW3D, SPACE_INFO, ... (eSpace_Type)
* \return the window or NULL in case of failure.
*/
-wmWindow *WM_window_open_temp(
- bContext *C, const char *title, int x, int y, int sizex, int sizey, int space_type)
+wmWindow *WM_window_open_temp(bContext *C,
+ const char *title,
+ int x,
+ int y,
+ int sizex,
+ int sizey,
+ int space_type,
+ bool dialog)
{
Main *bmain = CTX_data_main(C);
+ wmWindowManager *wm = CTX_wm_manager(C);
wmWindow *win_prev = CTX_wm_window(C);
wmWindow *win;
bScreen *screen;
@@ -823,9 +860,10 @@ wmWindow *WM_window_open_temp(
/* changes rect to fit within desktop */
wm_window_check_position(&rect);
- /* test if we have a temp screen already */
- for (win = CTX_wm_manager(C)->windows.first; win; win = win->next) {
- if (WM_window_is_temp_screen(win)) {
+ /* Reuse temporary or dialog window if one is open (but don't use a dialog for a regular
+ * temporary window, or vice versa). */
+ for (win = wm->windows.first; win; win = win->next) {
+ if (WM_window_is_temp_screen(win) && (dialog == GHOST_IsDialogWindow(win->ghostwin))) {
break;
}
}
@@ -843,11 +881,6 @@ wmWindow *WM_window_open_temp(
win->sizex = BLI_rcti_size_x(&rect);
win->sizey = BLI_rcti_size_y(&rect);
- if (win->ghostwin) {
- wm_window_set_size(win, win->sizex, win->sizey);
- wm_window_raise(win);
- }
-
if (WM_window_get_active_workspace(win) == NULL) {
WorkSpace *workspace = WM_window_get_active_workspace(win_prev);
BKE_workspace_active_set(win->workspace_hook, workspace);
@@ -872,6 +905,9 @@ wmWindow *WM_window_open_temp(
/* make window active, and validate/resize */
CTX_wm_window_set(C, win);
+ if (!win->ghostwin) {
+ wm_window_ghostwindow_ensure(wm, win, dialog);
+ }
WM_check(C);
/* It's possible `win->ghostwin == NULL`.
@@ -887,15 +923,18 @@ wmWindow *WM_window_open_temp(
ED_area_newspace(C, sa, space_type, false);
ED_screen_change(C, screen);
- ED_screen_refresh(CTX_wm_manager(C), win); /* test scale */
+ ED_screen_refresh(wm, win); /* test scale */
if (win->ghostwin) {
+ wm_window_set_size(win, win->sizex, win->sizey);
+ wm_window_raise(win);
+
GHOST_SetTitle(win->ghostwin, title);
return win;
}
else {
/* very unlikely! but opening a new window can fail */
- wm_window_close(C, CTX_wm_manager(C), win);
+ wm_window_close(C, wm, win);
CTX_wm_window_set(C, win_prev);
return NULL;
@@ -2394,4 +2433,14 @@ void WM_opengl_context_release(void *context)
GHOST_ReleaseOpenGLContext((GHOST_ContextHandle)context);
}
+void WM_ghost_show_message_box(const char *title,
+ const char *message,
+ const char *help_label,
+ const char *continue_label,
+ const char *link,
+ GHOST_DialogOptions dialog_options)
+{
+ BLI_assert(g_system);
+ GHOST_ShowMessageBox(g_system, title, message, help_label, continue_label, link, dialog_options);
+}
/** \} */
diff --git a/source/blender/windowmanager/intern/wm_window_private.h b/source/blender/windowmanager/intern/wm_window_private.h
new file mode 100644
index 00000000000..115539861d7
--- /dev/null
+++ b/source/blender/windowmanager/intern/wm_window_private.h
@@ -0,0 +1,42 @@
+/*
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * The Original Code is Copyright (C) 2019 Blender Foundation.
+ * All rights reserved.
+ */
+
+/** \file
+ * \ingroup wm
+ */
+#ifndef __WM_WINDOW_PRIVATE_H__
+#define __WM_WINDOW_PRIVATE_H__
+
+#include "BLI_sys_types.h"
+#include "GHOST_Types.h"
+
+/* *************** Message box *************** */
+/* `WM_ghost_show_message_box` is implemented in `wm_windows.c` it is
+ * defined here as it was implemented to be used for showing
+ * a message to the user when the platform is not (fully) supported.
+ *
+ * In all other cases this message box should not be used. */
+void WM_ghost_show_message_box(const char *title,
+ const char *message,
+ const char *help_label,
+ const char *continue_label,
+ const char *link,
+ GHOST_DialogOptions dialog_options);
+
+#endif
diff --git a/source/blender/windowmanager/wm_cursors.h b/source/blender/windowmanager/wm_cursors.h
index 6793937c413..7a28aeb3c70 100644
--- a/source/blender/windowmanager/wm_cursors.h
+++ b/source/blender/windowmanager/wm_cursors.h
@@ -24,80 +24,57 @@
#ifndef __WM_CURSORS_H__
#define __WM_CURSORS_H__
-void wm_init_cursor_data(void);
-
-#define BC_GHOST_CURSORS 1000
-
-/* old cursors */
-enum {
- CURSOR_FACESEL = BC_GHOST_CURSORS,
- CURSOR_WAIT,
- CURSOR_EDIT,
- CURSOR_X_MOVE,
- CURSOR_Y_MOVE,
- CURSOR_HELP,
- CURSOR_STD,
- CURSOR_NONE,
- CURSOR_PENCIL,
- CURSOR_COPY,
-};
-
-// typedef struct BCursor_s BCursor;
-typedef struct BCursor {
-
- char *small_bm;
- char *small_mask;
-
- char small_sizex;
- char small_sizey;
- char small_hotx;
- char small_hoty;
-
- char *big_bm;
- char *big_mask;
-
- char big_sizex;
- char big_sizey;
- char big_hotx;
- char big_hoty;
-
- bool can_invert_color;
+struct wmEvent;
+struct wmWindow;
-} BCursor;
+typedef enum WMCursorType {
+ WM_CURSOR_DEFAULT = 1,
+ WM_CURSOR_TEXT_EDIT,
+ WM_CURSOR_WAIT,
+ WM_CURSOR_STOP,
+ WM_CURSOR_EDIT,
+ WM_CURSOR_COPY,
+ WM_CURSOR_HAND,
+
+ WM_CURSOR_CROSS,
+ WM_CURSOR_PAINT,
+ WM_CURSOR_DOT,
+ WM_CURSOR_CROSSC,
+
+ WM_CURSOR_KNIFE,
+ WM_CURSOR_VERTEX_LOOP,
+ WM_CURSOR_PAINT_BRUSH,
+ WM_CURSOR_ERASER,
+ WM_CURSOR_EYEDROPPER,
+
+ WM_CURSOR_SWAP_AREA,
+ WM_CURSOR_X_MOVE,
+ WM_CURSOR_Y_MOVE,
+ WM_CURSOR_H_SPLIT,
+ WM_CURSOR_V_SPLIT,
+
+ WM_CURSOR_NW_ARROW,
+ WM_CURSOR_NS_ARROW,
+ WM_CURSOR_EW_ARROW,
+ WM_CURSOR_N_ARROW,
+ WM_CURSOR_S_ARROW,
+ WM_CURSOR_E_ARROW,
+ WM_CURSOR_W_ARROW,
+
+ WM_CURSOR_NSEW_SCROLL,
+ WM_CURSOR_NS_SCROLL,
+ WM_CURSOR_EW_SCROLL,
+
+ WM_CURSOR_ZOOM_IN,
+ WM_CURSOR_ZOOM_OUT,
+
+ WM_CURSOR_NONE,
-#define SYSCURSOR 1
-enum {
- BC_NW_ARROWCURSOR = 2,
- BC_NS_ARROWCURSOR,
- BC_EW_ARROWCURSOR,
- BC_WAITCURSOR,
- BC_CROSSCURSOR,
- BC_EDITCROSSCURSOR,
- BC_BOXSELCURSOR,
- BC_KNIFECURSOR,
- BC_VLOOPCURSOR,
- BC_TEXTEDITCURSOR,
- BC_PAINTBRUSHCURSOR,
- BC_HANDCURSOR,
- BC_NSEW_SCROLLCURSOR,
- BC_NS_SCROLLCURSOR,
- BC_EW_SCROLLCURSOR,
- BC_EYEDROPPER_CURSOR,
- BC_SWAPAREA_CURSOR,
- BC_H_SPLITCURSOR,
- BC_V_SPLITCURSOR,
- BC_N_ARROWCURSOR,
- BC_S_ARROWCURSOR,
- BC_E_ARROWCURSOR,
- BC_W_ARROWCURSOR,
- BC_STOPCURSOR,
/* --- ALWAYS LAST ----- */
- BC_NUMCURSORS,
-};
-
-struct wmEvent;
-struct wmWindow;
+ WM_CURSOR_NUM,
+} WMCursorType;
+void wm_init_cursor_data(void);
bool wm_cursor_arrow_move(struct wmWindow *win, const struct wmEvent *event);
#endif /* __WM_CURSORS_H__ */
diff --git a/source/creator/CMakeLists.txt b/source/creator/CMakeLists.txt
index 85b6f24a269..50b4f3edfa9 100644
--- a/source/creator/CMakeLists.txt
+++ b/source/creator/CMakeLists.txt
@@ -513,6 +513,16 @@ if(UNIX AND NOT APPLE)
DESTINATION "."
)
+ if(EXISTS ${LIBDIR}/mesa)
+ install(DIRECTORY ${LIBDIR}/mesa/lib DESTINATION ".")
+
+ install(
+ PROGRAMS
+ ${CMAKE_SOURCE_DIR}/release/bin/blender-softwaregl
+ DESTINATION "."
+ )
+ endif()
+
set(BLENDER_TEXT_FILES_DESTINATION ".")
else()
# main blender binary
@@ -674,6 +684,13 @@ elseif(WIN32)
set(BLENDER_TEXT_FILES_DESTINATION ".")
+ if(WITH_OPENMP AND MSVC_CLANG)
+ install(
+ FILES ${CLANG_OPENMP_DLL}
+ DESTINATION "."
+ )
+ endif()
+
if(WITH_PYTHON)
string(REPLACE "." "" _PYTHON_VERSION_NO_DOTS ${PYTHON_VERSION})
@@ -748,13 +765,13 @@ elseif(WIN32)
if(WINDOWS_PYTHON_DEBUG)
install(
- FILES ${LIBDIR}/python/lib/python${_PYTHON_VERSION_NO_DOTS}.pdb
+ FILES ${LIBDIR}/python/37/libs/python${_PYTHON_VERSION_NO_DOTS}.pdb
DESTINATION "."
CONFIGURATIONS Release;RelWithDebInfo;MinSizeRel
)
install(
- FILES ${LIBDIR}/python/lib/python${_PYTHON_VERSION_NO_DOTS}_d.pdb
+ FILES ${LIBDIR}/python/37/libs/python${_PYTHON_VERSION_NO_DOTS}_d.pdb
DESTINATION "."
CONFIGURATIONS Debug
)
@@ -837,8 +854,10 @@ elseif(WIN32)
)
endif()
elseif(APPLE)
- # Uppercase name for app bundle
- set_target_properties(blender PROPERTIES OUTPUT_NAME Blender)
+ if(NOT WITH_PYTHON_MODULE)
+ # Uppercase name for app bundle
+ set_target_properties(blender PROPERTIES OUTPUT_NAME Blender)
+ endif()
# handy install macro to exclude files, we use \$ escape for the "to"
# argument when calling so ${BUILD_TYPE} does not get expanded
@@ -1023,7 +1042,7 @@ setup_liblinks(blender)
# vcpkg substitutes our libs with theirs, which will cause issues when you
# you run these builds on other systems due to missing dlls. So we opt out
# the use of vcpkg
-if (WIN32)
+if(WIN32)
set_target_properties(blender PROPERTIES VS_GLOBAL_VcpkgEnabled "false")
endif()
diff --git a/source/creator/creator_signals.c b/source/creator/creator_signals.c
index 5a5bc74d2d3..e8c6e9251bc 100644
--- a/source/creator/creator_signals.c
+++ b/source/creator/creator_signals.c
@@ -301,6 +301,12 @@ void main_signal_setup(void)
# endif
}
+# ifdef WIN32
+ /* Prevent any error mode dialogs from hanging the application. */
+ SetErrorMode(SEM_FAILCRITICALERRORS | SEM_NOALIGNMENTFAULTEXCEPT | SEM_NOGPFAULTERRORBOX |
+ SEM_NOOPENFILEERRORBOX);
+# endif
+
if (app_state.signal.use_abort_handler) {
signal(SIGABRT, sig_handle_abort);
}
diff --git a/source/tools b/source/tools
-Subproject 6cf5f61a957798d3fa0678aa92a2afd99023b03
+Subproject ce943dad8a21b4784e2dcef12d8f893473cddb7
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
index 7d8a1390628..94b6e49181c 100644
--- a/tests/CMakeLists.txt
+++ b/tests/CMakeLists.txt
@@ -4,6 +4,7 @@
#
# Getting the install path of the executable is somewhat involved, as there are
# no direct CMake generator expressions to get the install paths of executables.
+get_property(GENERATOR_IS_MULTI_CONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG)
if(GENERATOR_IS_MULTI_CONFIG)
string(REPLACE "\${BUILD_TYPE}" "$<CONFIG>" TEST_INSTALL_DIR ${CMAKE_INSTALL_PREFIX})
else()
diff --git a/tests/gtests/blenlib/BLI_delaunay_2d_test.cc b/tests/gtests/blenlib/BLI_delaunay_2d_test.cc
index 315e5804784..8b29128eb0d 100644
--- a/tests/gtests/blenlib/BLI_delaunay_2d_test.cc
+++ b/tests/gtests/blenlib/BLI_delaunay_2d_test.cc
@@ -667,6 +667,32 @@ TEST(delaunay, TriCutoff)
BLI_delaunay_2d_cdt_free(out);
}
+TEST(delaunay, TriInTri)
+{
+ CDT_input in;
+ CDT_result *out;
+ float p[][2] = {
+ {-5.65685f, 0.0f},
+ {1.41421f, -5.83095f},
+ {0.0f, 0.0f},
+ {-2.47487f, -1.45774f},
+ {-0.707107f, -2.91548f},
+ {-1.06066f, -1.45774f},
+ };
+ int f[] = {0, 1, 2, 3, 4, 5};
+ int fstart[] = {0, 3};
+ int flen[] = {3, 3};
+
+ fill_input_verts(&in, p, 6);
+ add_input_faces(&in, f, fstart, flen, 2);
+ out = BLI_delaunay_2d_cdt_calc(&in, CDT_CONSTRAINTS_VALID_BMESH);
+ EXPECT_EQ(out->verts_len, 6);
+ EXPECT_EQ(out->edges_len, 8);
+ EXPECT_EQ(out->faces_len, 3);
+ BLI_delaunay_2d_cdt_free(out);
+}
+
+#if 0
enum {
RANDOM_PTS,
RANDOM_SEGS,
@@ -739,12 +765,12 @@ static void rand_delaunay_test(int test_kind,
times[lg_size] += PIL_check_seconds_timer() - tstart;
}
}
-#ifdef DO_TIMING
+# ifdef DO_TIMING
fprintf(stderr, "size,time\n");
for (lg_size = 0; lg_size <= max_lg_size; lg_size++) {
fprintf(stderr, "%d,%f\n", 1 << lg_size, times[lg_size] / reps_per_size);
}
-#endif
+# endif
MEM_freeN(p);
if (e)
MEM_freeN(e);
@@ -781,6 +807,7 @@ TEST(delaunay, randompoly_validbmesh)
{
rand_delaunay_test(RANDOM_POLY, 7, 1, CDT_CONSTRAINTS_VALID_BMESH);
}
+#endif
#if 0
/* For debugging or timing large examples.
diff --git a/tests/gtests/blenlib/BLI_kdopbvh_test.cc b/tests/gtests/blenlib/BLI_kdopbvh_test.cc
index bd35a491550..7e32c545e75 100644
--- a/tests/gtests/blenlib/BLI_kdopbvh_test.cc
+++ b/tests/gtests/blenlib/BLI_kdopbvh_test.cc
@@ -50,7 +50,10 @@ TEST(kdopbvh, Single)
BLI_bvhtree_free(tree);
}
-void optimal_check_callback(void *userdata, int index, const float co[3], BVHTreeNearest *nearest)
+static void optimal_check_callback(void *userdata,
+ int index,
+ const float co[3],
+ BVHTreeNearest *nearest)
{
float(*points)[3] = (float(*)[3])userdata;
diff --git a/tests/gtests/blenlib/BLI_map_test.cc b/tests/gtests/blenlib/BLI_map_test.cc
index 61e7a603d13..e91f809abba 100644
--- a/tests/gtests/blenlib/BLI_map_test.cc
+++ b/tests/gtests/blenlib/BLI_map_test.cc
@@ -156,7 +156,7 @@ TEST(map, ItemIterator)
EXPECT_TRUE(values.contains(0.0f));
}
-float return_42()
+static float return_42()
{
return 42.0f;
}
diff --git a/tests/gtests/blenlib/BLI_memiter_test.cc b/tests/gtests/blenlib/BLI_memiter_test.cc
index c1c07dc7540..d92daefff3b 100644
--- a/tests/gtests/blenlib/BLI_memiter_test.cc
+++ b/tests/gtests/blenlib/BLI_memiter_test.cc
@@ -17,7 +17,7 @@ TEST(memiter, Nop)
BLI_memiter_destroy(mi);
}
-void memiter_empty_test(int num_elems, const int chunk_size)
+static void memiter_empty_test(int num_elems, const int chunk_size)
{
BLI_memiter *mi = BLI_memiter_create(chunk_size);
void *data;
@@ -39,7 +39,7 @@ void memiter_empty_test(int num_elems, const int chunk_size)
}
#define MEMITER_NUMBER_TEST_FN(fn, number_type) \
- void fn(int num_elems, const int chunk_size) \
+ static void fn(int num_elems, const int chunk_size) \
{ \
BLI_memiter *mi = BLI_memiter_create(chunk_size); \
number_type *data; \
@@ -65,7 +65,7 @@ MEMITER_NUMBER_TEST_FN(memiter_short_test, short)
MEMITER_NUMBER_TEST_FN(memiter_int_test, int)
MEMITER_NUMBER_TEST_FN(memiter_long_test, int64_t)
-void memiter_string_test(const char *strings[], const int chunk_size)
+static void memiter_string_test(const char *strings[], const int chunk_size)
{
BLI_memiter *mi = BLI_memiter_create(chunk_size);
char *data;
@@ -95,7 +95,7 @@ void memiter_string_test(const char *strings[], const int chunk_size)
BLI_memiter_destroy(mi);
}
-void memiter_words10k_test(const char split_char, const int chunk_size)
+static void memiter_words10k_test(const char split_char, const int chunk_size)
{
const int words_len = sizeof(words10k) - 1;
char *words = BLI_strdupn(words10k, words_len);
diff --git a/tests/gtests/blenlib/BLI_string_test.cc b/tests/gtests/blenlib/BLI_string_test.cc
index d69cb519494..257f478622f 100644
--- a/tests/gtests/blenlib/BLI_string_test.cc
+++ b/tests/gtests/blenlib/BLI_string_test.cc
@@ -453,7 +453,7 @@ struct WordInfo {
}
int start, end;
};
-std::ostream &operator<<(std::ostream &os, const WordInfo &word_info)
+static std::ostream &operator<<(std::ostream &os, const WordInfo &word_info)
{
os << "start: " << word_info.start << ", end: " << word_info.end;
return os;
diff --git a/tests/gtests/blenlib/BLI_task_performance_test.cc b/tests/gtests/blenlib/BLI_task_performance_test.cc
index ecc012aa47a..dc8981f8064 100644
--- a/tests/gtests/blenlib/BLI_task_performance_test.cc
+++ b/tests/gtests/blenlib/BLI_task_performance_test.cc
@@ -38,14 +38,22 @@ static uint gen_pseudo_random_number(uint num)
return ((num & 255) << 6) + 1;
}
-static void task_listbase_light_iter_func(void *UNUSED(userdata), Link *item, int index)
+static void task_listbase_light_iter_func(void *UNUSED(userdata),
+ void *item,
+ int index,
+ const TaskParallelTLS *__restrict UNUSED(tls))
+
{
LinkData *data = (LinkData *)item;
data->data = POINTER_FROM_INT(POINTER_AS_INT(data->data) + index);
}
-static void task_listbase_light_membarrier_iter_func(void *userdata, Link *item, int index)
+static void task_listbase_light_membarrier_iter_func(void *userdata,
+ void *item,
+ int index,
+ const TaskParallelTLS *__restrict UNUSED(tls))
+
{
LinkData *data = (LinkData *)item;
int *count = (int *)userdata;
@@ -54,7 +62,11 @@ static void task_listbase_light_membarrier_iter_func(void *userdata, Link *item,
atomic_sub_and_fetch_uint32((uint32_t *)count, 1);
}
-static void task_listbase_heavy_iter_func(void *UNUSED(userdata), Link *item, int index)
+static void task_listbase_heavy_iter_func(void *UNUSED(userdata),
+ void *item,
+ int index,
+ const TaskParallelTLS *__restrict UNUSED(tls))
+
{
LinkData *data = (LinkData *)item;
@@ -66,7 +78,11 @@ static void task_listbase_heavy_iter_func(void *UNUSED(userdata), Link *item, in
}
}
-static void task_listbase_heavy_membarrier_iter_func(void *userdata, Link *item, int index)
+static void task_listbase_heavy_membarrier_iter_func(void *userdata,
+ void *item,
+ int index,
+ const TaskParallelTLS *__restrict UNUSED(tls))
+
{
LinkData *data = (LinkData *)item;
int *count = (int *)userdata;
@@ -84,14 +100,18 @@ static void task_listbase_test_do(ListBase *list,
const int num_items,
int *num_items_tmp,
const char *id,
- TaskParallelListbaseFunc func,
+ TaskParallelIteratorFunc func,
const bool use_threads,
const bool check_num_items_tmp)
{
+ TaskParallelSettings settings;
+ BLI_parallel_range_settings_defaults(&settings);
+ settings.use_threading = use_threads;
+
double averaged_timing = 0.0;
for (int i = 0; i < NUM_RUN_AVERAGED; i++) {
const double init_time = PIL_check_seconds_timer();
- BLI_task_parallel_listbase(list, num_items_tmp, func, use_threads);
+ BLI_task_parallel_listbase(list, num_items_tmp, func, &settings);
averaged_timing += PIL_check_seconds_timer() - init_time;
/* Those checks should ensure us all items of the listbase were processed once, and only once -
diff --git a/tests/gtests/blenlib/BLI_task_test.cc b/tests/gtests/blenlib/BLI_task_test.cc
index 0c1868380da..62ae0baaec9 100644
--- a/tests/gtests/blenlib/BLI_task_test.cc
+++ b/tests/gtests/blenlib/BLI_task_test.cc
@@ -88,7 +88,10 @@ TEST(task, MempoolIter)
/* *** Parallel iterations over double-linked list items. *** */
-static void task_listbase_iter_func(void *userdata, Link *item, int index)
+static void task_listbase_iter_func(void *userdata,
+ void *item,
+ int index,
+ const TaskParallelTLS *__restrict UNUSED(tls))
{
LinkData *data = (LinkData *)item;
int *count = (int *)userdata;
@@ -112,7 +115,10 @@ TEST(task, ListBaseIter)
num_items++;
}
- BLI_task_parallel_listbase(&list, &num_items, task_listbase_iter_func, true);
+ TaskParallelSettings settings;
+ BLI_parallel_range_settings_defaults(&settings);
+
+ BLI_task_parallel_listbase(&list, &num_items, task_listbase_iter_func, &settings);
/* Those checks should ensure us all items of the listbase were processed once, and only once -
* as expected. */
diff --git a/tests/gtests/blenlib/BLI_vector_test.cc b/tests/gtests/blenlib/BLI_vector_test.cc
index 9486c9c0ef2..f258e50a60c 100644
--- a/tests/gtests/blenlib/BLI_vector_test.cc
+++ b/tests/gtests/blenlib/BLI_vector_test.cc
@@ -261,7 +261,7 @@ TEST(vector, BecomeLarge)
}
}
-IntVector return_by_value_helper()
+static IntVector return_by_value_helper()
{
return IntVector({3, 5, 1});
}
diff --git a/tests/gtests/blenlib/stubs/bf_intern_eigen_stubs.h b/tests/gtests/blenlib/stubs/bf_intern_eigen_stubs.h
index 97c0916dd9b..dec2631fc63 100644
--- a/tests/gtests/blenlib/stubs/bf_intern_eigen_stubs.h
+++ b/tests/gtests/blenlib/stubs/bf_intern_eigen_stubs.h
@@ -2,6 +2,13 @@
extern "C" {
+void EIG_svd_square_matrix(
+ const int size, const float *matrix, float *r_U, float *r_S, float *r_V);
+bool EIG_self_adjoint_eigen_solve(const int size,
+ const float *matrix,
+ float *r_eigen_values,
+ float *r_eigen_vectors);
+
bool EIG_self_adjoint_eigen_solve(const int size,
const float *matrix,
float *r_eigen_values,
diff --git a/tests/python/CMakeLists.txt b/tests/python/CMakeLists.txt
index 2c9f91cca8e..3036be71564 100644
--- a/tests/python/CMakeLists.txt
+++ b/tests/python/CMakeLists.txt
@@ -28,9 +28,9 @@ set(TEST_OUT_DIR ${CMAKE_BINARY_DIR}/tests)
file(MAKE_DIRECTORY ${TEST_OUT_DIR})
file(MAKE_DIRECTORY ${TEST_OUT_DIR}/io_tests)
-#~ if(NOT IS_DIRECTORY ${TEST_SRC_DIR})
-#~ message(FATAL_ERROR "CMake test directory not found!")
-#~ endif()
+# if(NOT IS_DIRECTORY ${TEST_SRC_DIR})
+# message(FATAL_ERROR "CMake test directory not found!")
+# endif()
# Run Blender command with parameters.
function(add_blender_test testname)
diff --git a/tests/python/collada/CMakeLists.txt b/tests/python/collada/CMakeLists.txt
index 13d2b4fd9ff..1e09b65b880 100644
--- a/tests/python/collada/CMakeLists.txt
+++ b/tests/python/collada/CMakeLists.txt
@@ -29,9 +29,9 @@ set(TEST_OUT_DIR ${CMAKE_BINARY_DIR}/tests)
# ugh, any better way to do this on testing only?
execute_process(COMMAND ${CMAKE_COMMAND} -E make_directory ${TEST_OUT_DIR})
-#~ if(NOT IS_DIRECTORY ${TEST_SRC_DIR})
-#~ message(FATAL_ERROR "CMake test directory not found!")
-#~ endif()
+# if(NOT IS_DIRECTORY ${TEST_SRC_DIR})
+# message(FATAL_ERROR "CMake test directory not found!")
+# endif()
# all calls to blender use this
if(APPLE)
@@ -61,5 +61,6 @@ endmacro()
# Tests are disabled because they only work on Windows
# Tests will be redone completely to work reliable
-#COLLADA_TEST(mesh simple mesh_simple.blend)
-#COLLADA_TEST(animation simple suzannes_parent_inverse.blend)
+#
+# COLLADA_TEST(mesh simple mesh_simple.blend)
+# COLLADA_TEST(animation simple suzannes_parent_inverse.blend)
diff --git a/tests/python/view_layer/CMakeLists.txt b/tests/python/view_layer/CMakeLists.txt
index cca3cd22b67..3f38ee4675f 100644
--- a/tests/python/view_layer/CMakeLists.txt
+++ b/tests/python/view_layer/CMakeLists.txt
@@ -25,9 +25,9 @@ set(TEST_OUT_DIR ${CMAKE_BINARY_DIR}/tests)
# ugh, any better way to do this on testing only?
execute_process(COMMAND ${CMAKE_COMMAND} -E make_directory ${TEST_OUT_DIR})
-#~ if(NOT IS_DIRECTORY ${TEST_SRC_DIR})
-#~ message(FATAL_ERROR "CMake test directory not found!")
-#~ endif()
+# if(NOT IS_DIRECTORY ${TEST_SRC_DIR})
+# message(FATAL_ERROR "CMake test directory not found!")
+# endif()
# for testing with valgrind prefix: valgrind --track-origins=yes --error-limit=no
set(TEST_BLENDER_EXE $<TARGET_FILE:blender> --background -noaudio --factory-startup --env-system-scripts ${CMAKE_SOURCE_DIR}/release/scripts)
@@ -51,15 +51,15 @@ VIEW_LAYER_TEST(background_set)
VIEW_LAYER_TEST(collection_new_sync)
VIEW_LAYER_TEST(collection_rename_a)
VIEW_LAYER_TEST(collection_rename_b)
-#VIEW_LAYER_TEST(evaluation_render_settings_a)
-#VIEW_LAYER_TEST(evaluation_render_settings_b)
-#VIEW_LAYER_TEST(evaluation_render_settings_c)
-#VIEW_LAYER_TEST(evaluation_render_settings_d)
-#VIEW_LAYER_TEST(evaluation_render_settings_e)
-#VIEW_LAYER_TEST(evaluation_render_settings_f)
-#VIEW_LAYER_TEST(evaluation_render_settings_g)
-#VIEW_LAYER_TEST(evaluation_render_settings_h)
-#VIEW_LAYER_TEST(evaluation_render_settings_i)
+# VIEW_LAYER_TEST(evaluation_render_settings_a)
+# VIEW_LAYER_TEST(evaluation_render_settings_b)
+# VIEW_LAYER_TEST(evaluation_render_settings_c)
+# VIEW_LAYER_TEST(evaluation_render_settings_d)
+# VIEW_LAYER_TEST(evaluation_render_settings_e)
+# VIEW_LAYER_TEST(evaluation_render_settings_f)
+# VIEW_LAYER_TEST(evaluation_render_settings_g)
+# VIEW_LAYER_TEST(evaluation_render_settings_h)
+# VIEW_LAYER_TEST(evaluation_render_settings_i)
VIEW_LAYER_TEST(evaluation_visibility_a)
VIEW_LAYER_TEST(evaluation_visibility_b)
VIEW_LAYER_TEST(evaluation_visibility_c)